Compartilhamento de tecnologia

# [0705] Algoritmo Task06 DDPG, algoritmo PPO, algoritmo SAC [somente teoria]

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  • organização de notas da versão PDF easy-rl P5, P10 - P12
  • suplemento de comparação joyrl P11-P13
  • Organização de documentos OpenAI ⭐ https://spinningup.openai.com/en/latest/index.html

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

Baixar versão mais recente em PDF
Endereço: https://github.com/datawhalechina/easy-rl/releases
Endereço doméstico (recomendado para leitores nacionais)
Link: https://pan.baidu.com/s/1isqQnpVRWbb3yh83Vs0kbw Código de extração: us6a

link da versão online easy-rl (para copiar o código)
Link de referência 2: https://datawhalechina.github.io/joyrl-book/

outro:
[Link de registro de errata]
——————
5. Noções básicas de aprendizagem por reforço profundo ⭐️
Conteúdo de código aberto: https://linklearner.com/learn/summary/11
——————————

Insira a descrição da imagem aqui
Fonte da imagem

Otimização de política proximal (PPO)

Estratégia idêntica: O agente a ser aprendido e o agente que interage com o ambiente são os mesmos.
Estratégias heterogêneas: o agente que aprende e o agente que interage com o ambiente são diferentes

Gradiente de política: leva muito tempo para amostrar dados

mesma estratégia ⟹ Amostragem de importância ~~~overset{Amostragem de importância}{Longrightarrow}~~~   amostragem de importância    estratégias diferentes

PPO: Evite duas distribuições que diferem muito. mesmo algoritmo de estratégia
1. Itens de otimização originais J ( θ , θ ′ ) J(teta,teta^primo)Eu(θ,θ)
2. Itens de restrição: θ tetaθ e θ ′ teta^primoθ A divergência KL da ação de saída ( θ tetaθ e θ ′ teta^primoθ Quanto mais parecido melhor)

O PPO tem um antecessor: otimização de política de região de confiança (TRPO)
O TRPO é difícil de lidar porque trata a restrição de divergência KL como uma restrição adicional e não é colocada na função objetivo, por isso é difícil de calcular. Portanto, geralmente usamos PPO em vez de TRPO. O desempenho do PPO e do TRPO é semelhante, mas o PPO é muito mais fácil de implementar do que o TRPO.

Divergência KL: distância de ação.Distribuição de probabilidade de realizar uma ação distância.

Existem duas variantes principais do algoritmo PPO: penalidade de otimização de política proximal (penalidade PPO) e recorte de otimização de política proximal (clip PPO).

Insira a descrição da imagem aqui

