2016年2月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29          

tweet

  • tweets

« 最後のピースも嵌まる | トップページ

AlphaGoが誇大広告ぎみな件

Googleが開発した囲碁ソフトのAlphaGoが、世界で初めてプロ棋士に勝ったコンピュータとして大きなニュースになっています。Nature誌に論文が掲載されたのですが、仔細に読むといくつか不可解な点がありましたので、調査・考察してみました。

AlphaGoの論文はこちらから見えます。プロ棋士に勝ったこともありますが、何よりコンピュータ囲碁開発者(及び隣の分野のコンピュータ将棋開発者)を驚かせたのは、「既存の他の囲碁プログラムと対戦させた結果、495戦494勝だった」との報告でした。この報告は衝撃的で、これを読んだ他のコンピュータ囲碁開発者たちからは「俺の今までの努力が否定された」「目標を見失ってしまった」などの悲嘆の発言が相次ぐ始末でした。

論文から、AlphaGo、対戦相手のプロ棋士、及び他のソフトのレーティングを示したグラフを引用します。

Alphagograph


CrazyStoneとZenはこれまでは最強クラスとされていた囲碁ソフトで、この2つどうしは大体同じ棋力と言えるでしょう。それぞれ「最強の囲碁」「天頂の囲碁」として市販されています。Googleはこれらの市販ソフトと自分達のAlphaGoを対戦させてレーティングを出したとのこと。薄いピンクの部分は、4子置いたときの勝率の上がり方を考慮したものです。これによると、AlphaGo 1台とCrazyStone(以下"CS"と略記)/Zenの差はレーティングにして1000近く。勝率で言うと99%以上の圧倒的な差です。4子置いてもなお500近い差、となっています。

Fan Huiというのが相手のプロ棋士の名前です。(以下、棋士の名前は敬省略。)2段とのこと。囲碁プロ棋士のレーティングを示すサイトがありまして、ここによると(1月30日現在で)世界ランキング631位、レーティング2917です。上記のグラフは、Fanのレーティングを基準として、推定されるFanとの差から他ソフトを相対的に位置づけたものです。

私自身もコンピュータ将棋をやる傍ら、一時期はコンピュータ囲碁を開発していたこともありまして、このニュースには強く興味を持ち、論文を読んでみました。すると、いくつか疑問点が出てきて、「このニュース/論文、どこまで本当なのだろうか?」と疑いを持つようになり、いろいろ考察してみました。

結論から書きます。

結論1)Google論文は「従来ソフトよりレーティングで約1000上回った」と主張するが、実際には技術的改良による向上分は200程度と思われる。この改善幅は、コンピュータ将棋では毎年実現されていたのと大差ない程度の幅にすぎない。

結論2)「プロ棋士に勝つ」ことは、実は技術的には従来から可能だった。Googleはそれを実際に(対局相手に対局料を払って)実現した、にすぎない。

以下、この結論に至った過程を順に説明していきます。

【疑問その1:CS/Zenのレーティング】

最初に「おかしいな」と思ったのは、CS/Zenのレーティングです。論文のグラフだと2000弱程度、4子で2500程度に見えますが、両ソフトの実力は本当はもっと高いことを示すはっきりした根拠があるからです。

これまでにプロ棋士対囲碁ソフトの対局はけっこう行なわれています。コンピュータ囲碁のウィキペディアにもいくつか書かれていますが、いちばんまとまっているのは(英語ですが)ここのページだと思います。

けっこうたくさんありますが、2012年以降、19路、人間はプロ、ソフトはCS, Zen, DolBaram(CS,Zenと並ぶ最強ソフトの一角)のいずれか、という対局だけ見てみましょう。この中では連笑は超一流(タイトルホルダークラス、レーティング3479)で、彼には5子で負け、6子で勝ちとなってます。このクラスには4子はきついようですが、武宮正樹、依田紀基、趙治勲、周俊勲あたりの3100-3200クラスにはけっこうな回数の対戦があり、4子でまあ勝ち越している感じ。正確な計算まではしてませんが、ざっくり見るかぎりCS/Zenの棋力は、4子置いたときに3200程度、と考えられます。

もちろん多少の誤差はあると思いますが、いくらなんでも2500というのは考えられません。つまり、Google論文では、CS/Zenの棋力を700程度不当に低く評価している、と言わざるを得ません。495戦494勝という対局結果についても、CS/Zenが実力通りならレーティング差からしてありえない話なので、何らかの理由で実力が出せない状況で対局がなされたのだろう、と推測されます。なぜこうなったのか、についてはまた後ほど論じます。

なお互先の場合は、Googleのグラフでは4子より500ほど下に見えます。つまり、4子のレーティング効果が500、と。これはトーナメントの結果ということなので正しいとしましょう。ただし4子といっても、プログラムの都合でコミ7.5目ありだそうなので、本来の(コミなしの)4子の差は500よりはやや大きいはずで、まあ600くらいとしましょう。すると互先のCS/Zenは2600程度と推定されます。

【疑問その2:AlphaGo論文の技術的改良点】

