Deep Q Network-DQN, double DQN, lecture d'expérience, arc-en-ciel, DQN distribué

1. Vocabulaire de base

  • Deep Q-network (deep Q-network, DQN) : un algorithme d'apprentissage Q basé sur l'apprentissage en profondeur, qui combine l'approximation de la fonction de valeur (approximation de la fonction de valeur) et la technologie des réseaux de neurones, et utilise des méthodes telles que le réseau cible et la lecture d'expérience pour le réseau entraînement.

  • Fonction état-valeur (fonction état-valeur) : Son entrée est l'état de l'acteur à un certain moment, et la sortie est un scalaire, c'est-à-dire, lorsque l'acteur est dans l'état correspondant, la valeur attendue qui peut être obtenue dans le délai jusqu'à la fin du processus.

  • Fonction état-valeur Équation de Bellman : Équation de Bellman basée sur la fonction état-valeur, qui exprime l'attente de la récompense cumulée �� dans l'état ��.

  • Q-fonction : Elle est aussi appelée fonction action-valeur. Son entrée est une paire état-action, c'est-à-dire prendre une action correspondante dans un état spécifique, en supposant que nous utilisons tous une certaine stratégie � , quelle est la valeur attendue de la récompense cumulée obtenue.

  • Réseau cible : il peut résoudre la cible d'optimisation ��(��,��)=��+��(��+1,��(��+1)) dans le réseau en fonction de la différence de temps Les deux côtés changeront en même temps rendre le processus de formation instable, augmentant ainsi la difficulté de la régression. Le réseau cible choisit de fixer la partie droite, c'est-à-dire ��+��(��+1,��(��+1)), et d'effectuer une régression en modifiant les paramètres de la partie gauche, c'est-à-dire � �(��,��), Il s'agit également d'une compétence importante dans les applications de réseau Q profond.

  • Exploration (exploration) : Lorsque nous utilisons la fonction Q, notre stratégie dépend entièrement de la fonction Q, ce qui peut conduire à une situation où l'action correspondante est fixée à un certain nombre de valeurs, contrairement à la sortie dans la politique gradient qui est aléatoire, nous échantillonnons ensuite des actions à partir d'une distribution aléatoire. Cela nous amènera à continuer à nous entraîner avec la même valeur d'entrée, "augmentant" ainsi la fixité de la sortie, entraînant une forte baisse de la capacité d'expression de l'ensemble du modèle.C'est le problème du dilemme exploration-exploitation. Nous pouvons optimiser en utilisant des méthodes d'exploration telles que l'exploration �-gourmande et l'exploration Boltzmann.

  • Rejouer l'expérience : il construira un tampon de relecture (replay buffer) pour enregistrer de nombreuses expériences. La forme de chaque expérience est la suivante : dans un certain état ��, effectuez une certaine action ��, obtenez une récompense ��, puis entrez état ��+1. Nous utilisons � pour interagir plusieurs fois avec l'environnement, en stockant l'expérience collectée dans le tampon de lecture. Lorsque notre tampon est "plein", les premières expériences qui entrent dans le tampon seront automatiquement supprimées. Pendant la formation, il existe un lot correspondant (lot) pour chaque cycle d'itérations (obtenu par échantillonnage lorsque nous formons un réseau normal), puis utilisez l'expérience de ce lot pour mettre à jour notre fonction Q. En résumé, la fonction Q utilisera l'expérience passée lors de l'échantillonnage et de la formation, cette méthode est donc appelée lecture d'expérience, qui est également une technique importante dans l'application des réseaux Q profonds.

  • Réseau Q double profondeur (double DQN) : Il y a deux réseaux Q dans le réseau Q double profondeur. Le premier réseau Q détermine quelle action a la plus grande valeur Q, déterminant ainsi l'action correspondante. D'autre part, la valeur Q est calculée à l'aide de ′, de sorte que le problème de surestimation peut être évité. Plus précisément, supposons que nous ayons deux fonctions Q et que la première fonction Q surestime la valeur de l'action �� qu'elle est en train d'effectuer. C'est correct, tant que la deuxième fonction Q ��′ ne surestime pas la valeur de action ��, alors le calcul obtenu est toujours une valeur normale.

  • Réseau Q profond compétitif (duel DQN) : Le processus de calcul du réseau Q profond original est divisé en deux étapes. La première étape calcule un scalaire V(s) lié à l'entrée ; la deuxième étape calcule un vecteur A(s,a) correspondant à chaque action. Le réseau final ajoute les résultats des deux étapes pour obtenir la valeur Q dont nous avons besoin à la fin. Exprimé dans une formule, c'est Q(s,a)=V(s)+A(s,a) . De plus, le réseau Q profond concurrentiel utilise la fonction de valeur d'état et la fonction de valeur d'action pour évaluer la valeur Q.

  • Replay d'expérience prioritaire (PER) : Cette méthode est proposée pour pallier les lacunes des méthodes de replay d'expérience que nous avons proposées au chapitre 6. Lorsque nous utilisons la lecture d'expérience, nous retirons uniformément les données d'échantillonnage dans le tampon de lecture (tampon de réponse), et le poids entre les données n'est pas pris en compte ici. Mais nous devrions augmenter le poids correspondant aux données avec un faible effet d'entraînement, c'est-à-dire qu'elles devraient avoir une plus grande probabilité d'être échantillonnées. En résumé, la relecture de l'expérience prioritaire modifie non seulement la distribution des données échantillonnées, mais modifie également le processus de formation.

  • Réseau de bruit (réseau bruité) : Au début de chaque tour, c'est-à-dire lorsque l'agent veut interagir avec l'environnement, un bruit gaussien (bruit gaussien) est ajouté à chaque paramètre de la fonction Q d'origine, et le Q d'origine devient ��~ , la fonction Q du bruit. De même, nous ajoutons un bruit gaussien au poids et aux autres paramètres de chaque réseau pour obtenir un nouveau réseau ��~. Nous utiliserons ce nouveau réseau pour interagir avec l'environnement jusqu'à la fin.

  • Fonction Q distribuée (fonction Q distributionnelle) : La distribution du modèle est effectuée sur le réseau Q profond, et l'opération de distribution est effectuée sur chaque catégorie d'actions émises par le réseau final.

  • Arc-en-ciel (arc-en-ciel) : Une méthode de combinaison de 7 techniques/algorithmes, les 7 techniques sont - réseau Q profond, réseau double Q profond, réseau double Q profond avec lecture d'expérience prioritaire, réseau Q profond compétitif, acteur d'avantage asynchrone - Algorithme commentateur (A3C ), fonction Q distribuée, réseau de bruit, puis examinez si la contribution de chaque compétence ou l'interaction avec l'environnement est une rétroaction positive.

