にしもと.blog

色々してます。

AlphaGoについて、ふわっと解説するよ

この記事について

非ガチ勢(バイオインフォまん)によるAlphaGoのふわっとした解説です。 私は囲碁有段者&機械学習もふわっと理解しています。(実装はしないパッケージユーザー)

論文読めるならば Mastering the game of Go with deep nerural networks and tree search Human-level control through deep reinforcement learning を読もう。

概要 -- AlphaGo = 「ディープラーニングによるよさそうな手の選定」 + 「モンテカルロ木探索(教科学習・木探索)による読み」 -- モンテカルロ木探索って何? -- ディープラーニングって何? -- ディープラーニングについて学びたい場合 -- ディープラーニングの問題点とこれから の4つ。

AlphaGoのアルゴリズムを一言で言うと

「ディープラーニングによるよさそうな手の選定」+ モンテカルロ木探索による読み」 の2つ。

モンテカルロ木探索って何?

わかりやすいのはこれ↓

www.nicovideo.jp

これは、マリオに適当な動きをさせて、進んだ距離が大きい動きを採用するというもの。

これを囲碁でも同じことをやっている。

例えばこういう局面のときに「A」と「B」のどちらが良い手だろう?と考える。 f:id:no-ku-ma:20160315225905p:plain

そのときに「A」に打ったあと

f:id:no-ku-ma:20160315225910p:plain

終局までてきとうにうつ。ということをたくさん繰り返す。(下は一例) f:id:no-ku-ma:20160315225907p:plain f:id:no-ku-ma:20160315225911p:plain

すると、この手を打って、そのあとランダムに打つと勝率が〜%という数値が出る。それがすなわちその手の強さとなる。 これがモンテカルロ木探索です。

一見適当に打って勝率が高い手がいい手なはずがないじゃんと思いますが、以外と強いです。 強さでいうとDBの初期ベジータくらいでしょうか。(初期ベジータ1万8千。プロがフリーザ様(53万)くらいなイメージで。)

ディープラーニングって何?

あまり詳しくない。 特徴を抽出します。↓曰く、最初の「人っぽい手」を打つために使った、と言っていますね。 gigazine.net

私は「ディープラーニングによって最初に打つ手の候補数を減らした」という解釈です。 モンテカルロ木探索の問題点として、計算量が多すぎるという問題があり、ディープラーニングによる木選択(打つ手候補の選択)

(ちなみに)ディープラーニングについて学びたい場合

基本はニューラルネット複数層版、さらに簡単にするとパーセプトロンです。 超ふわっとで知りたい場合は「パーセプトロン」でググろう

なんとなく知りたい場合

ニューラルネット 例」でググろう。 ニューラルネットワーク 例 - Google 検索

ちゃんと知りたい場合

これ↓ www.amazon.co.jp

と これ↓ www.amazon.co.jp がオススメ

もっとわかっている場合

論文読め。

ディープラーニングの問題とこれから

ざっくり言うと 「実は職人技的」 「(囲碁に対する)解釈が難しい」 の2点が問題点かと思われます。

実は職人技的!?

ディープラーニングは ・何層重ねるか問題(どのくらい複雑にするか) ・フィードバック値?をどのくらいにするか問題(どのくらいエラーに対して厳しくするか) という問題があるそうです。これは値を変えるだけだが、職人技的。実は実用性が低い、ということ。

解釈が難しい

結局「人が解釈できないと受け入れられにくい」です。 例えば、健康診断の値とかを機械が見て、君がんの可能性90%だよ!!と言われてもなんでだよ!!ってなるでしょ? 「機械がどういう考えをもってこういう答えを出したか」というのがわからないのは大きなデメリットです。 (工学的には意味があるが、理学的には無意味と言ってもいい)

この2点がディープラーニングの問題点かと思っています。ツッコミ求む。


その他

なぜα碁が4戦目崩れたのか?

モンテカルロ木探索の特徴かと思われます。 モンテカルロ木探索は優位なときはかなり強いですが、劣勢に立たされるとかなり弱いです。

今後のディープラーニングについて聞いたこと

・日本ではトピックモデルが流行ってる(ディープラーニングは弱い)らしい ・これからはナレッジベース(Watsonのように、今までのアルゴリズムにインプットを工夫する)になるか、トピックモデルか、ディープラーニングかの三つ巴状態 トピックモデルは(先ほど聞いた感じでは)すべてをモデル化するっぽい。 わからないものをわかろうとしている感じ。 ディープラーニングはモデル化しない。 わからないものはわからないもののまま、という感じ。 ・更にトピックモデルとディープラーニングが融合しつつあるらしい。もうわけわからん。