EnsekiTT Blog

EnsekiTTが書くブログです。

週末に3DSもポケモンもなかったのでChainerでDQNを育てた話。

つまりなにしたの

ブロック崩しなどで一世を風靡したDeep Q NetworkをChainerで実装して、OpenAIの環境で育てた。
youtu.be

基本的な強化学習の流れ

ゲームそのものをEnvironment
ゲームで言うプレイヤーをAgent
プレイヤーの操作をAction
プレイヤーはプレイの結果をゲーム画面を観察、つまりObservationして確認する(日本語に組み込むと変な感じ
ゲーム画面には、ゲームの状態(残りのブロックの画像とか)、Stateが表示される。
ゲーム画面には、ゲームのスコア(上がると嬉しいもの)、Rewardも表示される。

プレイヤーは操作とゲーム画面の組み合わせからこれはうまくいった、うまくいく流れ来たけどなんかこれ以上スコア上がらん…大きく変えるか!
とかを繰り返して学習を勧めていく。
(英単語はOpenAI Gymの表現と合わせている。)

続きを読む

勤労感謝の日なのでChainerの勤労(Training)に感謝してextensionsを全部試した話

つまりなにしたの

Chainerの抽象度を飛躍的に高めたTrainerにはextensionsがある。
せっかくだからextensionsを全部使ってみた。

2017年11月10日 追記
Extensionを自分で作ってみました。
ensekitt.hatenablog.com

背景

最近やっとChainerのバージョンを上げました。
qiita.com
を読んで、すごい勢いで僕のソースコードも抽象化したわけですが、
僕はまだまだextensionsの素敵機能を素敵に使いこなせてない!

というわけで、勤労感謝の日にChainerの勤労(Training)に感謝してextensionsを全部試した。

続きを読む
スポンサーリンク