(2) Fundação de aprendizagem por reforço profundo [aprendizagem de valor]

Aprendizagem por Reforço Baseada em Valor

revisão :

Definição: Retorno descontado(recompensa futura descontada cumulativa)
⋅ \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}+...vocêt=Rt+γ Rt + 1+c2R _t + 2+c3R _t + 3+...

⋅ \cdot O retorno depende da açãoA t , A t + 1 , A t + 2 , . . . A_{t},A_{t+1},A_{t+2},...At,At + 1,At + 2,... e estadosS t , S t + 1 , S t + 2 , . . . S_{t},S_{t+1},S_{t+2},...St,St + 1,St + 2,...
⋅ \cdot As ações são aleatórias:P [ A = a ∣ S = s ] = π ( a ∣ s ) . P[A=a|S=s]=\pi(a|s).P [ A=a S=s ]=π ( a s ) .        \;\;\;(Função de política)
⋅ \cdot Os estados são aleatórios:P [ S ′ = s ′ ∣ S = s , A = a ] = p ( s ′ ∣ s , a ) . P[S^{'}=s^{'}|S=s, A=a]=p(s^{'}|s,a).P [ S=sS=s ,A=um ]=p ( ss,a ) .        \;\;\;(Estado de transição)

Definição: Função de valor de ação para a política π . \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( st,at)=E [ UtSt=st,At=at] .

⋅ \cdot Ações tomadasA t + 1 , A t + 2 , A t + 3 , . . . A_{t+1},A_{t+2},A_{t+3},...At + 1,At + 2,At + 3,... e estadosS t + 1 , S t + 2 , S t + 3 , . . . S_{t+1},S_{t+2},S_{t+3},...St + 1,St + 2,St + 3,...
⋅ \cdot Integre tudo, exceto as observações:A t = at A_{t}=a_{t}At=ate St = st . S_{t}=s_{t}.St=st.

Definição: função de valor de ação ideal
⋅ \cdot Q ∗ ( st , at ) = max π Q π ( st , at ) . Q^{*}(s_{t},a_{t}) = \underset{\pi}{max}Q_{\pi}(s_{t},a_{t}).Q (st,at)=pima xQp( st,at) .
⋅ \cdot Qualquer que seja a função de políticaπ \piπ é usado, o resultado de tomarem a_{t}atno estado st s_{t}stnão pode ser melhor que Q ∗ ( st , at ) . Q^{*}(s_{t},a_{t}).Q (st,at) .

1. Rede Q profunda (DQN)

Objetivo: Ganhar o jogo( ≈ \approx maximizar a recompensa total.)

Questão: Se conhecemos Q ∗ ( s , a ) Q^{*}(s,a)Q (s,a ) , qual é a melhor ação?
⋅ \cdot Obviamente, a melhor ação éa ∗ = argmaxa Q ∗ ( s , a ) . a^{*} = arg\underset{a}{max}Q^{*}(s,a).a=a r gama xQ (s,a ) .
                           ( Q ∗ \;\;\;\;\;\;\;\;\;\;\;\;\;(Q^{*}( Q* é uma indicação de quão bom é para um agente escolher a açãoaaum tempo estando no estadosss ).
Q ∗ Q^{*}Q é um profeta que sempre pode nos guiar para fazer ações. Mas, na verdade, é impossível aproximar-se de um profeta onipotente.

Desafio: Não sabemos Q ∗ ( s , a ) . Q^{*}(s,a).Q (s,a ) .
⋅ \cdot Solução: Deep Q Network(DQN)
⋅ \cdot Use a rede neuralQ ∗ ( s , a , w ) Q^{*}(s,a,w)Q (s,um ,w ) para aproximarQ ∗ ( s , a ) Q^{*}(s,a)Q (s,a ) .

www é o parâmetro da rede neural,sss é a entrada e a saída da rede neural é muitos valores, que são as pontuações possíveis de todas as ações. Treinamos a rede por meio de recompensas, e a pontuação dessa rede vai melhorando gradativamente e se tornando cada vez melhor.

Rede Q profunda:
⋅ \cdot Forma de entrada: tamanho da captura de tela.
⋅ \cdot Forma de saída: dimensão do espaço de ação (pontuação de cada ação).

Pergunta: Com base nas previsões, qual deve ser a ação?
Resposta: Se a pontuação dessa ação for alta, qual ação deve ser usada.

2. Aprendizagem por Diferença Temporal (TD)

O método mais comumente usado para treinar DQN é o algoritmo TD.

Exemplo

⋅ \cdot Quero dirigir de Nova York para Atlanta.
⋅ \cdot Modelo Q(www ) estima o custo de tempo, por exemplo, 1000 minutos.

Pergunta: Como faço para atualizar o modelo?

⋅ \cdot Faça uma previsão:q = Q ( w ) , e . g . , q = 1000. q = Q(w), por exemplo, q = 1000.q=Q ( w ) ,e . g . ,q=1000.

⋅ \cdot Termine a viagem e obtenha o alvo $ y, por exemplo, y = 860.$

⋅ \cdot Perda:L = 1 2 ( q − y ) 2 . L = \frac{1}{2}(qy)^{2}.eu=21( qy )2 .

⋅ \cdot Gradiente:∂ L ∂ w = ∂ q ∂ w ⋅ ∂ L ∂ q = ( q − y ) ⋅ ∂ Q ( w ) ∂ w . \frac{\parcial L}{\parcial w}=\frac{\parcial q}{\parcial w} \cdot \frac{\parcial L}{\parcial q}=(qy)\cdot\frac{\parcial Q(w)}{\parcial w}.w∂L _=w∂q _∂q _∂L _=( qy )wQ ( w ).

⋅ \cdot Descida do gradiente:wt + 1 = wt − α ⋅ ∂ L ∂ w ∣ w = wt . w_{t+1}=w_{t}- \alpha\cdot\frac{\parcial L}{\parcial w}\mid_{w=w_{t}}.ct + 1=ctaw∂L _w = wt.

⋅ \cdot Posso atualizar o modelo antes de terminar a viagem?
⋅ \cdot Posso obter um ww melhorw assim que cheguei em DC?

Aprendizagem por Diferença Temporal (TD)

⋅ \cdot Estimativa do modelo:

                       \;\;\;\;\;\;\;\;\;\;\;NYC para Atlanta: 1000 minutos (estimativa).

⋅ \cdot Cheguei em DC; custo de tempo real:

                       \;\;\;\;\;\;\;\;\;\;\;NYC para DC: 300 minutos (real).

⋅ \cdot O modelo agora atualiza sua estimativa:
                       \;\;\;\;\;\;\;\;\;\;\;DC para Atlanta: 600 minutos (estimativa)

⋅ \cdot Estimativa do modelo:Q ( w ) = 1000 minutos Q(w)= 1000 \,minutosQ ( w )=1000minutos _ _ _

⋅ \cdot Estimativa atualizada:300 + 600 = 900 minutos (alvo TD). 300 + 600 = 900 minutos (alvo TD).300+600=900 min u tes ( T D alvo ) . _ _ _ _ _ _

⋅ \cdot Alvo TDy = 900 y = 900y=900 é uma estimativa mais confiável do que1000 10001000 .

⋅ \cdot Perda:L = 1 2 L = \frac{1}{2}eu=21 ( Q ( w ) − y ) ⏟ Erro TD \underbrace{(Q(w)-y) }_{\text{erro TD}}erro TD ( Q ( w )y )2 . ^{2}.2 .

⋅ \cdot Gradiente:∂ L ∂ w = ( 1000 − 900 ) ⏟ Erro TD ⋅ ∂ Q ( w ) ∂ w . \frac{\parcial L}{\parcial w}=\underbrace{(1000-900) }_{\text{erro TD}} \cdot \frac{\parcial Q(w)}{\parcial w}.w∂L _=erro TD ( 1000900 )wQ ( w ).

⋅ \cdot Descida do gradiente:wt + 1 = wt − α ⋅ ∂ L ∂ w ∣ w = wt . w_{t+1}=w_{t}-\alpha \cdot \frac{\parcial L}{\parcial w} \mid_{w=w_{t}}.ct + 1=ctaw∂L _w = wt.

3. Por que o aprendizado de TD funciona?

⋅ \cdot Estimativas do modelo:
           \;\;\;\;\;NYC para Atlanta: 1000 10001000 minutos.
           \;\;\;\;\;DC para Atlanta: 600 600600 minutos.
           \;\;\;\;\;⇒ \Rightarrow NYC para DC:400 400400 minutos.

⋅ \cdot Dados básicos:
           \;\;\;\;\;NYC para DC: 300 300300 minutos.

⋅ \cdot Erro TD:δ = 400 − 300 = 100 \delta=400-300=100d=400300=100

4. Como aplicar o aprendizado de TD ao DQN?

⋅ \cdot No exemplo “tempo de condução”, temos a equação:
                       TNYC → ATL ⏟ Estimativa do modelo ≈ TNYC → DC ⏟ Tempo real + TDC → ATL ⏟ Estimativa do modelo . \;\;\;\;\;\;\;\;\;\;\;\underbrace{T_{NYC\para ATL}}_{\text{Estimativa do modelo}}\approx\underbrace{T_{NYC \to DC}}_{\text{Tempo real}}+\underbrace{T_{DC\to ATL}}_{\text{Estimativa do modelo}}.Estimativa do modelo TN Y C A T LTempo real TN Y C D C+Estimativa do modelo TD C A T L.

O acima é a forma do algoritmo TD.

⋅ \cdot No aprendizado por reforço profundo:
                       Q ( st , at , w ) ≈ rt + γ ⋅ Q ( st + 1 , at + 1 ; w ) . \;\;\;\;\;\;\;\;\;\;\;Q(s_{t},a_{t},w)\approx r_{t}+\gamma \cdot Q(s_ {t+1},a_{t+1};w).Q ( st,at,w )rt+cQ ( st + 1,at + 1;w ) .

Prove



  \,
  \,

5. Resumo

Definição: Função ótima de valor de ação.

⋅ \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 (st,at)=pima xE [ UtSt=st,At=at] .

O Q ∗ Q^{*}QA função ∗ pode pontuar todas as ações com base no estado atual e a pontuação pode refletir a qualidade de cada estado. Enquanto houver umQ ∗ Q^{*}Q , pode ser usada para controlar o movimento do agente. A cada momento, o agente só precisa selecionar a ação com maior pontuação para executar esta ação. No entanto, não temosQ ∗ Q^{*}Qfunção ∗ . O objetivo do aprendizado de valor é aprender uma função para aproximarQ ∗ Q^{*}Qfunção ∗ , então temosDQN DQNDQN . _

DQN: Aproximadamente Q ∗ Q^{*}Q (s,a) usando uma rede neural (DQN).

⋅ \cdot Q ∗ ( s , a ; w ) Q^{*}(s,a;w)Q (s,um ;w ) é uma rede neural parametrizada porwww .

⋅ \cdot Entrada: estado observadosss .

⋅ \cdot Saída: pontuações para toda a açãoa ∈ A . a ∈ A.aA. _

Acho que você gosta

Origin blog.csdn.net/weixin_49716548/article/details/125964312
Recomendado
Clasificación