minhas informações de contato
Correspondência[email protected]
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
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
——————————
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).
——————————
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.
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.
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)
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:
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.
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 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
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
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
——————————————————
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.
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.∣Eo∣E1τ∈Eo∑para=0∑Emínimo(πθo(apara∣epara)πθ(apara∣epara)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ínimo∣Eo∣E1τ∈Eo∑para=0∑E(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 < 0 g(epsilon,A)=esquerda{(1+ϵ)A A≥0(1−ϵ)AA<0certo. g(ϵ,A)={(1+ϵ)A (1−ϵ)AA≥0A<0
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+⋯+γE−para+1rE−1+γE−paraV(eE)
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+⋯+γE−pararE−2+γE−para+1rE−1+γE−paraV(eE)=−V(epara)+rpara+γrpara+1+⋯+γE−para+1rE−1+γE−paraV(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))+ ⋯+ γE−para(ΔE−para−γV(eE−para+1)+V(eE−para))+ γE−para+1(ΔE−1−γV(eE)+V(eE−1))+ γE−paraV(eE)=Δpara+γΔpara+1+γ2Δpara+2+⋯+γE−paraΔE−para+γE−para+1ΔE−1 A^para=−V(epara)+rpara+γrpara+1+γ2rpara+2+⋯+γE−pararE−2+γE−para+1rE−1+γE−paraV(eE)=−V(epara)+rpara+γrpara+1+⋯+γE−para+1rE−1+γE−paraV(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))+ ⋯+ γE−para(ΔE−para−γV(eE−para+1)+V(eE−para))+ γE−para+1(ΔE−1−γV(eE)+V(eE−1))+ γE−paraV(eE)=Δpara+γΔpara+1+γ2Δpara+2+⋯+γE−paraΔE−para+γE−para+1ΔE−1
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(a∣e)πθ(a∣e)Aθo(e,a),grampo(πθo(a∣e)πθ(a∣e),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 Idadeq0A≥0
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−ϵr≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫)=A⎩ ⎨ ⎧mínimo(r,1+ϵ) mínimo(r,r)mínimo(r,1−ϵ)r≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫=A⎩ ⎨ ⎧1+ϵ rrr≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫ De acordo com o intervalo à direita=Amínimo(r,1+ϵ)=mínimo(rA,(1+ϵ)A)
~
quando Um < 0 Um<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−ϵr≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫)=A⎩ ⎨ ⎧máx.(r,1+ϵ) máx.(r,r)máx.(r,1−ϵ)r≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫=A⎩ ⎨ ⎧r r1−ϵr≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫ 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 < 0 g(epsilon,A)=esquerda{certo. g(ϵ,A)={(1+ϵ)A (1−ϵ)AA≥0A<0
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)πθ(a∣e) e velhas estratégias π θ k ( a ∣ s ) pi_{theta_k}(a|s)πθo(a∣e) 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(a∣e)πθ(a∣e),1+ϵ)Aπθo(e,a)
Função vantagem: Encontre um determinado par estado-ação com mais recompensas -> 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)πθ(a∣e) Aumente e a meta aumentará.
min neste item limita a função objetivo a aumentar apenas até um determinado valor
uma vez π θ ( a ∣ s ) > ( 1 + ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)>(1+epsilon)pi_{theta_k}(a|s)πθ(a∣e)>(1+ϵ)πθo(a∣e), min triggers, limitando o valor deste item a ( 1 + ϵ ) π θ k ( a ∣ s ) (1+épsilon)pi_{theta_k}(a|s)(1+ϵ)πθo(a∣e)。
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(a∣e)πθ(a∣e),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)πθ(a∣e) 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 ) < ( 1 − ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)<(1-epsilon)pi_{theta_k}(a|s)πθ(a∣e)<(1−ϵ)πθo(a∣e), máximo de gatilhos, limitando o valor deste item a ( 1 − ϵ ) π θ k ( a ∣ s ) (1-épsilon)pi_{theta_k}(a|s)(1−ϵ)πθo(a∣e)。
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.
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。
2、Atraso na atualização da política。
3. Suavização da estratégia alvo.
TD3 é um algoritmo fora da política e só pode ser usado com;contínuoO ambiente do espaço de ação.
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) e←r+γ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θeu←argθeumínimoNãoãoãoãoão−1∑(e−Pqθ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ão−1∑∇aPqθ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
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ística | estratégia de aleatoriedade | |
---|---|---|
definição | Mesmo estado, execute a mesma ação | mesmo estatuto,Pode realizar ações diferentes |
vantagem | Estável e repetível | Evite cair em soluções locais ótimas e melhore os recursos de pesquisa global |
deficiência | Falta de explorabilidade e fácil de ser pego pelos oponentes | Isto 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.
——————————————————
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 α > 0 alfa > 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=1∑∞O(π(⋅∣epara))) e0=e,a0=a]
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′∼πe′∼PE[R(e,a,e′)+γ(Pqπ(e′,a′)+αO(π(⋅∣e′)))]=e′∼PE[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.
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.
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∼πϕ(apara∣epara) ▢Aqui π ϕ ( em ∣ st ) pi_phi(a_t|s_t)πϕ(apara∣epara) 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+1∼p(epara+1∣epara,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})}E←E ∪ {(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τ ? ——> 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 ∅
Aprendendo a andar por meio do aprendizado de reforço profundo Versão em:
~
α
α
α é 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(apara∣epara)−αOˉ]