强化学习智能决策
Reinforcement Learning & Decision Making

授课老师:
开课时间:
上课时间:
总长:
学费:
高民权
2023年10月22日
每周六 早上9:00-12:00
四个月
高级研讨班:RMB 5800
综合实战班:RMB 8800
Offer直达班:RMB 13800
* 高级研讨班包括:本方向所有内容。
* 综合实战班包括:本方向所有内容,一个辅修方向(从其他两个方向中选择,与主修同学享有同等待遇,录播长期有效),硬件support( 亚马逊美国服务器的32核CPU服务器集群 + GPU费用课程组cover 60%)
* Offer直达班包括:综合实战班所有权益,外加2个月算法机试强化训练,2次简历修改,2次模拟面试。参加4次由字节,阿里巴巴,百度,华为,微软,Google,Meta,Amazon等技术面试官在线分享招聘进展,用人需求与人才技能模型
总体介绍:
强化学习是一种研究智能体如何具备决策能力的学习方法,例如下围棋、控制游戏AI、控制机器人、无人机等领域,这些应用背后都展现了强化学习的重要能力。强化学习与智能决策方向的学习重点在于培养学习者掌握复杂且前沿的强化学习知识,使他们能够抽象问题并解决实际产业中的挑战,或者参与先进的科研项目。
具体内容包括强化学习的基本原理,如马尔科夫过程和贝尔曼方程。同时,还会学习关于时间差分学习、SARSA、深度强化学习和Q-Learning等方面的知识。另外,还会深入研究基于策略梯度的先进强化学习方法,如策略梯度、PPO、TRPO、GAE,以及多智能体学习方法,如MAPPO、HATRPO和HAPPO等。
此外,我们还将学习强化学习中非常重要的自训练方法,即通过研究AlphaZero的原理,并从头实现AlphaZero的五子棋版本。通过这个项目,学习者将深入了解自训练方法的实际应用,以及如何通过强化学习来实现具有超人水平的五子棋AI。
通过学习强化学习与智能决策方向,学习者将掌握复杂而前沿的强化学习知识,具备解决实际产业问题或参与先进科研项目的能力。他们将了解强化学习的原理,掌握各种强化学习算法,包括基于策略梯度的方法和多智能体学习方法。此外,他们还将通过实践项目深入了解自训练方法,并具备实现类似AlphaZero的强化学习算法的能力。这将使他们在未来的工作中能够应对复杂的决策问题,并在人工智能领域取得卓越的成就。
课程大纲:
第一周: First-Step on RL, Monte-Carlo Methods
本周将为大家带来到底什么是强化学习,并学会我们的第一个重要算法—蒙特卡洛模拟 (Monte-Carlo methods)。大家可以使用该方法训练第一个决策模型“21 点”扑克牌 AI. 你 甚至可以与自己的 AI 进行 PK.在这个过程中,你将对强化学习区别与传统的监督学习和非 监督学习有一个清晰的认识,而且更加能够理解什么是“序列决策”问题。
第二周: Markov Decision Process, The Reinforcement Learning Framework and Paradigm, Dynamic Programming
本章我们将为大家正式定义强化学习问题,以及强化学习的整体框架是什么?动态规划 (dynamic programming)思想是如何应用在强化学习领域的?我们将会为大家带来马尔科夫 问题的定义,如何将一个问题抽象为强化学习问题?我们将会为大家带来 Gym 环境的介绍, 并且我们将会研发新的代码,将该代码适用于多个问题场景。我们将会解决“出租车寻路 Taxi”, “攀登问题 walking cliff”等离散环境的强化学习问题。
第三周: Temporal-Difference Learning, SARSA,Q-Learning
我们已经学习了如何通过蒙特卡洛模拟(MC)来解决问题,但是 MC 方法最大的问题是我们 需要将每一次的环境运行彻底结束(terminated)才可以进行更新。那么,这个对于更新时 间特别长,问题结束需要很久(甚至永远不能解决)的问题就不能解决。在该章节,我们将 为大家带来 Temporal-Difference 方法,所谓 Temporal-Difference 方法,就是在每次迭 代之间模型的策略就进行动态变化。我们将学习两种非常重要的差分学习方法 SARSA 和 Q- Learning。SARSA 可以在线(online)得更新模型,Q-Learning 可以根据未彻底完成的经验 数据进行更新。这两种方法都可以更加快速的进行模型更新。
第四周: From Q-Learning to DeepQ-Learning, Q-NeuralNetwork
在本周我们将学习如何使用深度神经网络来解决强化学习的问题,我们将一起阅读 《Natural》当年发表的关于 DeepQlearning 的文章,从原理上理解。并且,我们将会搭建 第一个深度强化学习网络,通过该网络来解决第一个月遇到的问题。你会发现深度学习在强 化学习中的威力。
项目一:机器人控制或者金融交易策略优化
在本章的项目中,我们将带着大家解决 Utility ML Engine 问题。Utility ML Engine 是一 个更加精细,更加现代化的机器人环境。里边包含了人体、物体、动物等机器人高维度模 型。我们将会使用 PolicyGradient 方法解决机械臂的控制。
第五周: Experience Replay, Fixed-Target, DoubleQ-Learning, Dueling DeepQ-Learning
我们将深入学习 DeepQLearning 中重要的几个方法,Experience Replay 来充分利用训练数 据,使用 Fix-Target 来使得训练更加稳定,模型更加能够收敛。我们还会学习更加细致的 Dueling DeepQling,通过两个网络一起来“竞争”学习,获得更高效的学习结果。
第六周:Imitation Learning, Behavior Colone, Robotics Learning, Inverse Reinforcement Learning.
在机器人控制、工业生产等任务中,强化学习所面临的一个问题是没有足够的训练数据,因 为我们不能在真实环境下就像在模拟环境下生成足够多的观察数据。本周我们将学习如何可 以融合人类的知识、演示到强化学习模型中。我们将学习如何通过专家演示来增加训练数据 的能力。同时,我们将学习如何通过逆向强化学习(Inverse Reinforcement Learning)来 通过专家演示让模型自动学习 rewards.
第七周:Policy Gradient, REINFORCE, Implementation PG on PyTorch
本周我们将学习什么是策略下降(Policy Gradient),PG 方法的数学推导过程,我们将会 掌握第一个基于 PG 的强化学习模型 REINFORCE,以及 PG 方法如何在 PyTorch 上实现。
第八周:Proximal Policy Optimization(PPO), Trust Region Policy Optimization (TRPO)
本周我们将学习更加高效 PG 方法。由于强化学习问题常常涉及到长时间(long-term)的目标 优化,因此其训练任务常常会出现收敛慢甚至不收敛的问题。因此,在 2017 年研究者们提 出了非常重要的“可信更新空间”的方法(Trust Region Policy Optimization),基于该 方法,我们能够保证 PG 训练过程中持续稳定的收敛。基于此,研究者们提出了“近似策略 优化”,这是一种更加高效的可信空间优化方法,既保证了收敛性,又提供了更快的迭代方 法。
第九周: DDPG, Actor-Critic Methods, GAE
为了更进一步的提高模型的训练速度和效率,我们将在本周学习一种新的方法,action- value,不仅有一个模型学习每一步的策略是什么,还有一个模型同步为我们学习出来的策略 进行打分。我们还会引入 advantage 函数,即模型估计的 value 和实际获得 value 的差值, 基于对这个函数的优化,我们的模型能够更加稳定。举个例子,如果两个人,一个人按照其 往常的表现,在这一次考试中应该能得 90 分,最终他的结果是 89 分,另一个人按照其往常 的表现,这一次表现应该是 70 分,但是他得了 80 分。虽然第二个人的结果更差,但是我们 认为在上一次考试和这一次考试之间,第二个人的模型更新是更有效率的。并且我们将会进 一步学习面向未来步骤的一种“泛化”的 Advantage 函数积累方法,各种方法更加能够帮助 进行面向长远问题的预测。
第十周:Self-Playing 自训练学习, The Lesson from AlphaGo and AlphaZero, Self-Play Learning
我们将在本周学习 AlphaGo 和 AlphaZero 的原理,什么是蒙特卡洛搜索(Monte-Carlo Search),什么是自训练学习(self-playing),AlphaZero 具体的实现原理,方法。
项目二:自训练AlphaZero实战
我们将在本节使用 AlphaZero 的方法,将围棋任务从 19*19 简化为一个相对较为简单的“井 字棋”AI,带领大家完成一个初步的 AlphaZero 训练任务。通过本周的训练,你对 AlphaZero 的原理不仅仅停留在理论上,更是在实战中得到了锻炼!
第十一周: 基于大模型的强化学习 Large Model & Decision Making
本周我们将学习基于大模型机制(Transformer)的强化学习. 我们将学习两种方式:1. 如果通过训练GPT模型来控制机器人和智能体;2. 如果利用已有的大语言模型来为机器人控制提供更好的控制能力。
第十二周:多智能体强化学习 Multi-Agent Learning, Central Training Decentric Execution, HAPPO, HATRPO
本周我们将学习什么是“多智能体”学习,什么是马尔科夫博弈(Markov Games),为什么 多智能体任务不能简单的用单智能体方法实现,多智能体之间的协作和博弈问题如何处理。以及学习2021 年至 2022 年多智能体方向取得的进展,将学习重要的 CTDE 方法,将 学习多智能版本的 TRPO 和 PPO(HAPPO 和 HATRPO),已经算法上如何实现。
第十三周:基于 Ray 的分布式强化学习框架介绍。
本周我们将为大家带来如何使用 Ray 的 RLlib 进行分布式的强化学习任务训练。大家通过分 布式环境对采样 Sampling 和 Updating 进行并行将大大加快训练速度。但同时由于多智能体 的依赖性,我们也将学习如何在 Ray 下进行有依赖关系的更新。我们将会给大家展示如何在 RLlib 上实现 HAPPO 和 HATRPO.
第十四周:基于人类反馈的强化学习及其应用
本周我们将为大家带来RLHF基于人类反馈的强化学习,并且学习Red Team, Alignment等基于强化学习方法在大模型领域应用的原理和方法. 我们将探索如何使用人类反馈机制以及RedTeam来使得我们的模型更加符合人类的安全预期(safe RLHF)
第十五周:斯坦福智能小镇,VoxPoser, Deicision Transformer等基于大模型的智能决策领
本周我们将会为强化学习最前沿的探索,这些探索主要是基于语言模型进行的。我们以斯坦福大学的智能小镇,机器人自动控制(VoxPoser)的原理,来向大家讲解如何将pre-trained知识融入到已有的强化学习模型中。另外,我们还会探索如何从零训练一个GPT模型来执行智能决策问题。
项目三:斯坦福小镇复现或多智能体分布式强化学习系统构建
我们将为大家带来如何使用 Ray 的 RLlib 进行分布式的强化学习任务训练。大家通过分 布式环境对采样 Sampling 和 Updating 进行并行将大大加快训练速度