Desempenho semelhante, mais fácil de implementar
Otimização da estratégia da zona de confiança ( otimização da política de região de confiança (TRPO)
Otimização da estratégia proximal ( otimização de política proximal, PPO
Penalidade de otimização de política proximal ( PPO-penalidade)
Adaptação de otimização de estratégia proximal ( Clipe PPO)

——————————
Problema de recompensa escassa P10
1. Crie recompensas. Requer conhecimento de domínio
Que tal atribuir a recompensa final a cada ação relevante?

2. Curiosidade
Módulo de curiosidade intrínseca (ICM)
digitar: em, st a_t,s_tapara,epara
Saída: s ^ t + 1 chapéu s_{t+1}e^para+1
O valor previsto da rede s ^ t + 1 chapéu s_{t+1}e^para+1 com valor verdadeiro st + 1 s_{t+1}epara+1 Quanto mais diferentes forem, mais rti r_t^irparaeu O maior

rti r_t^irparaeu : Quanto mais difícil for prever o estado futuro, maior será a recompensa pela ação. Incentive a aventura e a exploração.

  • O indicador é muito único e você só pode aprender coisas inúteis.

extrator de recursos

Rede 2:
Entrada: vetor ϕ ( st ) {bm phi}(s_{t})ϕ(epara) e ϕ ( st + 1 ) {bm phi}(s_{t+1})ϕ(epara+1)

Prever ações um ^ chapéu uma^ Quanto mais próximo da ação real, melhor.

Insira a descrição da imagem aqui

3. Estudo do curso

Fácil -> Difícil

Aprendizagem curricular reversa:
Começando pelo estado final mais ideal [chamamos de estado ouro], vá paraEncontre o estado mais próximo do estado dourado Como um estado "ideal" encenado que você deseja que o agente alcance. É claro que iremos remover intencionalmente alguns estados extremos neste processo, ou seja, estados que são demasiado fáceis ou demasiado difíceis.

4. Aprendizagem por reforço hierárquico (HRL)
A estratégia do agente é dividida em estratégias de alto nível e estratégias de baixo nível. A estratégia de alto nível determina como executar a estratégia de baixo nível com base no estado atual.

————————
P11 Aprendizagem por imitação
Não tenho certeza sobre a cena da recompensa

Aprendizagem por imitação (IL)
aprendendo com a demonstração
Aprendizagem de aprendizagem
aprendendo assistindo

Existem recompensas claras: jogos de tabuleiro, videogames
Incapaz de oferecer recompensas claras: chatbot

Colete demonstrações de especialistas: registros de condução humana, conversas humanas

Inversamente, que tipo de função de recompensa o especialista executa nessas ações?
A aprendizagem por reforço inverso éPrimeiro encontre a função de recompensa, depois de encontrar a função de recompensa, use o aprendizado por reforço para encontrar o ator ideal.

Tecnologia de aprendizagem por imitação de terceira pessoa

————————
P12 Gradiente de política determinística profunda (DDPG)

Insira a descrição da imagem aqui

Use estratégia de repetição de experiência

Análise do Experimento de Ablação [Método de Variável Controlada]cada restriçãoimpacto no resultado da batalha.


alegria:

DDPG_contínuo

em necessidadecertezaestratégia eação contínuaSob a premissa de espaço, este tipo de algoritmo será um algoritmo de linha de base relativamente estável.

DQN para espaços de ação contínua

Algoritmo de gradiente de política determinístico profundo (DDPG)

O mecanismo de repetição da experiência pode reduzir a correlação entre as amostras, melhorar a utilização eficaz das amostras e aumentar a estabilidade do treinamento.

deficiência:
1. Não pode ser usado em espaço de ação discreto
2、Altamente dependente de hiperparâmetros
3. Condições iniciais altamente sensíveis. Afeta a convergência e o desempenho do algoritmo
4. É fácil atingir o ótimo local.

  • Devido à adoção de uma estratégia determinística, o algoritmo pode cair em um ótimo local e dificultar a localização da estratégia ótima global. Para aumentar a explorabilidade, algumas medidas precisam ser tomadas, como adicionar estratégias de ruído ou utilizar outros métodos de exploração.

A vantagem da atualização suave é que ela é mais suave e lenta, o que pode evitar choques causados ​​por atualizações de peso muito rápidas e reduzir o risco de divergência de treinamento.

Algoritmo de gradiente de política determinística com atraso duplo (DDPG com atraso duplo, TD3)

Algoritmo de gradiente de política determinística de atraso duplo

Três melhorias: rede Double Q, atualização atrasada, regularização de ruído
Rede Dupla Q : Duas redes Q, escolha aquela com menor valor Q. Para lidar com o problema de superestimação do valor Q e melhorar a estabilidade e convergência do algoritmo.

Atualização atrasada: deixe a frequência de atualização do ator ser menor que a frequência de atualização crítica

  • Pense duas vezes

O ruído é mais parecido com umRegularizaçãode tal maneira queatualização da função de valormaissuave

Biblioteca de ginásio OpenAI_Pendulum_TD3

Link da interface do documento OpenAI sobre TD3

Link para PDF em papel TD3

PPO_Espaço de ação contínua/discreta [OpenAI 201708]

O algoritmo PPO mais comumente usado na aprendizagem por reforço
Discreto + contínuo
Parâmetros rápidos e estáveis, fáceis de ajustar
algoritmo de linha de base

PPO indeciso

Na prática, as restrições de clipe são geralmente utilizadas porque são mais simples, têm menor custo computacional e apresentam melhores resultados.

O algoritmo fora da política podeaproveitar a experiência histórica, geralmente usam a repetição da experiência para armazenar e reutilizar experiências anteriores,A eficiência da utilização de dados é alta

PPO é um algoritmo de acordo com a política

  • Embora a parte da amostragem de importância utilize amostras da antiga amostragem de atores,Essas amostras não são usadas diretamente para atualizar a estratégia. , em vez disso, a amostragem por importância é usada para primeiro corrigir os erros causados ​​​​por diferentes distribuições de dados, mesmo que a diferença entre as duas distribuições amostrais seja reduzida tanto quanto possível.Em outras palavras, pode-se entender que embora as amostras após amostragem de importância sejam obtidas por amostragem pela estratégia antiga, elas podemAproximadamente obtido da política atualizada, ou seja, o ator que queremos otimizar e o ator que amostramos são iguais.

——————————————————

—— Documentação OpenAI_PPO

Documentação OpenAI
Link da interface arXiv em papel: Algoritmos de otimização de política proximal

PPO: algoritmo on-policy, adequado para espaços de ação discretos ou contínuos.Possível ótimo local

A motivação para o PPO é a mesma do TRPO: como aproveitar os dados existentesDê o maior passo de melhoria possível em sua estratégia, sem alterá-lo muito e causar acidentalmente uma falha no desempenho?
O TRPO tenta resolver este problema com uma abordagem sofisticada de segunda ordem, enquanto o PPO é uma abordagem de primeira ordem que utiliza alguns outros truques para manter a nova estratégia próxima da antiga.
O método PPO é muito mais simples de implementar e, empiricamente, tem um desempenho pelo menos tão bom quanto o TRPO.

Existem duas variações principais de PPO: PPO-Penalty e PPO-Clip.

  • A penalidade PPO resolve aproximadamente as atualizações de restrição KL como TRPO, mas penaliza a divergência KL na função objetivo em vez de torná-la uma restrição rígida e ajusta automaticamente o coeficiente de penalidade durante o treinamento para que seja dimensionado adequadamente.
  • O PPO-Clip não tem divergência KL nem restrições na função objetivo. Em vez disso, baseia-se na adaptação específica da função objectivo para remover o incentivo para que a nova estratégia se afaste da antiga estratégia.
    PPO-Clip (principal variante usada pelo OpenAl).

Insira a descrição da imagem aqui

Pseudocódigo do algoritmo PPO-Clip

Insira a descrição da imagem aqui

Algoritmo: Clipe PPO
1: Entrada: parâmetros iniciais da estratégia θ 0 teta_0θ0, parâmetros de função de valor inicial ϕ 0 phi_0ϕ0
2: para k = 0, 1, 2, … faça {bf para} ~ k=0,1,2,pontos~ {bf faça}para o=0,1,2, fazer
3:        ~~~~~~       Executando a política no ambiente π k = π ( θ k ) pi_k=pi(theta_k)πo=π(θo) Coletar conjunto de trajetória D k = { τ i } {cal D}_k={tau_i}Eo={τeu}
4:        ~~~~~~       Calcular recompensas (recompensas futuras) R ^ t que R_t~~~~~R^para      R ^ t que R_tR^para regras de cálculo
5:        ~~~~~~       Estimativa de vantagem computacional, com base na função de valor atual V ϕ k V_{phi_k}Vϕo de Um ^ t que A_tA^para (Use qualquer método de estimativa de dominância)       ~~~~~       ▢ Quais são os métodos atuais de estimativa de vantagens?
6:        ~~~~~~       Atualize a política maximizando a função objetivo PPO-Clip:
            ~~~~~~~~~~~            
θ k + 1 = arg ⁡ max ⁡ θ 1 ∣ D k ∣ T ∑ τ ∈ D k ∑ t = 0 T min ⁡ ( π θ ( em ∣ st ) π θ k ( em ∣ st ) A π θ k ( st , em ) , g ( ϵ , A π θ k ( st , em ) ) ) ~~~~~~~~~~~theta_{k+1}=argmaxlimits_thetafrac{1}{|{cal D}_k|T}somalimits_{tauin{cal D}_k}somalimits_{t=0}^TminBig(frac{pi_{theta} (a_t|s_t)}{pi_{theta_k}(a_t|s_t)}A^{pi_{theta_k}}(s_t,a_t),g(épsilon,A^{pi_{theta_k}}(s_t,a_t))Grande)           θo+1=argθmáx.EoE1τEopara=0Emínimo(πθo(aparaepara)πθ(aparaepara)Aπθo(epara,apara),g(ϵ,Aπθo(epara,apara)))       ~~~~~       ▢ Como determinar a fórmula de atualização da estratégia?
            ~~~~~~~~~~~            
            ~~~~~~~~~~~             π θ k pi_{theta_k}πθo : Vetor de parâmetros de estratégia antes da atualização. Amostragem de importância. Amostragem de estratégias antigas.
            ~~~~~~~~~~~            
            ~~~~~~~~~~~            Ascensão do Gradiente Estocástico Geral + Adam
7:        ~~~~~~       erro quadrático médiofunção de valor ajustado de regressão:
            ~~~~~~~~~~~            
ϕ k + 1 = arg ⁡ min ⁡ ϕ 1 ∣ D k ∣ T ∑ τ ∈ D k ∑ t = 0 T ( V ϕ ( st ) − R ^ t ) 2 ~~~~~~~~~~~phi_{k+1}=arg minlimites_phifrac{1}{|{cal D}_k|T}limites_soma_{tauin{cal D}_k}limites_soma_{t=0}^TBig(V_phi(s_t)-hat R_tBig)^2           ϕo+1=argϕmínimoEoE1τEopara=0E(Vϕ(epara)R^para)2
            ~~~~~~~~~~~            
            ~~~~~~~~~~~            Descida gradiente geral
8: fim para bf fim ~parafim para
             ~~~~~~~~~~~~             

$dots$ … ~~~pontos   

g ( ϵ , A ) = { ( 1 + ϵ ) A A ≥ 0 ( 1 − ϵ ) AA &lt; 0 g(epsilon,A)=esquerda{(1+ϵ)A    A0(1ϵ)AA<0certo. g(ϵ,A)={(1+ϵ)A    (1ϵ)AA0A<0

Insira a descrição da imagem aqui

No papelEstimativa de vantagem:

A ^ t = − V ( st ) + rt + γ rt + 1 + ⋯ + γ T − t + 1 r T − 1 + γ T − t V ( s T ) ⏟ R ^ t ? ? ? chapéu A_t=-V(s_t)+underbrace{r_t+gama r_{t+1}+cdots+gama^{T-t+1}r_{T-1}+gama^{Tt}V(s_T)}_{textcolor{azul}{chapéu R_t???}}A^para=V(epara)+R^para??? rpara+γrpara+1++γEpara+1rE1+γEparaV(eE)

Insira a descrição da imagem aqui

fazer Δ t = rt + γ V ( st + 1 ) − V ( st ) Delta_t = r_t+gama V(s_{t+1})-V(s_t)Δpara=rpara+γV(epara+1)V(epara)
mas rt = Δ t − γ V ( st + 1 ) + V ( st ) r_t=Delta_t - gama V(s_{t+1})+V(s_t)rpara=ΔparaγV(epara+1)+V(epara)

Substituto Um ^ t que A_tA^para expressão

Um ^ t = − V ( st ) + rt + γ rt + 1 + γ 2 rt + 2 + ⋯ + γ T − tr T − 2 + γ T − t + 1 r T − 1 + γ T − t V ( s T ) = − V ( st ) + rt + γ rt + 1 + ⋯ + γ T − t + 1 r T − 1 + γ T − t V ( s T ) = − V ( st ) + Δ t − γ V ( st + 1 ) + V ( st ) + γ ( Δ t + 1 − γ V ( st + 2 ) + V ( st + 1 ) ) + γ 2 ( Δ t + 2 − γ V ( st + 3 ) + V ( st + 1 ) ) + ⋯ + γ T − t ( Δ T − t − γ V ( s T − t + 1 ) + V ( s T − t ) ) + γ T − t + 1 ( Δ T − 1 − γ V ( s T ) + V ( s T − 1 ) ) + γ T − t V ( s T ) = Δ t + γ Δ t + 1 + γ 2 Δ t + 2 + ⋯ + γ T − t Δ T − t + γ T − t + 1 Δ T − 1ˆApara=V(epara)+rpara+γrpara+1+γ2rpara+2++γEpararE2+γEpara+1rE1+γEparaV(eE)=V(epara)+rpara+γrpara+1++γEpara+1rE1+γEparaV(eE)=V(epara)+       ΔparaγV(epara+1)+V(epara)+       γ(Δpara+1γV(epara+2)+V(epara+1))+       γ2(Δpara+2γV(epara+3)+V(epara+1))+       +       γEpara(ΔEparaγV(eEpara+1)+V(eEpara))+       γEpara+1(ΔE1γV(eE)+V(eE1))+       γEparaV(eE)=Δpara+γΔpara+1+γ2Δpara+2++γEparaΔEpara+γEpara+1ΔE1 A^para=V(epara)+rpara+γrpara+1+γ2rpara+2++γEpararE2+γEpara+1rE1+γEparaV(eE)=V(epara)+rpara+γrpara+1++γEpara+1rE1+γEparaV(eE)=V(epara)+       ΔparaγV(epara+1)+V(epara)+       γ(Δpara+1γV(epara+2)+V(epara+1))+       γ2(Δpara+2γV(epara+3)+V(epara+1))+       +       γEpara(ΔEparaγV(eEpara+1)+V(eEpara))+       γEpara+1(ΔE1γV(eE)+V(eE1))+       γEparaV(eE)=Δpara+γΔpara+1+γ2Δpara+2++γEparaΔEpara+γEpara+1ΔE1

Insira a descrição da imagem aqui

O clipping atua como um regularizador, removendo o incentivo para mudanças drásticas nas políticas.hiperparâmetros ϵ épsilonϵ Corresponde à distância entre a nova estratégia e a antiga estratégia

Ainda é possível que esse tipo de recorte acabe resultando em uma nova estratégia que está longe da estratégia antiga. Na implementação aqui, usamos um método particularmente simples:Pare cedo . Se a divergência KL média da nova política em relação à política antiga exceder um limite, paramos de executar a etapa de gradiente.

Link de derivação simples da função objetivo PPO
A função objetivo do PPO-Clip é:
  ~  
L θ k CLIP ( θ ) = E s , a ∼ θ k [ min ⁡ ( π θ ( a ∣ s ) π θ k ( a ∣ s ) A θ k ( s , a ) , clip ( π θ ( a ∣ s ) π θ k ( a ∣ s ) , 1 − ϵ , 1 + ϵ ) A θ k ( s , a ) ) ] L^{rm CLIP}_{theta_k}(theta)=subconjunto{s, asimtheta_k}{rm E}Bigg[minBigg(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)}A^{theta_k}(s, a), {rm clip}Grande(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)},1-épsilon, 1+épsilonGrande)A^{theta_k}(s, a)Grande)Grande]euθoGRAMPO(θ)=e,aθoE[mínimo(πθo(ae)πθ(ae)Aθo(e,a),grampo(πθo(ae)πθ(ae),1ϵ,1+ϵ)Aθo(e,a))]
  ~  
$underset{s, asimtheta_k}{rm E}$ E s , a ∼ θ k ~~~subconjunto{s, asimtheta_k}{rm E}   e,aθoE
  ~  
Não. kko Parâmetros de estratégia para iterações θ k teta_kθo ϵ épsilonϵ é um pequeno hiperparâmetro.
configurar ϵ ∈ ( 0 , 1 ) epsilonina(0,1)ϵ(0,1), definição
F ( r , A , ϵ ) ≐ min ⁡ ( r A , clipe ( r , 1 − ϵ , 1 + ϵ ) A ) F(r,A,épsilon)doteqminBigg(rA,{rm clipe}(r,1-épsilon,1+épsilon)ABigg)F(r,A,ϵ)mínimo(rA,grampo(r,1ϵ,1+ϵ)A)
quando A ≥ 0 Idadeq0A0
F ( r , A , ϵ ) = min ⁡ ( r A , clipe ( r , 1 − ϵ , 1 + ϵ ) A ) = A min ⁡ ( r , clipe ( r , 1 − ϵ , 1 + ϵ ) ) = A min ⁡ ( r , { 1 + ϵ r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) 1 − ϵ r ≤ 1 − ϵ } ) = A { min ⁡ ( r , 1 + ϵ ) r ≥ 1 + ϵ min ⁡ ( r , r ) r ∈ ( 1 − ϵ , 1 + ϵ ) min ⁡ ( r , 1 − ϵ ) r ≤ 1 − ϵ } = A { 1 + ϵ r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) rr ≤ 1 − ϵ } De acordo com o intervalo do lado direito = A min ⁡ ( r , 1 + ϵ ) = min ⁡ ( r A , ( 1 + ϵ ) A )begin{alinhado}F(r,A,épsilon)&=minBigg(rA,{clipe rm}(r,1-épsilon,1+épsilon)ABigg)\ &=AminBigg(r,{clipe rm}(r,1-épsilon,1+épsilon)Bigg)\ &=AminBigg(r,esquerda{begin{alinhado}&1+épsilon~~&rgeq1+épsilon\ &r &rin(1-épsilon,1+épsilon)\ &1-épsilon &rleq1-épsilon\ end{alinhado}direita}Bigg)\ &=Aesquerda{mínimodireita}\ &=Aesquerda{right}~~~~~textcolor{blue}{de acordo com o intervalo à direita}\ &=Amin(r, 1+epsilon)\ &=minBigg(rA, (1+epsilon)ABigg) end{aligned} F(r,A,ϵ)=mínimo(rA,grampo(r,1ϵ,1+ϵ)A)=Amínimo(r,grampo(r,1ϵ,1+ϵ))=Amínimo(r, 1+ϵ  r1ϵr1+ϵr(1ϵ,1+ϵ)r1ϵ )=A mínimo(r,1+ϵ)  mínimo(r,r)mínimo(r,1ϵ)r1+ϵr(1ϵ,1+ϵ)r1ϵ =A 1+ϵ  rrr1+ϵr(1ϵ,1+ϵ)r1ϵ      De acordo com o intervalo à direita=Amínimo(r,1+ϵ)=mínimo(rA,(1+ϵ)A)
  ~  