論文では、従来のソフトと比べて技術的にどのような点を改良したのかが書かれています。それを読むかぎり、まあ漸進的な改良で多少強くなることはわかるものの、レーティングで1000上がるほどのブレークスルーとは正直ちょっと考えづらい、というものでした。

論文によると、基本はCSやZenと同じく、MCTS(モンテカルロ木探索)をベースとしています。MCTSでは、現在局面(ルート局面)から浅い数手を展開して、その末端からは終局までランダムに手を選択して進めるランダムシミュレーション(プレイアウトと言います)を行ないます。そのプレイアウト結果の勝率によって、末端局面を評価します。

AlphaGoの改良点は、ざっくり言うと

改良点1)木探索およびプレイアウトでそれぞれ手の評価を行なうのだが、この評価値をディープラーニングによって決めた。実行時間の関係上、多数回実行するプレイアウト中の評価は「軽い」(実行時間の短い)ものである必要がある。そのため、木探索用の、精度は高いが重い手評価関数とは別に、プレイアウト用に精度が低いかわりに軽い手評価関数を用意した。

改良点2)局面の評価関数をやはりディープラーニングによって作成した。末端局面の評価を、従来のようにプレイアウトのみで決めるのではなく、局面評価関数も考慮するようにした。

の2点です。

これらによって、若干強くなるというのはまあわかります。ですが、基本がMCTSである以上、MCTS固有の弱点があり、そこは全く手がつけられていない。MCTSは、その性質上原理的に、「深く、正確に」読むことが苦手です。それは即ち、死活やコウ争いが苦手ということになります。そこが克服できないかぎり、漸進的な向上はできても、大幅な棋力向上は難しいだろう、と私は考えています。ですから、今回のAlphaGoの改良が、これまでの最強ソフトであるCS/Zenよりレーティングで1000も上がるブレークスルーだというのはちょっと納得しかねるものがありました。

【AlphaGo再考】

以上の2つの疑問点から、Google論文は「CS/Zenの棋力は不当に(700だけ)低く評価している。その他の点は正しい」と仮定しましょう。この前提の元に描き直したのが次のグラフです。

Alphagomodified

AlphaGo(1台)とCS/Zenのレーティング差は200程度です。AlphaGo(distributed)というのは、CPU 1202個という第2回電王戦のGPS将棋を上回るクラスタバージョンです。これは1台バージョンよりレーティング250ほど上なのですが、技術的にはCS/Zenもクラスタ化するのはそう難しくないでしょう。将棋で使うαβ探索はカットノードという並列化しても無駄なノードがあり、無駄な並列化を避けてCPUリソースを効率的に使うことが非常に難しかったのですが、モンテカルロ囲碁ではそのような問題がないので並列化は比較的容易です。

対プロ棋士でのCSやZenのマシン構成は、記録が見つからないものもあってすべてわかっているわけではありませんが、第1回電聖戦では「CS: 64コアサーバ、Zen:6コアPC x 5台のクラスタ」という記述がありました。Zenはクラスタとはいえ、コア数ではAlphaGoの1台(48CPU + 8GPU)より少ないです。1202 CPUのマシンが使えるなら、AlphaGoと同様に250上げることはそう難しくないでしょう。ですからクラスタによる向上はAlphaGo固有でない、と考えてよいでしょう。CS/Zenは、単にそうした大規模クラスタが使える環境がなかった、というだけです。

そう考えると、AlphaGoによる進歩はレーティング200程度、と推定されます。レーティング200向上というのは、もちろんそれなりに評価すべき進歩ではあるのですが、正直それほどすごいという気はしません。コンピュータ囲碁はここどうなのかよく知らないのですが、コンピュータ将棋の例で言うと、名人を超えた2012年の直前の5,6年は、毎年レーティングが約150ずつ上がっていきました。なので、AlphaGoが「200向上」と聞いても、「将棋では毎年それに近いくらい上がってたよね」としか思わない、というのが私の率直な感想です。コンピュータ囲碁の人たちはここどう思うのか聞いてみたいですけれども。

あともう1点、「プロ棋士に初めて勝った」についてですが、これも自慢のポイントが正直よくわかりません。上記のレーティングサイトで見ると、Fan Huiよりもまだまだ下にプロ棋士がいます。記載されてるいちばん下で2600程度。これで終わりでなく、もっと下もいるわけです。ですから、2600程度のCSやZenでも、プロ棋士であれば誰でもいい、と相手を選ばなければ、低段位の棋士と戦って勝つことは今までも十分可能でした。

それが今までなされなかったのは、これは私の憶測になりますが、ひとつには低段位の棋士に勝ってもそう自慢にもならないだろうと思ってやる気がしなかったこと。もうひとつは、お金の問題です。低段といっても相手はプロなので、対戦してもらうにはそれなりの謝礼が必要になります。まして普通の対戦でなく、「ソフトと戦って、負けたら『世界で初めてソフトに負けた棋士』として永遠に語りつがれる」というリスクを考えると、通常の対局謝礼よりはずっと高い報酬でないと受けてもらえないと予想されます。囲碁ソフト開発者は個人レベルでやっている人が多いので、そんな大金は出せないと思ったことでしょう。