2. Résumé des questions fréquemment posées

2. Pourquoi la représentation approximative de la fonction de valeur est-elle utilisée dans le réseau Q profond ?

Tout d'abord, le réseau Q profond est un algorithme de Q-learning basé sur l'apprentissage en profondeur, et dans le Q-learning, nous utilisons une table pour stocker les récompenses des actions dans chaque état, c'est-à-dire la fonction action-valeur �( �,�) que nous avons introduit dans le texte principal. Cependant, dans nos tâches réelles, le nombre d'états est généralement énorme et des problèmes tels que la malédiction de la dimensionnalité seront rencontrés dans les tâches continues.Il est généralement peu pratique d'utiliser la fonction de valeur réelle, donc une méthode de représentation approximative de la fonction de valeur est utilisé.

2.2 Quelles valeurs sont généralement directement liées à la production de l'examinateur ?

Directement lié à l'État et aux acteurs. Lorsque nous discutons de la sortie, nous mesurons généralement la qualité d'un état par rapport à un acteur, c'est-à-dire que l'état et la valeur dépendent essentiellement de l'acteur. Différents acteurs auront également des sorties différentes dans le même état.

2.3 Comment mesure-t-on habituellement la fonction état-valeur ��(��) ? Quels sont ses avantages et ses inconvénients ?

