強化学習の勉強中
最近、強化学習がやってみたいなということで色々調べています。
https://www.amazon.co.jp/%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89%E3%81%AE%E5%BC%B7%E5%8C%96%E5%AD%A6%E7%BF%92-%E7%89%A7%E9%87%8E-%E8%B2%B4%E6%A8%B9/dp/4627880316
http://qiita.com/eve_yk/items/2ace6d4c1dad7e912df1
まず、この辺りの本やQiitaの記事をサラッと読んでみました。
Q学習という手法にニューラルネットワークを噛ませた
DQN(Deep Q-learning Network)という手法が最近の流行りみたいですね。
なんでも「ゲームのプレイ画面」と「ゲームのスコア」を通して、
強化学習させて、強いCPUが作れるんだとか。
ゲームによって学習がうまく行くか変わるのですが、
格闘ゲームやブロック崩しなどのゲームでは人間より強いものができるそうです。
行く行くはDQNを触って見たいのですが、
まず初めとしてQ学習を勉強しました。
http://nkdkccmbr.hateblo.jp/entry/2016/10/08/205107
上記のサイトのソースコードを読んで理解しました。(JAVA言語です。)
やっぱり「更新する」みたいなアルゴリズムは
ソースコードを読んだ方が理解が速い気がしますね。
調べ物をしていて、機械学習界隈でちょっとむずいことやろうと思ったら
英語の論文なりgithubなり漁らないと、なにもできなさそうなのを実感しました。
次回はQ学習をもうちょっと発展させた記事を
書いてみようかなと思います。