ところがGoogleは、ほとんど誰も知らないような低段のプロと対局の話をつけた。Fan氏の報酬については知りませんが、おそらくけっこうな金を積んだのでしょう。それで実際に対局して、「勝った!世界初!」となっているわけです。いや、悪いというつもりはないです。ただ、新聞やTVも大々的に報道してたけど、これってそんな大ニュースなんだろうか、というのが私の感触です。まあ、Googleの宣伝がうまかった、ということなのかもしれませんが。

【なぜCS/Zenが過小評価されたか】

さて、この点に戻って考えてみましょう。いちばん単純な答えとして考えられるのは「Googleが宣伝のため意図的に嘘をついた」なんですが、それはさすがにないと思います。Natureに載せるのですから、万一後で嘘がバレたりすると、博士号を剥奪されたりとか手記を発表したりとかいろいろありますので。ですから、論文では「嘘は書いてない。事実だけを書いてある」ものと仮定します。

ただここがくせもので、「嘘ではない、事実しか書いてない」としても、結果として読んだ側が得る印象が真実の姿とはまったく異なるようにする、という書き方は可能です。意図的か偶発的かは別としても。ですので、論文の細部を注意深く読んで理解し、真の姿を見極めないと、誤った印象に踊らされる可能性があります。

まず「495戦494勝」は、事実であり、実際に対局が行なわれてそういう結果だったのでしょう。それは大前提とします。ただこれは、上で書いた「レーティングは200差」ならばまずありえない話なので、「じゃあなぜそうなったのか」の説明が必要になります。

現時点での私の考えとしては、少なくとも以下の4点が原因となりえたと考えています。もちろんこれはあくまで現時点(2016-01-30)での話で、今後新しい情報が入ってくれば変わる可能性はあります。

原因1)CS/Zenが市販バージョンだった

たとえばコンピュータ囲碁(将棋でもそうですが)の大会に出る時に開発者が使用するプログラムと、それを元に市販ソフトを作るときのプログラムとでは、バージョンや設定がかなり変わることがあります。開発版の方は通常、その時点で最強の力を出せるように、その時のマシンに合わせて細かくチューニングされていますが、市販版の方はギリギリの強さよりも、製品としての使いやすさ、安定性、様々なマシンで動作する可搬性などの方が重視されます。その結果開発版よりはかなり弱くなります。どの程度弱くなるかは、一概には言えませんが、囲碁プロ棋士の意見として「置石ひとつくらい」とか「3子くらい」といった声が見られます。

置石ひとつがレーティングでどれだけに相当するのかも、定説はないのですが、たとえばこの記事ではp.20で「150点差で1子」となっています。いやもっとある、という声もあるのですが、150は低めの見積もりのようなので、ここでは「1子は少なくとも150点以上」と仮定します。そうすると、市販版は開発版より少なくとも150は弱い、ということになります。Google論文では「CS/Zenは市販版を使った」と明記していますので、これは間違いなく原因のひとつとなっています。

なお置石N子というのは、N-1個置いてから黒が(残った星に)打ち出して対局を開始すると考えると、N子と言ってもアドバンテージとしてはN-1個ぶんに相当します。ただし置碁は通常コミがないので、コミを約半子相当とすると、N-0.5個ぶんくらい、と考えるのが妥当のようです。先に、グラフを見ると4子が600くらい、と書きましたが、この式だとN=4で150*(4-0.5)=525。そこそこ合ってるようです。

原因2)マシンが違う

これは論文にはっきり書いてあるのですが、ソフトどうしの対戦をしたときに各ソフトが使用したマシンが異なります。AlphaGo(1台)は 48 CPU + 8 GPU。これに対して CS は32 CPU、Zenは 8 CPU。こうなったのはおそらく、市販ソフトとして設定できる最大構成がそうだったのだろうと思います。

しかしそれにしても、これだけ構成が違う状況で対戦させて、その結果を引用して「これだけ強くなりました!」と主張するのは、いくら背景が(細かい字で、紙版にはなくWebだけにつく、いちばん後ろの方の付録で)明記してあるとはいえ、ちょっとGoogleの見識に疑問符がつくところです。

原因3)チューニングが十分でなかった

上の原因1と少し関連するのですが、開発版では通常、その時の大会なりで使用するマシンやプログラムの構成を細かくチューニングします。チューニングの際考慮する点としては、CPU数、キャッシュ容量、メモリ量、GPU使用の有無、(クラスタなら)ネットワークの速度、Hyper Threadingの有無、使用するコンパイラとそのオプション、時間配分、その他各種の資源配分、等々とにかくいろいろあります。囲碁ソフトがプロ棋士と対戦する時は、いつにも増してチューニングに心を配るでしょう。

しかし市販ソフトでは、売る側はどんな状況で使用されるのか事前にわかりませんので、必然的に「最大公約数」的な構成を想定してオプション等を決めることになります。その結果、一般的でない構成だとチューニングが合わず、リソースに見合う実力が出ないことがあります。