quando Um &lt; 0 Um&lt;0A<0
F ( r , A , ϵ ) = min ⁡ ( r A , clipe ( r , 1 − ϵ , 1 + ϵ ) A ) = A max ⁡ ( r , clipe ( r , 1 − ϵ , 1 + ϵ ) ) = A max ⁡ ( r , { 1 + ϵ r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) 1 − ϵ r ≤ 1 − ϵ } ) = A { max ⁡ ( r , 1 + ϵ ) r ≥ 1 + ϵ max ⁡ ( r , r ) r ∈ ( 1 − ϵ , 1 + ϵ ) max ⁡ ( r , 1 − ϵ ) r ≤ 1 − ϵ } = A { r r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) 1 − ϵ r ≤ 1 − ϵ } De acordo com o intervalo do lado direito = A max ⁡ ( r , 1 − ϵ ) = min ⁡ ( r A , ( 1 − ϵ ) A )direita}Bigg)\ &=Aesquerda{direita}\ &=Aesquerda{right}~~~~~textcolor{blue}{de acordo com o intervalo à direita}\ &=Amax(r, 1-epsilon)\ &=textcolor{blue}{min}Bigg(rA,(1-epsilon) ABigg) fim{alinhado} F(r,A,ϵ)=mínimo(rA,grampo(r,1ϵ,1+ϵ)A)=Aeuax(r,grampo(r,1ϵ,1+ϵ))=Amáx.(r, 1+ϵ  r1ϵr1+ϵr(1ϵ,1+ϵ)r1ϵ )=A máx.(r,1+ϵ)  máx.(r,r)máx.(r,1ϵ)r1+ϵr(1ϵ,1+ϵ)r1ϵ =A r  r1ϵr1+ϵr(1ϵ,1+ϵ)r1ϵ      De acordo com o intervalo à direita=Amáx.(r,1ϵ)=eueunão(rA,(1ϵ)A)
  ~  
