2016-04-01 4 views
0

Qラーニングにおけるアクション値の基礎として標準完全接続ニューラルネットを使用しようとしています。 Iは、Q学習ポリシー制御方法(http://webdocs.cs.ualberta.ca/~sutton/book/ebook/node65.htmlに記載されているように)セットを用いて、最後のアクションに関連付けられている私の出力ユニットの誤差を計算したいQラーニングを使用するときにtheanoでニューラルネットワークのグラジエントを計算する方法

gparams = [T.grad(cost, param) for param in classifier.params] 

:私は参考として具体的にこのラインをhttp://deeplearning.net/tutorial/mlp.html#mlpを使用してい他の出力誤差はゼロになる。

Theanoのgrad関数を使って、エラーをニューラルネットワークの残りの部分にバックプロパゲーションする方法はありますか?

+0

教師あり学習と一緒に強化学習を適用する経験はありません。 Theano式でq-ラーニングを定義し、それらを計算グラフの一部にすることができれば、通常の方法でエラーをバックプロパゲーションできます(T.grad(..)を使用して)。これは少し関連性があります: https://github.com/spragunr/deep_q_rl – uyaseen

+0

はい、私はこのプロジェクトを見て、参照として使用しています。選択したアクションだけを使って損失を計算すると、grad関数がすでに私の仕事をしているようです。 – Mouscellaneous

答えて

0

ニューラルネットは、Q関数をパラメータ化する方法の1つに過ぎません。この場合、勾配降下を行う方法は、SuttonとBartoの本のsectionで説明されています。あなたのニューラルネットの重みをパラメータのベクトルとして扱うだけです。

関連する問題