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

途中で挫折しそうだったこのシリーズ…。

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

の続きでございます。

またまた、間違いなどありましたら、指摘してください。m(_ _)m

原文はこちら。
https://www.nature.com/articles/nature24270.epdf

 

論文本体はもう翻訳し終わってますが、付録みたいなのがまだでした。

今回は、その付録

METHODS

の翻訳です。

ハァハァ(´Д`)ハァ… がんばろう…!!

Reinforcement learning

ポリシーの繰り返しは、昔からあるアルゴリズムで、ポリシーを改善する一連の流れである。

どのように実現するかというと、ポリシーの測定と、ポリシーの改善(ポリシーの測定を使う)を繰り返し行って、ポリシーを改善していくのである。

ポリシー改善のシンプルなアプローチ方法としては、どん欲にバリュー関数に沿って、手を選んでいくというのがある。

広大な選択肢の空間では、大体でやる、というのが必須である。

分類をベースとした強化学習はシンプルなモンテカルロ探索を使ってポリシー改善をしている。

ゲームを最後まで行ってみる。平均的に価値が最大になる手だけが正の値で、それ以外の手は負の値として、トレーニングのサンプルが記録される。

こうやって、ポリシーは手を正か負かに分類さて、次のゲームに使われる。

このやり方の後継版のようなことを、Alpha Go Zeroでも、γが0に近い場合、ポリシー部分のトレーニングアルゴリズムで使っている。

 

最近の例で行くと、分類ベースのポリシー改善は(CBMPIというらしい)、ポリシーの測定をゲームの結果に向かって回帰するバリュー関数で行っている。(これもAlpha Go Zeroでやっていることに近い)

この手法は、テトリスなどでは非常に良い結果を残している。

しかし、これらの研究結果はシンプルなゲーム結果とか手作りの近似的な関数に頼っていた。

 

Alpha Go Zeroのセルフプレイのアルゴリズムは、前述のやり方によく似ている。

ポリシーの改善は、ニューラルネットワークのポリシーで始まり、MCTSベースのポリシーの推薦と、より強いポリシーを探索してまたニューラルネットワークに返す。

これらのステップはニューラルネットワークをトレーニングして、探索の確率を、セルフプレイの結果に近づけていくことにより達成される。

 

グオさんは、同じくMCTSの結果をニューラルネットワークに入れることを試みた。

探索結果に回帰するバリューネットワークを使うか、MCTSによる分類のどちらかによってである。

この試みは、アタリのゲームをニューラルネットワークを使って解くことに使われた。しかし、MCTSが固定されていて、ポリシーの反復がなかったことと、訓練されたニューラルネットワークを利用していなかった。

 

Self-play reinforcement learning in games.

 

我々のアプローチは、完全情報ゲームで、ゼロサムゲームには直接応用ができるだろう。

その後の一文、ちょっと意味がわかんなかったです。(^_^;

We follow the formalism of alter­ nating Markov games described in previous work12, noting that algorithms based  on value or policy iteration extend naturally to this setting39.

 

セルフプレイ+強化学習という手法は、以前も碁につかわれたことがある。

「ニューロ碁」はバリュー関数にニューラルネットワークを使っていたし、碁の知識をベースにした洗練されたアーキテキチャーを持っていた。

このニューラルネットワークは、タイミングをずらした学習で、セルフプレイの次の手でのテリトリー(碁の陣地のことでしょうね)を予想していた。

関連した試みで、「RL碁」はバリュー関数を線形の組み合わせではなく、3×3の石の置き方のパターンを数え上げる方法だった。そのニューラルネットワークはタイミングをずらした学習で、セルフプレイの勝者を予想するというものだった。

「ニューロ碁」も、「RL碁」も、弱いアマチュアのレベルにしかならなかった。

MCTS自体もセルフプレイの強化学習ともいえる。

探索木のノードはポジションに応じたバリュー関数を持っている。これらのバリューはセルフプレイのシミュレーションでの勝者を予想する。

MCTSのプログラムは碁ではそれなりに強いアマチュアレベルまでは達成している。しかし、それは手作りの早くゲームを終わらせる関数を作ったりしていて、ポリシーも手作りの関数でできている。

セルフプレイの強化学習のアプローチは、チェス、チェッカー、バックギャモン、オセロ、スクラブル、つい最近ではポーカーで非常によいパフォーマンスを残している。

すべての例で、バリュー関数は回帰、あるいはタイミングをずらした、セルフプレイの結果による学習でトレーニングされている。

トレーニングされたバリュー関数は、アルファ・ベータサーチ(シンプルなモンテカルロ探索)あるいはの counterfactual regret  minimization中で評価関数として使われる。

しかし、これらの手法は手作りの特徴入力を使ったり、手作りの特徴のテンプレートを使ったりしている。

加えて、学習のプロセスで教師あり学習を最初の「重み」を算出するために使ったり、手作業でコマの価値を出したり、手作業で手の制限をしたり、すでにある別のプログラムを使って敵手の戦績を作ったりしている。

最も成功し、広く使われている強化学習の手法は、ゼロサムゲームの分野で、最初に登場した。それは、タイミングをずらした学習で、最初にチェッカーのプログラムで使われた。一方で碁にはMCTSがつかわれていた。

しかし、似たようなアルゴリズムは、その後ビデオゲームやロボティクスや、産業用、レコメンデーションシステムなどで使われた。

 

AlphaGo versions.

 

我々は、Alpha Goの3つのバージョンを比べてみることにする。

(1)AlphaGo Fanは以前公開したプログラムで、ファン フイさんと2015年に対戦したプログラム。176GPUも使っていた。

(2)AlphaGo Leeは2016年3月にリーセドル氏に4-1で勝利したプログラム。

これは公開していないが、AlphaGo Fanとだいぶ似ている。しかし、公正な比較のためにいくつかのカギとなる違いを上げておく。

最初に、バリューネットワークは、ポリシーネットワークによるものではなく、素早いゲームの結果によってトレーニングされていた。

これらは何度も繰り返される。

次に、ポリシーとバリューのネットワークは、もともとの論文に書かれているより大きい。

256個の平面のレイヤーのある、12個の畳み込みネットワークと、さらに反復回数が多かった。

このバージョンはGPUでなく、48TPUを利用し、探索の間にニューラルネットワークをより早く評価できるようになっていた。

(3) AlphaGo Masterは2017年の1月に人間のトッププレーヤーを60-0で負かしたプログラムである。

このプログラムは公開されておらず、この論文に載っているのと同じニューラルネットワークと、強化学習とMCTSのアルゴリズムを使っている。しかし、まだ手作りの特徴とAlpha Go Leeと同じゲームを最後まで行う手法、そしてトレーニングは教師あり学習により初期化されていた。

(4) AlphaGo Zero この論文のプログラムである。セルフプレイの強化学習であり、ランダムな重みを最初に使い、ゲームを最後まで行わず、教師は必要ない。ただ単に、ボードの状態があればよいのである。Google Cloud上のたった4TPUしか使わない。

 

まだ続くよ!

 

K君歓迎会

めちゃくちゃ暑い日が続きますね!

私、暑いの好きなんで、こういうのは好きです⊂(^-^)⊃

ただ、冷房の効いている室内と、外の往復が体に本当に厳しい…(つД`)

