分离特征抽取与决策制定,如何用6-18个神经元玩转Atari游戏

本论文提出了一种在复杂的强化学习设置中同时又独立地学习策略和表征的新方法,通过基于向量量化和稀疏编码的两种新方法来实现。这使得仅包含 6 到 18 个神经元的网络也可以玩转 Atari 游戏。

在深度强化学习中,大型网络在直接的策略逼近过程中,将会学习如何将复杂的高维输入(通常可见)映射到动作。当一个拥有数百万参数的巨型网络学习较简单任务时(如玩 Qbert 游戏),学到的内容中只有一小部分是实际策略。一个常见的理解是网络内部通过前面层级学习从图像中提取有用信息(特征),这些底层网络将像素映射为中间表征,而最后(几)层将表征映射至动作。因此这些策略与中间表征同时学习得到,使得独立地研究策略几乎不可能。

表征学习和策略学习分离方能独立地研究二者,这潜在意义上能够使我们对现存的任务及其复杂度有更清晰的理解。本论文就朝着这个目标前进,作者通过实现一个独立的压缩器(即特征提取器)将特征提取和决策分离开来,这个压缩器在策略与环境互动中所获取的观测结果上进行在线训练。将网络从构建中间表征中解放出来使得网络可以专注于策略逼近,从而使更小的网络也能具备竞争力,并潜在地扩展深度强化学习在更复杂问题上的应用。

该论文的主要贡献是提出一种在复杂的强化学习设置中同时又独立地学习策略特征的新方法。这通过基于向量量化(Vector Quantization,VQ)和稀疏编码(Sparse Coding,SC)的两种新方法来实现,研究者将这两种方法分别称为「Increasing Dictionary VQ」和「Direct Residuals SC」。随着训练继续、网络学习到更复杂的策略,网络与环境的复杂互动带来更多新的观测结果;特征向量长度的增长反映了这一点,它们表示新发现的特征。类似地,策略通过可解决维度增加问题的指数自然进化策略(Exponential Natural Evolution Strategy)进行训练。实验结果显示该方法可高效学习两种组件,从而仅使用 6 到 18 个神经元神经元数量比之前的实现少了两个数量级)组成的神经网络就可以在多个 ALE 游戏中获得当前最优的性能,为专用于策略逼近的深度网络研究奠定了基础。

图 1:系统图示。在每个生成阶段,优化器(1)为神经网络控制器(3)生成权重集合(2)。每个权重都是偶发地(episodically)通过环境进行评估(4)。在每一步,环境将观测结果(5)发送到外部压缩器(6),压缩器生成紧凑编码(7)作为网络输入。压缩器为训练集(9)选择观测结果(8)。在该 episode 结束时,环境向优化器返回适应度分数(累计奖励,10)进行训练(神经进化,11)。压缩器训练(12)发生在生成阶段。

3 方法

该系统包括四个主要部分:1)Environment(环境):Atari 游戏,采取动作、提供观测结果;2)Compressor(压缩器):从观测结果中提取低维代码,同时系统其他部分执行在线训练;3)Controller(控制器):策略逼近器,即神经网络;4)Optimizer优化器):学习算法,随着时间改进网络的性能,在本研究案例中优化器采用的是进化策略。

图 2:训练中心点。在 Qbert 游戏运行期间,使用 IDVQ 训练多个中心点。注意第一个中心点如何捕捉游戏的初始状态(背景),其他中心点将特征构建为后续残差:发光立方体、avatar 和敌人。

5 结果

研究者在 10 个 Atari 游戏上展示了对比结果,这十个游戏选自 ALE 模拟器上的数百个游戏。选择结果依据以下筛选步骤:1)OpenAI Gym 上可获取的游戏;2)与 [210, 160] 具备同样观测分辨率的游戏;3)不包含 3d 视角的游戏。

表 1:本研究提出方法在 Atari 游戏样本上与 HyperNeat [HLMS14] 和 OpenAI ES [SHC+17] 的对比结果。所有方法都是从头开始在原始像素输入上训练的。HyperNeat 列的结果使用的网络具备一个包含 336 个神经元的隐藏层。OpenAI ES 列中的结果使用两个包含 64 个神经元的隐藏层。IDVQ+XNES 列的结果未使用隐藏层。列 # neur 表示单个(输出)层中使用的神经元数量。粗体数字表示设置条件下最好的分数,斜体数字表示中间分数。

论文:Playing Atari with Six Neurons

论文地址:https://arxiv.org/abs/1806.01363

摘要:Atari 游戏上的深度强化学习直接将像素映射至动作;本质上,深度神经网络同时负责提取有用信息和基于此进行决策。为了设计专用于决策的深度网络,我们提出了一种新方法,独立但同时学习策略和紧凑状态表征,以得到强化学习中的策略逼近。状态表征通过基于向量量化和稀疏编码的新算法生成,状态表征与网络一道接受在线训练,且能够随着时间不断扩大表征词典规模。我们还介绍了允许神经网络能和进化策略处理维度变化的新技术。这使得仅包含 6 到 18 个神经元的网络可以学习玩 Atari 游戏,性能可以达到甚至偶尔超过在大两个数量级的深度网络上使用进化策略的当前最优技术。

理论表征学习模仿游戏深度强化学习
相关数据
深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

表征学习技术

在机器学习领域,表征学习(或特征学习)是一种将原始数据转换成为能够被机器学习有效开发的一种技术的集合。在特征学习算法出现之前,机器学习研究人员需要利用手动特征工程(manual feature learning)等技术从原始数据的领域知识(domain knowledge)建立特征,然后再部署相关的机器学习算法。虽然手动特征工程对于应用机器学习很有效,但它同时也是很困难、很昂贵、很耗时、并依赖于强大专业知识。特征学习弥补了这一点,它使得机器不仅能学习到数据的特征,并能利用这些特征来完成一个具体的任务。

神经网络技术

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

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

强化学习技术

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

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

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