首页 AI学术青年与开发者社区

【中英字幕】伯克利大学 2018 年秋季 CS 294-112 深度强化学习

开课时间:2018年12月20日
开课时长:26讲

大纲:

1、sequential decision problems

从监督学习到序列决策

2、imitation learning

3、关于深度模仿学习的case

 

Terminology & notation

O:input/observation

S:state(控制论x)

A:output/action 随机分类值,1到n(控制论u)

让我联想到了现代控制理论

在这里,S和O的区别是,S是这个世界背后隐含的状态,O指的是所观察到的图片像素,即表象。

转移函数的定义。

s1 s2 s3:如果你精确地知道s2,那么知道s1或者更早的信息,并不能帮助你预测s3,也无法改进你的决策。此时s3与s1是独立的。因为s2的知识就是你进行预测时,所需要的全部。

结论:如果你能直接观察A,那么知道当前的状态就足够了,知道过往状态对问题并无帮助;如果你在获得O,那么之前的观察结果就可能给你额外的信息。s3仅仅条件依赖于s2,该属性即马尔科夫性质。

——————————————————

imitation learning:

自动驾驶:

不可行:最简单的监督学习方法:behavior cloning,存在偏移问题。如果你有足够多的数据,你可以覆盖Pdata,监督学习的泛化告诉我们,如果我们的数据都是来自P数据,那么我们的误差和P数据是有界的。

怎样能使这个方案可行呢?即,使得

Pdata(o)=Ppi theta(o)

与其把右边那一项改得完美无缺,不如改变左边的那一项,可以改变数据集,消除数据集分布和滑动的分布不一致问题。

这就是DAgger:Dataset Aggregation算法

这个算法很巧妙!!!有点像控制理论的思路。但是这个策略需要在期间,依赖人去给action的好坏打标签。

————————————————————

怎样利用whole history:CNN网络

非马尔科夫行为:不想将所有的数据都传输到前向卷积神经网络中,这样会面临大量的数据通道,大量的weights。

因此,需要设计一个新的神经网络。共享所有卷积编码器的权值。LSTM cells work better。

多模型行为:使用高斯分布实现。平均平方误差是高斯分布的对数概率。若使用平均平方误差,即使用了高斯分布。

如何解决:

1、output mixture of Gaussians

N个均值,N个方差。且对所有的分布都需要有一个标量权重。所有标量的总合为1(softmax)。混合密度网络,对多模型分布的简单设计。

适用:不能用有限数量的分布元素来表示任意的分布。在低维度的情况下,假设你有一个或者两个维度的行为决策,这个方法将会非常奏效。若你有非常高维度的行为决策,那么这个方法就会非常脆弱。

2、latent variable models使用隐变量模型

复杂,但用于学习多模型分布时,应用广泛。

输出不变,仍然以一种像单高斯分布模型的简单形式存在;但是给神经网络在底部接入额外的输入(随机数)。给神经网络一些随机源,这样就可以利用这些随机性来训练网络,以实质地改变输出的分布。

神经网络是一个普适的函数逼近器,它可以把噪声转换为在输出时的任何分布。

利用噪声,呈现复杂的分布。

3、自动回归离散化。实现简单。

离散:softmax

连续动作决策:若你离散化的是高维度的连续变量,就得面对维数灾难了。两个维度的决策,很好离散化;但若变成十个维度呢?你将面对很多不同维度的离散化数值,很有可能会用尽内存。

自动回归离散化通过一次只离散化一个维度来实现。1)先处理第一个维度,对其离散化并使用softmax,从分布中采样,得到行为决策的第一个维度结果。2)给其他神经网络这个结果。结合我们从第一个维度的所有采样以及第二个维度的条件,来预测一个离散化结果。然后重复。直到对所有维度都完成了采样。

这里的维度是线性增长,并不是维数灾难,维数灾难指的是指数型增长。

——————————————————

模仿学习:

飞行;机器人控制。

structured prediction:机器翻译;

逆强化学习

——————————————————

模仿学习的问题:

1)人们需要给模拟学习提供数据,但是数据是有限的:deep learning在数据充足的时候效果最好。效果与数据正相关。

