天天看点

邓侃:深度强化学习“深”在哪里?

当今世界,科技发展日新月异。即便是业界中人,往往也搞不清同行们的动态。所以,隔三差五需要有人梳理业界的动态。 

“deep reinforcementlearning: an overview” [1] 这篇论文的作者,梳理了深度学习与增强学习相融合的最新动态。

这是一篇苦心之作,

梳理了该领域各个学派的基本思路及其区别。

罗列了各种测试平台,目前主要是各种游戏,之所以用游戏来做测试,是因为容易采集数据。

值得读的论文,罗列了各个学派的重要论文。

 枚举了若干重要的应用,包括游戏,重点介绍了下围棋的 alphago,教无人机做特技,教机器人行走和跳跃,机器翻译和对话,智能医疗诊断,深度学习系统的自动设计等等。

论文:深度强化学习概览

作者:yuxi li,加拿大阿尔伯塔大学(university of alberta)计算机系的博士

邓侃:深度强化学习“深”在哪里?

摘要

本文概述了最近取得许多令人振奋的成果的深度增强学习(rl)。我们从深度学习和增强学习的背景开始说起,并介绍了各种测试平台。然后我们讨论了 deep q-network(dqn)及其扩展,异步方法,策略优化,激励,以及规划。接着,我们讨论了注意力和记忆,无监督学习,以及学习学习(learning to learn)。我们还讨论了 rl 的各种应用,包括游戏(尤其是 alphago),机器人,语音对话系统(即,chatbot),机器翻译,文本序列预测,神经架构设计,个性化网络服务,医疗保健,金融,以及音乐自动生成等。我们也提了一些尚没有综述的主题/论文。本论文以一系列值得阅读的 rl 重要论文的列举结束。

什么是增强学习,为什么需要引入深度学习?

不妨把机器学习看成二维空间,第一个维度是问题,第二个维度是方法,用什么方法来解决问题。

大致来说,机器学习想解决两大类问题,模拟和决策。

1.   模拟:

给定一系列输入 x 和输出 y,模拟两者之间的函数关系 y = f(x)。

预测是函数模拟的一个小类,譬如根据各种经济因素 x,预测股票价格。

分类是另一个小类,譬如给定一张人像照片 x,识别照片中的人物是不是y。

2.   决策:

先构造三元组,包括状态 state、行动action、收益 reward。

序列是一连串三元组

邓侃:深度强化学习“深”在哪里?

输入若干序列,作为训练数据。

决策的任务,是分析这些训练数据,发现最优行动策略

邓侃:深度强化学习“深”在哪里?

,目的是获得最大的收益

邓侃:深度强化学习“深”在哪里?

邓侃:深度强化学习“深”在哪里?

类似于金融折现率,未来的收益,折算成现钞,得打个折扣。远期的折扣,比近期的折扣大,这就是

邓侃:深度强化学习“深”在哪里?

的意义。

决策的应用很多,下棋、开车、问答、医疗诊断、机器人自主行走跳跃等等,都是决策问题。

逻辑回归 logistic regression、向量机 svm、决策树decision tree 等等是传统的机器学习的方法,主要用于解决模拟问题。

深度学习 deep learning 是最新的方法,起先也主要用于解决模拟问题。

增强学习 reinforcement learning,譬如 q-learning 算法,是解决决策问题的传统方法。

为什么要用深度学习这个新方法解决决策问题?

目的无非是,1. 解决更复杂的决策问题,2. 学得更准,3. 学得更快,4. 用更少的训练数据。

传统的增强学习存在什么问题?

卢浮宫馆藏美术作品众多,经验丰富的导游,会帮游客规划一条参观路径,走最短的路,看最多的名画。

如何规划最佳参观路径,是一个决策问题。传统的方法,是增强学习 reinforcement learning。

简单而蛮力的办法,是找一张卢浮宫地图,尽可能罗列所有可能的参观路径,评价每一种路径的总收益。

这是 monte carlo tree search (mcts) 的思路。

mcst 简单有效,但是缺陷是计算成本高。

