4

私の理解では、これらの状態とアクションのペアを推定するために、Q 値 (状態とアクションのペアの評価) のルックアップ テーブルをニューラル ネットワークに置き換えることが可能です。私は小さなライブラリをプログラムしました。このライブラリは、特定の入出力に対して必要な目標値を学習するために、自己構築したニューラル ネットワークを介して伝播および逆伝播することができます。

それで、私はまた、ウェブ全体をグーグルで検索しているときにこのサイトを見つけました(私が感じたように):http://www.cs.indiana.edu/~gasser/Salsa/nn.html Qラーニングがニューラルネットワークについて簡単に説明します。

アクションごとに追加の出力ニューロンがあり、これらの出力「ユニット」の 1 つの活性化値から推定 Q 値がわかります。(1 つの質問: 活性化値はニューロンの「出力」と同じですか、それとも別のものですか?)

標準のシグモイド関数を活性化関数として使用したため、関数値 x の範囲は

0<x<1

だから私は思った、私の目標値は常に0.0から1.0でなければならない - >質問:私の理解のその点は正しいですか?それとも私はそれについて何か誤解しましたか?

はいの場合、次の問題が発生します: ターゲット報酬/新しい Q 値を計算する式は次のとおりです: q(s,a) = q(s,a) + 学習率 * (報酬 + 割引係数 * q'(s,a) ) - q(s,a))

ターゲットが 0.0 から 1.0 である必要がある場合、ニューラル ネットワークの適切なターゲットを取得するには、この式をどのように実行すればよいでしょうか? 適切な報酬値を計算するにはどうすればよいですか? 目的から遠ざかるよりも、目的に向かって動くことの方が価値があるのでしょうか? (目標までの距離が長い場合の - 報酬よりも、目標に近づいた場合の + 報酬の方が多い?)

私の誤解もあると思います。その質問に答えていただけると幸いです。どうもありがとうございました!

4

1 に答える 1

6

ニューラル ネットワークを使用して q 値を格納することは、テーブル ルックアップの適切な拡張です。これにより、状態空間が連続している場合に q 学習を使用できるようになります。

  input layer     ......  

                |/  \ |  \|
  output layer  a1   a2   a3
                0.1  0.2  0.9

3 つのアクションが利用可能であるとします。上記は、現在の状態と学習した重みを使用したニューラル ネットワークからの出力を示しています。a3したがって、これが最適なアクションであることがわかります。

今あなたが持っている質問:

1 つの質問: 活性化値は、ニューロンの「出力」と同じですか、それとも別のものですか?

はい、そう思います。参照されたリンクで、著者は次のように述べています。

一部のユニットは、出力ユニットとして指定することもできます。それらのアクティベーションは、ネットワークの応答を表します。


だから私は思った、私の目標値は常に0.0から1.0でなければならない - >質問:私の理解のその点は正しいですか?それとも私はそれについて何か誤解しましたか?

アクティベーション関数として選択した場合sigmoid、出力は 0.0 から 1.0 になります。アクティベーション関数にはさまざまな選択肢があります。たとえば、hereです。Sigmoidただし、最も人気のある選択肢の 1 つです。ここでは、出力値が 0.0 から 1.0 になることは問題ないと思います。現時点で利用可能なアクションが 2 つしかない場合、アクションはq 値に対応するよりもはるかに優れQ(s,a1) = 0.1, Q(s,a2) = 0.9ていることがわかります。a2a1


ターゲットが 0.0 から 1.0 である必要がある場合、ニューラル ネットワークの適切なターゲットを取得するには、この式をどのように実行すればよいでしょうか? 適切な報酬値を計算するにはどうすればよいですか?

これについてはよくわかりませんが、新しいターゲット q 値を 0.0 から 1.0 の間にクランプすることができます。つまり、

q(s,a) = min(max(0.0, q(s,a) + learningrate * (reward + discountfactor * q'(s,a) - q(s,a))), 1.0)

適切な報酬値を見つけるために、いくつかの実験を行ってみてください。


目的から遠ざかるよりも、目的に向かって動くことの方が価値があるのでしょうか? (目標までの距離が長い場合の - 報酬よりも、目標に近づいた場合の + 報酬の方が多い?)

通常、古典的な更新方程式を使用する場合、新しい q 値が増加するように、目標に近づいたときにより多くの報酬を与える必要があります。

于 2012-11-19T20:08:29.863 に答える