Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

B站学强化学习?港中文周博磊变身up主,中文课程已上线

众所周知,B 站是一个学习网站。在看完罗翔老师的刑法课之后,是时候探索人工智能了。

新冠疫情还未退散,目前国内很多大学仍然没有返校开学的计划,不过留在家中的我们已经可以获得越来越多的线上学习内容。

此前有很多国内外学校已经把自家的 AI 课程搬到了线上。不过对于不少人来说,YouTube 和英文是个问题。有没有直接在 B 站上开课的教授呢?

最近,香港中文大学(CUHK)信息工程系助理教授周博磊就有了一个大胆的想法,他决定把自己每周的《强化学习》课程用中文在 B 站上进行直播。目前这门课程的第一课已经上线。机器之心经授权进行了整理。


周博磊老师博士毕业于麻省理工学院,现任香港中文大学信息工程系助理教授,研究方向主要为机器感知和决策,重点是通过学习可解释、结构化的表征,使机器能够在复杂的环境中感知、推理和行动。

除了直播和课程视频之外,周博磊还会同步更新课程的代码,使用的编程语言为 Python,深度学习框架则是 TensorFlow 和 PyTorch 皆可(PyTorch 为主)。和常规的课程一样,《强化学习纲要》也会在每节课后留下一些作业。

GitHub 链接:https://github.com/zhoubolei/introRL

课程概览

整个课程共分为基础课程和高阶课程两大部分。其中,基础课程共分为 8 个小节,包括课程概览、马尔科夫决策过程、无模型预测及控制、on-policy 和 off-policy 学习、值函数近似、策略优化基础、策略优化现状、基于模型的强化学习等内容。其中,每个小节都会有一两节课的内容。


高阶课程包括一些案例研究,如围棋 AI AlphaGo、游戏 AI AlphaStarOpenAI Five 等,此外还包含强化学习的分布式构建、生成模型等。


该课程主要面向大三、大四或研一的学生。参加课程的学生需要具备相关背景知识,包括线性代数、概率论、机器学习数据挖掘模式识别深度学习)等。此外,由于该课程有不少实践内容,所以参加课程的同学最好有一些编程经验,会用 Python、PyTorch。


此外,周博磊博士还给出了本课程的参考教科书——Sutton 和 Barton 合作撰写的《强化学习》。大家可以根据参考链接下载电子版。


新课尝鲜

目前,我们已经能够在 B 站上看到第一课的完整内容,包括上、下两部分,主要介绍了课程纲要、强化学习基本概念、序列决策入门、强化学习编程实践等内容。

在基本概念部分,周老师介绍了强化学习的定义、重要性、与监督学习的区别等内容。


这里对强化学习的定义引用了一个 Sutton 的经典表述。强化学习用于描述和解决智能体在与环境的交互过程中如何最大化奖赏值的问题。在强化学习中,智能体(agent)与环境(environment)是其两个重要组成部分。

强化学习监督学习存在以下区别:

  • 输入数据时序相关(非独立同分布);

  • 智能体并不知道什么是正确的策略,其策略需要通过从环境得到的奖赏值中自行习得;

  • 通过试错进行探索(强化学习里非常经典的探索与利用(exploration and exploitation)问题);

  • 训练过程中没有严格的标签,学习信号仅为奖赏值(往往还是延迟的奖赏)。

强化学习具有以下特点:通过试错进行学习、奖赏值往往存在延迟(例如种西瓜,我们浇水、施肥后需要很长一段时间才能知道瓜苗的长势),训练数据需要注意其对应时序(数据之间不是独立同分布),智能体的动作会影响其下一时刻获得的观测值。

此外,周老师还介绍了一些与深度强化学习有关的内容。


在刚刚上线的第二部分中,周博磊博士介绍了时序决策过程。


强化学习过程中,agent 需要与环境进行交互,环境会将动作造成的结果返还给 agent,而 agent 需要从观测中学习出能够将奖励最大化的策略。在强化学习中,算法总是希望能够让奖励极大化,但有时奖励的过程可能会被延迟。强化学习中的一个重要问题就是近期奖励和远期奖励的 trade off。

强化学习算法在策略优化方式上可分为基于值函数与基于策略的,另外又可分为无模型强化学习与基于模型的强化学习,其相互关系如下图所示:


在课程中,周博磊还演示了在 OpenAI Gym 环境中构建强化学习智能体,并在不同游戏中进行测试的过程。
在之后的课程中,周博磊还将继续介绍通过决策函数实现优化的过程。

第一节课的完整视频如下:
https://www.bilibili.com/video/av96436833/
https://www.bilibili.com/video/av96834288/

其他优质强化学习网络课程推荐

还想学其他课程?在强化学习领域,除了周博磊老师的课之外,我们还有一些优质课程要推荐给大家。

