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

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

监督驾驶问题可以通过随机切片解决,这样就防止误差累加,之前伯克利的行走机器人不是这样的吗,效果很不错。

[展开全文]

目前的监督学习只是人工智能发展的一个开始,随着任务范围的扩张,无监督学习、模仿学习将会有一个新的发展。更少的人力投入,更多的数据输入,更好的泛化能力。但模仿学习还处于发展阶段,需要更多的理论和实践支持。

[展开全文]

深度学习:1)处理非结构化环境问题。在实际的场景中,我们要面对的主要是非结构化问题,即我们不能完整的观测并预测到周围的环境。

2)处理复杂的多传感器输入数据。通过深度学习能有效提取物体特征(例如图像特征)的能力,把输入的数据特征提取出来(包括高维特征和低维特征)

强化学习:1)提取特征能力差

2)算法善于做出多种决策

通过将DL和RL结合,通过端到端的深度学习提取输入特征,利用RL根据提取到的特征进一步做出决策,形成agents通过action作用于world,world得到consequence结果,通过reward的形式强化agents来得到基本强化学习的闭环过程。

 

DRL涉及到的reward的问题:如何定义奖励?如何最大化奖励?

 

端到端学习的连续决策问题:1)基础强化学习的最大化奖励问题

2)逆强化学习。通过从数据出发执行任务,从案例中反向得出奖励函数

3)迁移学习和元学习(通过过去的经验experience replay实现更好更快的学习)

4)学习如何预测以及通过预测去行动

[展开全文]

深度学习能够让machine认识世界,强化学习让machine行动。深度强化学习能够实现end to end,使得能够使得machine具有更强大的决策能力

[展开全文]

需要判定一个决定是好是坏,而不是我们采取的动作符合我们在采样中学习到的,因此就需要公式化的目标函数。

zero-one loss/log likelihood loss

建议使用0-1loss,若你的动作匹配专家,你的损失就是0;否则就是1。

需要做的界定:更标准的机器学习,即界定泛化误差。bounded generalization error。如果你看到和你的训练数据同一个分布的新状态,你的误差仍然不大于误差。

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

Tensorflow综述:

defing computation graphs

calculating gradients

创建一个会话Session:一张白纸,在上面写下一些数学操作。

sess.run(c)是一种能让数据在你创建的图中进行流动的操作。

placeholder:shape=[None],你只能让你所有维度中的一个等于None。shape=[None, None]时,无法得到正确的结果。因为,需要知道,在运行过程中,矩阵乘法有多大。通常把None用在第一个维度上,作为数据的批量大小。

例子:

a是列向量,b是行向量。当运行a+b时,得到一个3X3的向量作为输出。tensorflow做了被称为广播操作的处理。broadcasting自行进行了维度匹配。通过复制两个3x3的矩阵,然后再将它们加在一起,以使两个向量的维度匹配。

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

create 变量:神经网络参数

tf.get_variable可以和这个被称为重复利用的机制(tf.global_variables)良好地协同运作。如果你想多次创建一个计算图,但却想使用相同的变量,这就将使得这些变量能有更安全的内部机制。

实际上,变量也是一个张量tensor。

当训练自己的模型的时候,变量只是略有不同被对待处理而已。

sess.run的计算顺序不重要。

接受一个批次的输入数据,一直运行下去,到最后计算损失(error,均方误差),然后返回,进行反向传播,计算梯度,并利用梯度值来更新参数,所以完成了一步梯度下降。

每次调用sess.run时,就调用了一个优化器,它就会做一步梯度下降。

 

 

 

 

 

 

 

 

 

[展开全文]

大纲:

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,以及和深度学习结构的耦合,最后还有数据(场景)的理解。

[展开全文]

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

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

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

[展开全文]

与机器学习向深度学习推进一样,强化学习迈向深度强化学习,目标是为了实现端对端决策。

这部分对无人驾驶决策控制块很有启发,值得深入研究

如果两端距离太远,导致太复杂,会失败。因为最开始随机碰到这个奖励的概率太低,狮子猎杀羚羊的例子说明这个问题:如果设置吃到羚羊为最终奖励,那狮子肯定会饿死。

 

 奖励是什么很重要

 

[展开全文]

supervised learning and imitation learning

P(a|o)

P(a|s)

状态s1,s2,s3...之间独立

或依赖于前一状态(马尔可夫链)

