Alpha Go Zeroの論文の翻訳 その5

うわぁ。

以前、下記を書いて、「まだまだ続くよ!」とか言ってましたが…

Alpha Go Zeroの論文の翻訳 その4

7月20日のことでした。(;^ω^)

もう4か月も経ってるやんけ!!!( ゚Д゚)

いやー、光陰矢の如し。7月末からいろんなことがあったなぁ…( ˊᵕˋ )

…と、ついつい楽しい夏の思い出を思い返しちゃいましたが、本題は、Alpha Go Zeroの論文の翻訳の最後を書くことでした。

仕事でもAIの開発を進めておりまして、少し詳しくなったと思います。

では、Go!

 

原文はこちら。

https://www.nature.com/articles/nature24270.epdf

 

前回の続きということで、付録的な、「METHODS」という部分の後半になります。

 

Domain knowledge というところからですね。ではGo!

 


 

Domain knowledge

 

Domain knowledgeとは、専門知識のことである。碁のプログラムでいえば、碁のうちかた、どうやって強い手を繰り出すか、というような専門知識のことである。

Alpha Go Zeroの一番の功績は、専門知識なくして人間を超える知力を達成したということにある。

この功績を明らかにすべく、Alpha Go Zeroが使っている専門知識をトレーニングプロシージャーやMCTS内にかかわらず、数え上げてみることにする。

これらは、ほかのゲーム(マルコフゲーム プレーヤーが1対1で進める手によって勝率などが左右される、オセロ・将棋・碁などのゲームの総称と思われ。)に使うときは、置き換えられるものである。

 

①ゲームのルール

Alpha Go Zeroはゲームのルールについては、完全に知っている。MCTSのポジションのシミュレーションや最終手を打った時のスコアをつけるのに使われている。

ゲームは両方のプレーヤーがパスしたときと722手進んだ時に終了する。また、プレーヤーはルールにのっとって、有効な手を打つ必要がある。

②スコアリング

Alpha Go ZeroではMCTSのシミュレーションとセルフプレイのトレーニングの最中にTromp-Taylorスコアリングを使っている。

なぜかというと、韓国式・日本式・中国式にせよ、人間のスコアリングはよく定義されてないからである。

ちなみにAlpha Go Zeroで採用しているのは中国式である。(この辺、私が囲碁わからないのでよくわからなかったです(;´・ω・))

③盤面

盤面は、19×19の画像的なイメージで扱われる。ニューラルネットワークはこのボードに合わせた形になっている。

④盤面の回転など

碁のルールは盤面を回転しても反転しても盤面の強さは変わらない。

それを利用して、MCTSの途中で、盤面の回転と、反転状態もデータの中に入れることができている。

komiっていうものを抜かせば、碁は色を取り換えてもなりたつ。色を変えても成り立つことにより、盤面をどちらのプレーヤーから見るか、と言ったことが成り立たせられる。

 

以上が、Alpha Go Zeroが使っている専門知識の全部である。Alpha Go Zeroがディープニューラルネットワークを使っているのは、MCTSの末端のノードを評価するときと、手を選択するときだけ。

ロールアウトポリシーも使ってないし、ツリーポリシーも使っていないし、MCTSは他のヒューリスティックだったり専門知識によるルールによって評価されたりもしない。

ルール違反の手は使わない。プレーヤーの「目」を埋めることもしない。(多分、碁の話と思われ)

 

このアルゴリズムはランダムな初期パラメーター(ニューラルネットワークに入れるやつ)で始められた。

ニューラルネットワークの構造は、先進的な画像認識の構造である。ハイパーパラメーターは学習の中で変わっていく。

MCTSの探索パラメーターは1個前にトレーニングしたニューラルネットワークを使ったセルフプレイを最適化するために、ガウス過程最適化(でいいのかな?)を使って選択されていく。

より大きい実行のために(40ブロック、40日かける実行)MCTSの探索パラメータはより小さい実行でトレーニングされたニューラルネットワーク(20ブロック、3日)を使って再最適化される。

トレーニングのアルゴリズムは人間が介在することなく、自主的にアップデートされていくのである。

 

Self-play training pipeline

 

Alpha Go Zeroのセルフプレイのトレーニングパイプラインは3つに分かれていて、全部が非同期で平行に動作する。

ニューラルネットワークのパラメーターΘは継続的にセルフプレイのデータで最適化されていく。

Alpha Go Zeroのプレーヤーαは継続的に評価されていく。

ベストなプレーヤーはセルフプレイのデータを生み出すために使われていく。

 


今日はここまで~ ハァハァ(*´Д`)