Auto Byte

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

微信扫一扫获取更多资讯

Science AI

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

微信扫一扫获取更多资讯

高璇 李泽南参与

谷歌大脑提出MAPO:用于程序合成的策略优化方法

策略梯度方法正在获得越来越多学者的关注。来自西北大学、谷歌大脑的研究人员近日提出了内存策略优化方法 MAPO,其通过弱监督的方式在泛化程序合成和问答任务中性能超过了此前几种全监督的基准方法,该研究的论文已提交至 NIPS 2018 大会。

  • 项目代码:https://github.com/crazydonkey200/neural-symbolic-machines

神经符号机(NSM)是一种利用强化学习集成神经网络和符号表征的框架。

该框架可用于从弱监督 (如问答对) 中学习语义解析和程序合成,这比全监督 (如问答对) 更容易收集,也更灵活。应用程序包括虚拟助手、数据库的自然语言接口、人机交互等。它常被用在 Freebase 上学习语义解析器 (https://arxiv.org/abs/1611.00020) 以及数据库表的自然语言接口 (https://arxiv.org/abs/1807.02322) 上。

Google Brain 的研究人员使用内存增强策略优化 (MAPO) (https://arxiv.org/abs/1807.02322) 来训练 NSM。这是一种新的策略优化公式,它包含了一个有期望轨迹的内存缓冲器,以减少确定性环境的策略梯度估计的方差。我们还运用系统探索来优化探索和边际似然约束来加速和稳定训练。

我们实现了使用一个分布式的演示者-学习者架构,该体系结构利用多个 CPU 和 GPU 进行可扩展性训练,类似于 DeepMind 在 IMPALA 论文中介绍的 (https://arxiv.org/abs/1802.01561)。

MAPO 的环境需求:

  • Python 2.7

  • TensorFlow > = 1.7

  • 其他需要的包在 requirements.txt 中进行汇总。

研究介绍

最近,人们对将策略梯度方法应用于各种应用领域产生了极大兴趣,其中包括程序合成 [25,16,63,10],对话生成 [24,11],架构搜索 [64,66],游戏 [48,29] 和连续控制 [40,45] 等方向。简单的策略梯度方法,如增强(Reinforce),使用当前策略中的蒙特卡罗样本对期望收益进行策略上的优化。这通常会导致学习动态不稳定和样本效率变低,有时效果会低于随机搜索 [28]。

基于梯度的策略优化难点来自以下几个方面:(1) 策略梯度估计的方差较大;(2) 随机初始化策略的样本通常只会获得很小的激励,导致初始阶段的训练进度缓慢;(3) 随机策略样本不能有效地挖掘搜索空间,因为很多样本存在重复。这些问题在程序合成和机器人学 [4] 等应用程序中令人望而却步,这些应用程序涉及大量的搜索空间,但所得却很少。在这样的任务中,只有经过长时间的正确运行,才能获得好的回报。例如,在程序合成中,只有大程序空间内的少数程序可以产生正确的函数形式。然而,除非它被频繁地重采样 [25,3],不然会导致高回报轨迹的遗漏。

本文提出了一种基于离散确定性环境的策略优化的新构想,它在策略梯度框架内结合了一个有期望轨迹的内存缓冲器。它将策略梯度看作对内存中轨迹的期望和对内存外轨迹的期望的加权和。梯度估计是无偏的,在内存缓冲区的轨迹概率无法忽略的情况下,可以得到较低的方差。因为高回报的轨迹仍然留在内存中,无法被省略。为了使 MAPO 算法更有效,我们提出了三种技术:(1) 在表演者-学习者体系结构中,从内存缓冲区内外分别进行分布式采样;(2) 对内存缓冲中高回报轨迹边际进行似然约束,以在初始训练阶段引入一定偏差为代价加速训练;(3) 系统地探索搜索空间,以有效发现高回报轨迹。

我们评估了 MAPO 对自然语言弱监督程序合成的有效性 (参见第 2 节)。程序合成可以在策略优化的条件下学习泛化,同时对实际应用产生影响。在具有挑战性的 WIKI TABLE QUESTIONS[36] 基准测试中,MAPO 在测试集上的准确率达到 46.2%,远远超过了之前的 43.7% 的水平 [62]。有趣的是,在 WIKISQL[63] 基准测试中,MAPO 在没有程序监督的情况下达到了 74.9% 的准确度,超过了几个表现较好的全监督基准线。

图 1:具有系统搜索和边际似然约束的 MAPO 算法框图

图 2:离散的表演者-学习者结构框架

论文:Memory Augmented Policy Optimization for Program Synthesis with Generalization(用于泛化程序合成的内存增强策略优化)

链接:https://arxiv.org/abs/1807.02322

摘要:本文提出了内存增强策略优化 (Memory Augmented Policy Optimization, MAPO),这是一种新的策略优化方法,它结合了一个期望轨迹的内存缓冲区,以减少对离散的确定性环境的策略梯度估计的方差。该公式将期望回报目标表示为两项的加权和:对高回报轨迹内存的期望,以及对内存之外轨迹的单独期望。提出了 3 种有效的 MAPO 训练算法:(1) 采用表演者-学习者架构,从内存内部和内存外部进行分布式采样;(2) 对内存的边际进行似然约束,加速训练;(3) 系统地搜索高回报轨迹。MAPO 提高了策略梯度的样本效率和鲁棒性,特别是在有少量激励的任务中。我们从自然语言里评估了 MAPO 的弱监督程序合成,并着重泛化能力。在 WikiTableQuestions 基准测试中,我们将之前最高的精确度提高了 2.5%,达到了 46.2%,在 WikiSQL 基准测试中,MAPO 在只有微弱的监督条件下精确度达到了 74.9%,超过了几个表现较好的全监督的基准线

理论谷歌大脑策略优化NIPS 2018弱监督学习
2
相关数据
TensorFlow技术

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

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

机器人技术技术

机器人学(Robotics)研究的是「机器人的设计、制造、运作和应用,以及控制它们的计算机系统、传感反馈和信息处理」 [25] 。 机器人可以分成两大类:固定机器人和移动机器人。固定机器人通常被用于工业生产(比如用于装配线)。常见的移动机器人应用有货运机器人、空中机器人和自动载具。机器人需要不同部件和系统的协作才能实现最优的作业。其中在硬件上包含传感器、反应器和控制器;另外还有能够实现感知能力的软件,比如定位、地图测绘和目标识别。之前章节中提及的技术都可以在机器人上得到应用和集成,这也是人工智能领域最早的终极目标之一。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

强化学习技术

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

人机交互技术

人机交互,是一门研究系统与用户之间的交互关系的学问。系统可以是各种各样的机器,也可以是计算机化的系统和软件。人机交互界面通常是指用户可见的部分。用户通过人机交互界面与系统交流,并进行操作。小如收音机的播放按键,大至飞机上的仪表板、或是发电厂的控制室。

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