Resumindo: definível g ( ϵ , A ) g(épsilon,A)g(ϵ,A)
g ( ϵ , A ) = { ( 1 + ϵ ) A A ≥ 0 ( 1 − ϵ ) AA &lt; 0 g(epsilon,A)=esquerda{certo. g(ϵ,A)={(1+ϵ)A    (1ϵ)AA0A<0
Insira a descrição da imagem aqui

Porque é que esta definição impede que a nova estratégia se afaste demasiado da antiga estratégia?
Métodos eficazes de amostragem por importância exigem novas estratégias π θ ( a ∣ s ) pi_theta(a|s)πθ(ae) e velhas estratégias π θ k ( a ∣ s ) pi_{theta_k}(a|s)πθo(ae) A diferença entre as duas distribuições não pode ser muito grande

1. Quando a vantagem é positiva

L ( s , a , θ k , θ ) = min ⁡ ( π θ ( a ∣ s ) π θ k ( a ∣ s ) , 1 + ϵ ) A π θ k ( s , a ) L(s,a,theta_k, theta)=minBigg(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)}, 1+epsilonBigg)A^{pi_{theta_k}}(s, a)eu(e,a,θo,θ)=mínimo(πθo(ae)πθ(ae),1+ϵ)Aπθo(e,a)
Função vantagem: Encontre um determinado par estado-ação com mais recompensas -&gt; aumente o peso do par estado-ação.

Quando um par estado-ação ( s , um ) (s, um)(e,a) é positivo, então se a ação aaa é mais provável que seja executado, ou seja, se π θ ( a ∣ s ) pi_theta(a|s)πθ(ae) Aumente e a meta aumentará.
min neste item limita a função objetivo a aumentar apenas até um determinado valor
uma vez π θ ( a ∣ s ) &gt; ( 1 + ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)&gt;(1+epsilon)pi_{theta_k}(a|s)πθ(ae)>(1+ϵ)πθo(ae), min triggers, limitando o valor deste item a ( 1 + ϵ ) π θ k ( a ∣ s ) (1+épsilon)pi_{theta_k}(a|s)(1+ϵ)πθo(ae)
a nova política não se beneficia por se distanciar muito da antiga.
A nova estratégia não beneficiará do afastamento da antiga estratégia.

2. Quando a vantagem é negativa

L ( s , a , θ k , θ ) = máx ⁡ ( π θ ( a ∣ s ) π θ k ( a ∣ s ) , 1 − ϵ ) A π θ k ( s , a ) L(s,a,theta_k, theta)=maxBigg(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)}, 1-epsilonBigg)A^{pi_{theta_k}}(s, a)eu(e,a,θo,θ)=máx.(πθo(ae)πθ(ae),1ϵ)Aπθo(e,a)

