はじめに
こんにちは!今大学院で強化学習の研究をしているモノの徒然なるままの戯れ言です。
最近ふと思うことがありましたのでコチラに書かせていただきます。おいおい今更こんなこと言っているの?ちげーーよ。ってことが多くあるかと思いますのでぜひご指導ご鞭撻のほどコメントでいただけましたら幸いです、。。本当に他の人からのコメントとかアドバイスが身にしみる今日このごろです。
今やっていること
すいません、そこは詳しくかけないのですが、DQN(横文字かよ?ってかたは下記の素晴らしい3つのリンクをどうぞ)関連の、もちろんDQNのみに限定しませんが、学習の初期段階での探索の非効率性と危険性をどのように改善していこうかというようなお題をしています。
ここからが本題です。
まず、最初に思ったことが、Deepmindの研究の量が多いなってことですね。自分たちで出した論文で収めた成功を更に自分たちで更新をしていく。とんでもないスパイラルです。。。もちろん海外の優秀な大学からそれを超えるような論文が出てきているのも事実ですが、やはりdeepmindの力はすごいと思います。ただ、ひとつ言わせてください。なんでソースコードを公開してくれないんですか?いまだしているのは確認できる限りLuaで実装をされたこのレポぐらいです。。。まあこれに関してはどんな研究でも同じかもしれませんがあまり他人のために実験の再現性を高めたくないのかもしれませんね。論文読んで理解して自分で実装してね!って感じでしょうか。もちろんそれができなきゃ研究者としては大成できないかもしれませんので、この点においてはしょうがないです。
ただ、根本的に強化学習の論文は研究結果の再現にかかる時間が他のcomputer scienceの分野と比べて長い気がします。もう少し言葉を直すと、実装したアルゴリズムの結果がわかるまでにかなり時間がかかることです。いかんせん最近の研究はゲームでのエージェントのパフォーマンスでの評価方法が多いのでゲームをプレイさせ続けないと学習が進みません。しかも難しいのは、ゲームが一つではなくAtari2600games(M.Bellemare et al., 2012)などのベンチマークではOpenAIが公開してくれてますが、だいたい50ほどのゲームを一気に評価しないといけません。。。これってどうやるの。。って感じです。いや本当にこれってみなさんどうやって解決してますか??よくネットである、このアルゴリズム試してみた!、とかって言ったレベルではなくて、きちんとアルゴリズムを評価する軸を決めて且つ50のゲームでトレーニングをして評価をする。GPUの積んだマシーンが複数台でとかいうレベルではなく、50台ものGPUマシーンとか用意できないですよね。。。いや僕のところが違うだけで、、普通の研究室にはそれがあるのでしょうか。。
ちなみに、簡単なゲームを使って一旦アルゴリズムの正当性を試したらいいじゃん、もしくはトレーニングを終えなくても初期段階でうまく行ってるかわかるよね。。というご意見に関しては理解をしておりますが、如何せん自分が実装したアルゴリズムが、決められたベンチマークで本当に動くのかを、長い時間祈って待つのが嫌だというのが全段落の簡略です。。わかりづらい文章ですいません。どうにか効率的にすることはできないのでしょうか。
この学生の若輩者にぜひ教えてください。
QuoraとかRedditみたいな記事になってしまった気がします。。読んでいただいた方、全くの無情報な文章で申し訳ございませんでした。。。ぜひ実験の仕方についてのいい方法があれば教えてください。個人的にコチラで強化学習のアルゴリズムをまとめてます!星やIssueなど頂けたら大変ありがたいです。。