(1) Méthode basée sur Monte Carlo : Essentiellement, il s'agit de laisser les acteurs interagir avec l'environnement. Selon les résultats statistiques, le commentateur associe l'acteur à l'état, c'est-à-dire que si l'acteur voit un certain état ��, il prédira la prochaine récompense cumulée, et s'il voit un autre état ��, il prédira le prochain récompense cumulée Quelle est sa taille. Mais son universalité n'est pas bonne, elle doit correspondre à tous les états. Si nous sommes confrontés à un problème simple avec un état limité tel que le jeu du serpent, nous pouvons toujours le résoudre, mais si nous sommes confrontés à une tâche basée sur l'image, il nous est presque impossible de combiner tous les états (correspondant à chaque image ) images) sont "enregistrées". En bref, il ne peut pas produire la valeur correspondante pour l'état d'entrée qui n'est pas apparu auparavant.

(2) Méthode de réseau basée sur Monte Carlo : Afin de pallier les lacunes de la méthode basée sur Monte Carlo décrite ci-dessus, nous définissons la fonction état-valeur ��(��) comme un réseau qui peut être utilisé pour jamais -avant-vu L'état d'entrée, selon la capacité de généralisation et d'ajustement du réseau, "estime" une valeur de sortie.

(3) La méthode du réseau basée sur la différence temporelle, c'est-à-dire la méthode du réseau basée sur la différence temporelle : identique à la différence entre la méthode de Monte Carlo et la méthode de la différence temporelle que nous avons introduite dans les 4 chapitres précédents, la méthode du réseau basée sur la différence temporelle différence et le réseau basé sur Monte Carlo La différence de méthode est également la même. Dans la méthode basée sur Monte Carlo, nous devons à chaque fois calculer la récompense cumulée, qui est la somme de toutes les récompenses obtenues à partir d'un certain état �� jusqu'à la fin de la partie. Donc, pour appliquer les méthodes basées sur Monte Carlo, nous devons jouer le jeu au moins jusqu'à la fin. Cependant, certains jeux prennent trop de temps pour mettre à jour le réseau jusqu'à la fin du jeu, nous allons donc utiliser une méthode réseau basée sur la différence de temps. La méthode de réseau basée sur la différence de temps n'a pas besoin de jouer le jeu jusqu'à la fin, tant que vous agissez �� pour obtenir la récompense �� dans un certain état �� du jeu, et entrez dans l'état ��+1, vous pouvez appliquer la méthode réseau basée sur la différence de temps. Sa formule est similaire à la méthode des différences temporelles introduite précédemment, c'est-à-dire ��(��)=��(��+1)+��.

(4) La différence entre la méthode de Monte Carlo et la méthode des différences de séries chronologiques est que la méthode de Monte Carlo elle-même a un grand caractère aléatoire, et nous pouvons considérer son �� comme une variable aléatoire, donc son écart final est très grand. Et pour la différence temporelle, il a une variable aléatoire � . Parce que la même action est entreprise dans l'état ��, les récompenses obtenues ne sont pas nécessairement les mêmes, donc pour la méthode des différences temporelles, �� est une variable aléatoire. Mais comparé à �� de la méthode de Monte Carlo, le caractère aléatoire de �� est très faible, car �� lui-même est composé de plusieurs ��. D'un autre point de vue, dans la méthode des différences de séries chronologiques, notre prémisse est ��=��(��+1)−��(��), mais nous ne pouvons généralement pas garantir que ��(��+1) 、 �� (��) calcule avec une erreur de 0. Ainsi, lorsque ��(��+1) et ��(��) sont calculés de manière inexacte, les résultats obtenus seront également inexacts. Bref, les deux ont leurs avantages et leurs inconvénients.

(5) À l'heure actuelle, la méthode basée sur la différence temporelle est plus couramment utilisée, et la méthode basée sur Monte Carlo est en fait relativement peu utilisée.

2.4 Sur la base de la méthode de réseau basée sur Monte Carlo introduite dans le texte principal de ce chapitre, comment entraînons-nous le modèle ? Ou quel type de problème devrions-nous considérer comme dans l'apprentissage automatique ?