Quando um par estado-ação ( s , um ) (s, um)(e,a) A vantagem é negativa, então se a ação aaa é ainda menos provável, isto é, se π θ ( a ∣ s ) π_theta(a|s)πθ(ae) diminuir, a função objetivo aumentará. Mas o máximo neste termo limita o quanto a função objetivo pode ser aumentada.
uma vez π θ ( a ∣ s ) &lt; ( 1 − ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)&lt;(1-epsilon)pi_{theta_k}(a|s)πθ(ae)<(1ϵ)πθo(ae), máximo de gatilhos, limitando o valor deste item a ( 1 − ϵ ) π θ k ( a ∣ s ) (1-épsilon)pi_{theta_k}(a|s)(1ϵ)πθo(ae)

Mais uma vez: a nova política não beneficia de se afastar muito da antiga política.
A nova estratégia não beneficiará do afastamento da antiga estratégia.

TD3_apenas consecutivo: Gradiente de política determinística profunda e atrasada dupla [ICML 2018 (Canadá) Universidade McGill]

Insira a descrição da imagem aqui
Fonte da imagem

Documentação OpenAI_TD3
Link de papel

Embora o DDPG às vezes possa atingir um desempenho excelente, muitas vezes é instável quando se trata de hiperparâmetros e outros tipos de ajuste.
Um modo de falha comum do DDPG é que a função Q aprendida começa a superestimar significativamente o valor Q, o que causa a quebra da política porque explora o erro na função Q.
Twin Delayed DDPG (TD3) é um algoritmo que resolve esse problema introduzindo três técnicas principais:
1、Q-Learning duplo truncado

  • O TD3 aprende duas funções Q em vez de uma (daí o "gêmeo") e usa o menor dos dois valores Q para formar o alvo na função de perda de erro de Bellman.

