[PYTHON] Apprentissage par renforcement futur_2

** Apprentissage de renforcement futur **

Je suis Harima, une école supérieure de première année de maîtrise en sciences. Je vais résumer mon contenu d'apprentissage sous forme de mémo. Je suis désolé, c'est difficile à voir. Je voudrais savoir ce que vous ne comprenez pas.


** Chap.1 Théorie de base de l'apprentissage par renforcement **


** 1.2 Composantes de l'apprentissage amélioré **


--Recevoir et livrer le statut, les actions et les récompenses toutes les heures

――Comment déterminer la fonction de récompense est une question importante



--L'environnement détermine de manière probabiliste l'état (état initial) au moment initial (** distribution d'état initial **) $S_0~P_0(s)$

--L'état suivant est déterminé de manière probabiliste par l'état et le comportement actuels --Lorsque l'agent décide de l'action $ a $ dans l'état $ s $, la probabilité que l'état passe à $ s '$ est donnée comme suit. $P(s'|s,a)$

-L'état $ S_ {t + 1} $ à l'étape $ t + 1 $ est déterminé comme suit. $S_{t+1}~P(s'|S_t,A_t)$

--L'environnement détermine la récompense $ R_ {t + 1} $ selon l'état actuel $ S_t $, l'action $ A_t $ et l'état suivant $ S_ {t + 1} . $R_{t+1}=r(S_t,A_t,S_{t+1})$$


P_0(s)=\begin{cases}1 ,,,,,, (s=s_1) \ 0 ,,,,,, (otherwise) \end{cases}

      
      
 - ** Pas de temps et épisodes **

 - ** Pas de temps ** ・ ・ ・ Unité de temps de base dans l'interaction entre l'agent et l'environnement
      
 - ** Épisode ** ・ ・ ・ Le temps entre le début et la fin de la tâche est résumé et se compose de plusieurs pas de temps.
      
 - ** Qu'est-ce qu'une bonne politique **
   
 - ** Revenus ** ・ ・ ・ Récompense cumulative obtenue sur une certaine période (somme des récompenses sur la période)
      
 --La récompense $ R_t $ obtenue au pas de temps $ t $, la longueur de l'intervalle est $ T $ et le revenu $ G_t $ est défini comme suit.
      
      ```math
      G_t=\sum^{T-1}_{\tau=0}{R_{t+1+\tau}}
      ```

 --Définir les bénéfices à plus long terme
      
      ```math
      G_t=\lim_{T\rightarrow \infty} \frac{1}{T}\sum^{T-1}_{\tau=0}{R_{t+1+\tau}}
      ```
 - ** Somme de récompense de remise ** ・ ・ ・ Bénéfice qui exprime une incertitude future sous la forme d'une remise de rémunération
      
      ```math
      G_t=\sum^{\infty}_{\tau=0}\gamma^{\tau}R_{t+1+\tau}=R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+...
      ```
 - Taux de remise $ \ gamma (0 \ le \ gamma \ le 1) $ est une constante qui indique combien l'avenir sera actualisé
      
 ――Profit est un indice permettant d'évaluer les récompenses obtenues dans une perspective à long terme.
      
 - Prenez la valeur attendue du profit à la condition de l'état, et appelez cela la ** valeur d'état **.
      
 - ** Valeur de l'état ** ・ ・ ・ Valeur attendue du profit obtenu lorsque l'action est décidée conformément à la politique $ \ pi $ d'un certain état
      
      ```math
      V^{\pi}(s)=E^{\pi}[ G_t|S_t=s ]
      ```
 - "Valeur attendue sous la politique $ \ pi $" ... Valeur attendue lorsque l'agent décide de l'action en fonction de la politique $ \ pi $ de l'état $ s $ au pas de temps $ t $
      
 - Considérez un exemple de revenu d'intervalle fini de $ T = 1 $
   
 ――Les bénéfices à considérer sont les suivants
      
      ```math
G_t=R_{t+1}

--La probabilité que l'état soit $ s '$ dans le pas de temps $ t + 1 $ est la suivante

  ```math

P(S_{t+1}=s',A_t=a|S_t=s)=P(S_{t+1}=s'|S_t=s,A_t=a) \pi(a|s)

 --La valeur d'état est la suivante en prenant la valeur attendue avec l'état $ S_t $ comme condition.
      
      $$\begin{eqnarray*} V^{\pi}(s)&=& E^{\pi}[G_t|S_t=s] \\ 
                                   &=& \sum_{s' \in S} \sum_{a \in A(s)} P(S_{t+1}=s',A_t=a|S_t=s) r(s,a,s') \\
                                    &=& \sum_{s' \in S} \sum_{a \in A(s)} P(S_{t+1}=s'|S_t=s,A_t=a) \pi(a|s) r(s,a,s') \end{eqnarray*} $$
                  
 - Considérez un exemple de revenu par segment fini avec $ T = 2 $
   
 ――Les bénéfices à considérer sont les suivants
      
      ```math
G_t=R_{t+1}+R_{t+2}

\begin{eqnarray*} V^{\pi}(s) &=& E[G_t|S_t=s]=E^\pi[R_{t+1}+R_{t+2}|S_t=s] \ &=& \sum_{s''\in S}\sum_{a'\in A(s)}\sum_{s'\in S}\sum_{a\in A(s)} P(S_{t+2}=s'',A_{t+1}=a',S_{t+1}=s',A_t=a|S_t=s){r(s,a,s')+r(s',a',s'')} \ &=& \sum_{s''\in S}\sum_{a'\in A(s)}\sum_{s'\in S}\sum_{a\in A(s)} P(S_{t+2}=s''|S_{t+1}=s',A_{t+1}=a')\pi(a'|s')×P(S_{t+1}=s'|S_t=s,A_t=a)\pi(a|s){r(s,a,s')+r(s',a',s'')} \end{eqnarray*}

 -Lors de la correction de $ \ pi $ et de la modification de $ s $
   
 ――Évaluer les bénéfices attendus qui seront gagnés lors de la décision d'actions en fonction de certaines mesures fixes pour diverses conditions
 --Il peut être utilisé comme un index pour montrer la bonté de l'état sous une certaine mesure $ \ pi $ (** fonction de valeur d'état **)

 -Lors de la correction de $ s $ et du changement de $ \ pi $

 ――Évaluez les bénéfices attendus en lançant une action à partir d'un certain état pour diverses mesures
 ――Indicateur montrant la bonté de la politique en partant d'un certain état $ s $
   
$$
\forall s\in S,\,\,\,\,\, V^\pi(s) \ge V^{{\pi}^{'}}(s)\\ 
\exists s\in S,\,\,\,\,\, V^\pi(s) >  V^{{\pi}^{'}}(s)
$$  

 - ** Politique optimale **
   
 - ** Valeurs d'état optimales ** ・ ・ ・ $ V ^ * (s) $
      
      ```math
\forall s\in S,\,\,\,\,\, V^*(s)=V^{{\pi}^{*}}(s)=\max_\pi V^\pi (s)

Q^\pi(s,a)=E^\pi[G_t|S_t=s,A_t=a]

 -Pour $ A_t, S_ {t + 1}, A_ {t + 1} $, prenez la valeur attendue en fonction de leur probabilité d'apparition
 ――Une trajectoire dans laquelle chaque état et action sont connectés
      
---
      
 -Profit pour une section finie de $ T = 1 $
   
      ```math
X_1=\{\Xi=(s,a,s')|s\in S,a\in A,s'\in S\}

-Appeler $ \ Xi $ ** orbite **

X_1|_s={\Xi=(s,a,s')|a\in A,s'\in S}

 -Un ensemble d'orbites avec un état initial et un comportement fixes
      
      ```math
X_1|_s(s,a)=\{\Xi=(s,a,s')|s'\in S\}

G_t=G_t(\Xi)

      ```math
V^\pi(s)=\sum_{\Xi\in X_1|_s}P(\Xi)G_t(\Xi)\\
      Q^\pi(s,a)=\sum_{\Xi\in X_1|_{(s,a)}}P(\Xi)G_t(\Xi)

-Lorsque $ T = 2 $

  ```math

X_2|_s={\Xi=(s,a,s',a',s'')|a\in A,s'\in S,a'\in A,s''\in S}

      ```math
X_2|_{(s,a)}=\{\Xi=(s,a,s',a',s'')|s'\in S,a'\in A,s''\in S\}

X_1|_{s_1}={(s_1,a_1,s_3),(s_1,a_2,s_2)}

      ```math
X_2|_{s_1}=\{(s_1,a_1,s_3,a_1,s_4),(s_1,a_1,s_3,a_2,s_1),(s_1,a_2,s_2,a_1,s_1),(s_1,a_2,s_2,a_2,s_4)\}

X_1|_{(s_1,a_1)}={(s_1,a_1,s_3)}

      ```math
X_2|_{(s_1,a_1)}=\{(s_1,a_1,s_3,a_1,s_4),(s_1,a_1,s_3,a_2,s_1)\}

――Comment trouver une bonne politique

\pi(a|s)=\begin{cases}1 ,,,,,, (a=\arg \max_aQ(s,a)) \ 0 ,,,,,, (otherwise) \end{cases}

 --Estimer la fonction de valeur d'action optimale
 ―― Parfois, il est nécessaire de sélectionner de manière probabiliste une action qui n'est pas toujours la meilleure à ce moment-là.
      
 - ** $ \ epsilon $ - politique de gourmandise **
      
      ```math
\pi(a|s)=\begin{cases}1-\epsilon+\frac{\epsilon}{|A(s)|} \,\,\,\,\,\, (a= \arg \max_{a} Q(s,a)) \\\frac{\epsilon}{|A(s)|}  \,\,\,\,\,\, (otherwise) \end{cases}

\pi(a|s)=\frac{\exp(Q(s,a)/T)}{\sum_{b\in A}\exp(Q(s,b)/T)}

 - $ T $ est le paramètre de température


Recommended Posts

Apprentissage par renforcement futur_2
Apprentissage par renforcement futur_1
[Introduction] Renforcer l'apprentissage
Apprentissage amélioré 1 installation de Python
Renforcer l'apprentissage 3 Installation d'OpenAI
Renforcer l'apprentissage de la troisième ligne
[Renforcer l'apprentissage] Tâche de bandit
Apprentissage amélioré Python + Unity (apprentissage)
Renforcer l'apprentissage 1 édition introductive
Renforcer l'apprentissage 18 Colaboratory + Acrobat + ChainerRL
Apprentissage amélioré 7 Sortie du journal des données d'apprentissage
Renforcer l'apprentissage 17 Colaboratory + CartPole + ChainerRL
Renforcer l'apprentissage 28 collaboratif + OpenAI + chainerRL
Renforcer l'apprentissage 19 Colaboratory + Mountain_car + ChainerRL
Renforcement de l'apprentissage 2 Installation de chainerrl
[Renforcer l'apprentissage] Suivi par multi-agents
Renforcer l'apprentissage 6 First Chainer RL
Apprentissage amélioré à partir de Python
Renforcer l'apprentissage 20 Colaboratoire + Pendule + ChainerRL
Apprentissage par renforcement 5 Essayez de programmer CartPole?
Apprentissage par renforcement 9 Remodelage magique ChainerRL
Renforcer l'apprentissage 4 CartPole première étape
Apprentissage par renforcement profond 1 Introduction au renforcement de l'apprentissage
Apprentissage par renforcement profond 2 Mise en œuvre de l'apprentissage par renforcement
DeepMind Enhanced Learning Framework Acme
Apprentissage par renforcement: accélérer l'itération de la valeur
Renforcer l'apprentissage 21 Colaboratoire + Pendule + ChainerRL + A2C
TF2RL: bibliothèque d'apprentissage améliorée pour TensorFlow2.x
Apprentissage par renforcement 34 Créez des vidéos d'agent en continu
Renforcer l'apprentissage 13 Essayez Mountain_car avec ChainerRL.
Renforcer l'apprentissage 22 Colaboratory + CartPole + ChainerRL + A3C
Explorez le labyrinthe avec l'apprentissage augmenté
Renforcer l'apprentissage 8 Essayez d'utiliser l'interface utilisateur de Chainer
Renforcer l'apprentissage 24 Colaboratory + CartPole + ChainerRL + ACER
Apprentissage par renforcement 3 Méthode de planification dynamique / méthode TD
Deep Strengthening Learning 3 Édition pratique: Briser des blocs
J'ai essayé l'apprentissage par renforcement avec PyBrain
Apprenez en faisant! Apprentissage par renforcement profond_1
Apprentissage amélioré pour apprendre de zéro à profond
[Renforcer l'apprentissage] J'ai implémenté / expliqué R2D3 (Keras-RL)
Apprentissage par renforcement 2 Processus de décision de Markov, équation de Belman
Dossier d'apprentissage
<Cours> Deep Learning Day4 Renforcement de l'apprentissage / flux de tension
Dossier d'apprentissage n ° 1
Apprentissage automatique
Renforcer l'apprentissage 14 Pendulum a été réalisé à ChainerRL.
apprentissage de python
Dossier d'apprentissage n ° 2
6/10 Contenu d'apprentissage
L'apprentissage en profondeur
apprentissage numpy-sigmoïde
[Python] Essayez facilement l'apprentissage amélioré (DQN) avec Keras-RL
Essayez l'algorithme d'apprentissage amélioré standard d'OpenAI PPO
[Renforcer l'apprentissage] Rechercher le meilleur itinéraire
Renforcer l'apprentissage 11 Essayez OpenAI acrobot avec ChainerRL.
Apprentissage par renforcement 10 Essayez d'utiliser un réseau neuronal formé.
[Renforcement de l'apprentissage] Commentaire de vengeance (Keras-RL) qui a tenté de mettre en œuvre / d'expliquer R2D2