いっそのこと、冷房がなければと思うぐらいです。みんなに反対されるけどね。

さてさて、弊社に新メンバーが加わりました!

 

長坂彼方(かなた)君です。↓

長い坂の彼方に何があるのか…。

なんてパワーネームなんだ…。(`・ω・´)

 

なんと、人狼で知り合って情報学部というのと、見込みがありそうな学生さんだったので、私がスカウトしました.゚ヽ(*´∀`)ノ゚

人狼って仕事にも役立つなぁ!⊂(^-^)⊃

飲み込み早いし、テキパキと要領のよい方です。

 

歓迎会は先月のことでしたが…

合わせ鏡のある居酒屋でスタート!

2次会はボーリング。

スポーツエリートで、ボーリングでは常に200点越えをたたき出すSがいなかったため、平均点70点前後の大変レベルの低い争いwww

ま、楽しかったからいっかo(>▽<)o

OCテックノートができました。

弊社の新しいオウンドメディア、OCテックノートができました!

OCテックノート

 

パチパチパチパチ。(๑•̀ㅂ•́)و✧

実は、以前、「でじうぃき」って名前で運営していたWikiで作った情報サイトがあったのですが、それをWordPressに移行した形になります。

理由は、「でじうぃき」はPukiwikiというWikiのクローンでできていましたが、もう10年ぐらい前からあるので、劣化が激しかったからです…。