Idéalement, nous nous attendons à générer une valeur de récompense sans erreur pour un état d'entrée. Pour la fonction de valeur, si l'état d'entrée est ��, la valeur de sortie correcte doit être ��. Si l'état d'entrée est ��, la valeur de sortie correcte doit être ��. Ainsi, lors de la formation, il s'agit d'un problème de régression typique en apprentissage automatique. Ce que nous avons réellement besoin de sortir n'est qu'une valeur inexacte, c'est-à-dire que lorsque nous saisissons l'état ��, plus la valeur de sortie est proche de ��, mieux c'est ; lors de la saisie de ��, plus la valeur de sortie est proche de ��, le meilleur. Il est entraîné de la même manière que nous entraînons des réseaux de neurones profonds tels que les réseaux de neurones convolutifs.

2.5 Sur la base de la méthode des réseaux basée sur la différence temporelle introduite dans le corps du texte de ce chapitre, concrètement, comment doit-on entraîner le modèle ?

La fonction centrale basée sur le réseau de différences temporelles est ��(��)=��(��+1)+��. Nous alimentons l'état �� dans le réseau car l'alimentation de �� dans le réseau donne la sortie ��(��), et de même l'alimentation de ��+1 dans le réseau donne ��(��+1). En même temps, la fonction noyau ��(��)=��(��+1)+�� nous dit que la valeur de ��(��) moins ��(��+1) devrait être �� . Nous voulons que la valeur de perte de leur soustraction soit aussi proche que possible de ��. C'est aussi l'objectif d'optimisation du réseau, que nous appelons la fonction de perte.

2.6 Quelle est la différence et le lien entre la fonction de valeur d'action et la fonction de valeur d'état ?

(1) L'entrée de la fonction de valeur d'état est un état, qui calcule la valeur attendue de la récompense cumulée après l'état actuel en fonction de l'état.

(2) L'entrée de la fonction de valeur d'action est une paire état-action, c'est-à-dire entreprendre une certaine action dans un certain état, et en supposant que nous utilisons tous la stratégie � , quelle est la valeur attendue de la récompense cumulée obtenue .

2.7 Veuillez introduire deux méthodes de représentation de la fonction Q.

(1) Lorsque la paire état-action est utilisée, c'est-à-dire lorsque l'entrée de la fonction Q est une paire état-action, la sortie est un scalaire.

(2) Lorsque seule la représentation d'état est utilisée, c'est-à-dire lorsque l'entrée de la fonction Q est un seul état, la sortie est constituée de plusieurs valeurs.

2.8 Après avoir obtenu la fonction Q, comment devrions-nous trouver une meilleure stratégie ��′ ? Ou quelle est la nature de ′ ?

Tout d'abord, �′ est calculé par �′(�)=arg⁡max��(�,�), ce qui signifie qu'en supposant que nous avons appris la fonction Q de ��, pour un certain état ��, toutes les actions possibles � � Substituez dans cette fonction Q une par une pour voir quelle action �� peut rendre la valeur de la fonction Q la plus grande, alors cette action est l'action que �� effectuera. Par conséquent, la stratégie ��′ pour déterminer l'action selon la méthode ci-dessus doit être meilleure que la stratégie originale ��, c'est-à-dire ��′(��)⩾��(��).

2.9 Quelles sont les méthodes d'exploration pour résoudre le dilemme exploration-exploitation ?

(1) �-gourmand : nous avons une probabilité de 1−� (généralement � est très faible) de décider l'action exactement selon la fonction Q, mais il y a une probabilité de � de rendre l'action aléatoire. Généralement dans les implémentations, la valeur de � diminue avec le temps. C'est-à-dire qu'au tout début, parce que nous ne savons pas quelle action est la meilleure, nous consacrerons beaucoup d'efforts à explorer. Ensuite, à mesure que le nombre d'entraînements augmente, nous avons déterminé quelle stratégie est la meilleure, et nous réduirons l'exploration, de sorte que la valeur de �� devienne plus petite, principalement basée sur la fonction Q pour déterminer les actions futures, le caractère aléatoire deviendra plus petit.

