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学習 […]
NVIDAのグラフィックボードを積んだPCがあるので、kerasやtensorflow をgpuで動かしたいと思っていたのですが、開発環境を作るのがたいへんですね。 バージョンの組み合わせとか、もうおまじないのレシピみたいです。 windowsで何とかできたので覚書。金子邦彦研究 […]
普通の強化学習の実装だと、ゴールの位置が変わったらまた学習しなおしになるけど、ゴールがどこにあっても学習をし直せずゴールできるモデルを作りました。 画面全体を状態とする普通のDQNの実装ですが(CNN 2層 + 全結合層 2段)、そう思うとDQNすごいですね。
ここでは、強化学習のQ-learning をすでに知っていることを前提に解説します。 Q-learningの基本的な解説はあとでまとめたいと思います。 問題設定 フィンガロンの動きを生成するために、状態、行動、報酬、をどう定義したかを説明します。 状態 姿勢(3つのモーターの角度 […]