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′=s′ ∣S=s ,A=um ]=p ( s′ ∣s,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 [ Ut∣ St=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( q−y )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 _=( q−y )⋅∂ w∂ Q ( 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=ct−a⋅∂ w∂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 ( 1000−900 )⋅∂ w∂ Q ( 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=ct−a⋅∂ w∂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=400−300=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 L≈Tempo 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+c⋅Q ( 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 [ Ut∣St=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.a∈A. _