ポナンザ

user-pic
0

私のパソコン・メールのアカウントには、今まで過去に買った商品の関係で毎日多数の広告メールが入る。これらのほとんどはジャンクメールだと認識しているが、唯一歓迎なのは、アマゾンからくる本の案内だったりする。

そんな中で、これは即買ってよむべしと判断した本に、ポナンザの開発者、山本一成さんが書いた「人工知能はどのようにして「名人」を超えたのか?」ダイヤモンド社がある。

著書の意味は異なるが、私の中では王メイエン九段の囲碁AI新時代と双対だったりする。なので注文して届くと、早速読み始めた。以下、私の粗い要約を記してみる。

山本さんは10年前、東大工学部の学生だったときに、コンピュータ・ソフトの作成に思い至った。10年前というと既にボナンザが、まだプロ棋士は超えられないものの、普通のアマ強豪では簡単には勝てない強さに達していた。そんなとき山本さんは、スクラッチからコンピュータ・ソフトを作成することに思い至った。それは、コンピュータそのものにあまり慣れていないので、コンピュータのスキルをつけるため、という意図もあった。

別の視点では、既存の多くのコンピュータ・ソフトの作者と違って、山本さんが真のアマ強豪の棋力があったということがある。すなわち、山本さんは東大将棋部にも所属し、学生の関東大会では上位に食い込む強豪で、少なくともアマ五段はあった。なのでそんな将棋のスキルをコンピュータ・ソフトに注入すれば、強いソフトになると素朴に考えた。ソフトの名前も、ボナンザに敬意を表して、ポナンザと名付けた。しかし、ポナンザの初期バージョンは、山本さん自身に8枚落ちでも勝てないほどの弱さだった。

さて、コンピュータ・ソフトの機能を大きく分けると、手の探索と、手の評価がある。その手の評価のところで、山本さんは自身のアマ強豪としてのノウハウをソフトに傾注しようとしたが、それがとてつもなく困難であることに想到した。すなわち、人間としてある手を選んだとして、どうしてその手を選んだか、少なくともプログラミングできるほど、明確に思考過程を記述できない。無理なのである。そこで、ボナンザがそうしたように、多数のプロの棋譜を読ませて機械学習させることにした。ちなみに初期のボナンザの評価関数のパラメータ数は一万個程度だったが、ポナンザのそれは一億を超えるという。

機械学習を採用して、ポナンザの棋力は急速に伸びた。機械学習を採用した初期の段階で、パラメータを調整することで、プロの棋譜の手に対する正解率は45%まで達した。

こうして強くなっていくポナンザは、前の年のバージョンに対して少なくとも七割の勝率を達成することを目標にした。そしていよいよポナンザにとって画期的な日が訪れた。それは、2013年3月30日、将棋電王戦の第2局でポナンザが佐藤慎一四段を破ったことである。コンピュータ・ソフトがついに、現役のプロ棋士に勝った。私のブログでは、コンピュータ、一勝に書いた。

ここらあたりで山本さんは、プログラマからの卒業を意識するようになった。それはポナンザの改良から手を引くという意味ではない。最早プログラムそのものが自らの改良の主なプロセスを担い、人間はそれをサポートする、みたいな位置づけである。また、機械学習のための棋譜も、プロの棋譜だけでなく、ポナンザ同士が戦った棋譜も使う。強化学習と呼ばれる、AIの手法も駆使する。

ただ、AIの手法も駆使したからといって、ポナンザが単調増加で強くなるわけではない。むしろ強くなればなるほど、棋力の向上は大変である。現在では、前の版と3000局指して、52%以上の勝率になることを目指している。こういう棋力の向上策は、いまのところ暗中模索である。

コンピュータのハードウェアが進化してマルチコアになったのだが、将棋ソフトではいまいち、並列化の恩恵が得られなかった。すなわち、ゲームの性質のためか並列効率が悪かった。そこで最近注目されたのが、温故知新の怠惰な並列化(lazy parallelization)という技法。それがなぜか将棋ソフトとの相性がよかった。

さて、アルファ碁で注目されたディープ・ラーニングであるが、今まで将棋ソフトには有効でないと考えられており、ポナンザも採用してこなかった。

すなわち、囲碁は突き詰めると画像だとみなすことができるようで、すると画像の処理が得意なディープ・ラーニングが威力を発揮するようである。一方、これは私が言っているだけかもしれないが、将棋は数論的というか代数的のような気がする。

ところがついにポナンザもディープ・ラーニングを採用した。コンピュータ将棋選手権にエントリしているPonanza Chainerがそうである。ウェブで検索してみると、Ponanza Chainerは、ディープ・ラーニングを採用したことで、一手も読まないで55%の確率で手を予測可能なのだという。なお、ディープ・ラーニングの部分は、PFN社の協力を頂いたという。PFN社というと、私が仕事を通じて一方的に知っている比戸将平さんがいる会社だなあ、と思い出した。

ただ、そんな満を持したPonanza Chainerも、伽藍とバザールの文脈でいうバザール系のelmoに敗れて、優勝を逃した。それはディープ・ラーニングの手法がうまくいかなかったというわけではなく、実力的にはPonanza Chainerの方がかなり上回っているのだが、勝負の綾でたまたまelmoが勝ったということらしい。そういえば今年の電王戦で佐藤名人を破ったのもPonanza Chainerなのだろうか。

さて、開発者の山本さんであるが、現在は愛知学院大学の准教授だったり、東大先端研の客員研究員だったり、DeepZenGoの開発にも関与されているようで、その活躍は刮目に値する。

それにしても、将棋ソフトや囲碁ソフトは、どこまで行ってしまうのだろうとつい考えてしまうのだった。

トラックバック(0)

トラックバックURL: http://commutative.world.coocan.jp/mt/mt-tb.cgi/4626

コメントする

このブログ記事について

このページは、あやたろうが2017年8月11日 06:26に書いたブログ記事です。

ひとつ前のブログ記事は「ステートフル・ブート」です。

次のブログ記事は「王位戦第3局」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。