imitation learning

behavior cloning: 自动驾驶领域,学习人类的观察o和驾驶方式a

这个方法不好:误差积累

NVIDIA用三个摄像头互相调整转向角度

 

解决分布不匹配问题?

 

人工引入噪音,让算法去纠正它

 

DAgger:Dataset Aggregation

goal:collect training data from P(pi) instead of P(data)

1、train P(pi) from human data D

2、run P(pi) to get dataset D(pi)

3、label D(pi) with actions a(t)

4、aggregate D=D+D(pi)

 

无法拟合专家行为的情况

1、非马尔可夫行为(不管现在的状态,有自己的计划)

2、多模型行为(output mixture of Gaussians, latent variable models, Autoregressive discretization)

output mixture of Gaussians

模型输出多个均值和方差

 

latent variable models

加入额外的输入(随机数)

 

autoregressive discretization

 

总结:

一些技巧(左右摄像头)

稳定的趋势分布

一些策略(DAgger)

更好的模型

 

other topics in imitation learning :

structured prediction

inverse reinforcement learning

 

imitation learning's problem:

humans' data finite(数据有限)

human are not good at providing some kinds of actions(一些数据不好得到)

能自主学习吗?

c(s(t), a(t)) cost function

r(s(t), a(t)) reward function

数值上互为相反数

 

 

总损失的期望值

 

就算概率足够小,但路径足够长,损失也会很大

改变假设,使得同分布,收敛于episio*T

 

[展开全文]

本节课内容:

  • 序列决策问题的定义
  • 模仿学习:用于决策问题的监督学习
  • 模仿学习的典型算法
  • 模仿学习的缺陷

一些标记:输入信息observation

输出信息action 

参数化的模型即策略

状态

s与o的区别在于,o为观察得到的信息,如一副图片等;s为环境的物理信息表示,如位置等。

状态转移方程

马尔可夫性质:如果当前状态精确可知,则未来的状态相对过去的状态独立。

行为克隆behavior cloning:将人类数据作为训练数据进行监督学习

缺陷:微小误差会演变为巨大误差

Nvidia方法:增加左右两个摄像机学习调整纠偏

一种方法:从一个稳定的控制器stabilizing controller中进行监督学习

DAgger算法:使人类数据p data等于策略行为数据,运行pi theta 然后人类为其加入标签

  1.  从人类数据D中训练出pi theta
  2. 运行pi theta得到数据集D pi(观察数据)
  3. 让人来为D pi加入actions
  4. 整合D与D pi
  5. 重复训练

缺陷:很多任务让人来打标签并不自然,也需要很多资源

对于非马尔科夫决策:利用之前的所有观察信息

使用如RNN的算法

对于多模型行为:

  1. 输出混合高斯分布
  2. 使用隐变量模型
  3. 自动回归离散化

混合高斯分布:输出N个均值N个方程,也叫混合密度网络

隐变量模型:在末端加入一个随机的噪声,利用噪声来选择输出

自动回归离散化:对于高维连续的行为空间,分步进行抽样,每步离散一个维度的分布,并将抽样的结果作为下一个维度的输入。

这样网络只是线性的增长而不是指数的增长

例子1:无人机穿越森林

例子2:利用LSTM和混合高斯分布控制机器人

模仿学习的问题:

  1. 人类能提供的数据是有限的
  2. 人类并不擅长提供某些行为
  3. 人类是可以自学的

成本函数

奖励函数

关于成本函数的分析:

假设策略pi发生错误的概率小于等于epsilon

都取最大值epsilon

则T个时步的损失为:

数量级为

更强的假设:对于与训练数据同分布的数据,错误上限说epsilon。意为即使数据不严格与训练数据一样,也认为其上限为epsilon。

 对于DAgger算法,则p train看作和p theta相同

则损失的期望为

 

[展开全文]

1.深度强化学习,是引入深度学习技术的强化学习技术

2.深度强化学习,注重与环境交互,在和环境交互中持续获得智能

3.深度强化学习,不必从模拟高级成人智能开始,可以先模拟低级儿童智能

[展开全文]

需要机器学习基础和强化学习相关基础,因为主要是面向博士生的课程。课程默认Tensorflow作为编程框架,自动微分课程

 

 

[展开全文]

进入小组观看课程

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

2018秋季CS294-112深度强化学习

成员:1681动态:2704

点击观看