大纲:
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。
———————————————————