2019-10-26に更新

Alpha Zero の論文読もうぜ☆(^~^)?

コンピューター囲碁 公開下書き

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 Alpha Zero の論文って どこにあるんだぜ☆?」

KIFUWARABE_80x100x8_01_Futu.gif
「 ググれば 出てくるだろ☆」

Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 ↑これじゃないの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 PDF 読めるじゃないか☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 お父んは 前に読んだはずだが……☆」

20191025igo1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑出てくる数式 全部メモって行くかだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 こんな式から何が分かんの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 sが決まると pとv が出てくるぐらいだな☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 職人技で作った関数とか、勘より ディープ・ニューラル・ネットワークだぜ、という自慢が書いてある☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 sは局面だな☆ 局面といっても 駒の位置を覚えるだけが芸ではなく、どう表現するか いろいろあるだろ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 どう いろいろ あるのよ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 その s を入力として受け取って、指し手の確率 p を返すとのことだぜ☆
つまり、局面を渡したら この指し手p は どれぐらいv ということを返すと言っている数式だぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 フーン。 ポリシー・ネットワークじゃないの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 この頃は そうなのかもしれないな☆
このあと バリュー・ネットワーク 使ったら もっと強いとか言われだすんだぜ☆」

20191025igo2.png

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 この数式を見ると 何が分かるの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 確率論で出てくる数式だぜ☆
Probability の頭文字 Pr というのは 1 が出てきたら 100% で、 0 が出てきたら 0% みたいなやつだぜ☆
a|s は くじの箱にs個入っているクジからa個取り出すぐらいの意味だぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 割り算と何が違うの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 トランプの中から3枚引いてそれが J、Q、K な確率とか やりたいことは いろいろあるだろ☆
どんな式になるのか ちゃんと書いたら 読みにくいから、めんどくさいんで a|s なんだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 フーン」

KIFUWARABE_80x100x8_01_Futu.gif
「 action って何だぜ☆? 囲碁棋士はジャンプキックでもするのか☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 囲碁の action って何なんだろな☆? 指し手は move だし☆ 座布団でも投げるのかも知らん☆」

20191025igo3.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 コンピューター将棋が最善手のことを bestmove というように、
コンピューター囲碁では最善手のことを z と書くソフトもある☆ この例がそうかは知らんけど☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 Eって何だぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 Estimator だぜ☆ 犬とか出てきて何言ってるか分からない分野だが、分布の形か何かじゃないか☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 二本のニョロニョロは何なの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 近似だぜ☆ 1.9998 と 2 は近似だし、 1.9999995 と 2 はもっと近似だぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 の できそこない かだぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 実用的な だぜ☆ 理想的な数とか 実験で出せない☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 s, v と 犬が近似って どういうことなの?
数学で カンマで区切られたアルファベットって何なの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 タプル(Tuple)だな☆ 2つ揃って1つの何かを表していると考えろだぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 テツとトモかだぜ☆」

20191025igo4.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 MCTS はよく出てくる略語なんで覚えておけだぜ☆(^~^)」

20191025igo5.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 root は 木の根だぜ☆ S root なら 開始局面 だな☆
この式は 開始局面から 投了図まで、という意味だな☆
MCTSの プレイアウトとか、 ロールアウトとかいうやつだぜ☆ 最後までとにかくやることだぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 将棋ではロールアウトできないんだよな☆
囲碁は 石置いてりゃ そのうち終わるけど、将棋で駒を動かしても いつまで経っても進まないからな☆」

20191025igo6.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 みんなが関心あるのが この f だぜ☆
Θは パラメーターなんで、このパラメーターが なんかいい感じのとき、 f は ちゃんと最善手を選んでくれるわけだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 Alpha Zero は、この Θ を自己対局の強化学習で 自動調整できると言ってるわけだな☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 そこが知りたいのに」

starting from randomly initialised parameters θ.

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 学習開始時は Θ をランダムにしておくようだぜ☆」

20191025igo7.png

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 αとか πとか tとか  って何なの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 πは MCTSのあとに返ってくる確率分布らしい☆ わたしが知らないということは 犬 と関係あるのだろう☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 他に何か分かるところはないのか☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 α は action と何か関係あるんじゃないか☆
t は よく時間として出てくるから 何手目 とか そういうやつじゃないか☆?」