首先要提的就是 David Silver 在 UCL 讲授的强化学习入门课程。没错,就是来自 DeepMind 那个在 Nature 上发表了 DQN 论文,紧接着提出 AlphaGo 和 AlphaGo Zero,从此掀起深度强化学习研究浪潮的 Silver。他的课程深入浅出,在介绍强化学习概念的过程中穿插了很多例子,对初学者非常友好,建议作为第一个观看的入门视频课程。
课程链接:http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching.html

以上视频课程在 B 站上也有分流,感兴趣的小伙伴可自行搜索。

此外,台湾大学李宏毅教授的视频课程也非常不错,而且也是中文授课。


课程链接:https://www.bilibili.com/video/av24724071

在进阶版课程方面,我们要推荐的是两位在深度强化学习领域非常有名的科学家——Pieter Abbeel 与 Sergey Levine。他们长期致力于深度强化学习的教学、研究等工作,在其个人主页可以找到很多他们所讲授课程的链接。
  • Pieter Abbeel 个人主页:https://people.eecs.berkeley.edu/~pabbeel/

  • Sergey Levine 个人主页:https://people.eecs.berkeley.edu/~svlevine/

对于想上手实践深度强化学习的小伙伴们,以下资源是不错的选择:
  • OpenAI Spinning Up :从 VPG(Vanilla Policy Gradient) 到 TRPO(Trust Region Policy Optimization)、SAC(Soft Actor-Critic) 均有实现,关键是 OpenAI 出品,代码质量高。

    资源链接:https://openai.com/blog/spinning-up-in-deep-rl/

  • Stable Baselines:大量深度强化学习算法优质实现,文档丰富,包含 Colab Notebook,深度强化学习入坑必看 repo。

    资源链接:https://stable-baselines.readthedocs.io/en/master/

今天,你准备花多少时间用在学习上?
入门强化学习香港中文大学周博磊
2
相关数据
DeepMind机构

DeepMind是一家英国的人工智能公司。公司创建于2010年,最初名称是DeepMind科技(DeepMind Technologies Limited),在2014年被谷歌收购。在2010年由杰米斯·哈萨比斯,谢恩·列格和穆斯塔法·苏莱曼成立创业公司。继AlphaGo之后,Google DeepMind首席执行官杰米斯·哈萨比斯表示将研究用人工智能与人类玩其他游戏,例如即时战略游戏《星际争霸II》(StarCraft II)。深度AI如果能直接使用在其他各种不同领域,除了未来能玩不同的游戏外,例如自动驾驶、投资顾问、音乐评论、甚至司法判决等等目前需要人脑才能处理的工作,基本上也可以直接使用相同的神经网上去学而习得与人类相同的思考力。

https://deepmind.com/
周博磊人物

香港中文大学助理教授,MIT博士。研究兴趣:计算机视觉和机器学习,对视觉场景理解和可解释AI系统非常感兴趣。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

模式识别技术

模式识别(英语:Pattern recognition),就是通过计算机用数学技术方法来研究模式的自动处理和判读。 我们把环境与客体统称为“模式”。 随着计算机技术的发展,人类有可能研究复杂的信息处理过程。 信息处理过程的一个重要形式是生命体对环境及客体的识别。其概念与数据挖掘、机器学习类似。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

独立同分布技术

在概率论与统计学中,独立同分布(缩写为IID)是指一组随机变量中每个变量的概率分布都相同,且这些随机变量互相独立。一组随机变量独立同分布并不意味着它们的样本空间中每个事件发生概率都相同。例如,投掷非均匀骰子得到的结果序列是独立同分布的,但掷出每个面朝上的概率并不相同。

线性代数技术

线性代数是数学的一个分支,它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。向量空间是现代数学的一个重要课题;因而,线性代数被广泛地应用于抽象代数和泛函分析中;通过解析几何,线性代数得以被具体表示。线性代数的理论已被泛化为算子理论。由于科学研究中的非线性模型通常可以被近似为线性模型,使得线性代数被广泛地应用于自然科学和社会科学中。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

AlphaStar技术

AlphaStar是2019年1月DeepMind推出的打星际争霸2的AI系统。在1月的首次亮相中,DeepMind播放的比赛视频显示AlphaStar击败了两名人类职业选手TOL与MaNa,引起了业内极大的关注。DeepMind 官方博客介绍,AlphaStar 的行为是由一种深度神经网络生成的,该网络从原数据界面(单位列表与它们的特性)接收输入数据,输出构成游戏内行为的指令序列。具体来说,该神经网络使用了一个 transformer 作为躯干,结合了一个深度 LSTM 核、一个带有 pointer 网络的自动回归策略 head 以及一个中心价值基线。

围棋技术

围棋是一种策略性棋类,使用格状棋盘及黑白二色棋子进行对弈。起源于中国,中国古时有“弈”、“碁”、“手谈”等多种称谓,属琴棋书画四艺之一。西方称之为“Go”,是源自日语“碁”的发音。

OpenAI Gym技术

OpenAI Gym是用于开发和比较强化学习算法的工具包。

推荐文章
暂无评论
暂无评论~