(2) Exploration de Boltzmann : Cette méthode ressemble plus à un gradient politique. Dans le gradient de politique, la sortie du réseau est une distribution de probabilité sur l'espace d'action attendu, et nous échantillonnons en fonction de la distribution de probabilité. Par conséquent, une distribution de probabilité peut également être déterminée sur la base de la valeur Q. En supposant que plus la valeur Q d'une action est élevée, meilleure elle est et plus la probabilité que nous prenions cette action est élevée.

2.10 Quels sont les avantages de l'utilisation de la lecture d'expérience

(1) Tout d'abord, dans tout le processus d'apprentissage par renforcement, le processus le plus long est d'interagir avec l'environnement. L'utilisation de GPU ou même de TPU pour former le réseau est relativement rapide. L'utilisation du tampon de lecture peut réduire le nombre d'interactions avec l'environnement. Parce que pendant la formation, notre expérience n'a pas besoin de provenir d'une certaine stratégie (ou de la stratégie du moment). Certaines expériences obtenues à partir de stratégies passées peuvent être utilisées plusieurs fois dans le tampon de lecture et réutilisées à plusieurs reprises, de sorte que l'expérience échantillonnée peut être utilisée efficacement.

(2) De plus, lors de la formation du réseau, nous espérons en fait que plus les données d'un lot sont diverses, mieux c'est. Si les données d'un lot sont de même nature, la capacité d'ajustement du modèle que nous avons formé peut ne pas être très optimiste. S'il y a les mêmes données dans un lot, l'effet d'ajustement sera médiocre pendant la formation. Si les expériences dans le tampon de lecture proviennent toutes de stratégies différentes, les données d'un lot échantillonné seront plus diversifiées. Cela garantit que les performances de notre modèle ne sont au moins pas mauvaises.

2.11 Nous avons observé la valeur de � dans la relecture de l'expérience et constaté que certaines expériences qui n'étaient pas � étaient mélangées. Cela l'affectera-t-il ?

Aucun effet. Ce n'est pas parce que le ' du passé est très similaire au ' du présent, et peu importe si le ' du passé n'était pas très similaire. La raison principale est que nous n'échantillonnons pas une trajectoire, nous ne pouvons échantillonner qu'une expérience, cela n'a donc rien à voir avec le fait qu'il s'agisse d'une stratégie différente ou non. Même s'il s'agit d'une stratégie hors stratégie, même si ces expériences ne proviennent pas de ��, nous pouvons toujours utiliser ces expériences pour estimer ��(��,��).

2.12 Pourquoi l'effet du réseau Deep Q traditionnel n'est-il pas bon ? Il peut être décrit en se référant à sa formule ��(��,��)=��+max��(��+1,��).

Parce que dans les applications pratiques, il est nécessaire de rendre ��(��,��) et ��+max��(��+1,��) aussi égaux que possible, c'est-à-dire que plus nous nous rapprochons de notre objectif, plus la mieux. Il peut être constaté que la valeur cible est facilement définie trop élevée accidentellement, car lors du calcul de la valeur cible, ce que nous faisons en réalité est de voir quelle action peut obtenir la plus grande valeur Q, puis de l'ajouter Montez et faites-en notre cible .

Par exemple, il y a maintenant 4 actions. À l'origine, elles obtiennent toutes la même valeur Q et les récompenses qu'elles obtiennent sont toutes similaires, mais il y a une erreur dans l'estimation. Si la première action est surestimée, la cible exécutera l'action, puis sélectionnera la valeur Q de l'action surestimée plus �� comme valeur cible. Si la quatrième action est surestimée, la cible choisira la valeur Q de la quatrième action plus �� comme valeur cible. Ainsi, la cible choisira toujours l'action dont la valeur Q est surestimée, et nous choisirons toujours la valeur Q de l'action dont la récompense est surestimée comme résultat de la valeur maximale de la valeur Q et ajouterons �� comme nouvelle valeur cible , donc la valeur cible est toujours trop grande.

2.13 Dans le réseau Deep Q traditionnel, comment devrions-nous résoudre le problème que la valeur cible est trop grande ?