上記はあくまで推測にすぎませんが、これが起こっていることを示す間接的証拠は論文中に見られます。上に示したレーティングのグラフで、CSとZenはほぼ同じ強さになっています。しかしこれ、実はCSが32 CPU、Zenが8 CPUなのです。CSとZenはもともとがほぼ同じ強さと考えられますので、32 CPU vs 8 CPUでは本来は32 CPUの方がかなり強くなるはず。しかしそうならないのは、32 CPUの方でチューニング不足の弊害が出て、リソースに見合う実力が出ていないことを示唆しています。

CSの市販版である「最強の囲碁」を販売しているのはアンバランスという会社ですが、あまり大きな会社ではなさそうです。無責任な憶測ですが、32CPUマシンなんてそもそも持ってすらいないんじゃないでしょうか。たぶん動作確認もしてないのではないかと思うんですが(違ったらごめんなさい)。

原因4)短時間設定がAlphaGoに有利

この点を説明するにはAlphaGoの改良点に関する中身の(最低限の)理解が必要ですので、まずそこを少し説明します。

上の「改良点1」で書いたように、「重い手評価関数」(論文中では"pσ"で表されている)をディープラーニングによって作成しています。このpσは何に使うかというと、木探索中の各ノード(局面)において、そこからの可能な合法手のそれぞれに対し、確率分布を与えます。MCTSで、その確率分布に従って各合法手の試行回数を制御します。

MCTSが進むにつれて、プレイアウトの結果に応じて、各ノードの確率分布を変更していきます。ざっくり言うと、合法手間の確率分布の空間において、勾配降下法(山登り法)を行う、と考えれば大体イメージとしては合ってます。で、pσはその勾配降下法における初期値に相当します。(正確に言うと最適化するのは'action value'なのですが、まあ細かい話は省略。詳細は論文を参照ください)

で、このpσ、たぶんおそらくそれなりに優秀なものなのでしょう。つまり、初期値として選ぶ点が、実際の収束先をそれなりに適切に予測できている、という意味で。ただこれは、時間が十分ある状況では重要性は薄れます。山登り法において、初期値をどこに取ろうが、十分時間をかければ結局同じところに収束するのですから。初期値を適切に取ることは、収束先自体の精度を上げるものではなく、収束までの時間を短縮するにすぎません。(まあとはいっても、時間短縮は実践的には重要な点ではあるので、その点はたしかに評価できるのですが。)

…とここまで説明したところで話が戻ります。論文によると、「ソフトどうしの対局はすべて1手5秒で行なった」とあります。これ、囲碁の対局としてはかなり短いです。このような短い時間設定だと、どんな影響があるでしょう?

CSやZenの中身の詳細をよく知らないのですが、おそらくpσのような確率分布の初期値推定には凝ったことはしてないのだと思います。単純に一様分布か、あるいは自明な手(取る手、アタリを逃げる手、等)を優先させるとか、その程度で。この状況で、MCTSを短時間で打ち切るとどうなるか?山登りが十分に進まず、初期値に近いところで打ち切られます。そうすると、初期値が適切に予測できている方が有利になります。これが、AlphaGoが圧勝した原因のひとつになったと考えられます。

この1手5秒という設定を選んだのが、上記のことを考慮してAlphaGoが有利にするために選んだ、とまで主張するつもりは私はありません。別に意図的ではなく、たとえば対局を早く済ませるため、などの理由で選んだだけかもしれません。そこはたぶん永遠にわからないのでしょう。ただ、もしも、ですが、もし上記のことまで考えたうえでこれを意図的に選んだのだとすれば…いやそれは(別の意味で)かなり手強い相手だな、という気はします。

.

以上4点が、CS/Zenのレーティングが過小評価された理由として現状私が推測している原因です。このうち1)と2)は間違いないですが、3)と4)は私が推測したもので、100%合っている自信まではありません。ただ仮に間違っていたとしても、「じゃあ本当の原因はなんだろう」という話になるだけで、「やっぱり論文のレーティングが正しいんじゃないか」という話にはなりません。CS/Zenのレーティングの数値自体は、前述の通り、他の証拠からわかっているからです。

【まとめ】

以上見てきたとおり、繰り返しになりますが、

・AlphaGoのレーティング上昇分のうち、技術的なものは200程度。あとはお金の効果(マシン差やクラスタ化)と、CS/Zenを過小評価したことによるもの。

・「世界で初めてプロ棋士に勝った」はAlphaGoによる技術の向上の結果ではない

が本記事の主旨です。

最後に、誤解されないよう書いておきますが、Googleが悪いと言ってるわけでは全くないです。コンピュータ囲碁や将棋の分野は、人によっては「単なる遊びだろ」と言われてなかなか市民権を得られないことが多いです。なので、Googleのような会社が仕事の一環として参戦してくることは、私を含めて分野の関係者なら大歓迎ですし、また資金力のモノを言わせること自体は、非難されるいわれは全くありません。ただ、報道や反響からして、技術の結果と資金力の結果が混同されている印象を受けたのと、CS/Zenの棋力が不当に低く誤解を招く書き方なので、そこはいろいろ弊害がありそうなので正しておいた方がいいかな、と思ってこの記事を書きました。Googleの論文、先にも書いたとおり、「決して嘘は書いてない」ですし、こうして私のようなウォッチャーが分析できるだけの情報をきちんと開示しているわけです。見る人が見ればわかるし、きちんと議論できるようにしている。その点は全く正しいと思います。

