DQN(Deep Q-Network)を復習する

2019.07.23

DQN(Deep Q-Network)は2017年くらいに大きく注目された。
最近「Jetson Nano」を使ったAIロボットカー「JetBot」のハンズオンセミナーの記事をよく目にする。
またAWS Summit 2019にてAWSのブースでも「Jetson Nano」を使った展示があった。DQNを復習する。

ゲームでの事例が多いが、車の自動運転とか、ロボットの自動化などに利用できる。
DQNのサンプルでよくあるものをkerasで実装してみた。

障害物のY座標が最下段の場合、エージェント(操作対象)と衝突判定をする。
・当たっていなければ報酬「+1」
・当たっていたら報酬「-1」

という条件で学習させる。
学習時間は1,000エポックで15分程度。

■状態を表す行列の例(8 * 8)
「1.0」がエージェント、「0.5」が障害物を表す。

■学習結果をmatplotlibで描画。きちんと避け続けている。

■pygameで描画

画像認識、回帰予測などAIと呼ばれる分野ではあるが、こういったDQNをつかった強化学習が一番AIっぽい感じがするし、わかりやすい。
なにより楽しい。

最新記事

過去の記事一覧