|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/apprentissage-par-renforcement-avec-python-partie-2/
课程评论:没有评论
《Python强化学习 - 第二部分》课程概述 本课程是《Python强化学习 - 第一部分》的进阶课程,旨在帮助学习者将强化学习知识从有限环境扩展到无限环境,并掌握周期性及连续性任务。课程通过Python代码实践,深入浅出地讲解算法原理和实现方法,总时长超过9小时。 **核心内容:** 1. **On-policy预测 (通过函数逼近):** * 介绍线性函数逼近基础,用于评估连续环境的状态值。 * 使用随机梯度下降和半梯度法优化逼近器。 2. **构建线性函数逼近器:** * 学习构建更复杂的线性函数逼近器,例如使用多维多项式基和傅里叶基。 3. **非线性函数逼近 (使用神经网络):** * 探索神经网络在逼近非线性函数方面的强大能力。 * 学习使用Keras和Tensorflow库构建和应用神经网络。 4. **On-policy控制 (通过函数逼近):** * 介绍基于线性函数逼近的优化策略算法,即“控制”问题。 * 学习Sarsa和Sarsa n-step的连续版本。 5. **Deep-Sarsa (On-policy控制):** * 深入学习Deep-Sarsa方法,利用神经网络进行策略优化,适用于在线学习。 6. **Off-policy方法 (通过函数逼近):** * 分析离线学习(基于固定策略收集的数据)中线性函数逼近的挑战,如稳定性和收敛性问题。 * 介绍适用于离线学习的新方法。 7. **Deep Q-Learning (Off-policy控制):** * 学习使用神经网络优化离线学习策略,重点介绍Deep Q-Learning算法,它是Deep-Sarsa的离线学习对应算法。 **先决条件:** * 具备Python编程知识。 * 具备基础数学知识(概率论、向量空间)会更有帮助。 * 需要Jupyter Notebook环境(如Google Colab)。 **课程资源:** * 所有课程资源均已提供。 本课程将使您能够理解并应用先进的强化学习算法,特别是在更复杂的无限环境和连续任务中。
À l'heure actuelle, l'apprentissage par renforcement se révèle comme la façon la plus efficace de faire appel à la créativité des machines. Contrairement à un humain, une intelligence artificielle peut effectuer des milliers de tentatives en simultané. Il suffit pour ce faire de lancer le même algorithme en parallèle sur une puissante infrastructure informatique.Cette formation fait suite à ma précédente formation d'initiation à l'apprentissage par renforcement (partie 1).Dans cette nouvelle formation, vous allez étendre toutes les connaissances et les méthodes acquises dans le cadre d'environnements finis sur des environnements infinis, sur des tâches épisodiques et continues.Vous apprendrez par exemple à coder des approximations de fonctions linéaires et non linéaires à l'aide de réseaux de neurones artificiels sous Keras / Tensorflow, à coder des algorithmes en ligne (on-policy) deep Sarsa et hors ligne (off-policy) deep Q-learning… Et bien plus encore!J'ai pris soin dans cette formation de vous fournir des explications claires et de nombreux exemples vous permettront de bien comprendre comment sont construits les algorithmes et comment les mettre en auvre en Python. Cette formation est organisée de la manière suivante:Prédiction de type on-policy par approximationsConstruction des fonctions d'approximations linéairesApproximation des fonctions non linéaires avec les réseaux de neurones artificielsContrôle de type on-policy par approximationsContrôle on-policy Deep-SarsaMéthodes off-policy avec approximationsContrôle off-policy de type deep Q-LearningLes activités en Python sont clairement expliquées. D'une durée totale de plus de 9h, ce cours vous permettra de comprendre et de mettre en application les algorithmes d'apprentissage par renforcement.=== Prérequis ===Des connaissances en Python sont un plus. Pour les parties davantage théoriques qui expliquent comment sont construits les algorithmes, des connaissances en Mathématiques (en particulier dans le domaine des probabilités) sont également un plus. Quelques notions sur les espaces vectoriels sont également un plus.Les expériences menées dans ce cours sont réalisées à l'aide des carnets jupyter. Il vous faut donc également un accès à un environnement de type jupyterlab, comme par exemple avec Google Colab (gratuit avec un compte gmail). Toutes les ressources sont fournies avec le cours.=== Thèmes étudiés dans la formation ===#1. Prédiction de type on-policy par approximationsDans cette première partie, nous introduirons les concepts liés à l'approximation de fonctions linéaires dans un cas très simple. Cela nous permettra d'évaluer les valeurs des états d'un environnement continu.Pour optimiser les approximations, nous utiliserons les méthodes par descente du gradient stochastique et de semi-gradient.#2. Construction des fonctions d'approximations linéairesL'objectif de cette seconde partie est d'étudier la construction de fonctions d'approximations plus élaborées, tout en restant dans le cadre des approximations dites linéaires.Nous verrons par exemple comment utiliser les bases polynomiales et les bases de Fourier à plusieurs dimensions.#3. Approximation des fonctions non linéaires avec les réseaux de neurones artificielsLes réseaux de neurones artificiels offrent d'énormes possibilités dans le cadre de l'approximation des fonctions non linéaires. De plus, des librairies Python telles que Keras et Tensorflow permettent de les mettre en auvre de manière simple et efficace.Nous verrons dans cette partie comment utiliser ces librairies pour nous aider à construire des réseaux de neurones artificiels et nous les utiliserons dans les algorithmes vus précédemment.#4. Contrôle de type on-policy par approximationsArrivé à cette étape, vous aurez vu comment utiliser des approximations de fonctions linéaires et non linéaires (à l'aide des réseaux de neurones) pour calculer les valeurs des états d'un environnement continu.L'objectif de cette partie est d'introduire les algorithmes qui permettront d'obtenir des stratégies optimales en se basant sur les approximations linéaires des valeurs des états, c'est-à-dire d'étudier les problèmes liés au « contrôle ».Nous verrons ici les versions « continues » des méthodes Sarsa et Sarsa n-step que nous avions déjà mises auvre dans la première partie de la formation à l'apprentissage par renforcement.#5. Contrôle on-policy Deep-SarsaNous étudierons dans cette partie la méthode Deep-Sarsa, qui permet d'optimiser des stratégies non plus à l'aide de fonctions approximées linaires mais cette fois à partir de fonctions approximées par des réseaux de neurones.C'est une méthode très puissante que l'on peut utiliser dans le cadre de l'apprentissage en ligne.#6. Méthodes off-policy avec approximationsDans le cas où l'apprentissage se fait hors-ligne, c'est-à-dire à partir de données récoltées par un agent suivant une stratégie d'exploitation, nous verrons que la mise en auvre des approximations de fonctions linéaires pose de gros problèmes de stabilité et de convergence dans la détermination de stratégies optimales.Nous ne pouvons plus malheureusement utiliser ce que nous avons vu précédemment lorsque l'apprentissage se fait hors-ligne… Nous passerons donc en revue les différentes étapes théoriques qui nous permettront de proposer de nouvelles méthodes adaptées à cette nouvelle problématique.#7. Contrôle off-policy de type deep Q-LearningPour terminer, nous utiliserons les capacités offertes par les réseaux de neurones artificiels afin d'optimiser des stratégies dans le cadre d'un apprentissage hors-ligne.Pour cela, nous utiliserons l'algorithme deep Q-learning, qui est en quelque sorte le cousin de l'algorithme deep-Sarsa (qui lui est réservé à l'apprentissage en ligne).