…ということを述べた後で、ひとつだけ希望を述べさせてもらうと、もう少し客観的に判断できる材料を出してもらえないかなあ、ということです。具体的には、UEC杯に参加するなり、KGSに参加するなりして、「実際に強い」ことを示してほしい。今までGoogleから出てきた情報で、「実際に強い」ことを示すものは、Fan Huiとの10戦の結果しかないのです。CS/Zenとの対局結果は上述の理由で参考にならない。Google側としても、この記事のようにいろいろ疑う人が出てくるよりは、誰もが文句の言いようのない客観的証拠を見せた方が批判が出なくて済むと思うのですけどね。

まあイセドル戦がそうだ、というつもりなのかな。そう言われるとしょうがないですが、イセドル戦に負けたらでいいから、UEC杯なりKGSに参加してほしいな、と思っています。

ちなみにイセドル戦の予想ですが、私はイセドルが勝ち越すと予想しています。現状おそらくレーティングでイセドルとAlphaGoは300差程度。誤差があるので最悪150くらいかもしれませんが、5番勝負とのことなので、1、2戦落とすことはありえると思っていますが負け越しはないだろうと思います。まあAlphaGoがこれから3月までの間に大幅に改良されなければ、の話なので、なんとも言えないといえばそうなのですが。

p.s. 本記事を書くにあたって、主にツイッター上で多くの皆様から情報・意見等いただきました。皆様、どうもありがとうございました。

« 最後のピースも嵌まる | トップページ

囲碁プロセサ」カテゴリの記事

コメント

つい先ほど、KGSのComputer Go Roomでヨーロッパ初段の棋士(KGS 8d)と開発版のZen19X(KGS 7d、i7 5960X使用)が1手15秒の定先で対局し、Zenが勝ちました。今のZenはAlphaGoに近い棋力を持っているようです。

自分も昔、大学の授業でオセロのAIとかやってたので大変参考になります。

3月の韓国人棋士との対戦が試金石になるのではないでしょうか。もしこの人に勝てれば問答無用で最強AIの誕生になりますね。

>CS/Zenのレーティングは4子置いたときに3200程度

これについて私は、断言は出来ませんが「もう少し低い」と思います。
伊藤さんはご存知ないのだと思いますが、私はコンピュータ囲碁の研究会や人工知能学会などで、他のレッスンプロとZenの置き碁を見てきました。
例えばhttp://blog.goo.ne.jp/starnine/e/318ad3aee58f98e9242d9848b6203c3eにもありますが、Zenは竹清プロに4子で負けています。竹清プロはなぜかhttp://www.goratings.org/のレーティング(*)には載っていませんが、こちらhttp://sports.geocities.jp/mamumamu0413/internal/rate1.htmlによると光永プロと互角くらいで、光永プロは(*)だとレート2849、724位です。もちろん一回打っただけなので、それで竹清プロよりレートが低いというつもりはありませんが、3200はないかなあと思います。

>若干強くなるというのはまあわかります。ですが、基本がMCTSである以上、MCTS固有の弱点があり、そこは全く手がつけられていない。MCTSは、その性質上原理的に、「深く、正確に」読むことが苦手です。それは即ち、死活やコウ争いが苦手ということになります。

はい、これはその通りです。

>Zenはクラスタとはいえ、コア数ではAlphaGoの1台(48CPU + 8GPU)より少ないです。1202 CPUのマシンが使えるなら、AlphaGoと同様に250上げることはそう難しくないでしょう。ですからクラスタによる向上はAlphaGo固有でない、と考えてよいでしょう。CS/Zenは、単にそうした大規模クラスタが使える環境がなかった、というだけです。

うろ覚えで申し訳ないのですが、Zenの加藤さんは「これ以上マシンを増やしても強くならない」ということを言っていたと思います。少なくとも7dになる前の旧バージョンのZenは、すでにマシンパワーによる強さの伸びが飽和していたと思います。

>コンピュータ囲碁はここどうなのかよく知らないのですが、コンピュータ将棋の例で言うと、名人を超えた2012年の直前の5,6年は、毎年レーティングが約150ずつ上がっていきました。なので、AlphaGoが「200向上」と聞いても、「将棋では毎年それに近いくらい上がってたよね」としか思わない、というのが私の率直な感想です。コンピュータ囲碁の人たちはここどう思うのか聞いてみたいですけれども。

ZenがKGS6dになったのが2012年、7dになったのが2016年です。KGSの6d-7dの差は約200Eloと言われているので、200向上させるのに約4年かかっています。2012年までは順調だったのですが、そこから停滞していました。それを打ち破ったという意味で、やはり今回の論文は意義があると思います。