Nous pouvons résoudre ce problème en utilisant un réseau Q à double profondeur. Premièrement, dans un réseau Q à double profondeur, la fonction Q de sélection des actions est différente de la fonction Q de calcul des valeurs. Dans le réseau Q profond, il est nécessaire d'énumérer de manière exhaustive toutes les actions ��, de substituer chaque action �� dans la fonction Q et de calculer quelle action �� a la plus grande valeur Q en rétroaction, et d'ajouter cette valeur Q à �� . Mais pour les deux réseaux Q du réseau Q à double profondeur, le premier réseau Q décide quelle action a la valeur Q la plus grande, de manière à déterminer l'action sélectionnée. Notre valeur Q est calculée en utilisant ′, alors quels sont les avantages ? Pourquoi cela évite-t-il le problème de la surestimation ? Supposons que nous ayons deux Q-fonctions, si la première Q-fonction surestime la valeur de l'action qu'elle a sélectionnée, peu importe, tant que la seconde Q-fonction '' ne surestime pas la valeur de cette action, le calculé C'est toujours normal. En supposant que l'inverse est que �� surestime la valeur d'une certaine action, il n'y aura pas de problème de surestimation.

2.14 Quelles sont les fonctions des réseaux dits �� et ��′ dans le réseau Q à double profondeur ?

Il existe deux réseaux Q dans le réseau Q à double profondeur, l'un est le réseau Q cible et l'autre est le véritable réseau Q qui doit être mis à jour. La méthode de mise en œuvre spécifique consiste à utiliser le réseau Q qui doit être mis à jour pour sélectionner une action, puis à utiliser le réseau Q de la cible pour calculer la valeur. Comparé au réseau Q profond, le changement du réseau Q double profond est le moindre, il n'augmente pratiquement aucun calcul, et même un nouveau réseau n'est pas nécessaire. La seule chose qui doit être changée est que lors de la recherche de la meilleure action �, elle a été calculée à l'origine en utilisant �′, c'est-à-dire en utilisant le réseau Q cible pour calculer, et maintenant elle est modifiée pour utiliser le réseau Q qui doit être mis à jour pour calculer.

2.15 Comment comprendre les avantages des changements de modèle pour les réseaux Q profonds compétitifs ?

Pour Q(�,�), l'état correspondant est discret car il est sous forme de tableau, mais l'état réel n'est pas discret. Pour la formule de calcul de Q(�,�) - Q(�,�)=V(�)+A(�,�) . Parmi eux, V(�) a des valeurs pour différents états, et A(�,�) a des valeurs correspondant à différentes actions pour différents états. Donc, essentiellement, notre matrice finale Q(�,�) est obtenue en ajoutant chaque V(�) à la matrice A(�,�). Du point de vue du modèle, ce que notre réseau change directement n'est pas Q(�,�), mais les changements V et A. Mais parfois, nous ne mettons pas nécessairement à jour à la fois V(�) et Q(�,�) lorsque nous mettons à jour. Après avoir divisé les paires d'état et d'action en deux parties, nous n'avons pas besoin d'échantillonner toutes les paires d'état-action, et nous pouvons utiliser une méthode plus efficace d'estimation de la valeur Q pour calculer le Q final (�,�).

2.16 Quels sont les avantages et les inconvénients de l'utilisation des méthodes de Monte Carlo et d'équilibrage des différences temporelles ?

Avantages : La méthode de différence de séries chronologiques n'échantillonne qu'une seule étape, de sorte que les données obtenues à une certaine étape sont la valeur réelle, et les suivantes sont toutes des valeurs Q estimées. Utilisation de Monte Carlo et de la méthode d'équilibre différentiel des séries chronologiques pour échantillonner plusieurs étapes, telles que l'échantillonnage uniquement des étapes pour estimer la valeur, de sorte que l'impact de la partie estimée sera relativement faible.

Inconvénient : Parce que l'agent a plus de récompenses, lorsque nous additionnons les récompenses des premières étapes, la variance correspondante sera relativement grande. Afin d'atténuer le problème de grande variance, nous pouvons parvenir à un équilibre entre la variance et la valeur imprécise de Q en ajustant la valeur de . Les paramètres introduits ici sont des hyperparamètres, et les paramètres doivent être affinés, par exemple, s'il faut échantillonner 3 pas de plus ou échantillonner 5 pas de plus.