下围棋的 alphago,用 mcst 算法来精算局部的对弈策略。

但是,不能用这个方法来学习整盘棋的策略,因为如果要穷举整盘棋的所有对弈策略,数量级大概是

邓侃:深度强化学习“深”在哪里?

。单机搞不定,云计算也搞不定。

如何降低计算量?思路是不必浪费精力去为槽糕的路径评估收益。问题是,如何甄别槽糕的路径?

不妨换一个思路。不会有观众故意跟自己过不去,专挑路程长、名画少的槽糕路径去参观卢浮宫。

我们不必关心哪条路径是槽糕的路径,我们只需要研究其他观众曾经走过的路径,就不会偏离最佳的路径太远。

什么是最佳路径?两个要素,

1. 当前收益大:每走一步,多半能看到一副名画。

2. 潜在的未来收益大:每走一步,离其它名画更近。

用数学公式来表达,就是,

邓侃:深度强化学习“深”在哪里?
邓侃:深度强化学习“深”在哪里?

的专业名称是行动价值 action value。

用价值取代收益,既着眼当前收益,又兼顾未来潜力。

即便当前没有收益,譬如爬楼梯时一幅作品都看不到,但是楼上的展厅有名画,未来潜力巨大,爬楼就是明智的行动。

为了估算当前的行动价值

邓侃:深度强化学习“深”在哪里?

,先得估算下一步的潜在价值

邓侃:深度强化学习“深”在哪里?

为了估算下一步的潜在价值

邓侃:深度强化学习“深”在哪里?

,先得估算再下一步的潜在价值

邓侃:深度强化学习“深”在哪里?

重复以上步骤,直到走出卢浮宫出口。这个办法,就是 q-learning算法。

q-learning 算法是传统增强学习中最重要的算法。除此之外,有若干变种。

但是无论哪一种变种,面对复杂的问题,传统的增强学习算法都难以胜任。

如果状态

邓侃:深度强化学习“深”在哪里?

不仅仅是位置,而且也包含每幅名作附近的拥堵程度,参观卢浮宫的路径规划就变得更复杂了。

如果行动

邓侃:深度强化学习“深”在哪里?

不仅仅是前进、后退、左转、右转,而且也包括速度,问题就更复杂了。 

如果收益

邓侃:深度强化学习“深”在哪里?

不仅仅取决于作品的知名度,而且也包括观众的品味, 问题就更复杂了。

解决复杂的决策问题,是增强学习与深度学习融合的一大动机。

增强学习与深度学习融合的切入点,是用结构复杂的神经网络,来估算增强学习中的行动价值

邓侃:深度强化学习“深”在哪里?

、收益

邓侃:深度强化学习“深”在哪里?

、策略

邓侃:深度强化学习“深”在哪里?

等等。

深度增强学习深在哪里?

1. 用深度学习来估算价值

邓侃:深度强化学习“深”在哪里?

deep q-network (dqn),  double dqn , dueling architecture 等等算法,都是这个思路。

先根据训练数据,来计算当前的行动价值,

邓侃:深度强化学习“深”在哪里?

然后用深度神经网络,估算

邓侃:深度强化学习“深”在哪里?

,如果估算得完全准确,那么

邓侃:深度强化学习“深”在哪里?

如果两者之间有差距,那么就不断调整深度神经网络的参数,缩小两者的差距,这就是深度增强学习的训练过程。

这个办法,就是 deepq-network dqn,及其变种 double dqn 的基本原理。

dqn 的计算成本较大,为了学得更快。决斗模型 dueling architecture 提议,拆解

邓侃:深度强化学习“深”在哪里?

邓侃:深度强化学习“深”在哪里?

拆解为

邓侃:深度强化学习“深”在哪里?

,其中

邓侃:深度强化学习“深”在哪里?

是每个状态的价值,而

邓侃:深度强化学习“深”在哪里?

是指在状态

邓侃:深度强化学习“深”在哪里?

下采取行动

邓侃:深度强化学习“深”在哪里?

后,价值的增量。