20191025igo8.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 Terminal Position って投了局面のことだろ☆ やっぱ T は 何手目とかいう数だと思うんだぜ☆」

20191025igo9.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 z って もしかして 報酬のことだったのかだぜ☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 outcome が 報酬でしょ?
じゃあ z は勝敗なんじゃないの?」

KIFUWARABE_80x100x8_01_Futu.gif
「 z - v という式があとで出てくるが、 v はスカラー値なんで、 z は引ける何かのスカラーなのでは☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 じゃあ 最善手の確率だろうか☆?」

The neural network parameters θ are updated so as to minimise the
error between the predicted outcome vt and the game outcome z, and to maximise the similarity
of the policy vector pt
to the search probabilities πt

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 Θは 誤差が最小になるように更新するようだぜ☆
予想した報酬 vt と ゲームの報酬 z の差がだぜ☆
これは いい指し手 pt を選ぶ確率 πt を最大化するんだぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 ほんとか☆?」

 Specifically, the parameters θ are adjusted
by gradient descent on a loss function l that sums over mean-squared error and cross-entropy
losses respectively,

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 特に、Θパラメーターは 微分の曲線のぐにゃぐにゃしたやつの勾配を降りていくことで調整されるんだぜ☆
損失関数 l というやつは 平均2乗誤差と クロス・エントロピーの損失の合計だぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 直訳してるだけじゃないの! 原文に対して 情報を加えなさいよ!」

20191025igo10.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 zは なんか 予想上の理想の値か何かだぜ☆?
それとも 今回の実際の値?」

KIFUWARABE_80x100x8_01_Futu.gif
「 πをT乗しているのが 何言ってるのか分からん☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 何乗したらpになるんだぜ☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「  は なんで突然出てきたの? クロスのcなの?
タテボウ2つで挟まれているのは絶対値なの? パラメーターの絶対値なの? それを2乗?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 まだペーパーの3ページ目だぜ☆ 慌てるなだぜ☆」

where c is a parameter controlling the level of L2 weight regularisation. 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ちゃんと説明されてるぜ☆ ここで c は パラメーターをコントロールするんだぜ☆
L2の重みの正則のレベルだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 直訳マン 情報増やしなさいよ!」

AlphaGo Zero estimates and optimises the probability of winning, assuming binary win/loss
outcomes. AlphaZero instead estimates and optimises the expected outcome, taking account of
draws or potentially other outcomes.

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑オリジナルの アルファ碁ゼロは 勝率を予想するのに、勝ち負けの2値だけでやっていたが、
アルファ・ゼロはそれに替えて 引き分けの数やその他のアウトカムも使っているようだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 本読みマンわらう」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 盤の回転や、反転は インバリアントらしいぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 インバリアントって何なのよwwwwwww」

KIFUWARABE_80x100x8_01_Futu.gif
「 バリアントじゃないんだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 バリアントって何なのよwwwwwww」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 そのための2つの方法が 3ページ目の末端に書いてある☆」

First, training data was augmented by generating 8 symmetries for each position.

Second, during MCTS, board positions were transformed using a randomly
selected rotation or reflection before being evaluated by the neural network, so that the MonteCarlo evaluation is averaged over different biases.

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 もう読むのも疲れてきたぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 寝ろ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 自慢と参考文献を読み流して10ページ目、メソッドへ☆ チェスの話しだぜ☆」

20191025igo11.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 これは空集合なのか……☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 material って駒だよな☆」

20191025igo12.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 なんで添え字が付くのか……☆?」

20191025igo13.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 w は 重りだろ☆」

20191025igo14.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 局面と何か重りがどうので、スカラーvなのか何なのか、局面と重りかだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 イコールの両辺に sとwは ずっといるけど、何が変わったの?」

<書きかけ>

何度でもクリック!→

むずでょ

光速のアカウント凍結されちゃったんで……。ゲームプログラムを独習中なんだぜ☆電王戦IIに出た棋士もコンピューターもみんな好きだぜ☆▲(パソコン将棋)WCSC29一次予選36位、SDT5予選42位▲(パソコン囲碁)AI竜星戦予選16位

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

むずでょ の最近の記事