2.17 Pourquoi l'effet d'entraînement du réseau Q profond est-il meilleur et plus stable que la méthode basée sur le gradient politique ?

Dans le réseau Q profond, tant que la fonction Q peut être estimée, une meilleure stratégie peut être trouvée. De même, tant que la fonction Q peut être estimée, la politique correspondante peut être améliorée. Étant donné que l'estimation de la fonction Q est un problème de régression relativement facile, dans ce problème de régression, nous pouvons toujours observer si l'effet de la formation du modèle s'améliore de plus en plus (en général, nous devons seulement faire attention à savoir si la perte de régression a diminué, et nous pouvons juger de la qualité d'apprentissage du modèle), il est donc plus facile d'estimer la fonction Q que d'apprendre une politique. Il vous suffit d'estimer la fonction Q, et vous pouvez garantir que vous obtiendrez une meilleure stratégie maintenant, et qu'elle est également plus facile à utiliser. En revanche, l'objectif d'optimisation dans la méthode du gradient de stratégie est de maximiser le rendement total, mais il nous est difficile de trouver une fonction de perte claire pour l'optimisation, qui est essentiellement un problème de recherche de stratégie, c'est-à-dire un problème d'optimisation sans contrainte.

2.18 Quel genre de problèmes le réseau Q profond rencontre-t-il lorsqu'il traite des actions continues ? Quelles sont les solutions correspondantes ?

La plupart des problèmes que nous rencontrons souvent dans notre vie quotidienne impliquent des actions continues. Par exemple, si l'agent veut conduire automatiquement, il doit décider de combien de degrés le volant doit tourner à gauche ou de combien de degrés à droite. Il s'agit d'une action continue ; supposons que l'agent est un robot Un robot a 50 articulations sur son corps, et chacune de ses actions correspond aux angles de ces 50 articulations, et ces angles sont également continus.

Cependant, lors de l'utilisation d'un réseau Q profond, une étape importante est de pouvoir résoudre le problème d'optimisation correspondant. Lorsque nous estimons la fonction Q �(�,�), nous devons trouver une action qui puisse maximiser �(�,�). En supposant que les actions sont discrètes, alors les possibilités d'actions �� sont finies. Mais si l'action est continue, on ne peut pas énumérer exhaustivement toutes les actions possibles comme on peut le faire pour les actions discrètes.

Afin de résoudre ce problème, il existe plusieurs options comme suit.

(1) La première solution : nous pouvons utiliser la méthode d'échantillonnage, c'est-à-dire échantillonner au hasard les actions possibles, puis les substituer une par une dans la fonction Q, calculer les valeurs Q correspondantes et comparer celle qui est la plus grande. Mais ce schéma ne sera pas très précis en raison de la méthode d'échantillonnage.

(2) La deuxième solution : nous modélisons ce problème d'action continue comme un problème d'optimisation, de sorte que nous pouvons utiliser la montée de gradient pour maximiser notre fonction objectif. Plus précisément, nous traitons les actions comme des variables et utilisons l'ascension de gradient pour mettre à jour les valeurs Q correspondant aux actions. Mais cette solution prend généralement beaucoup de temps car elle nécessite des calculs itératifs.

(3) La troisième solution : Concevoir une architecture de réseau spéciale, c'est-à-dire concevoir une fonction Q spéciale, ce qui rend très facile la résolution de l'action � qui maximise la fonction Q. C'est-à-dire que la fonction Q ici n'est pas une fonction Q généralisée. Nous pouvons utiliser une méthode spéciale pour concevoir la fonction Q, ce qui permet de trouver très facilement l'action � qui maximise la fonction Q. Mais la fonction Q de ce schéma ne peut pas être conçue arbitrairement, et elle doit avoir quelques restrictions supplémentaires.

(4) La quatrième solution : aucun réseau Q profond n'est utilisé, après tout, il est plus gênant de l'utiliser pour faire face à des actions continues.

Guess you like

Origin blog.csdn.net/qiqi_ai_/article/details/131749027