[深層強化学習]pon-3
[深層強化学習]pon-4
かなり勝てそうになってきました。
[深層強化学習]pon-5
ついに勝ちました!!
[深層強化学習]pon-6
ほぼ完封に近いことができるようになりました。
必勝パターンを覚えたようです。
残念ながら0-21の試合は取れませんでした。
かなり学習に時間はかかりましたが、最終的には完封勝ちまで行けました。
途中から点を取る方法を学びその後は必勝パターンを学んだようです。
相手のコンピューターはおそらくボールの位置を一定のスピードで追随するだけのようです。
それより早く動かせれば得点を取れるということです。
こんな感じで強化学習はどんどん学びます。
面白かったです。
応用例
では、この強化学習は何に応用できるのでしょうか?
みなさんが知っている通り一番有名なのは今だとAlpha Goですね。
他には2Dゲームが多かったです。
最近は徐々に3Dのゲームもできるようになってきています。
CS275 Project: 3D Flappy Bird with Reinforcement Learning
計算量どのくらいかかるんだろうか...
Asynchronous Methods for Deep Reinforcement Learning: Labyrinth
そのうちどんなゲームでも人間は勝てなくなるでしょうね。
ゲームができるということは現実でもかなりうまくいきそうですが、ゲームという閉じた環境だからこそ勝てているのでしょう。
Deep learningは閉じた環境だとめちゃめちゃ強いですからね。
他にはロボットの制御とかもあります。
Deep Reinforcement Learning for Robotic Manipulation
ドアの開け閉めを覚えさせる様子です。
人が邪魔しても大丈夫なのが面白いです。
Robot Control with Distributed Deep Reinforcement Learning
最後の方に動いている様子があります。
なんかみていると酔いそうです。
ロボットに使えるようになると劇的に変化すると思います。
今までプログラムしたことしかできなかったのが、他のこともできるようになると臨機応変な対応ができるようになりそうです。
そのうちロボットが手術とかするようになるかもしれませんね。
他には、株や仮想通貨の取引も自動化できるようになるかもしれません。
webなどのデザインも強化学習で学んでいくことによって柔軟に変わっていくかもしれません。
きっと応用の幅はかなり広いと思います。
普通の機械学習はデータありきでそれを使って学びますが、強化学習は繰り返しできる環境を与えてデータを生成しながら学ぶので柔軟性があります。
感想
去年から機械学習の勉強を始めて、古典的機械学習、deep learning、CNN、RNN、自然言語処理、GAN、DQNととりあえず一通りやってみましたが一番面白そうだと思ったのはこの強化学習でした。
今後は強化学習とKaggleを引き続きやっていきます。
ちなみに強化学習の勉強の進め方は、下の2冊の順でやるといいらしいです。
10点ぐらいいれられるようになりました。