2)人们在有些任务上,不擅长提供决策。

3)人们可以自动学习。机器是否也可以?通过自身经验获得无限的数据;持续学习以获取持续改善。

——————————————————

在模仿学习中,目标很简单,只需要复制人们示范的。但若是自主学习,目标则不同。自主学习需要构建cost function or reward function。

———————————————————

 

 

 

 

 

 

 

[展开全文]

如何构建智能机器

1:要能够不断的学习

2:每个模块有一个漂亮的算法

为什么使用深度强化学习来构建智能机器

1:深度部分能够处理复杂的感官输入,比如图像,声音等

2:深度部分也能够模拟任意复杂的函数

3:强化部分提供理论数学基础,为选择行为提供理论支持

 

 

 

 

    

[展开全文]

Elements of RL Systems
•Historyis the sequence of observations, action, rewards Ht=O1;R1;A1;O2;R2;A2;:::;O t¡1;R t¡1;A t¡1;O t;R t H t=O1;R1;A1;O2;R2;A2;:::;O t¡1;R t¡1;A t¡1;O t;R t •i.e. all observable variables up to time t •E.g., the sensorimotor stream of a robot or embodied agent •What happens next depends on the history: •The agent selects actions •The environment selects observations/rewards •Stateis the information used to determine what happens next (actions, observations, rewards) •Formally, state is a function of the history St=f(Ht) St=f(Ht)
Elements of RL Systems •Policy is the learning agent’s way of behaving at a given time •It is a map from state to action •Deterministic policy a=¼(s) a=¼(s) •Stochastic policy ¼(ajs)=P(At=ajSt=s) ¼(ajs)=P(At=ajSt=s)
Elements of RL Systems •Reward •A scalar defining the goal in an RL problem •For immediate sense of what is good
•Value function •State value is a scalar specifying what is good in the long run •Value function is a prediction of the cumulative future reward •Used to evaluate the goodness/badness of states (given the current policy) v¼(s)=E¼[Rt+1+°Rt+2+°2Rt+3+:::jSt=s] v¼(s)=E¼[Rt+1+°Rt+2+°2Rt+3+:::jSt=s]
Elements of RL Systems
•AModelof the environment that mimics the behavior of the environment •Predict the next state
•Predicts the next (immediate) reward Pa ss0=P[St+1=s0jSt=s;At=a] P a ss0=P[St+1=s0jSt=s;At=a] Ra s=E[Rt+1jSt=s;At=a

[展开全文]

content:

1. Sequential decision problem;

2. Imitation learning: supervised learning for decision making;

3. Strengths and weaknesses of Imitation learning;

symbol:

pi: distribution

theta: the parameters of a distribution

pi(a|o) partially observed, just observation

pi(a|s) fully observed, underlying state of the world

sequential decision:

conditional independence, given s2, we have a2, you can not get more precise information even if you know s1.

DAgger:

goal: collect traing data from pi_theta(a|o);

run pi_theta(a|o) to get o;

label dataset o;

aggregation and repeat;

DAgger addresses the problems of distributional drift.

Problem:

1. non-markovian behavior 

2. multimodal behavior

Solution:

1. RNN neural network to use history information. behavior depends on  past observations.

2. Output mixture of Gaussians

3. Latent variable models

4. Autoregressive discretization

Imitation Learning:

imitation learning can sove sequential decision problem, however, due to distribution mismatch problem, sometime it is insufficient.

Some topics in imitation learning:

structured prediction

inverse reinforcement learning

Maths behind it, need books, paper and pen!

[展开全文]

core points:

1. imitation learning

2. policy gradients

3. q-learning and actor-critic aglorithm

4. model-based reinforement learning

5. model-free reinforement learning

reinforement learning:

input->features->linear policy or value function->action

deep reinforement learning:

input-> multi-layer features ->action

robotic control pipeline:

observation->state estimation->modeling and prediction-> planning-> low-level control->controls

RL do well:

1. domine governed by simple, known rules

2. learn simple skills with raw sensory inputs, given enough experience

3. learn from imitating enough human provided expert behavior

RL challenges:

1. deep RL method are slow

2. transfer learning in deep RL to reuse past knowledge

3. not clear what the reward function should be

4. not clear what  the role of  prediction should be

 

[展开全文]

第一讲主要为绪论性内容。

尽管强化学习在机器人控制,游戏等领域有了很不错的应用,但核心的两点内容仍无法解决:训练速度,奖励函数形式。现有的很多研究基于人工设计好的状态,以及实物场景不现实的奖励函数,很难有有效应用场景。期待后续章节的介绍。

[展开全文]

课程概览

1:从监督学习到制定决策

2:model-free的算法,如价值学习策略,策略梯度,演员批评家策略等

3:高级的模型学习和预测

4:已知最优策略与探索策略

5:迁移学习、多任务学习、及元学习

6:开放问题、研究讲座、客邀讲座

 

强化学习第一课

1:如何建立一个智能机器

强化学习为非结构化环境中的学习提供了一种形式。代理与环境之间通过决策与反馈进行学习。

2:什么是深度强化学习,为何关注它

深度学习提供了端到端的训练学习,好处是不用人的手动调节,本身是自适应的目标最优化的过程。

强化学习在现实中的限制为:找到正确的特征使得增强学习算法表现优异。

3:端到端学习对决策的意义

端到端的学习节省时间,不用人工手动调节。

深度模型使强化学习算法可以端到端的解决复杂问题。 

4:为何是现在

深度学习、强化学习、计算机算力已经取得了突破性的进展。 

5:深度强化学习的基本概念

深度学习部分:处理复杂的感知输入。

强化学习部分:选择复杂的行动。

 

 

[展开全文]

第二课:监督学习与模仿学习

课程概览:

1、 序列决策问题的定义

2、模仿学习:监督学习在决策制定的应用

    a.直接模仿是否有效

    b.如何使其长期有效

3、近期在深度模仿学习中的几个学习案例

4、模仿学习中忽略的部分

今天的学习目标:

1、理解定义域标记

2、理解基础的模仿学习算法及它们的优缺点

术语与符号

稍后课程会介绍马尔科夫链的定义;

模仿学习

案例:通过视频记录的道路信息和司机对方向盘的控制进行监督学习,使模型学会驾驶,这叫做行为克隆。

效用: 对于序列决策问题,刚开始误差很小,但是随后出现了未出现的状态,然后经过长时间的决策误差加大。解决方案:收集足够多的数据,能覆盖所有的情况和道路。

其他解决方法:

1、三个相机(左中右),处理偏移问题(微小误差)问题。左右相机处理微调问题,中间相机控制实际方向。

2、DAagger:Dataset Aggregation

使Pdata(Ot)=Ppi(Ot),策略:改变Pdata,使自身数据更灵活有效聪明,消除数据集的分布不一致性。方法:跑一下pi theta采样,给采集的数据标记,收集数据是一个互动的过程。

步骤:

    1、收集数据集,并使用pi theta训练,得           到新的数据集;

    2、让专家给每个数据标记,得到标签;

    3、数据聚合,然后不断重复上述步骤;

存在的问题:数据量大、需要大量时间标注;

拟合专家数据失败的原因

1、无马尔科夫行为;

2、多模型行为;

模仿学习概括

有时候无效:数据分布不匹配问题

有时候很有效:添加数据、设计更好的结构等

学习案例

1、无人机跟随路径飞行

2、使用LSTM模仿--机器人控制任务

模仿学习的问题

1、人类需要提供数据,但数据是有限,而当数据充足时,深度学习的效果更好;

2、人类并不善于提供多样化的行为动作;

3、人类可以自动学习,而机器不行;

 

 

[展开全文]

可以看到,特征的选择已经由深度学习端到端的链接解决了,可能更重要的问题是如何设置action和reward,以及和深度学习结构的耦合,最后还有数据(场景)的理解。

[展开全文]

第一节课主要就是例行介绍啦

主要是介绍深度强化学习可以用来做什么

很接地气的第一节课, 可以快速融入新课程的学习, 引发学生兴趣

[展开全文]

进入小组观看课程

以下为该课程相关学习小组,您可以选择任意小组加入学习课程并交流