Tensorflow を強化学習でversion2.1を使うとversion1.12よりも遅くなるので原因を確認しました。 結論から述べますと、version2.1は、バッチで学習させるときにはversion1.12よりも若干速いのですが、データを1つづつに分けて学習させる場合で […]
迷路を自動で作って、自動で解く、そんなプログラムを作りたいと前々から思っていました。 試行錯誤しながら作ってみると、なんと、作るのも解くのも同じアルゴリズムでできることが分かりました。 youtube 動画にもupしました。こちらは迷路のサイズを変えながら、迷路を作って、それを解 […]
q, qnet, gru, lstm のコーディングに間違いはないのでしょうか?その確認をするためには、Q値が正しい値に収束するかをチェックすることが大切です。 また、短期記憶ユニット(gru/lstm)の短期記憶の能力はどれくらいなのでしょうか。定量的に知りたいです。 このよう […]
LSTM/GRUを使ったエージェント、agt_lstm, agt_gru の解説です。 LSTMを取り入れたネットワーク構造 それではqnet にどのようにLSTMを組み込むのが良いのでしょうか。 先行研究として、DQNのネットワークの出力層の手前の全結合層をLSTMに置き換えた […]
短期記憶を取り入れた強化学習を説明します。ここからは、一般的な強化学習の話以外に、筆者独自の考えも書いていきます。 なぜ短期記憶が必要なのか 心理学では、記憶を感覚記憶、短期記憶、長期記憶に分類します。短期記憶とは、数十秒程度しか保持できない記憶とも言われていますが、ここでは、最 […]
ニューラルネットでQを推定するモデルqnet を説明します。 qnet の概要 前章のQ学習は、未知の観測に対して行動選択をすることができませんでした。 そこで、観測を入力としてQ値を出力するニューラルネットを作ることを考えます(ディープラーニングと言った方が聞こえはよいのですが […]
この章ではQ学習とその実装を説明します。 Q学習 Q学習の方法をここでは要点だけをまとめますが、じっくり意味を知りたいという方は、 ScratchでAIを学ぼう ゲームプログラミングで強化学習を体験 を参考にしてみてください。 まず、情報のやり取りの時系列について確認です。 タイ […]
しばらくブログを更新していなかったのですが、 ずっと強化学習のシミュレーションにはまっていました。 動画は、普通の強化学習では解けないT型の迷路をアルゴリズムが解いているところです。普通と違う点は、ゴールが二つあるというところです。 どちらか一つのゴールに行くと強制的にスタート地 […]
自分の回りのマスしか見えないルールで水を見つけるゲームを強化学習用に作りました。 水の場所と壁の位置は毎回変わりますので、どんな配置でも再学習なしに水を見つけることがミッションです。20ステップ以内に水までたどり着けないと力尽きてしまいます。 動画は基本のアルゴリズムであるQ学習 […]
Kerasを使ってLSTMを実装しました。 こちらにまとめました。 02 LSTMをKerasで動かす パルス波の予測