ニューラルネットで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つのモーターの角度 […]
※Qittaにシミュレーションの投稿記事を書きました。 CADで設計したロボットをシミュレーションする [Fusion360 x Unity] 這いまわる指型ロボット、フィンガロン サーボモーター3つで動く、指型ロボットです。QRコードに寄って行きます。前後と左右旋回の動きは、強 […]