dqn 算法用一个规模较大的神经网络,去模拟

邓侃:深度强化学习“深”在哪里?

,训练过程的计算成本高。

而决斗架构 duelingarchitecture 用两个规模较小的神经网络,分别去模拟

邓侃:深度强化学习“深”在哪里?

邓侃:深度强化学习“深”在哪里?

,从而大大降低了训练过程的计算成本。

2.  用深度学习来估算策略

邓侃:深度强化学习“深”在哪里?

dpg (deterministic policygradient),deep dpg,gps (guided policy search),trpo (trust region policy optimization) ,pgq 等等算法,都是这个思路。

dpg 把增强学习的训练过程,类比成演员和评委的互动。

dpg 用一个神经网络 actor,去模拟策略

邓侃:深度强化学习“深”在哪里?

用另一个神经网络 critic,评估使用某种策略后的行动价值

邓侃:深度强化学习“深”在哪里?

选定了策略 π 后,在每一种状态,actor 都会选择固定的行动,所以,

邓侃:深度强化学习“深”在哪里?

正因为如此,训练评委神经网络 critic时,只需要对状态

邓侃:深度强化学习“深”在哪里?

做梯度下降 (gradient descent),不仅计算量小,而且能够解决复杂的增强学习问题。

deep dpg 在此基础上,做了一些改进。尤其是把训练数据回放,并且每次训练时,柔和地改进网络参数。

回放和柔和改进,目的是为了既不增加训练数据的数量,又提高训练的稳定性。

3. 用深度学习来估算收益

邓侃:深度强化学习“深”在哪里?

某些应用场景的收益

邓侃:深度强化学习“深”在哪里?

,无法用简单的方式表达,譬如模仿书法家的字体风格,或者模仿某位飞行员的特技飞行动作。

反向增强学习 inverse reinforcementlearning,小样本学习 one-shot learning 等等算法,针对这类模仿问题,做过有益的尝试。

生成对抗网络,generative adversarialnetworks (gans),提供了新思路。

gan 主要由两个神经网络构成,

1.   生成模型generator,从训练数据中猜测这些样本的数据分布,并伪造数据。

2.   鉴别模型discriminator,识别哪些数据是真实的训练数据,哪些是生成模型伪造的假数据。

两个模型不断对抗,使得生成模型伪造的数据越来越像真的,而鉴别模型的识别能力越来越精准。

对抗的结果,是生成模型对数据分布的猜测,越来越精准。

模仿,是增强学习的一个子领域。

把 gan 应用于增强学习,将是一大热点。  

4. 融合

dqn 用深度学习来估算价值函数

邓侃:深度强化学习“深”在哪里?

,dpg 用深度学习来估算策略函数

邓侃:深度强化学习“深”在哪里?

,gan 用深度学习来估算难以言说的收益函数

邓侃:深度强化学习“深”在哪里?

asynchronous advantageactor-critic (a3c) 算法,试图把模拟价值函数

邓侃:深度强化学习“深”在哪里?

的决斗架构,与模拟策略

邓侃:深度强化学习“深”在哪里?

的演员-评委模型,外加多核并行计算,融合在一起。

differentiable neuralcomputer (dnc) 不纠结价值函数

邓侃:深度强化学习“深”在哪里?

和策略函数

邓侃:深度强化学习“深”在哪里?

的细节,而是把它们看成黑盒子的内部构成。

dnc 用 lstm 来分析训练数据,把分析结果保存在 lstm 外部的存储空间。

lstm 分析结果是一组数字向量,数字向量的物理意义很隐晦,如同表达生命特征的 dna,但是它们包含了

邓侃:深度强化学习“深”在哪里?
邓侃:深度强化学习“深”在哪里?

的内容。

虽然数字向量的物理意义很隐晦,但是只要黑盒子能够做出正确的决策,就是好盒子。

dnc 的论文作者,用这个技术来玩积木游戏,来规划伦敦地铁任何两站之间的最佳换乘路径,效果很好。

黑盒子能不能完成更复杂的任务?这是吊足观众胃口的悬念。

继续阅读