Learningも専門分野ではないので、外野の素人が垂れ流してる妄想に過ぎません。技術解説のつもりですが、どちらかというと自分の中の情報整理に近いです。Chainerhttp://www2.computer-shogi.org/wcsc27/appeal/Ponanza_Chainer/Ponanza_Chainer.pdf先週、世界コンピュータ将棋選手権(5月開催)のアピール文書が公開されました。開発アプローチ演算リソースその中でPonanza開発チームが上記全てに国内最高峰を取り揃えているという宣言に、ネット上が震撼しました。今年の世界コンピュータ将棋選手権のPonanzaはたぶんめちゃめちゃ強いことになる。過去現在、そして下手したら今後数年の未来までも含めて史上最強の将棋プログラムになるかもしれない。2017年3月29日あんだけ強いソフトを作りながらも、毎回、大会前には「勝ちたい。強くならん」と呻いてる山本氏が、珍しく超強気な発言したのも納得です。Chainer」って名前なんですわ。わからん人には全くわからんでしょうが、この響きが持つパワーワードっぷりが半端ないんです。そこが僅かでも伝わるのを今日のゴールと定めます。Chainerを理解するのに避けられないのが深層学習です。ディープラーニングだの、畳み込みニューラルネットワークだの響きは色々ですが、「コンピュータが人間っぽく認識・判断出来る手法」とだけが理解ください。そんな深層学習ですが、自分のいつもの悪い癖で新しい技術を試しては放り投げてるものの一つにそれも入ってます。2年前からちょっとかじってるんです、私。Learningへの学習リソースを割いている。↓DeepLearningで画面解析して、映ったキャラに合わせてHueの色を変えるゆゆ式ソリューションも6割ぐらい作りかけたまま放置してるし、あのアマガミSS狂いはかなり琴線に響くものがあった。Calendar終わっちゃってお蔵入りになったんですけどね!!そんなわけでChainer公開も2015年6月で色々と遊んでた時期なので、触りの部分だけは回したこともあるわけです。曖昧な認識や判断が人間に近い形で出来てしまう人工知能ソフトと思ってください。深層学習の理屈部分は説明しきれないので、このChainerを通すことで何が出来るのか、以下を見ていただくのが早いでしょう。bohemia.hatenablog.comqiita.comqiita.com要するに、極めて似た画像の判別、作風などの曖昧な要素の解釈、そして「それっぽい」画像の生成を、コンピュータが理解する領域に来つつあるわけです。ネタが全部2次絵ネタに偏ってますが、畳み込みニューラルネットワークとの親和性がいいのが画像なので、しょうがない、しょうがない。画像と局面とさあ、本質に近付いてきました。ここからはかなり抽象的になってくるので、正確性は欠けてきます。Chainerのアピール文書に戻りましょう。「一手も読まずに」――Chainerの恐ろしさが詰まっているのがこの部分でしょう。今までの将棋ソフトは局面を評価する合法手(ルール上指せる手)を1手進めて、その先の局面を評価するその評価値がより高くなる手を絞り込む2に戻ると2→4を繰り返していって行き着いた先の評価値が最も高くなる手を「最善手」として選ぶ仕組みです。この時の絞り込み方や、局面評価の精度、そして計算能力にて競っていたわけです。Chainerは2→4をすっ飛ばしていきなり「最善手」を選べるって言ってるんですね。Chainerのやってる事を掘り下げてみましょう。「ここはこんな感じで塗ればいいのかな」みたいな曖昧な感覚を理解出来るChainerが、将棋の局面を画像として捉えたとします。一松と十四松を見分けられるChainerですから、局面の僅かな差異も捉えられる事でしょう。その局面でいきなり「最善手」っぽい手を提示してくるわけです。これって、完全にプロ棋士がやってるアプローチなんですよ。アマチュアとプロ棋士の読みの広さと深さについて論文が出てまして、プロは一目で3手くらいまで有力な手を絞り込むんですよね。https://www2.teu.ac.jp/gamelab/RESEARCH/SIG-2002-GI-7.pdfこれが出来るから、演算能力が劣る人間がコンピュータ将棋とも戦えてたと言っても過言ではないでしょう。プロの解説でも頻繁に出てくる「指されてみればなるほど」という表現が示してるように、良い手が先に提示されれば、その良し悪しを判断するのは一気に容易になるはずです。参照codeiq.jpこのようにChainerは、人間側からはもはやわからない演算過程を経て、一足飛びに局面を理解しているんじゃないでしょうか。3月のライオンでも、「ここに銀が残されてるのがそもそも気持ち悪い」みたいな感じで、零くんが局面判断をうまく言語化出来ないって場面がありました。似た感じで、理由もわからずに最善手という結果だけが出力されてるはずです。山本氏のコラムでも黒魔術って言ってますしね。cakes.mu10年以上前にBonanzaが、逆に手の絞り込みをせず演算能力任せで読み進める「全幅探索」でブレイクスルーをもたらしたのと全く逆のアプローチで更なるブレイクスルーがもたらされたとしたら、コンピュータ将棋の奥深さに唸るしかありません。Chainer、「何」に対する学習仕掛けてるのか超気になる。例のコラムで様々なものを「画像」へ落とし込む話もしてたけど、三駒関係とかだって方向性は似てるしなぁ。序盤の選び方もだいぶ変わりそう。あー、最近論文読んでなかったけどチェスの事例とか探してみるか。上の説明でフワッと「局面を画像として捉える」と表現しましたが、具体的に「何」をどう学習しているのかがあくまで深層学習というのは手法であって、学習する対象が誤っていると、演算量だけが跳ね上がって、棋力は上がらないでしょうから。blog.wktk.co.jp実際、Chainerで書かれた例もありましたが、どうも組み合わせ爆発して演算量が発散し、学習が学習になってなかったようですし。これはこのプログラムが悪いわけではなく、将棋みたいな局面情報の多いものに深層学習は向いてないよね、という一般的な認識の通りだと思います。AlphaGoは成功を収めましたが、囲碁は盤面こそ広いものの、白・黒・無の3色で塗りつぶせるので画像として取扱いやすいのは、後付けながらも納得いくところです。cakes.mu山本氏がこのタイミングでこんなコラムを書いてるのは、無視出来ないヒントだと思うんですよね。言語を画像として処理するなんて荒唐無稽な手段が実用化されているんなら、局面を画像として処理するのは現実的に思えます。参考yaneuraou.yaneu.com実際には持ち駒やら成り駒やらでかなり多元的な画像になりそうですが、このままだと取扱いづらいはずです。ここに対して、うまく抽象化(画像的な意味で)する手段を確立できたのか、「高火力コンピューティング」でねじ伏せてたら出来てしまったのかが気になるところです。developer.smartnews.comんで、ここ数ヶ月の情勢として、32bitの情報を、究極的には1bitで表現しても学習が成功するという話まで出てるんですね。局面の量子化をどうやったもんか想像もできませんが、KPPの次元下げに近いやり方とかできないんですかね?(雑blog.yhat.comcakes.muあとチェスの事例もちょっと調べてみましたが、こちらは駒が減っていくので将棋よりはだいぶ取り扱いやすそうな印象を受けます。深層学習については専門家ですら肌感覚が当てにならない世界ですけどね。Chainerの開発元と羽生さん併せて、本件とは直接関係ない部分についても下衆の勘繰りなどを。business.nikkeibp.co.jp書き忘れてましたが、Chainerは日本産なんです。Network社です。Network社の面々ですね。Network社が、今年に入って羽生さんと対談記事組んでるんですよね。Chainerの存在が念頭になかったはずがありません。Chainerが観たくなるじゃないですか!!!現在、佐藤名人が最後の電王戦を戦っていますが、もはやPonanzaが強すぎて、「名人」が負けたというのに「やっぱりかー」と納得してしまっている自分がいます。地球規模で考えるんだお願いこんな発言もあります。この批判は的を射てると言わざるを得ません。ここまで、Ponanzaの技術的アプローチってかなりブラックボックスのままなんですよね。今回については、ソースコードの開示とは言いませんが、技術的なアプローチについては是非解説いただきたいな、と。今回は他をだいぶ突き放してコンピュータ将棋開発を焼野原にするんでしょうから、その先を芽吹かせる意味でもつまびらかにしてほしいな、と。最後に毎年数百ずつレーティング上げ続けている現状でこの先数年最強となるとレーティング5000とかもあり得るんじゃ?みたいな話も出ています。なんかもうドラゴンボールのような領域になりつつありますが、Ponanzaが強くなればなるほど、将棋の可能性も広がるわけです。その先の地平に何が待っているのか、一将棋ファンとして胸を高鳴らせながらゴールデンウィークを迎えたいと思います。先週はバタバタしていて第四局関係の更新ができませんでした。...2013-03-31コンピュータ将棋が現役男性プロ棋士に一発入れた日とうとうこの日が来てしまいました。(8)月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。