>あともう1点、「プロ棋士に初めて勝った」についてですが、これも自慢のポイントが正直よくわかりません。上記のレーティングサイトで見ると、Fan Huiよりもまだまだ下にプロ棋士がいます。記載されてるいちばん下で2600程度。これで終わりでなく、もっと下もいるわけです。ですから、2600程度のCSやZenでも、プロ棋士であれば誰でもいい、と相手を選ばなければ、低段位の棋士と戦って勝つことは今までも十分可能でした。

うーん。これは一人の碁打ち(アマ六段)としての主観なので全然説得力がないことは承知ですが、CSやZenでは一番弱いプロ相手でも互先では勝てない気がします。もうちょっと客観的なデータとしては、昨年のUEC杯でCSは東洋囲碁(ネット碁会所です)7段の人に互先で完敗していますが、プロだとどんなに弱っても東洋囲碁8段くらいだと思います。もちろん一発入る可能性はあるのかもしれませんが、今回の論文みたいに0-5(2-8)ってことにはならないと思います。

>実はCSが32 CPU、Zenが8 CPUなのです。CSとZenはもともとがほぼ同じ強さと考えられますので、32 CPU vs 8 CPUでは本来は32 CPUの方がかなり強くなるはず。しかしそうならないのは、32 CPUの方でチューニング不足の弊害が出て、リソースに見合う実力が出ていないことを示唆しています。

これは確かにありうるかなと思います。後述のこととも関連するのですが、CSの製品版の「最強の囲碁」を以前試した時、4coreのノートでも凄く長考してきました。それに対し、Zenの製品版の「天頂の囲碁」は瞬時に打ち返してきました。そして、両者の強さは同じくらいと感じました。CSとZenはもともとがほぼ同じ強さというのは多分その通りだと思いますので、多分「天頂の囲碁」はチューニングがうまくいっていて「最強の囲碁」はチューニング不足なのかと思いました。

>とここまで説明したところで話が戻ります。論文によると、「ソフトどうしの対局はすべて1手5秒で行なった」とあります。これ、囲碁の対局としてはかなり短いです。このような短い時間設定だと、どんな影響があるでしょう?
CSやZenの中身の詳細をよく知らないのですが、おそらくpσのような確率分布の初期値推定には凝ったことはしてないのだと思います。単純に一様分布か、あるいは自明な手(取る手、アタリを逃げる手、等)を優先させるとか、その程度で。この状況で、MCTSを短時間で打ち切るとどうなるか?山登りが十分に進まず、初期値に近いところで打ち切られます。そうすると、初期値が適切に予測できている方が有利になります。これが、AlphaGoが圧勝した原因のひとつになったと考えられます。

これははっきり「違う」と断言出来ます。まず、先ほど述べたように、少なくとも「天頂の囲碁」は瞬時に打ち返してきても十分強いです。これはなぜかというと、pσに相当するものをZen(やCS)も相当作り込んでいるからです。Fuegoの作者のMartinMullerさんは「ここの作り込みが強さの大部分を占める」と私にアドバイスしてくれたこともありました。もちろんDCNNには及ばないのですが、Zenのこの部分も高段者の棋譜との一致率は40%を超えているはずです。
http://524.teacup.com/yss/bbs?page=34&にも書かれていますが、Zenくらいになると2014年時点で1000playoutでKGS2.5d、これは1コアで1秒くらいのはずです。
Zenもpσに相当するものが優れているため、こんな少ないプレイアウトでもかなりの強さを発揮します。ちなみに2000poで3.2d、4000poで3.5d、8000poで3.8dと、プレイアウトを増やしても伸びは大したことありません。
ちなみにZenがつい最近7dになったのはAyaやHiraBotが取り入れ始めたDCNNをこの部分に入れたかららしいです。確かにDCNNによるpσは凄いのですが、もともとのZenのだってかなりのものです。

以上を踏まえた上で、私のトータル見解を述べさせていただきます。
1.確かに、ZenやCSの4子置きが2600くらいというのは低すぎる可能性が高いが、3200にはならないと思う。確かに日本のトッププロが4子置かせて負けているが、レッスンプロが4子置かせて勝ったこともあるので、3200は高すぎる気がする。
2.なぜGoogleのAIがZenやCSに4子置かせて大幅に勝ち越したかというと、おそらくプロなら絶対に打たないような無理手を打っている。なぜなら、Value Networkは「作られた時のコミでしか盤面を評価できない」から。すなわち、置き碁で打つ手を自然にするためにコミを動的に調整するようなことが原理的に出来ない。その状態でモンテカルロに組み込んで置かせ碁を打ったら、恐らく序盤から相当無理手を連発する。
3.実際、私の知り合いのアマチュアは天頂の囲碁に5子置かせて勝つが、話を聞くと天頂の囲碁は無理手を咎められないことが結構あるらしい(死活がわかっていないので)。
4.GoogleのAIもZenもCSもモンテカルロの弱点を克服したわけではないだろうが、GoogleのAIの方が相対的にZenやCSよりこれらの弱点が霞んでいる。
5.どれだけ少なく見ても、囲碁において不可能と言われていた評価関数(Value Network)を作ったという功績は評価できると思われる。