Pukiwikiも進化しないしね…。

移行はちょっと大変だったんですけど、弊社のMが移行プログラムを書いてくれました。ありがとう!⊂(^-^)⊃

こだわったのは、コードが見やすいこと。

どうでしょうか?

 

でじうぃきは、名刺を渡したりすると、

「あ、このロゴ見たことあります」

って言ってもらえることが多かったりして、それなりに世間の役にたってたのかなと思ったりしました。

 

んで、OCテックノートはどういう位置づけかっていうと、いわゆる、ITの会社が運営するテックブログとは違います。

もっと現場に近い形で、じゃんじゃん書いて、じゃんじゃん検索してもらえるサイトを目指しています。(๑•̀ㅂ•́)و✧

誰かがノートのはしっこに書いたことが、誰かの役にたてばいいな~。っと。

でじうぃきから変わらない方針ですね。

 

この業界って、日本語情報ってやっぱり全然少ないんですよね。

なので、Stack Overflow見て解決したことでも、誰かが日本語で書き直してくれると、助かりませんか?

私的には大変ありがたいです。

 

後は、

「みんなが!驚くような!最先端かつ全く間違いのない記事を書いてやるぜ!!ハハハ (゜∀゜)」

とか思っていると、おそらく永遠に書く日が来ません。。。(´ω`)

なので、勉強中でもいいし、間違っててもいいので、アウトプットすることが大切と思っています。⊂(^-^)⊃

アウトプットしていると、間違ってると誰かが教えてくれて、それが自分の進化につながりますからね!

それがこの業界っぽいじゃないですか!

 

後は、アウトプットすると、アウトプットした分、自分のものになるって側面ありますよね。

ジャスミン殺人事件

初夏のさわやかな青空の下…

人狼をよくする仲の良いグループ、男女15人で、山の中のコテージに出かける。

バーベキューしたり、温泉へ入ったり、人狼したり…。

その時のみんなは、この後恐ろしい事件が起こるなんて夢にも思わなかったんだ…。

「ねぇ、本当に人狼が現実になって、一人ずつ、誰か死んでったら…どうする?」

「やだーw やめてよ!」

…。

夜になって、まさか、それが現実になってしまうとは!

「きゃああああー!!だ、誰か~ ジャスミンが!」

「し… 死んでる!」

「じゃ、ジャスミン~!!」

コテージに向かう唯一の道は、嵐で通行止めになっている…。

「犯人は… この中にいる…!!」

(この中↓)

 

…。

…。

 

ということを、一度やってみたくってですね!

最初、人狼やるメンバーで温泉とか、バーベキューとか、やりたいことやろうって企画だったんですが、人狼ばっかりやってると、結局横浜でやるのと変わらないじゃんw

って、なんか企画しようと思いまして!

「仲間同士で旅行って言ったらやっぱり殺人事件じゃんw」

という私の軽口に、ジャスミン嬢が、なんとなんと、ちゃんとした殺人事件のプロットを作ってくれまして、ちゃんとした推理ゲームになりました!

持つべきものはノリがよい友達!!⊂(^-^)⊃ ありがとうジャス!!!💛

それにしても、死体役のジャスミン嬢がすごかった。

ちゃんと、ぴくりともしないし、表情筋もまったく動かないの。

あんた、いい女優だよ~!!!文才もあるし!!! o(>▽<)o

 

それに対して、私は…

「あきさんがニヤニヤしているので、あ、これはサプライズなんだなってわかりました」

って言われちゃう始末…。(;^ω^)

 

血糊はamazonで買いましたが、なかなか本物っぽいでしょw

サイコパスみたいと言われた写真↓

「ジャスミン… これで永遠にあなたは私のモノ…」

とかいうキャラなんでしょうね。(´ω`)