2、Atraso na atualização da política

  • O TD3 atualiza a política (e a rede de destino) com menos frequência do que a função Q. O artigo recomenda atualizar a política sempre que a função Q for atualizada duas vezes.

3. Suavização da estratégia alvo.

  • O TD3 adiciona ruído à ação alvo, tornando mais difícil para a política explorar erros na função Q, suavizando Q nas mudanças de ação.

TD3 é um algoritmo fora da política e só pode ser usado com;contínuoO ambiente do espaço de ação.

Pseudocódigo do algoritmo TD3

Insira a descrição da imagem aqui

Algoritmo: TD3
Use parâmetros aleatórios θ 1 , θ 2 , ϕ teta_1, teta_2, phiθ1,θ2,ϕ Inicializar rede crítica Q θ 1 , Q θ 2 Q_{teta_1},Q_{teta_2}Pqθ1,Pqθ2e rede de atores π ϕ pi_phiπϕ
Inicializar rede de destino θ 1 ′ ← θ 1 , θ 2 ′ ← θ 2 , ϕ ′ ← ϕ theta_1^primeleftarrowtheta_1, theta_2^primeleftarrowtheta_2, phi^primeleftarrow phiθ1θ1,θ2θ2,ϕϕ
Inicializar conjunto de buffers de reprodução B cal BB
para t = 1 para T {bf para}~t=1 ~{bf para} ~Tpara para=1 para E
       ~~~~~~       Selecione a ação com ruído de exploração a ∼ π ϕ ( s ) + ϵ , ϵ ∼ N ( 0 , σ ) asimpi_phi(s)+epsilon,~~epsilonsim {cal N}(0,sigma)aπϕ(e)+ϵ,  ϵNãoãoãoãoão(0,σ), recompensa de observação rrr e novo estatuto s ′ s^primee
       ~~~~~~       A tupla de transição ( s , a , r , s ′ ) (s, a,r, s^primo)(e,a,r,e) depositar em B cal BB meio
       ~~~~~~       de B cal BB Amostragem de pequenos lotes NNNãoãoãoãoão transições ( s , a , r , s ′ ) (s, a, r, s^primo)(e,a,r,e)
a ~ ← π ϕ ′ ( s ′ ) + ϵ , ϵ ∼ clip ( N ( 0 , σ ~ ) , − c , c ) ~~~~~~til largo aleftarrow pi_{phi^prime}(s^prime)+epsilon,~~epsilonsim{rm clip}({cal N}(0,til largo sigma),-c,c)      a πϕ(e)+ϵ,  ϵgrampo(Nãoãoãoãoão(0,σ ),c,c)
y ← r + γ min ⁡ i = 1 , 2 Q θ i ′ ( s ′ , a ~ ) ~~~~~~yleftarrow r+gamma minlimits_{i=1,2}Q_{theta_i^prime}(s^prime,widetilde a)      er+γeu=1,2mínimoPqθeu(e,a )
       ~~~~~~       Críticos de atualização θ i ← arg ⁡ min ⁡ θ i N − 1 ∑ ( y − Q θ i ( s , a ) ) 2 theta_ileftarrowargminlimits_{theta_i}N^{-1}sum(y-Q_{theta_i}(s, a))^2θeuargθeumínimoNãoãoãoãoão1(ePqθeu(e,a))2
       ~~~~~~        se t % d {bf se}~t~ % ~dse para % e
            ~~~~~~~~~~~            Atualização via gradiente de política determinística ϕ fiϕ
∇ ϕ J ( ϕ ) = N − 1 ∑ ∇ a Q θ 1 ( s , a ) ∣ a = π ϕ ( s ) ∇ ϕ π ϕ ( s ) ~~~~~~~~~~~~~~~~~~~nome_phi J(phi)=N^{-1}sumnome_aQ_{theta_1}(s, a)|_{a=pi_phi(s)}nome_phipi_phi(s)                 ϕEu(ϕ)=Nãoãoãoãoão1aPqθ1(e,a)a=πϕ(e)ϕπϕ(e)
            ~~~~~~~~~~~            Atualizar rede de destino:
θ i ′ ← τ θ i + ( 1 − τ ) θ i ′ ~~~~~~~~~~~~~~~~~theta_i^primeleftarrowtauteta_i+(1-tau)theta_i^prime~~~~~                 θeuτθeu+(1τ)θeu      τ tauτ: Taxa de atualização desejada
ϕ ′ ← τ ϕ + ( 1 − τ ) ϕ ′ ~~~~~~~~~~~~~~~~~~phi^primeleftarrowtauphi+(1-tau)phi^prime                 ϕτϕ+(1τ)ϕ
fim se ~~~~~~{bf fim ~se}      fim se
fim para {bf fim ~para}fim para

Soft Actor-Critic: SAC_Continuous/Discrete Action Space [versão mais recente do Google Brain 201906]

Insira a descrição da imagem aqui

Fonte da imagem

Maximize a entropia da política, tornando-a mais robusta.

estratégia determinística Isso significa que dado o mesmo estado, escolha sempre a mesma ação
estratégia de aleatoriedade Isso significa que existem muitas ações possíveis que podem ser selecionadas em um determinado estado.

estratégia determinísticaestratégia de aleatoriedade
definiçãoMesmo estado, execute a mesma açãomesmo estatuto,Pode realizar ações diferentes
vantagemEstável e repetívelEvite cair em soluções locais ótimas e melhore os recursos de pesquisa global
deficiênciaFalta de explorabilidade e fácil de ser pego pelos oponentesIsto pode fazer com que a estratégia convirja lentamente, afetando a eficiência e o desempenho.

Na aplicação real, se as condições permitirem, iremosTente usarestratégia de aleatoriedade, como A2C, PPO, etc., porque é mais flexível, mais robusto e mais estável.