というのが、伊藤さんのブログを読み、自分の経験を振り返って、論文を読んでの私の今の考えです。

長くなってしまいすみませんでした。

基礎分野のようにアルゴリズムの優劣を比較したというより、ソフトウェアの性能比較を行ったという趣向の論文であり、実験環境の違い自体はあまり気になりませんでした。
しかし、1手5秒という制限の部分やその対局環境については私も気になっていました。
どのZenを用いたか等詳細に知りたい所ですね。

個人的には「そうだそうだ!」と思える箇所も多く好きなのですが、タイトル含め、少しCS/Zenや既存手法サイド寄りの邪推し過ぎな記事の気もします。
AlphaGoのアルゴリズムを理解した上で再度投稿して頂けると助かります。

記事内にある囲碁棋士のレーティングサイトですが、Fan Huiのレーティングはわずか11局から計算されていると思われます。
私の目にはFan Hui二段が後藤俊午九段と同じレーティングには見えません。Fan Huiの実際のレーティングはもっと低いと思います。

強さの客観的証拠は棋譜で十分でしょ。

荒木さん
コメントありがとうございます。長文歓迎ですよ。神は細部に宿ります。

・レーティングに誤差があるのは承知ですが、せいぜい+-200くらいじゃないですかね。3000は下回らないと思うのですが。まあここは水かけ論になるだけなので議論はしませんが。

・クラスタ性能が飽和するというのは(素人考えですが)ちょっと信じがたいのですが… MCTSの性質上、たくさん読むほど強くなるのは自明な気がするんですが、違うのかな?どっかがボトルネックになってCPU増やしてもプレイアウト数が増えない、って話じゃないんですよね?(って荒木さんに言うことじゃないか、ggさんに聞かないとわからんか)

・4年で200ですか。やっぱ将棋とは違いますね。囲碁の方が難しいのか。

・pσ相当(手評価)はZenも凝ってるのですね。ここは私の認識違いでした。ただG論文では「わずかな一致率の向上が棋力に大きく貢献した」とも書いてますので、やはりここの性能差が効いてる可能性は十分あるのではないでしょうか。

・すみません、ここがちょっとわからなかったのですが、
>2.なぜGoogleのAIがZenやCSに4子置かせて大幅に勝ち越したかというと、おそらくプロなら絶対に打たないような無理手を打っている。
 無理手を打ってるのはAlphaGo? CS/Zen? #棋譜見てないです(というか私は見てもわからん)
コミ固定はAlphaGoの方なんだから(CS/Zenはコミ対応できるのですね?)AlphaGoが無理手を打つ、だと思うんですが、それがなぜ勝ち越しにつながるんでしょう?

#え、コミなんてアゲハマで調整すればいいんじゃ…と書きかけて気づきました、中国ルールなんですね--;

・これなんですが、
>5.どれだけ少なく見ても、囲碁において不可能と言われていた評価関数(Value Network)を作ったという功績は評価できると思われる。

ツイッターでも書きましたが、評価関数だけだとプレイアウトだけより弱いけど、λ=0.5で一気にプレイアウトだけよりも強くなる、ってのが全く摩訶不思議なんですよね。ここが一番の功績かも?
評価関数で評価すべき局面と、プレイアウトを使うべき局面がある、とかいうことなんでしょうか。
#あ、じゃあそれを見分けるのをディープラーニングで…(適当

伊藤さんにお聞きしたいのですが、Google の「資金力」による棋力アップはレートにしてどれくらいと思われますか?

本件に関していえば、公式でも「ディープラーニングや強化学習に莫大な計算量が必要であり、Google クラウドプラットフォームをフル活用した」と述べられております。
http://googlejapan.blogspot.jp/2016/01/alphago.html

ある意味資金力を使って数の暴力で強くした部分もあるかと思うのですが、その棋力アップは新手法的な(研究的な)意味でのブレイクスルーではないですよね。そこで、資金によるアドバンテージがどれぐらいかについて、伊藤さんがどのような見解かお聞きしたいです。(例えば個人で用意できる範囲のクラスタを利用した場合と、学習に Google のクラウドが利用される場合とのレート差がどれくらいか、等)

>まあここは水かけ論になるだけなので議論はしませんが。

はい。以前Twitterで申し上げた通り、そもそも置き碁でレートを決めること自体無理があると思いますし、結論は出ないと思います。

>クラスタ性能が飽和するというのは(素人考えですが)ちょっと信じがたいのですが… 

まあ私も加藤さんの言葉を誤解しているだけの可能性もありますが…。ただ、まず、Zenより弱いbotですがAyaのデータとしてhttp://524.teacup.com/yss/bbs?page=34&があります。1台でプレイアウトを増やしていっても、あるところで伸びが鈍化する可能性はZenにもあると思います。そしてこれがおそらく本質だと思うのですが、Ayaのこのデータはおそらく「Tree並列」という最も効率の良いMCTS並列化手法でやっています。これをマシンを分けてやろうとすると、「探索木の情報を通信する」か「Root並列というちょっと劣る並列化手法を使う」かしないといけなくなり、前者だと通信速度がネックになってpoがのびない、
後者だと早くにサチってしまう可能性はあると思います。
MCTSのスパコンを使った並列化について美添さんという方も研究しているのですが、以前話を聞いたところ、「台数を増やせば棋力が伸びる」という単純なものではないとのことだった覚えがあります。

