コンピュータ将棋のセミナー@東大 で出てきた Q&A 抜粋

コンピュータ将棋セミナー@東大に参加してくださった皆様、ありがとうございました。

www.issp.u-tokyo.ac.jp

備忘録を兼ねて、セミナーで出てきたQ&A(のうち、比較的単体で理解できそうなもの)を書き下していきます。

 

# 質問、回答ともに解説記事向けに内容を編集しています

# 何となく数学ネタを中心に集めましたが、「この質問も加えてちょ」的なコメントをツイッタか何かでいただければ追記します

 

こうしてみてみると、今回の参加者の数学レベル超高いな......

 

Q. NNUEの非線形性はどのように機能しているのでしょうか?

A. 3駒以上からなる重要な特徴量を扱えている可能性が高いと考えています。表現力として過不足がないかを確かめる方法は現在のQhapaqの研究対象の一つです。愚直にやるならback propagationですが、それで十分なのかなど。

 

Q. 探索部の最適なパラメタは評価関数の質に依存するのではないでしょうか?

A. 依存すると思われます。それ故に、探索パラメタの最適化の高速化は重要な課題です。

 

Q. 過学習回避のために行う、特徴量の出現回数を利用したフィルタリングについて、ノイズの大きさの絶対量ではなく、S/N比を指標としているのなぜでしょうか?

A. 3駒関数では学習にAdaGradを使っていて、目標関数の勾配の絶対量が各ステップの特徴量の変位には影響しないからです。即ち、AdaGradを使わないような問題については別の方法(学習率の調整など)で対応する必要があります。

 

Q. 正規化の代わりにフィルタリングを使う理由はなぜでしょうか?

A. 現状の強化学習の関数の多くが正規化を用いておらず(経験的にそのほうが強い)、極端に少ないデータで学習をする際に正規化を行うと本来消してはいけないデータも消えてしまいかねないからです。

 

Q. 評価関数の教師の質の良し悪しを神の評価値と深く読んだ場合の評価値の差の絶対値で現すとして、その関数の形を明確に定義する(一次関数かも知れないし、logかもしれない)のは困難なのではないでしょうか。その条件下でも出現回数によるフィルタリングは機能すると言えるのでしょうか?

A. 関数の形の定義は困難だと思います。故に、神の評価値と深く読んだ評価値の差が平均値0の分布を持っていることを仮定する必要があります(そんなに無理な仮定ではないと思っています)。この仮定を認めれば、中心極限定理を用いることで、ノイズの大きさをガウス分布に焼き直すことができます。

 

Q. 定跡生成のアルゴリズムから量子アニーリング感があんまりしない気がします

A. 確かにそうですね。モデルを構築する際は定跡の固有状態とか、定跡のエネルギーを決めるハミルトニアンとかを定義していたのですが、最終的なアルゴリズムの形は進化アルゴリズムに近く、アルゴリズムの頑強性を量子アニーリングのアナロジーで確認しているという方が正しいかも知れません。

 

Q. AlphaZeroの論文と比べ、生成された定跡の手が広い気がしますが、学習の長さやランダム項の大きさの違いなどが原因でしょうか?

A. 将棋は囲碁に比べると定跡空間が狭く、相手と定跡が被るリスクが高いです。故に、AlphaZeroのような比較的一般的な戦型は相手にも対策されている可能性があります。大会では相手によって定跡を切り替えることが許されているので定跡の手は広く確保しておくのが大会戦略として実戦的なのです。

 

Q. 持ち時間制御について、序盤中盤終盤の割り振りの他に各手の複雑さに起因した割り振りも必要なのではないでしょうか?

A. その通りです。現在の将棋ソフトの時間の割り振りは、1.残り時間から消費時間の指標値を決める 2.消費時間の指標値から、読み筋のブレの許容値(消費時間の指標値に反比例)を決める 3.探索の過程の中で手のブレ幅モニタし、2の許容値を下回ったら探索を終える という作りになっています。ブレ幅の定義や導出は割愛しますが、消費時間の指標値を一定にすることで、局面の複雑さが変化するような場合でも、各手の消費時間の増加に対する勝率の上昇値は一定にすることが出来ます。

 

Q. 数理を用いてゲームAIに進出する上で問題の難易度を見積もるにはどんな指標がありますか?

A. 合法手の多さ、局面を表現する要素の多さ、エミュレータの作成の難しさが指標になると思います。