AlphaGoについて(元碁打ち今プログラミングな大学院生の観点から)

一昨日(少なくとも僕の目に入る範囲では)とても話題になったニュースとして、Google囲碁プログラムAlphaGoの話があります。 http://googlejapan.blogspot.jp/2016/01/alphago.html Google Japanの記事

概要としては

  • Google囲碁AIチームが開発したAlphaGoがみんな大好き?DeepLearningを使ったプログラムを開発
  • 昨年の秋に行われていた対局で欧州トップのプロに5連勝を記録
  • さらに来年の3月には韓国のトッププロ(つまり、世界のトッププロ)と対局が決まっている

という感じです。

囲碁とプログラミング、両方のバックグラウンドがある人間として記事を書こうと思いました。


プログラミングの方では機械学習の人たちが使われている技術についてtwitterなりブログなりで解説してくださっているのでそちらを参照してください。 昨日の発表までの状況の整理としては、

  • オセロとかチェスとかは90年代にコンピュータにニンゲンのチャンピオンが負かされている
  • 将棋もここ2,3年で越えたとか?(今一番強いと言われている羽生さんはまだ負けていませんが)
  • 情報処理学会-コンピュータ将棋プロジェクトの終了宣言
  • 囲碁はトップアマに届かないか届いた?くらい(数年前に一番強いプログラムと遊ばせてもらった時には僕(トップアマには届かないくらいの強さ)の方が強かった)

という感じで、なんか1年くらい前にDeepLearningが囲碁にも効くでー!って論文が出たり、今年のコンピュータ囲碁大会にFacebookがエントリーしてるワクワク!って感じでした。 まあでも実物はまだ出ておらず、プロの手を何%当てた!みたいな話で、その%もコンピュータ的にはスゴいとしても僕の感覚ではニンゲンの強い人はそのくらいは当ててもへーって感じだろうなーって感じでした。

そこで突然の一昨日の発表です。 欧州のプロ(欧州チャンピオン?)に勝ったそうなのですが、この方は世界全体のレーティング的には3ケタ半ばくらいだそうで、日本、中国、台湾、韓国あたりのトップ棋士よりはまだおそらく実力差があります。 しかし内容はコンピュータ側の5連勝で、棋譜を見ても後半はコンピュータ独特のナメプ(?)というか安全策を連発しています。

AlphaGoのレーティングはこのように発表されているようです。

3月のマッチの対戦相手は李世ドル先生です。 李世ドル - Wikipedia レーティング的には3600程度とAlphaGoのだいぶ上を行っているように見えるのですが、レーティング算出に詳しかったり元論文読んだ人的に、このレーティングはけっこう信頼出来るものなのでしょうか?教えていただけるとありがたいです。

あと山本一成さんが計算資源ぶん回せば3月までにはもう一歩強くなるでしょうね、的な予言をしていたので、3月はどうなるか正直わかりません。(すごく楽しみです。)


対局相手のセドル先生についてなのですが、セドル先生は将棋でいう羽生先生クラスと言っていいと思います。(将棋は段もないくらいなので正直よくわかってませんが、多分羽生先生強いですよね?) ここ2,3年は1強ではなくなった(今はレーティング的にはトップ5くらい)ようですが。 僕自身、一番真面目に囲碁やってた頃がセドル先生の1強時代で、囲碁の本を読むために韓国語を覚えて、韓国の本を読み漁ったりした時期もありました。 もちろんセドル先生の本も読みましたし、韓国囲碁年間でもたくさんの対局を並べました。(韓国語で読んだのでタイトルを忘れてしまいましたが、三巻セットくらいの自局解説の本でした) 今でも抜かれた、とかはなく、間違いなくトップ集団だと思います。

また、僕が高校生の頃とは囲碁の質が変わっているのを2010年頃感じていましたが、これを牽引していたのがまさにセドル先生だったと思います。

僕から見ると、お隣の将棋は定石を研究を重ねて伸ばして行くゲーに見えるのですが、一昔前、日本が世界で一番強かった頃、囲碁も今よりはそういうゲームでした。(今ももちろん定石はありますし、さかんに研究されていますが。) そのあたりで、韓国がモリモリ強くなって、イ・チャンホ先生というスーパースターが"新定石"と呼ばれるものをまとめ上げたりします。

その後に現れた鬼才がセドル先生で、セドル先生の碁を見ると、まさに"コンピュータよう"に見えました。 将棋(よくわかんないんですが)でいうと、Ponanzaが変なトコにコマぶん投げて人間の有段者が"発狂したww頭オカシイでしょwww"って言われてるイメージがありますが、それを生身でやり始めた人がセドル先生です。 ニンゲンには思いつかない手を読み進めて、その先に正解があるならそれを選べるんですよね。 日本の言い方だと、"気づかない手"とか"強い人にはこれは打てない"とか言われていました。 ここ数年は日中韓どこのトップ棋士も頭オカシイ碁(褒め言葉です)ばかりですが、はじめにそれをやり始めて、世界の頂点を取ったのがセドル先生でした。


