【NAGA・Suphx】麻雀AIは人類を超えたのか?

巷を賑わせているNAGAの牌譜解析機能
超人レベルの鬼打ち天鳳位によるお知らせ本2
麻雀界に間違いなくAI旋風が起き始めている。

AIがヤバい!AI最強!と言うのは簡単だが、皆さんはAIの「中身」をどれだ知っているだろうか?

そもそもAIとファミコンの麻雀CPUって何が違うの??
機械学習?なにそれ?おいしいの???
というそこのあなた!

AIの強さの秘密、こっそり教えます!!!


■ AIは超感覚派?!理論を知らない最強雀士

例えば、AIの中身を丸ごと小林剛にインストールできたと仮定しよう。
このAI搭載コバゴーに打牌の意図を質問すると、なんと答えるだろうか。

「コノ牌ノ放銃率ガ3.5%、アガレル確率ガ20.3%、平均打点カラ期待値ヲ計算スルト…」

と理路整然と根拠を説明してくれるだろうか。
いや、そんな事はない。返ってくる答えは


「なんとなく得だと思ったから」だ。


なぜかというと、AIは和了率や期待値を計算しながら理論的に打牌選択をしている訳ではないからだ。

(☝︎ ՞ਊ ՞)☝︎ < ジャア何ヲ基準ニ打牌シテルンダヨ ‼︎

と思う方も多いだろう。
実は、ここがファミコンの麻雀CPUとの一番の違いだ。

これまでの麻雀CPUでは、人間が予め「2向聴でリーチ来たら降りろ」、「アガリトップはゼンツ」と条件に応じた打牌選択の基準をプログラミングしていた。
しかし、「条件」と「選択」を一つづつ教えるこの方法には限界がある。


麻雀に存在する局面の量がえぐすぎるからだ。


無限に存在する局面に対して細かく人間が指示を出すことなど不可能だ。
結果、ある程度単純化した戦術を教えることしかできず、複雑な局面で人間との差がついてしまう。


一方、最強のAIはどのように打牌選択をするのか。

AIは、難しい事を考えていそうだが、実は何も考えていない
雀士の常識である「即リー」、「ベタオリ」、「一発消し」といった基本的な戦術すら教わっていない。
ましてや、「期待値」や「和了率」なんてAIからしたら役なしフリテンペンカン3s待ち以上に価値の無い指標だ。

( ˊ̱˂˃ˋ̱ ) < じゃあAIって何してるの??


AIの正体は、ひたすら経験的に正しいっぽい選択をし続けているマシーンだ。
理由なんか考えずに、これまでの経験上得した選択肢をひたすら選び続けているだけだ。


つまり、AIは理論派というよりも感覚派に近い雀風だといえるだろう。
ただし、その「感覚」の鋭さは麻雀プロさえも遥かに凌駕している。

では、いったいその「感覚」はどうやって鍛えられているのか。
AIの強さの秘密は学習方法に隠されている。


■ Microsoftはブラック企業?!AI専用スパルタ教育法

AIを和訳すると「人工知能」、つまり、AIの真骨頂は人間のように経験から学ぶことができる点にある。

凡人が麻雀の勉強をする時は、福地誠先生の本を買い漁る所からスタートするだろう。
では、AIはどうやって麻雀の勉強をするのだろうか。

ʕʘ‿ʘʔ < 土田浩翔の本でも読むのか?


Microsoft社が作った最高段位十段の最強AI、Suphxの場合について考えよう。
Suphxについては、その仕組みが昨年に英語論文にて公開されている。
(これをtomohxxさんが日本語で分かりやすく解説して下さっている。)

このAIの学習方法は非常にシンプルかつ超スパルタだ。


① AIを作る。

② AIに数百万半荘分の対局を見せる。

③ 見た対局を参考に勝てる方法を見つけさせる。


これだけで終わりだ。※注1
つまりMicrosoftは、ベタオリも牌効率も知らない初心者に膨大な牌譜だけを渡し、