>4年で200ですか。やっぱ将棋とは違いますね。囲碁の方が難しいのか。
そうですね。しかもZenがつい最近一気に200上がったので、3年と少しの間ほぼ0でした。これが「もう一つか二つブレイクスルーが必要」と言われていた原因です。

>pσ相当(手評価)はZenも凝ってるのですね。ここは私の認識違いでした。ただG論文では「わずかな一致率の向上が棋力に大きく貢献した」とも書いてますので、やはりここの性能差が効いてる可能性は十分あるのではないでしょうか。

もちろんあると思います。NiceGoに始まり、私のMC_ark、HiraBot、Aya、darkforestそしてZenはDCNNによる手評価を用いて強くなりました。ただ、darkforestのDCNNが一番強力だとは思うのですが、それでもdarkforest(のMCTS組み合わせ版のdarkfmcts)はKGS5d〜6dにある壁を突破できておらず、Zen以外のソフトも2d〜5dです。なぜかZenとAlphaGoだけ壁を突破してしまい、おそらくMCTSの他の部分との相性などがあるのなと想像します。
いずれにしろ、当初の(32coreや8coreで)5秒が短すぎるという気は私はあまりしませんね。

>すみません、ここがちょっとわからなかったのですが、
>>2.なぜGoogleのAIがZenやCSに4子置かせて大幅に勝ち越したかというと、おそらくプロなら絶対に打たないような無理手を打っている。
> 無理手を打ってるのはAlphaGo? CS/Zen? #棋譜見てないです(というか私は見てもわからん)
コミ固定はAlphaGoの方なんだから(CS/Zenはコミ対応できるのですね?)AlphaGoが無理手を打つ、だと思うんですが、それがなぜ勝ち越しにつながるんでしょう?

無理手を打っているのはAlphaGoですね。これは囲碁をやらない人には実感できないことだと思うのですが、人間の囲碁の世界でも往々にして「無理手を打つアマチュア」の方が「本手ばかりを打つプロ」より置かせ碁が得意という現象が起きます。
囲碁というのは相手の無理を咎めないと一気に悪くなるゲームです。まあ極端な例がハメ手ですね。おそらくCSやZenもハメ手みたいな手にハマっているのではないかなと予想したわけです。(棋譜が公開されていないので予想の域を出ませんが。)

>ツイッターでも書きましたが、評価関数だけだとプレイアウトだけより弱いけど、λ=0.5で一気にプレイアウトだけよりも強くなる、ってのが全く摩訶不思議なんですよね。

はい、とても不思議です。ただ、私は以前から、「人間は囲碁を打つ時色んな終局図を想定(と言ってもすごくぼんやりとですが)して形勢判断するから、プレイアウト方策も色々混ぜてプレイアウトした方が強くなるのではないかなー」と思っていたことがあります。私は結局それに関しては良い結果を得られなかったのですが、Googleはそれに成功したのかなという気もします。とすると、評価関数もプレイアウトも何通りか混ぜれば、さらに棋力が向上するのかなーと妄想したり(笑)

>Google の「資金力」による棋力アップはレートにしてどれくらいと思われますか?

クラスタ版の+250はまあ資金力と言っていいと思います(全くそれだけというわけではなく技術もありますが、まあ他と比べると)。ディープラーニングは、資金(計算)力もいるけど技術力もいるので、それを技術じゃないと言うのはさすがに酷かとw

>無理手を打っているのはAlphaGoですね

AlphaGoの無理手をCS/Zenがとがめられない、ってことですか。たしかに置碁の白は穏やかな手ばっか打ってちゃダメですよね。

大変参考になる情報をたくさん、ありがとうございました。またいろいろ教えてください^^; >荒木さん

こちらこそ、伊藤さんのブログは参考になりました。ありがとうございました。どうも私は人の言葉をすぐ信じるので、論文もなかなか「疑いの目」で見れないんですよね…。

ニュースを見る限り、何かものすごいブレークスルーがあったように感じていましたが、そうでもない可能性もありそうですね。欧州チャンピオンということだったので、すごいことだと思っていましたが、ランキング的にはそうでもないと分かって、ちょっとがっかりな感じはあります。この会社としては、ある程度、マーケティング的な要請があったのでしょう。
とはいえ、この分野が盛り上がるきっかけにはなったと思いますし、個人的なSF嗜好を掻き立ててくれるニュースでしたので、今後の展開に期待したいところです。

描き直したグラフ ワロス☆wwww(^▽^)

UEC杯が 準決勝戦にならなくて よかったぜ~☆(^~^)www
ponanGo や Gonanza や Sandra の一発に期待して楽しむ予定だぜ☆www(^_^)

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/507007/63732468

この記事へのトラックバック一覧です: AlphaGoが誇大広告ぎみな件:

« 最後のピースも嵌まる | トップページ