旅の記録ー高橋直大さんのツイート
AtCoderのchokudaiさんはしばしば将棋の話題にも触れられている。
今年の1月ごろには、評価値と言語化について参考になるツイートをされていた。
特に、この会話の中で評価値について触れられている
@unyan0719 いやいや、それはありえない。木の探索である以上、(検討結果にアウトプットされていないかもしれないけれども、)「こういう進行が最善である」という進行は絶対に読んでいる。で、そこの一番深い部分の評価値がそのまま評価値になってるソフトがほとんどのはず。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
きっかけとなった一連のツイートは以下
よく、「コンピュータ将棋は、なぜこの手が良いのかを言語化出来ない」みたいなことを言うけれども、これは大嘘だと思っている。「例えばこの手だと例えばこういう進行になってこれはこれくらい良いが、こっちだとこういう進行になるのでこっちの方が良い」というのは、探索結果そのままである。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
で、「こう進んだ時にこっちの方が良さそう」の、「良さそう」の判断が機械学習を使った評価関数なので、その「良さそう」の感覚はちょっと複雑なんだけど、ここが複雑なのはコンピュータも人間も一緒で、三駒関係の計算から出せるコンピュータのがまだ単純な気がする。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
もっと正直に言ってしまえば、プロの人とかが「わかるように解説してくれる」というのは、「あたかもわかったかのように思わせてくれる」部分が多いので、それを「言語化」と読んでいるならそれは確かに無理かもなあ、と思っている。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
あくまで自分は「コンピュータ将棋は言語化出来ない」に対して否定しただけのつもりなんだけど、何故か「コンピュータ将棋に○○は出来ないよね」的なコメントが結構ある。そりゃ出来ない部分はあるけど言語化は出来てるよね、くらいの主張のつもりである。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
ってことで、人間にとって分かりやすい言語化がコンピュータにできていない局面も存在する、くらいであればまあ分かる。「言語化出来ない」という意味の分からない論調に文句を言いたいだけである。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
「言語化」って単語に「人間がわかりやすくする」って意味は別にないと思うんだけど、あるんですか。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
いやなんか、正直自分から見ると、コンピュータのが分かりやすい場面もあり、人間が分かりやすい場面もあり、って感じなので、別に人間>>>>コンピュータだとも思っていないのだけど。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
いや個人的には、人に教えてもらうのと、コンピュータの評価値見るので、参考になる度は半々くらいなので、そこまでコンピュータの示すものが我々に判りにくい言語化である、という印象もない。(人間がプロになれば印象がもっと変わるのかな、とは思わなくはない)
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
話が「言語化」と「分かりやすいか否か」で分かれちゃってるけど、前者については多分不満ないと思うので後者の話に移る。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
「三駒関係の部分言語化できてねーじゃん」は、まぁ「DeepLeaning」とか「人間のカン」と同程度に言語化出来てないよね。でも将棋の本質ってどちらかというと「手順」だよね。だから探索木部分が肝で、そこは言語化出来ているよね、というのが自分の主張のメインの部分かな。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
ただまぁ「言語化」の定義を「計算や予測の手順を明確に示している」という話にしてしまうと、DeepLeaningだって三駒関係だって全部そうじゃん!という話になり、それは個人的にはちょっと「行き過ぎ」って感じがする。そこまで理論派ではない。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
「将棋は探索が肝」という主張に関しては、やねうらおさんが作った「ひようら王」って将棋AIが根拠にある。このAIは、「駒得のみを評価関数に用いる」という無茶苦茶単純な評価関数であるにも関わらず、R2400くらいの実力がある。これはアマチュアでかなり上位にいけるくらいのレーティング。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
まぁこのあたりの探索手法に関しては、多分stockfishライクな超絶技巧が使われているので、当然誰でもこれが出来るわけじゃないんだけど、これもアウトプットされるのは探索木で、どういう理由でそういう評価になったのかは分かりやすいよね。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
これちょっとごまかしが入っていて、「どうしてここで評価を打ち切ったのか」が示されていない。ここはstockfish風ヒューリスティック探索での判断なので、ちゃんと把握するのは相当に難しい。「他より悪そうだから切ったのかな」くらいに捉えるしかないw
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
他にもこのような議論が行われていた。
-------------------------------------------------------------------------------
@chokudai 機械学習って基本的に人間の理解を超えた判断をしていて、それを解釈するのは人間だと思ってるんですけど、違うんですかね?(ここでいう言語化は機械学習による判断そのままなので人間による解釈が必要)
— 白沢ノエル(社畜) (@nf_shirosawa) 2017年1月8日
@chokudai 「探索」なのでその手の有効さが分かる人にはわかるという感じだと思います。何を思ってそう動かしたかみたいなのまで(将棋にそこまで詳しくない人が)知ろうとするととプロによる解説が必要なんだろうなと思います。
— 白沢ノエル(社畜) (@nf_shirosawa) 2017年1月8日
@chokudai なるほど(駒の動かし方くらいしかほとんど知らないので気持ちがわからない)
— 白沢ノエル(社畜) (@nf_shirosawa) 2017年1月8日
@nf_shirosawa まぁ例えば初心者でも「これをこう動かしちゃうと角がただで取られちゃうけど、こうすれば取られない」みたいなのは、3手先くらいまで見ればわかるわけです。細かいところはわからなくて良いので評価ががくっと落ちる手だけ避ければ良くて、これ自体は分かりやすい。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
-------------------------------------------------------------------------------
@dasapon17 まぁどこまでを「言語化」って言うのか、って問題はありますよね。計算過程が示されているのだから言語化されている、というのはその通りですし、ただまぁそこまでくると「それぞれがどういう意味を持っている」が完全に失われちゃうので、(つづく)
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
@dasapon17 その「意味」をどこまで持たせられるか、みたいなのが言語化度合いなのかなあ、と思ってます。で、「探索結果」ってのは、「単なる計算結果」と比べて遥かに明確な意味があると思うんです。そういう基準で局面の評価値自体は言語化されているとは言い難いかな、とは思ってます。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
@dasapon17 まぁその「意味がある・ない」を「人間にとってのわかりやすさ」と言ってしまうこともあると思うんですけど、自分の中でその2つには結構な乖離があるんですよねー。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
@dasapon17 うーん、だとしたら、まぁ多分程度問題なんだと思うんですよねー。突き詰めるとDeepLeaningも言語化されている、という立場ではあるので、『一切問わないとまではいわない』くらいなのかなあ、と思ってます。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
-------------------------------------------------------------------------------
@28tomabou ちょうどそれ思ってたところです。何を持って自分が「DeepLeaning+モンテカルロ」を言語化されていないと感じて、普通の探索木(というのはちょっと変ですけどw)を言語化されていると感じるのか、ってのは、割と考えてみたら面白そうだなあと思ってます。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
@28tomabou あ、ちなみに、将棋の「三駒関係」の部分と、囲碁の「DeepLeaning」の部分は大差ないと思ってます。前者のがちょっとシンプルですけど。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
本質的なのは、将棋は囲碁と比べて遥かに「探索木」の影響が大きい、という部分がポイントだとおもってます。
@28tomabou 例えばの話として、「駒得のみ」の評価関数で探索するようなAIを作っても、かなり強かったりします。(アマ有段くらい) 囲碁はそれはまぁ無理なので、どちらに重きをおいているか、というのはあると思います><
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
@28tomabou んー。理論的な話で、結局全部計算が行われているし、全部勘みたいなのが入ってるよ、って話だったら、同じだと思います。程度問題だと思うので。
— chokudai(高橋 直大) (@chokudai) 2017年1月8日
以上