A aprendizagem por reforço de entropia máxima acredita que, embora atualmente tenhamos estratégias de aleatoriedade maduras, nomeadamente algoritmos como AC, ainda não alcançamos a aleatoriedade ideal.Portanto, introduz umaentropia de informaçãoconceito, emMaximize a recompensa cumulativa enquanto maximiza a entropia da política, tornando a estratégia mais robusta e alcançando a estratégia ótima de aleatoriedade.

——————————————————

—— Documentação OpenAI_SAC

Link da interface OpenAI Documentation_SAC
  ~  
Soft Actor-Critic: Aprendizado por Reforço Profundo de Máxima Entropia Fora da Política com um Ator Estocástico, Haarnoja et al, 201808 ICML 2018
Algoritmos e aplicações de ator-crítico suave, Haarnoja et al, 201901
Aprendendo a andar por meio do aprendizado de reforço profundo, Haarnoja et al, 201906 RSS2019

Soft Actor Critic (SAC) otimiza estratégias aleatórias de maneira fora da política.

DDPG + otimização de estratégia estocástica

Não é um sucessor direto do TD3 (lançado na mesma época).

Ele incorpora o truque do duplo Q cortado e, devido à aleatoriedade inerente à estratégia do SAC, também se beneficia, em última análise, desuavização da política alvo

Uma característica central do SAC é regularização de entropia regularização de entropia
A política é treinada para maximizar o equilíbrio entre a recompensa esperada e a entropia,Entropia é uma medida da aleatoriedade de uma política
Isto está intimamente relacionado com o compromisso entre exploração e exploração: um aumento na entropia leva aMais para explorar, está tudo bemAcelere o aprendizado subsequente .tudo bemEvitar que a política convirja prematuramente para um ótimo local ruim

Ele pode ser usado tanto em espaço de ação contínua quanto em espaço de ação discreto.

existir Aprendizagem por reforço regularizada por entropia, o agente obtém eA entropia da política nesta etapa de tempoRecompensas proporcionais.
Neste momento o problema RL é descrito como:

π ∗ = arg ⁡ max ⁡ π E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , at , st + 1 ) + α H ( π ( ⋅ ∣ st ) ) ) ] pi^*=argmaxlimits_pi subconjunto{tausimpi}{rm E}Grande[somalimits_{t=0}^inftygamma^tGrande(R(s_t,a_t,s_{t+1})textcolor{azul}{+alfa H(pi(·|s_t))}Grande)Grande]π=argπmáx.τπE[para=0γpara(R(epara,apara,epara+1)+αO(π(epara)))]

em α &gt; 0 alfa &gt; 0α>0 é o coeficiente de compensação.
Função de valor de estado incluindo recompensa de entropia em cada intervalo de tempo V π V^piVπ para:

V π ( s ) = E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , at , st + 1 ) + α H ( π ( ⋅ ∣ st ) ) ) ∣ s 0 = s ] V^pi(s)=subconjunto{tausimpi}{rm E}Grande[somalimites_{t=0}^inftygamma^tGrande(R(s_t,a_t,s_{t+1})+alfa H(pi(·|s_t))Grande)Grande|s_0=sGrande]Vπ(e)=τπE[para=0γpara(R(epara,apara,epara+1)+αO(π(epara))) e0=e]

Uma função de valor de ação que inclui a recompensa de entropia para cada intervalo de tempo, exceto o primeiro Q π Q piPqπ:

Q π ( s , a ) = E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , at , st + 1 ) + α ∑ t = 1 ∞ H ( π ( ⋅ ∣ st ) ) ) ∣ s 0 = s , a 0 = a ] Q^pi(s,a)=subconjunto{tausimpi}{rm E}Grande[somalimites_{t=0}^inftygamma^tGrande(R(s_t,a_t,s_{t+1})+alfa somalimites_{t=1}^infty H(pi(·|s_t))Grande)Grande|s_0=s,a_0=aGrande]Pqπ(e,a)=τπE[para=0γpara(R(epara,apara,epara+1)+αpara=1O(π(epara))) e0=e,a0=a]

  • alguns papéis Q π Q piPqπ Contém a recompensa de entropia para a primeira etapa

V π V^piVπ e Q π Q piPqπ A relação entre é:

V π ( s ) = E a ∼ π [ Q π ( s , a ) ] + α H ( π ( ⋅ ∣ s ) ) V^pi(s)=subconjunto{asimpi}{rm E}[Q^pi(s, a)]+alfa H(pi(·|s))Vπ(e)=aπE[Pqπ(e,a)]+αO(π(e))

sobre Q π Q piPqπ A fórmula de Bellman é:

Q π ( s , a ) = E s ′ ∼ P a ′ ∼ π [ R ( s , a , s ′ ) + γ ( Q π ( s ′ , a ′ ) + α H ( π ( ⋅ ∣ s ′ ) ) ) ] = E s ′ ∼ P [ R ( s , a , s ′ ) + γ V π ( s ′ ) ] Pqπ(e,a)=aπePE[R(e,a,e)+γ(Pqπ(e,a)+αO(π(e)))]=ePE[R(e,a,e)+γVπ(e)]

SAC aprende uma política simultaneamente π θ π_tetaπθ e dois QQPq função Q ϕ 1 , Q ϕ 2 Q_{phi_1}, Q_{phi_2}Pqϕ1,Pqϕ2
Atualmente existem duas variantes do SAC padrão: uma utiliza um valor fixoCoeficiente de regularização de entropia α alfaα, outro mudando durante o treinamento α alfaα para impor restrições de entropia.
A documentação da OpenAI usa uma versão com coeficiente de regularização de entropia fixo, mas na prática é frequentemente preferidarestrição de entropiavariante.

Como mostrado abaixo, em α alfaα Na versão fixa, com exceção da última foto que apresenta vantagens óbvias, as demais apresentam apenas pequenas vantagens, basicamente iguais às α alfaα A versão de aprendizagem permanece a mesma durante o uso; α alfaα As duas imagens do meio, onde a versão de aprendizagem tem vantagens, são mais óbvias.

