Deep Mind社のAlpha Goという囲碁のAIが人間のプロ棋士を負かした、というニュースは皆さんご存知かと思いますが、実はAlpha Goはそれからさらに進化していて、Alpha Go Zeroになっています。
Alpha Go Zeroの何がすごいかっていうと、
①自分自身との対戦で強くなった(教師とするデータがいらない)
②GPUなどの消費がずっと少なくなった
③以前のAlpha Goが数か月で達成した強さをAlpha Go Zeroは数日で達成
③それでいてAlpha Goよりずっと強い(100-0でAlpha Goに勝利)
というところなのです!!
この教師とするデータがいらない、というのはすごいことで、なぜかというとデータを集めるのが大変なんですよね。
碁の棋譜データとかは、もうデータになってるんですが(1000年以上分ぐらいらしい(´ω`))昔に紙に書かれたものを、集めるのも大変だっただろうし、データにするのはさぞかし大変だっただろうし、というわけです。
2017年10月19日に学術誌Natureに下記のAlpha Go Zeroの論文が発表されていますので、今これを勉強してます。
Mastering the game of Go withouthuman knowledge
自分でも考えをまとめるために、いろいろとここに記述しておきたいと思います。
このブログでは、あまり技術的なことは書かないつもりなんですが、現在弊社の技術的なオウンドメディアはメンテナンス中なので、ここに書きます。
さて、私の好きな名言に
『6才児に説明できなければ、理解したとはいえない byアインシュタイン』
というのがありますので、ならってやってみようと思います。
Alpha Go Zeroの理論のすごさをAiとか機械学習とかまったく知らない人に説明したいと思います。
私の大好きなマンガ、ドラゴンボールの主人公、孫悟空にたとえてみますね!
———————————————————————————————————————————-
孫悟空は亀仙人とか、カリン様とか、界王様とか、いろんな師匠に教えられたり、ピッコロ、ベジータ、フリーザなどの強敵と戦って強くなるじゃないですか。
しかし、孫悟空のクローンが作れるとしたら、孫悟空は自分自身のクローンとずっと対戦してた方が、いろんな先生に教わるよりも、敵と戦うよりも強かった。ということ発見されたわけですね。
ここでミソとしては、ただたんにクローンと対戦しててもダメなのです。
6人ぐらいの孫悟空のクローンが同時にいたとして、2人ずつ3組に分けます。
3組は同時に戦います。うち一組を①とすると、①チームは
「最初は軽いパンチ、次にカメハメ波を出したほうが強い」
とかそういうことをひたすら研究します。研究結果はメモって記録していきます。
もう一つの2組目②は、①の研究結果を使って実践で対決します。
んで、本当に強いのー??ということを研究します。研究結果はメモって記録していきます。
最後の3組目③は、②の結果を使って、本当に試合形式で対決します。
そして、勝ったクローンを残し、負けたほうは消滅する、という手段で最強のクローンを残します。
(③の結果は、①チームにも②チームにもフィードバックされます。)
これが同時に繰り返し行われることで、この最強のクローンがどんどん強くなっていく、ということです。
ただ、100万回ぐらい繰り返さないとダメなんですけどね(;^ω^) 「精神と時の部屋」でやればいいんでしょう。
悟空が強くなるためには、最初に格闘技の知識すら必要ありません。
———————————————————————————-
以上はだいぶ概略のイメージです。
伝わったでしょうかー?!( ゜Д゜)
しかし、6歳児には説明できてないなw
ドラゴンボール好きな人には説明できたかもしれないww
実はこのたとえ話を書きたかったw
AIの強さがどんどんインフレしていく感じが、少年漫画っぽいじゃないですか。
前回のシリーズで敵だったキャラが、今回の敵キャラにまったく歯が立たない、というのはよくある展開ですよね!!
Alpha Goは、もうAlpha Go Zeroにまったく歯が立たないんです。
「おめー、つええなぁ。オラ、わくわくすっぞ!!」
ところで、この仕組みを
「いたって単純」
という人がいます。上のたとえを読んだ人も、そう思われたのではないでしょうか?!
スゴイプログラムというのは、なんかもっとそんな単純なことじゃなくって、何万行もあったり、その中でヽ(*`Д´)ノ【ス】【ゴ】【イ】ヽ(`Д´*)ノことが行われたんじゃないか、と思われたのではないでしょうか?!
ちなみに、論文読んでるだけではわかりにくい部分もあるので、下記のソースコードをサンプルにして勉強しました。
下記はオセロをAlpha Go Zeroの仕組みで学習する、というプログラムです。
https://github.com/suragnair/alpha-zero-general
確かに、とってもシンプルです。
印刷すると、ホワイトボード一枚に収まるらしいですね。
「AlphaZeroのソースコードはわずかホワイトボード一枚に収まる : 情熱のミーム 清水亮」
https://japanese.engadget.com/2018/02/12/alphazero/
わかってしまえばそうだな、なんぜ今までやらなかったんだ!ということって、結局それを発見、発案した人はすごいですよね。
コロンブスの卵と一緒ですよね。
単純なことだとしても、「わかる」までの道のりは、果てしなく遠かったわけじゃないですか。
今までのAlpha Goでの取り組み、モンテカルロ木探索、強化学習、ResNetとか今までの研究結果のいろんなことを詰め込んでなされたわけですよね。
この仕組みを考えた方の努力と天才性に拍手喝采、そしてそれを公開してくれることに感謝感激です。
実用性に異議を唱える人もいますが、世のいろいろな人が試してみたところ
・完全情報公開ゲーム
・ゼロサムゲーム
では、この方法が相当強いことがだいぶ証明されているようです。
次回は論文の中身を真面目に紹介する予定でーす(`・ω・´)
Pingback: Alpha Go Zeroの論文の翻訳 その1 | Summer Snow
Very nice article and right to the point.
I am not sure if this is in fact the best
place to ask but do you people have any thoughts on where to get some professional writers?
Thx 🙂 Escape room
Very interesting subject, appreciate it for putting up.!
This is a very good tip especially to those fresh to the blogosphere. Simple but very precise info… Thank you for sharing this one. A must read article.
Hello there! I could have sworn I’ve visited this website before but after looking at a few of the posts I realized it’s new to me. Anyways, I’m certainly pleased I stumbled upon it and I’ll be book-marking it and checking back often!
Excellent post. I absolutely appreciate this site. Thanks!
Great article! We will be linking to this particularly great article on our website. Keep up the great writing.
Hello! I simply would like to offer you a huge thumbs up for the excellent info you’ve got here on this post. I will be returning to your blog for more soon.
Spot on with this write-up, I absolutely believe this website needs far more attention. I’ll probably be returning to see more, thanks for the information!
Oh my goodness! Amazing article dude! Thank you, However I am experiencing issues with your RSS. I don’t know the reason why I cannot join it. Is there anyone else getting the same RSS problems? Anyone who knows the solution can you kindly respond? Thanks!
I needed to thank you for this very good read!! I certainly loved every bit of it. I have got you saved as a favorite to check out new stuff you post…
After I originally left a comment I appear to have clicked on the -Notify me when new comments are added- checkbox and now every time a comment is added I get 4 emails with the exact same comment. Perhaps there is a way you are able to remove me from that service? Thanks.
Howdy! This article couldn’t be written any better! Reading through this post reminds me of my previous roommate! He constantly kept talking about this. I will forward this article to him. Pretty sure he’s going to have a very good read. Many thanks for sharing!
Excellent blog post. I absolutely love this website. Stick with it!
Very good article! We will be linking to this particularly great content on our website. Keep up the great writing.
An impressive share! I have just forwarded this onto a colleague who had been conducting a little homework on this. And he in fact bought me dinner because I stumbled upon it for him… lol. So let me reword this…. Thank YOU for the meal!! But yeah, thanx for spending some time to discuss this subject here on your web page.
Pretty! This has been a really wonderful article. Thanks for providing these details.
Greetings! Very helpful advice in this particular post! It’s the little changes which will make the biggest changes. Thanks for sharing!
Great information. Lucky me I discovered your site by chance (stumbleupon). I have book-marked it for later.
Aw, this was a really good post. Spending some time and actual effort to produce a top notch article… but what can I say… I hesitate a lot and don’t seem to get nearly anything done.
When I initially commented I seem to have clicked on the -Notify me when new comments are added- checkbox and from now on every time a comment is added I receive 4 emails with the same comment. Perhaps there is an easy method you are able to remove me from that service? Cheers.
This website was… how do I say it? Relevant!! Finally I have found something which helped me. Thank you.
bookmarked!!, I like your site!
I’m pretty pleased to discover this page. I wanted to thank you for your time for this particularly wonderful read!! I definitely liked every part of it and i also have you book marked to look at new information on your website.