WirelessWire News Technology to implement the future

by Category

AIとオセロで考える「説明可能なAI」に求められる要件とは

2020.08.17

Updated by Ryo Shimizu on August 17, 2020, 15:16 pm JST

もともとオセロのAIというのは基本中の基本である。チェスのAIと並んで、いや、それ以上に日本ではポピュラーだった。オセロのAIは、日本で最初にマネタイズに成功したAIと言ってもいいだろう。

厳密にはオセロはツクダオリジナルの商標なので、一般にはリバーシと呼ぶのだが、オセロのほうが馴染みがいいので本稿ではオセロとリバーシを区別しないことにする。

オセロAIの歴史を紐解くと、故・森田和郎さんという伝説的プログラマーが出てくる。
森田さんはゲームAI開発の先駆者で、オセロを皮切りに、晩年は将棋ゲームの傑作AIを数多く作った。

森田さんは当時から思考アルゴリズムをオープンにし、開かれた場でAIの議論を活発にできるよう腐心されていた方で、自らアルゴリズムの解説書も手掛けられておられた。

敢えて先人に敬意を払いつつ振り返れば、今思うとオセロのAIは、他のゲームにくらべると比較的簡単なほうである。
たとえば「真ん中のマスよりもカドのマスのほうが価値が高い」とか、「辺のマスのほうが価値が高い」とか、「カドのすぐ隣のマスはリスクが大きい」とか、ふつうにオセロを遊ぶときに考える戦略を素直にプログラミングしていくのである。

将棋の勝ち筋を瞬時に見極めるのは難しくても、オセロの勝ち筋というのは大半の人間が共感できるだろう。
ある意味で、オセロという題材は、人間の理性の積み重ねであるアルゴリズムと、直感力を磨き上げたニューラルネットによるインスピレーションの交差点にあると言える。

アルゴリズム的な手法で積み上げられてきた理論が、直感力をただ磨いただけの人工知能に再現できるだろうか、ということに興味を抱いた。

以前、本欄で取り上げたオセロ向けAIは、盤面を最初に読み取る第一層を3×3の小さなフィルタとしていた。

これはこれで実用レベルでは非常に有能なのだが、人間が見て直感的に「オセロ」との繋がりを想像しにくい。
我々、専門家が見れば明らかにオセロで役立ちそうなフィルタが学習できているのだが、普通の人がこれを見てもわけのわからない記号にしか見えないだろう。

そこで、人間がAIの構造を直感的に理解するために、効率は悪くなるが敢えて8×8のフィルタを学習させてみたらどうなるか、お盆休みをかけて試して見たのでここに報告したい。

結論から言えば、これが学習後の結果である。ちなみに8x8は非常に大きいので、ここまで計算するのに試行錯誤をしながら五日も掛かってしまった。

左からだんだんと色がハッキリ分かれてきているのが窺えるだろう。

これはどのようなものかというと、AIはこのように様々な観点から盤面を見ているのである。ここに掲示したのは100種類程度の「フィルタ」だが、AIは、盤面をそれぞれの「フィルタ」を通してみることで、多角的な観点から戦況を分析し、行動決定に反映させるのだ。

たとえば、上図Aは、画面の右上隅に強く注目するフィルタである。最も黄色がハッキリ強調されていて、非常に強い興味を持ってこの領域を注視していることがわかる。

また、上図Bは、右下のカドから、中央よりに2マス寄ったマスに注目しているフィルタで、ここも黄色くハッキリ関心の強さが現れている。

AIが実際のゲームプレイ時に判断した内容と照らし合わせるとわかりやすい。
上図右の盤面で示した赤い部分が「AIがここに打ちたい」と強く関心を持っているマスである。
ちょうど先ほどのフィルタの黄色い部分と対応している。

ここに自分のコマを置きたいのは、当然、カドのすぐ隣のマスに相手がコマを置けば、それをひっくり返すことでカドをとることができるからだ。

実際にオセロゲームをするときも、これと似た思考を辿っていることが経験的に理解できるだろう。

このように、盤面を評価するニューラルネットワークの第一層の畳み込みフィルタを8x8にして学習させることで、AIの思考過程がよりわかりやすくなった。これは最近問題になっている「説明可能なAI」とは厳密には違うが、AIが人間から見て不思議な判断をした場合に、「なぜそう思ったのか」という根拠を知るためには役立つ。

自分でやってみて少し興味深いなと思ったのは、「AIはなぜそう思ったのか」ということを判断する材料として、効率を下げてでも別のフィルタを介するところで、もちろんそんなものがなくても判断理由を可視化することはできると思うが、人間とAIとで目線をあわせることで、より直感的かつ深い理解が得られるのは興味深いと感じた。

AIの場合、画像などの場合を覗くと一次フィルタ以外を直接的に可視化してもわかりにくいケースが少なくない。
たとえば画像の場合は、どのフィルタがどのような特徴に反応しているのか見分けやすい。

[youtube https://www.youtube.com/watch?v=ghEmQSxT6tw&w=560&h=315]

ところがこれが文章や音声になると、とたんにわかりにくくなってしまう。また、画像であっても、フィルタが多すぎるとやはりわかりにくくなる。

このあたりを解決していけば、或いはわざわざ「説明」しなくても、「感覚的にわかりあえるAI」というのが出てくるのかもしれない。

今現在研究されている「説明可能なAI(XAI)」は、主にパラメータ要因を表示したり可視化したりして説明するものが多く、「誰のための説明なのか」という点が曖昧になっているものが少なくない。専門家にしかわからない説明でいいのであれば、そもそもツール化する意味があまりない。

本当に必要とされているのは、「普通の人にもわかる説明」ができることだと思うが、そもそも人間はほとんどの概念を「ふつうの人がわかるように説明」することができないし、人間はほとんどの概念を「説明されて理解」することができない。

「やってみせ、言って聞かせてさせてみせ、褒めてやる」という機能に至らないと、おそらく「説明可能なAI」に求められる機能を充足できないのではないかと思う。

WirelessWire Weekly

おすすめ記事と編集部のお知らせをお送りします。(毎週月曜日配信)

登録はこちら

清水 亮(しみず・りょう)

新潟県長岡市生まれ。1990年代よりプログラマーとしてゲーム業界、モバイル業界などで数社の立ち上げに関わる。現在も現役のプログラマーとして日夜AI開発に情熱を捧げている。

RELATED TAG