( ͡° ͜ʖ ͡°) < あとは分かるよね?(ニッコリ

と去っていく超絶ブラック企業だったのだ。

大量の牌譜

(ブラックは嘘です、ごめんなさい。)


平和ドラ1は即リー」、「赤5切りのまたぎは安全」といった基本的な戦術さえ教わる機会がないAIは、
与えられた牌譜からどんな打牌が得なのかをひたむきに勉強し続ける

この涙ぐましい努力がAIの最強たる所以だ。
「基本戦術すら知らない」という弱点は、学習によって「先入観に捕らわれない」という強みに変わるのだ。
先入観をもたずに「得な選択は何か」だけを追求し続けた結果生まれたのがSuphxだという訳だ。


では、AIにとって「得」な選択とは何だろうか。
和了率を最大にすること?局収支を最大にすること?

実は、AIと人間の最大の違いは、「得」な選択の見つけ方にある。



■ 局収支なんてクソくらえ!AI流最強戦略

デジタル麻雀界では、「局収支」という言葉をよく耳にする。
局収支は、選択が一局単位でどれほど得かを考えるうえで確かに重要な指標だ。
AIは「デジタル雀士」の究極体だから当然局収支を気にしながら麻雀をしているだろうと思うかもしれない。


しかし、驚くべきことにAIは局収支には微塵も興味がない。※注2


AIが考慮するのはこの半荘に勝てるかどうかだけだ。
たとえ東1局だったとしても、局収支ではなく半荘単位での損得を基に押し引きを決めることになる。
ここが、人間とAIの決定的な違いだ。


例えば、麻雀研究家のnisiさんのシミュレーターでは、各選択の和了率、放銃率などを計算し、
その結果に基づいて、どの選択が得かを決定している。

このような決め方はAIからしてみれば「人間的な」計算方法だ。
そもそも人間は、なぜ和了率や局収支を気にするのだろうか。


答えは、これらが分かりやすい数字だからだ。


麻雀の各局面には、非常に多くの情報が落ちている。
自分の手牌、ドラ、相手の河、手出し・ツモ切り…
これらの情報を全て使って最善の選択を導くことは人間には困難だ。

だから人間は、情報の単純化を行う。

例えば、自分の手牌をみて和了率を見積もったり、相手の河をみて聴牌率を考えたりするわけだ。
そして、見積もった和了率や放銃率から局収支を計算する。
最後に局収支をもとに、半荘単位の収支を計算することになる。

人間の脳には限界があるので、このように情報を整理しながら考える必要がある。

画像3

「整理」というと聞こえは良いが、実際には情報の取捨選択を行っている。
つまり、人間は自然と重要ではない情報は無視しながら選択を行っていることになる。

このような方法の問題点をあげるとすれば、各段階で「情報の損失」が起きるということだ。
つまり、情報→和了率→局収支→半荘収支という順を追って収支を計算することで、
各ステップで多少なりとも情報が捨てられて、誤差が生じることになる。

画像4

一方でAIはどうだろう。
AIの強みは、最強の情報処理力と記憶力だ。
つまり、AIは与えられた情報を取捨選択することなく、そのまま半荘収支の推定に用いることができるのだ。

画像5

つまり、和了率や局収支など計算しなくとも、半荘レベルで得か損かを考えることができる。
途中で情報の取捨選択を行わない事で、些細な情報も無駄にせず、より正確な予測が可能となる訳だ。

全ての情報を余すことなく使って選択を行うことは、残念ながら人間には到底できない芸当だ。
これが実現可能な所にAIの強さが隠れている。



■ Dwangoやばすぎ!人類の救世主NAGAの誕生


......いや、ちょっと待って欲しい。

トリプル天鳳位から女子中学生まで、幅広く支持されている最強AIのNAGA
そのNAGAが最近リリースした牌譜解析機能がこれだ。

画像6

(´⊙ω⊙`) < 余裕で和了率や放銃率を計算しとるやないかーーーい!

実は、本Noteを執筆した理由の一つが、私がこのNAGAの牌譜解析に感動したからだ。
先ほど述べたように、AIで和了率や放銃率を考えることは、不必要な情報の損失を引き起こし、逆に弱体化に繋がってしまう可能性が高い

つまり、この牌譜検討機能はただ「AIの中身を見せました」というだけの話ではない。
わざわざAIにとって必要のない和了率などの指標をAIに考えさせるようにDwangoが改良を加えたのだ。
以前のバージョンだと、このような機能はついていない)

このような改良をしたうえでAIの強さを維持することは、相当難易度が高かっただろう。
さすがは日本を代表する大企業Dwangoだ(入社させてくださいお願いします)


■ AIにもミスはある?最大の宿敵は「過学習」

さて、散々AIの凄さを語ってきたわけだが、AIに弱点はないだろうか。


答えは「No」だ。


完璧だと思われるAIにも弱点は存在する。
まずは、↓のTweetを見て欲しい。

いずれも明らかにおかしな打牌だ。
これは、決して「プログラミングのミス」などではない。
AIは、これが最善だと思って選択をしているということに変わりはない。

なぜ、このような打牌が発生するのか。

答えは「過学習」だ。

先ほど説明した通り、AIは過去の牌譜を見てうまくいった選択を選ぶようにデザインされている。
つまり、似たような局面でたまたま成功した経験があると、それを「正解」とみなしてしまうのだ。
(これを機械学習分野で過学習と呼ぶ)
これを回避するために、局面を適度に抽象化したり、経験そのものを増やしてあげる必要がある。

説明した通り、AIは数百万を超える牌譜から勉強をしている。
加えて、自分同士で対戦を行う「強化学習」という手法を取り入れることで、いくらでも経験値を積ませることができる。

それにも関わらず、まだ上記のような意味不明な打牌をしてしまう。なぜだろうか。


理由は、麻雀というゲームがあまりにも複雑だからだ。


数百万、数千万半荘という値は、人間からしたら確かに膨大だ。
ただ、配牌だけでも1千億通り以上パターンがある麻雀の複雑さを考えると、これだけの半荘数は全く十分な数字とは言えない。


つまり、たかだか数千万、数億半荘程度で完全に麻雀を理解するのは、最強AIをもってしても不可能なのだ。


■ 麻雀AIは人類を超えたか?

本Noteでは、麻雀AIの強み・弱みの両方に触れてきた。
これらを考慮して、麻雀AIは人類を凌駕する存在だといえるだろうか。


残念ながら現段階でこの質問に正確に答えられる人はいないだろう。

ただ、私の考えだと、もしもAIが鳳凰卓で許可されれば、比較的容易に天鳳位になってしまうと思う。
休みなくかつ正確に麻雀を打ち続けられるAIは、実力が多少劣っていたとしても圧倒的に有利なはずだ。
加えて鳳凰卓の牌譜を基に麻雀を覚えたAIが、鳳凰卓での勝ち方を知らないはずがない。
そういう意味でAIはすでに天鳳民を超えた存在だといえるかもしれない。

一方で、Mリーグやプロのリーグ戦のような短期戦においては、まだまだ人類に分があるだろう。
結局のところAIの最適化には、相当数の牌譜が必要であるうえ、人読みが可能なAIは現状存在しないからだ。
麻雀の最適戦術が相手に依存する以上、SuphxやNAGAがどんなフィールド、ルールでも勝てるとは考えにくいだろう。

しかし、今回のNAGAの牌譜解析機能のように、AIは驚くべき速度で進歩している。
人類がAIに完全に置き去りにされる未来はそう遠くないかもしれない…


最後まで読んでいただきありがとうございます。
面白かったという方は、ぜひTwitterなどで共有して下さい!
よろしくお願いします!!!!!


【注釈】

① AIを作る。
② AIに数百万半荘分の対局を見せる。
③ 見た対局を参考に勝てる方法を見つけさせる。
これだけで終わりだ。※注1

もちろんAIのモデルやどんな方法で学習をするかを決めるのは人間です。
AIの性能は学習のさせ方や教材の質が非常に重要になるわけですが、そのあたりは専門的になりすぎるので省略しました。


しかし、驚くべきことにAIは局収支には微塵も興味がない。※注2

すこし誤解を招く表現かもしれません。局単位の報酬、という意味で言えば重要な指標かもしれませんが、局収支と局単位の報酬は別物と考えています。

この記事が気に入ったらサポートをしてみませんか?