シャイニングバージョン。ひゃあああ(´・ω・`)

さて、血なまぐさい写真が続きましたが、これ以外は、超普通の旅行ですよ!

 

横浜駅に集合して、海へ向かう電車でGo!

 

場所は湯河原です。

ほんっとうにいい天気!真っ青な海も見える!.゚ヽ(*´∀`)ノ゚

バーベキュー!

肉は最高です!

とてもきれいにお肉が並べられている….゚ヽ(*´∀`)ノ゚

夏のお嬢さん!

かわいい、かわいいよ、ジャスミン!!(*´Д`)ハァハァ

 

なかなか素敵なコテージでして、全体的にかわいらしい雰囲気があってよかったです。

ハンモックがあったり

 

ブランコがあったり💛

Dくんがケーキを焼いてきてくれました!!

ありがとう~!!.゚ヽ(*´∀`)ノ゚ めちゃおいしかった!!💛

ガールズのみなさん!💛  かわいい~.゚ヽ(*´∀`)ノ゚ 後ろのレースのカーテンがよく似合ってる⊂(^-^)⊃

人狼してて夜~

海鮮などで飲み会!

んで、途中にジャスミン殺人事件があったり、人狼したりで午前3時まで遊びました⊂(^-^)⊃

人狼していると時間が経つのがあっというま!

途中、

「なぜだ!なぜ、こんなことに!!!し、死にたくない!死ぬのはいやだ!うわぁぁぁぁっ…以下略」

藤原竜也の真似をして死んでいったS君w またもや名演w

翌朝…

この日も快晴!

なんか、「君の名は」っぽい風景ですよね~。

私の不手際により、皆様に朝食が用意できませんでした(>_<)

申し訳ない…m(_ _)m

この日はお昼ぐらいまでお風呂に入ったり、ポーカーや「コードネーム」などして遊びました。

その後、真鶴へ移動。

海鮮を食す!!私、アジなどの近海魚、好きなんですよね~。

食後は、ワードウルフ中にウィンクキラーするというちょっと難しいゲームしたりしてました⊂(^-^)⊃

で、その後遊覧船に乗るはずが… またまた私がバスを2駅も乗り過ごすという失態をおかしてしまいました…。

「こんな近距離で2駅も乗り過ごすわけがないッ!だからこれはスタンド攻撃!!」

とか言いたかったですが、100%私のせいですね。

 

気温30度越え…

炎天下の中を、30分ほど皆様を歩かせてしまい、大変申し訳ございませんでした!!!×10。m(_ _)m

ファイナルファンタジーっぽい写真w

真鶴のアサシン。

優しい皆様が、

「いや、きれいな海を見ながら散歩できたのでよかったですよ~(^_^)」

と言ってくれたりして、本当に涙ちょちょぎれです。神のように優しい~º·(ฅωฅ*)‧º·˚

 

そして、やっと真鶴港に着きました!

出航~!!

なんと、かっぱえびせんを海に巻いて、とんびやカモメに餌をあげられるというアクティビティが!

楽しい~ 鳥ってすごいね。ちゃんとキャッチして食べてました!

私はまったくキャッチできないw

海も、空も真っ青ですっごくきれい!⊂(^-^)⊃

で、真鶴で解散。

いやー、と~っても楽しかったです!⊂(^-^)⊃⊂(^-^)⊃⊂(^-^)⊃

それにしても、幹事である私の不始末が量産されていましたが、皆様笑って許してくださってありがとうございます。

そもそも、参加してくださってありがとうございます!!!m(_ _)m

 

私は狼牙風風拳のポーズで!

意外と(?!)高評価だったので、またこんな企画ができたらいいな~って思ってます!⊂(^-^)⊃