さて、セドル先生の紹介から少し話を変えてみますが、囲碁のプログラム対策、あるいはプログラム対策の対策はどのくらい研究されているのでしょうか? 一昨年の電王戦は、個人的にめちゃめちゃおもしろかったのです。 3年前にニンゲンチームが手痛く負け越して、一昨年の電王戦は盛り上がるのかなーと思っていたのですが、結論からいうと、ニンゲンチームが怪しいことを複数本キメて勝ちましたね。 2角不成、ハメ手と色々あるんだなーと、とても面白かったと思いますし、入玉、24点法など毎回ドラマのようなことが現実で起きるコンピュータ将棋の大会、とても面白いですよね。

nlab.itmedia.co.jp

電王戦FINAL、AWAKE開発者・巨瀬亮一さん「ハメ手を使うプロ棋士の存在意義」を問う | 将棋ワンストップ・ニュース

さて、囲碁の場合はどうなのでしょう。

さて、コンピュータ対策として多分最もよく知られているものとしてはコウですかね。 あまり最近の強いプログラム(特に機械学習を使っているもの)と対戦したことがないのですが、ちゃんとコウ材を数えたり、打ったりできるのでしょうか? フリーの有名囲碁ゲームCosumiちゃんなどは、露骨にコウが弱いです。

あと昔からよくいわれているのはシチョウですが、さすがに最近は読めるのでしょうか? 僕はよくCosumiちゃんと狭い板で遊ぶのですが、狭い板ではCosumiちゃんがシチョウを間違えるのを最近全く見たことがありません。

中手も同様に、直線的な長い読みが必要なケースはニンゲンには比較的簡単なものでも木探索ベースのプログラムだと指数的に探索空間が広がるために問題になることがあると聞きます。 Cosumiちゃんはダメの詰まっていない中手や攻め合いはあまり読めていないような気がします。

囲碁棋譜再現78局目 ●李世ドル ○洪章植 Go Game - YouTube (シチョウでセドル先生というとこんな怪しい対局も見つけました)

他にも、3コウや長生といった特殊ルールには対応しているのでしょうか? (というかもしかして対局は中国ルール?中国ルールだと3コウは発生しませんが、スーパーコウルールが入ってきます。)

(ちなみに、Google囲碁研究チームには囲碁強い人がいないのではないか、という説もありますが、どうなんでしょう。例えば、Googleの紹介ビデオやNatureに投稿されている紹介ビデオに出てくる石の並びは、囲碁が打てる人が見ると吐き気を催すタイプの石の並びです。(最近の日本のドラマとか漫画では劇中の石はだいたいプロの監修などが付いてちゃんと並べられています。))

一点、将棋と違うのは、有名なコンピュータ殺しの具体的な手順があまり知られていないことです。(僕が知らないだけかもしれません。助けて!プロの人!) こういうのがニガテだよね、というのは知られているのですが、初手からこの順に並べるとコンピュータが死ぬ、というのは聞いたことがありません。

ヒカルの碁で塔矢くんがキメられている真似碁などはCosumiちゃんでもけっこうキレイに殺してきます。

ただし、電王戦などとは違って、事前にソフトの貸出しがある、などの話は見かけていないので、研究済みのよほど思い切った手は出てこないかと思います。 AlphaGoの棋譜は、極めて素直に見えて、セドル先生よりよっぽどニンゲンらしい棋風に見えましたので、セドル先生が研究済みの怪しい局面に誘導することもあるかもしれません。


もう一つ電王戦の時に、将棋ファンの間でプロ棋士が人間同士の対局では普通やらないような手を指したことに対して議論が起きていました。 僕は、セドル先生は、見つけたらやるのではないかと思います。

そもそも、日本と中韓の間ではその辺の感覚がだいぶ違うようで、棋譜を汚す、という発想があちらにもあるのかはよく知りませんが、ルールの範囲で勝ったら勝ちという感覚が強いように思います。(例えば、日本よりも投了がかなり少なく、ボロ負けの碁でも最後まで打つ人が日本より多いです。)

例えば国際大会でもこのような揉め事がありました。 (これは切れ負けになっているルール上の不備を強く感じますが。) アジア大会で時間切れを狙うプロ棋士がいた: 雲外の峰

当時これは日本の囲碁愛好家の間でかなり炎上していたような記憶があります。

(僕の個人的な意見としては、ルールが明文化されているのだから、勝てる戦いでルールの範囲内で勝ちを選ぶことを間違っているとは言えないと思っています。)

また、Googleも大金を出してセドル先生と対局を希望したのは、パフォーマンスの意味ももちろんあるでしょうが、先に繋がるフィードバックが欲しいからだと思います。 もしコンピュータの弱点らしい弱点を付かれたなら、むしろ喜んでくれそうな気もします。

ちなみにセドル先生は過去に賞金や棋譜の権利でモメて韓国棋院をお休みして中国リーグに行ってしまった経歴があったり、

中国甲級リーグでは2004年から貴州チームに参加、2008年には全勝すると10万元、敗れると一銭もなしという契約で8戦全勝を果たし (セドル先生のWikipediaより)

など、"お金に強い"人という印象があります。 勝ったら100万ドルは本気を買うためのいい値段設定だと思います。

【韓国話題】李世石がGoogleディープマインドコンピュータ囲碁プログラムの'AlphaGo'と対決 3月8日から15日までソウルで開く予定…賞金100万ドル : 【nitro15】


最後に微妙な話題に触れてしまいましたが、尊敬するセドル先生がどんな碁を見せてくれるのか、AlphaGoの実力はどこまで来ているのか、とにかく楽しみです!


追記: 関連する記事へのリンクを溜めることにしました