価値観に基づく強化学習
レビュー:
定義: 割引収益(累積割引将来報酬)
⋅ \cdot⋅ U t = R t + γ R t + 1 + γ 2 R t + 2 + γ 3 R t + 3 + 。。。U_{t}=R_{t}+\gamma R_{t+1}+\gamma ^{2}R_{t+2}+\gamma ^{3}R_{t+3}+...Uた=Rた+γR _t + 1+c2R _t + 2+c3R _t + 3+...
⋅ \cdot⋅リターンはアクションA t 、A t + 1 、A t + 2 、...に依存します。。。A_{t}、A_{t+1}、A_{t+2}、...あた、あt + 1、あt + 2、...そしてステートS t 、S t+1 、S t+2 、...。。。S_{t}、S_{t+1}、S_{t+2}、...Sた、St + 1、St + 2、...
⋅ \cdot⋅アクションはランダムです:P [ A = a ∣ S = s ] = π ( a ∣ s ) 。P[A=a|S=s]=\pi(a|s)。P [ A=a ∣ S=] _=π ( a ∣ s ) 。 \;\;\;(ポリシー関数)
⋅ \cdot⋅状態はランダムです:P [ S ' = s ' ∣ S = s , A = a ] = p ( s ' ∣ s , a ) 。P[S^{'}=s^{'}|S=s, A=a]=p(s^{'}|s,a)。P [ S』=s∣S __=、_あ=] _=p ( s' ∣s、a ) 。 \;\;\;(状態遷移)
定義: ポリシー π のアクション値関数。\pi。π 。
⋅ \cdot⋅ Q π ( st , at ) = E [ U t ∣ S t = st , A t = at ] 。Q_{\pi}(s_{t},a_{t}) = E[U_{t}|S_{t}=s_{t},A_{t}=a_{t}]。Qp( sた、あるた)=E [ Uた∣ Sた=sた、あた=あるた] 。
⋅ \cdot⋅実行されたアクションA t + 1 、A t + 2 、A t + 3 、...。。。A_{t+1}、A_{t+2}、A_{t+3}、...あt + 1、あt + 2、あt + 3、...そしてステートS t+1 、S t+2 、S t+3 、...。。。S_{t+1}、S_{t+2}、S_{t+3}、...St + 1、St + 2、St + 3、...
⋅ \cdot⋅観測値を除くすべてを統合します:A t = at A_{t}=a_{t}あた=あるたそしてS t = st 。S_{t}=s_{t}。Sた=sた。
定義: 最適な行動価値関数
⋅ \cdot⋅ Q ∗ ( st , at ) = max π Q π ( st , at ) 。Q^{*}(s_{t},a_{t}) = \underset{\pi}{max}Q_{\pi}(s_{t},a_{t})。Q∗ (sた、あるた)=円周率マックス_Qp( sた、あるた)。
⋅ \cdot⋅どのような政策関数でもπ \piπが使用され、 a_{t} を取得した結果が使用されます。あるた州st s_{t}にてsたQ ∗ ( st , at )より優れたものはあり得ません。Q^{*}(s_{t},a_{t})。Q∗ (sた、あるた)。
1.ディープQネットワーク(DQN)
目標:ゲームに勝つ( ≈ \およそ≈報酬総額を最大化します。)
質問: Q ∗ ( s , a ) Q^{*}(s,a) がわかっている場合Q∗ (s,a )、最善の行動は何ですか?
⋅ \cdot⋅明らかに、最良のアクションはa ∗ = argmaxa Q ∗ ( s , a ) です。a^{*} = arg\underset{a}{max}Q^{*}(s,a)。ある∗=a r gあるマックス_Q∗ (s,a ) 。
( Q ∗ \;\;\;\;\;\;\;\;\;\;\;\;\;(Q^{*}( Q∗ は、エージェントがアクションを選択するのがどの程度優れているかを示します。しばらくSS状態s)。
Q∗Q^{*}Q∗は、常に私たちの行動を導いてくれる預言者です。しかし実際には、全能の預言者に近づくことは不可能です。
課題: Q ∗ ( s , a ) がわかりません。Q^{*}(s,a)。Q∗ (s,a ) 。
⋅ \cdot⋅解決策: Deep Q Network(DQN)
⋅ \cdot⋅ニューラルネットワークQ ∗ ( s , a , w ) Q^{*}(s,a,w) をQ∗ (s,、_w ) Q ∗ ( s , a ) Q^{*}(s,a) を近似しますQ∗ (s,a )。
wwwはニューラルネットワークのパラメータです。sssは入力であり、ニューラル ネットワークの出力はすべてのアクションの可能なスコアである多くの値です。私たちは報酬を通じてネットワークをトレーニングし、このネットワークのスコアは徐々に改善され、より良くなっていきます。
Deep Q ネットワーク:
⋅ \cdot⋅入力形状: スクリーンショットのサイズ。
⋅ \cdot⋅出力形状: アクション空間の次元(各アクションのスコア)。
質問: 予測に基づいて、どのようなアクションをとるべきですか?
回答: そのアクションのスコアが高い場合、どのアクションを使用する必要があります。
2. 時間差(TD)学習
DQN をトレーニングするために最も一般的に使用される方法は、TD アルゴリズムです。
例
⋅ \cdot⋅ニューヨークからアトランタまで車で行きたいです。
⋅ \cdot⋅モデルQ(www ) 時間コストを推定します (例: 1000 分)。
質問: モデルを更新するにはどうすればよいですか?
⋅ \cdot⋅予測を行う:q = Q ( w ) , e 。g 。、q = 1000。q = Q(w)、たとえば、q = 1000。q=Q ( w ) 、e 。g 。、q=1000。
⋅ \cdot⋅旅行を終了し、ターゲット $ y を取得します。例: y = 860.$
⋅ \cdot⋅損失:L = 1 2 ( q − y ) 2 。L = \frac{1}{2}(qy)^{2}。L=21( q−y )2.
⋅ \cdot⋅勾配:∂ L ∂ w = ∂ q ∂ w ⋅ ∂ L ∂ q = ( q − y ) ⋅ ∂ Q ( w ) ∂ w 。\frac{\partial L}{\partial w}=\frac{\partial q}{\partial w} \cdot \frac{\partial L}{\partial q}=(qy)\cdot\frac{\partial Q(w)}{\部分 w}。∂w _∂L _=∂w _∂q _⋅∂q _∂L _=( q−y )⋅∂w _∂ Q ( w )。
⋅ \cdot⋅勾配降下法:wt + 1 = wt − α ⋅ ∂ L ∂ w ∣ w = wt 。w_{t+1}=w_{t}- \alpha\cdot\frac{\partial L}{\partial w}\mid_{w=w_{t}}。wt + 1=wた−ある⋅∂w _∂L _∣w = wた。
⋅ \cdot⋅ 旅行を終える前にモデルをアップデートできますか?
⋅ \cdot⋅ もっと良くなるかなwwDCに着くとすぐに?
時間差 (TD) 学習
⋅ \cdot⋅モデルの推定:
\;\;\;\;\;\;\;\;\;\;\;ニューヨーク市からアトランタまで: 1000 分 (推定)。
⋅ \cdot⋅ DCに到着しました。実際の時間コスト:
\;\;\;\;\;\;\;\;\;\;\;ニューヨーク市からワシントンDCまで:300分(実測)。
⋅ \cdot⋅モデルは推定値を更新します:
\;\;\;\;\;\;\;\;\;\;\;DC からアトランタまで: 600 分 (推定)
⋅ \cdot⋅モデルの推定:Q ( w ) = 1000 分 Q(w)= 1000 \, minutesQ ( w )=1000分_ _ _
⋅ \cdot⋅更新された推定値:300 + 600 = 900 分 (TD 目標)。300 + 600 = 900 分 (TD 目標)。300+600=900分( TDターゲット) 。_ _ _ _ _ _ _ _ _
⋅ \cdot⋅ TD ターゲットy = 900 y = 900y=900 は1000 1000よりも信頼できる推定値です。1000。
⋅ \cdot⋅損失:L = 1 2 L = \frac{1}{2}L=21 ( Q ( w ) − y ) ⏟ TD エラー \underbrace{(Q(w)-y) }_{\text{TD エラー}}TDエラー ( Q ( w )−y )2.^{2}。2.
⋅ \cdot⋅勾配:∂ L ∂ w = ( 1000 − 900 ) ⏟ TD 誤差 ⋅ ∂ Q ( w ) ∂ w 。\frac{\partial L}{\partial w}=\underbrace{(1000-900) }_{\text{TD エラー}} \cdot \frac{\partial Q(w)}{\partial w}。∂w _∂L _=TDエラー ( 1000−900 )⋅∂w _∂ Q ( w )。
⋅ \cdot⋅勾配降下法:wt + 1 = wt − α ⋅ ∂ L ∂ w ∣ w = wt 。w_{t+1}=w_{t}-\alpha \cdot \frac{\partial L}{\partial w} \mid_{w=w_{t}}。wt + 1=wた−ある⋅∂w _∂L _∣w = wた。
3. TD 学習はなぜ効果があるのですか?
⋅ \cdot⋅モデルの推定値:
\;\;\;\;\;ニューヨーク市からアトランタまで: 1000 10001000分。
\;\;\;\;\;ワシントン DC からアトランタまで: 600 600600分。
\;\;\;\;\;⇒ \Rightarrow⇒ニューヨーク市からワシントンDCまで:400 400400分。
⋅ \cdot⋅グランドトゥルース:
\;\;\;\;\;ニューヨーク市からワシントンDCまで: 300 300300分。
⋅ \cdot⋅ TD 誤差:δ = 400 − 300 = 100 \delta=400-300=100d=400−300=100
4. TD 学習を DQN に適用するには?
⋅ \cdot⋅「運転時間」の例では、次の方程式があります:
TNYC → ATL ⏟ モデルの推定値 ≈ TNYC → DC ⏟ 実際の時間 + TDC → ATL ⏟ モデルの推定値 。\;\;\;\;\;\;\;\;\;\;\;\underbrace{T_{NYC\to ATL}}_{\text{モデルの推定値}}\estimate\underbrace{T_{NYC \to DC}}_{\text{実際の時間}}+\underbrace{T_{DC\to ATL}}_{\text{モデルの推定値}}。モデルの見積もり
Tニューヨーク→ ATL _ _ _ _≈実際の時間
TN Y C → D C+モデルの見積もり
TD C → A T L。
以上がTDアルゴリズムの形式です。
⋅ \cdot⋅深層強化学習:
Q ( st , at , w ) ≈ rt + γ ⋅ Q ( st + 1 , at + 1 ; w ) 。\;\;\;\;\;\;\;\;\;\;\;Q(s_{t},a_{t},w)\およそ r_{t}+\gamma \cdot Q(s_ {t+1},a_{t+1};w)。Q ( sた、あるた、w)≈rた+c⋅Q ( st + 1、あるt + 1;w )。
\を証明してください
、
\、
5. まとめ
定義: 最適な行動価値関数。
⋅ \cdot⋅ Q ∗ ( st , at ) = max π E [ U t ∣ S t = st , A t = at ] 。Q^{*}(s_{t},a_{t})=\underset{\pi}{max} \,E[U_{t}\mid S_{t}=s_{t},A_{t} =a_{t}]。Q∗ (sた、あるた)=円周率マックス_E [ Uた∣Sた=sた、あた=あるた] 。
Q ∗ Q^{*}Q∗関数は現在の状態に基づいてすべてのアクションをスコアリングでき、スコアは各状態の品質を反映できます。Q ∗ Q^{*}がある限りQ∗関数を使用すると、エージェントの動作を制御することができます。エージェントは各瞬間に、最高スコアのアクションを選択するだけで、このアクションを実行できます。ただし、 Q ∗ Q^{*}はありません。Q∗関数。値学習の目的は、Q ∗ Q^{*}を近似する関数を学習することです。Q∗関数なので、 DQN DQNになります。DQN.
DQN: 約Q ∗ Q^{*}Q∗ (s,a) はニューラルネットワーク(DQN)を使用します。
⋅ \cdot⋅ Q ∗ ( s , a ; w ) Q^{*}(s,a;w)Q∗ (s,; _w )はwwによってパラメータ化されたニューラル ネットワークです。w。
⋅ \cdot⋅入力: 観測された状態sss。
⋅ \cdot⋅出力: すべてのアクションa ∈ A のスコア。a ∈ A.ある∈A._