Insira a descrição da imagem aqui
Fonte da imagem

SAC ContraTD3:
  ~  
Mesmo ponto:
1. Ambas as funções Q são aprendidas minimizando o MSBE (Mean Squared Bellman Error) por regressão a um único objetivo compartilhado.
2. Use a rede Q alvo para calcular o alvo compartilhado e execute a média polyak nos parâmetros da rede Q durante o processo de treinamento para obter a rede Q alvo.
3. O alvo compartilhado usa a técnica de Q duplo truncado.
  ~  
diferença:
1. SAC contém termo de regularização de entropia
2. A próxima ação estatal utilizada na meta do SAC vemEstratégia atual, em vez da estratégia-alvo.
3. Não existe uma estratégia clara para a suavização. TD3 treina uma política determinística passando para o próximo estadoAdicionar ruído aleatório para alcançar suavidade. O SAC treina uma política aleatória, e o ruído da aleatoriedade é suficiente para obter efeitos semelhantes.

Pseudocódigo do algoritmo SAC

Insira a descrição da imagem aqui

Algoritmo: SAC Soft Ator-Crítico
digitar: θ 1 , θ 2 , ϕ teta_1,teta_2,phi~~~~~θ1,θ2,ϕ      Parâmetros de inicialização
Inicialização de parâmetros:
       ~~~~~~       Inicialize os pesos da rede de destino: θ ˉ 1 ← θ 1 , θ ˉ 2 ← θ 2 barra theta_1leftarrowtheta_1, barra theta_2leftarrowtheta_2θˉ1θ1,θˉ2θ2
       ~~~~~~       O pool de reprodução é inicializado para estar vazio: D ← ∅ {cal D}setaesquerdaconjuntovazioE
para {bf para}para cada iteração fazer {bf fazer}fazer
       ~~~~~~        para {bf para}para Cada etapa do ambiente fazer {bf fazer}fazer
            ~~~~~~~~~~~            Exemplos de ações de uma política: em ∼ π ϕ ( em ∣ st ) a_tsimpi_phi(a_t|s_t)~~~~~aparaπϕ(aparaepara)      ▢Aqui π ϕ ( em ∣ st ) pi_phi(a_t|s_t)πϕ(aparaepara) Como definir?
            ~~~~~~~~~~~            Exemplos de transições do ambiente: st + 1 ∼ p ( st + 1 ∣ st , em ) s_{t+1}sim p(s_{t+1}|s_t,a_t)epara+1p(epara+1epara,apara)
            ~~~~~~~~~~~            Salve a transição no pool de reprodução: D ← D ∪ { ( st , em , r ( st , em ) , st + 1 ) } {cal D}setaesquerda{cal D}~copo~{(s_t,a_t,r(s_t,a_t),s_{t+1})}EE  {(epara,apara,r(epara,apara),epara+1)}
       ~~~~~~        fim para {bf fim ~para}fim para
       ~~~~~~        para {bf para}para Cada etapa de gradiente fazer {bf fazer}fazer
            ~~~~~~~~~~~            renovar QQPq Parâmetros de função: para eu ∈ { 1 , 2 } em {1,2}eu{1,2} θ i ← θ i − λ Q ∇ ^ θ i JQ ( θ i ) theta_ileftarrowtheta_i-lambda_Qque nomeia J_Q(theta_i)~~~~~θeuθeuλPq^θeuEuPq(θeu)      ▢Aqui JQ ( θ i ) J_Q(theta_i)EuPq(θeu) Como definir?
            ~~~~~~~~~~~            Atualizar pesos da estratégia: ϕ ← ϕ − λ π ∇ ^ ϕ J π ( ϕ ) fila esquerda phi-lambda_pihat nome_phi J_pi (phi)~~~~~ϕϕλπ^ϕEuπ(ϕ)      ▢Aqui J π ( ϕ ) J_pi (phi)Euπ(ϕ) Como definir?
            ~~~~~~~~~~~            Ajustar a temperatura: α ← α − λ ∇ ^ α J ( α ) alfaesquerdaalfa-lambdahatnabla_alfa J(alfa)~~~~~ααλ^αEu(α)      ▢Aqui J ( α ) J(alfa)Eu(α) Como definir?Como entender a temperatura aqui?
            ~~~~~~~~~~~             Atualizar pesos de rede alvo: para eu ∈ { 1 , 2 } em {1,2}eu{1,2} θ ˉ i ← τ θ i − ( 1 − τ ) θ ˉ i barra theta_ileftarrow tau theta_i-(1-tau)bar theta_i~~~~~θˉeuτθeu(1τ)θˉeu      ▢ Como entender isso τ tauτ ? ——&gt; Coeficiente de suavização alvo
       ~~~~~~        fim para {bf fim ~para}fim para
fim para {bf fim ~para}fim para
Saída: θ 1 , θ 1 , ϕ teta_1,teta_1,phi~~~~~θ1,θ1,ϕ     Parâmetros otimizados

∇ ^ tem nabla^: gradiente estocástico

$emptyset$ ∅ ~~~~conjunto vazio    

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

Aprendendo a andar por meio do aprendizado de reforço profundo Versão em:
  ~  
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

α α α é o parâmetro de temperatura, que determina a importância relativa do termo de entropia e da recompensa, controlando assim a aleatoriedade da estratégia ótima.
α alfaα Grande: explorar
α alfaα Pequeno: explorar

J ( α ) = E em ∼ π t [ − α log ⁡ π t ( em ∣ st ) − α H ˉ ] J(alfa)=subconjunto{a_tsimpi_t}{mathbb E}[-alfalog pi_t(a_t|s_t)-alfabar{cal H}]Eu(α)=aparaπparaE[αeisgπpara(aparaepara)αOˉ]