近日,DeepMind在Nature上公布了最新版AlphaGo论文,介绍了迄今为止最强的围棋AI:AlphaGoZero。AlphaGoZero不需要人类专家知识,只使用纯粹的深度强化学习技术和蒙特卡罗树搜索,经过3天自我对弈以100:0击败上一版本AlphaGo。AlphaGoZero证明了深度强化学习的强大能力,这一成果也势必将推动该领域的进一步发展。
深度强化学习和AlphaGo
在人工智能领域,感知和决策能力是衡量智能的关键指标。近几年深度学习和强化学习的发展使得直接从原始的数据中提取高水平特征进行感知决策变成可能。深度学习起源于人工神经网络。早期研究人员提出了多层感知机的概念,并且使用反向传播算法优化多层神经网络,但是由于受到梯度弥散或爆炸问题的困扰和硬件资源的限制,神经网络的研究一直没有取得突破性进展。随着计算资源的提升和相应算法的发展,深度学习在人工智能领域取得了一系列重大突破,包括语音识别、图像识别及检测、自然语言处理等。深度学习由于其强大的表征能力和泛化性能受到了越来越多研究人员的关注,相关技术在学术界和工业界都得到了广泛的研究。
强化学习是机器学习中的一个重要研究领域,它以试错的机制与环境进行交互,通过最大化累积奖赏来学习最优策略。强化学习的框架如图1所示。强化学习智能体在当前状态st下根据策略π来选择动作at。环境接收该动作并转移到下一状态st+1,智能体接收环境反馈回来的奖赏rt并根据策略选择下一步动作。强化学习不需要监督信号,在模型未知的环境中平衡探索和利用,其主要算法有Q学习,策略梯度等。Q学习是强化学习最重要的算法之一,其主要更新公式为:
其中α是学习率,γ是折扣因子,方括号内表示的是TD误差。强化学习由于其优秀的决策能力在人工智能领域也得到了广泛应用,代表工作TD-Gammon。
图1.强化学习框架图
在通用人工智能领域,感知和决策能力都是衡量一个智能体所蕴含智能的关键指标。早期成功的强化学习应用案例主要依赖于组合人工特征和价值函数来实现,随着深度学习的进展,直接从原始的高维数据中提取特征变成可能。深度学习具有较强的感知能力,但是缺乏一定的决策能力;而强化学习具有决策能力,对感知问题束手无策。因此,将两者结合起来,优势互补,能够为复杂系统的感知决策问题提供解决思路。图2是深度强化学习的框架图,从图中可以看到,DRL的框架包含两个基本模块:由深度学习组成的感知模块和由强化学习组成的决策模块。两个模块之前通过状态动作相互影响。
图2.深度强化学习框架
深度强化学习早期的主要思路是将神经网络用于复杂高维数据的特征提取,转化到低维特征空间便于强化学习处理。由于卷积神经网络对图像处理拥有天然的优势,将卷积神经网络与强化学习结合成了研究热点。2013年,DeepMind团队发表了一篇关于深度强化学习应用于Atari视频游戏的重量级论文,首次在复杂高维的状态空间下使用深度强化学习学会了游戏策略。该文章中提出的深度强化学习框架被称为深度Q网络(DeepQ Network:DQN)。2015年,DeepMind团队进一步完善了DQN算法,并将研究成果发表在Nature上。DQN将深度卷积神经网络和Q学习结合到一起,并集成了经验回放技术和目标Q网络。经验回放通过周期采样历史数据增加了数据的利用效率,同时减少了数据之间的相关性。DQN在大部分Atari视频游戏中实现了人类玩家的控制效果,是深度强化学习领域重要的开创性工作。
DQN的网络框架如图3所示。训练过程中,采取相邻的4帧游戏画面作为网络的输入,经过三个带有ReLU激活函数的卷积层和两个全连接层,输出当前状态下可选动作的Q值,实现了端到端的学习控制。DQN采用带有参数θ的卷积神经网络作为函数逼近器。在迭代次数为i时,损失函数为:
其中:
θ-代表的是目标Q网络的参数。目标Q网络经过固定迭代次数后更新一次。
图3.DQN网络结构图
DRL领域又一里程碑式的工作是由DeepMind在2016年初发表于Nature上的围棋AI:AlphaGo,如图4所示。AlphaGo的问世将深度强化学习的研究推向了新的高度。它创新性地结合深度强化学习和蒙特卡罗树搜索,通过策略网络选择落子位置降低搜索宽度,使用价值网络评估局面以减小搜索深度,这样搜索效率得到了大幅提升,胜率估算也更加精确。与此同时,AlphaGo使用强化学习的自我博弈来对策略网络进行学习,改善策略网络的性能,使用自我对弈和快速走子结合形成的棋谱数据进一步训练价值网络。最终的在线对弈时结合策略网络和价值网络的蒙特卡罗树搜索在当前局面下选择最终的落子位置。
图4. 围棋AI:AlphaGo
深度强化学习最新进展
随着AlphaGo的出现,深度强化学习领域的研究取得了一系列进展。作为真正意义上将深度学习和强化学习结合起来并实现了端到端学习决策的算法,DQN的出现引发了众多研究团队的关注。Schaul等提出一种带优先级经验回放的深度Q网络,该方法对经验数据进行优先次序的处理,增加重要历史数据的回放频率来提高学习效果,加速学习进程。DQN的另一个不足是它漫长的训练时间,为此Nair等提出了DQN的大规模分布式架构—Gorila,极大提高了学习速率。Guo等提出将蒙特卡罗树搜索与DQN结合,实现了Atari游戏的实时处理,游戏得分也普遍高于原始DQN得分。此外,Q学习由于学习过程中固有的估计误差,在大规模数据的情况下会对动作的值产生过高估计。Van等提出的双重DQN将两个Q学习方法运用到Q函数更新中,有效避免了过高估计,并且取得了更加稳定的学习策略。Wang等受优势学习的启发提出了竞争架构的深度强化学习算法,实验证明竞争架构的DQN能够取得更好的评估策略。探索和利用问题一直是强化学习中的主要问题,复杂环境中的高效探索对深度强化学习的学习结果有深远影响。Osband等提出一种引导深度Q网络,通过使用随机值函数让探索的效率和速率得到了显著的提升。
递归神经网络适合处理和时间序列相关的问题,强化学习与递归神经网络的结合也是深度强化学习的主要形式。Narasimhan等提出一种长短时记忆网络与强化学习结合的深度网络架构来处理文本游戏。这种方法能够将文本信息映射到向量空间从而获取游戏状态的语义信息。对于时间序列信息,深度Q网络的处理方法是加入经验回放机制。但是经验回放的记忆能力有限,每个决策点需要获取整个输入画面进行感知记忆。Hausknecht等将长短时记忆网络与深度Q网络结合,提出深度递归Q网络,在部分可观测马尔可夫决策过程中表现出了很好的鲁棒性,同时在缺失若干帧画面的情况下也能获得不错的实验结果。随着视觉注意力机制在目标跟踪和机器翻译等领域的成功,Sorokin等受此启发提出深度注意力递归Q网络。它能够选择性地重点关注相关信息区域,从而减少深度神经网络的参数数量和计算开销。
此后,研究人员在已有深度强化学习算法上做了进一步改进。Mnih等提出了深度强化学习的异步算法,通过CPU的多线程同时训练多个游戏,共享网络参数的同时也克服了训练数据的相关性,在多个CPU上训练极大提升了学习速率和算法性能。Jaderberg等提出UNREAL算法,在A3C的基础上学习多个辅助任务。UNREAL提升了深度强化学习的数据利用率,在Atari和三维游戏场景中都达到了更好的效果。作为DQN的一种变体,C51算法从分布式的角度分析深度强化学习,将Q(s,a)看做回报的近似分布而不是一个具体的近似期望值。与UNREAL算法相比,C51在Atari视频游戏上的平均性能表现要优于前者。参数噪声可以帮助算法更有效地探索周围的环境,加入参数噪声的训练方法将会让模型的效果大大提升,并且可以让我们更快地教会强化学习智能体执行任务。NoisyDQN在动作空间中借助噪声注入进行探索性行为,结果表明带有参数噪声的强化学习将比分别带有动作空间参数和进化策略的传统强化学习效率更高。以上的算法各自都可以提升深度强化学习性能的某个方面,因为它们都着力于解决不同的问题,而且都构建在同一个框架上,所以能够被整合起来。在DeepMind 最近发表的论文中,研究人员综合了主流深度强化学习方法,并提出了整合方案:Rainbow,如图5所示。通过实验结果,研究人员展示了整合后的表现,证明了这些算法很大程度上是互补的。最终,Rainbow在Atari2600 视频游戏基准测试平台的数据效率和最终结果上都达成了新的业界最佳水平。
图5Rainbow在Atari 游戏中与各类DQN 方法的性能对比
从DQN到Rainbow,深度强化学习作为一个新兴的研究领域,其理论和应用得到了逐渐完善。在大规模的任务中,深度强化学习智能体展示了卓越的进步。研究人员在基于值函数和基于策略梯度的深度强化学习算法方面都取得了一系列的研究成果。深度强化学习的研究一方面可以提升各种复杂场景中智能体的感知决策能力,另一方面,高效算法的应用落地也能为社会带来更多积极的影响,比如医疗、智能驾驶、推荐系统等。
从AlphaGo 到AlphaGo Zero
AlphaGo Zero的出现,再一次引发了各界对深度强化学习方法和围棋AI的关注与讨论。AlphaGoFan和AlphaGo Lee都采用了两个神经网络的结构,如图6所示。其中策略网络初始是基于人类专业棋手数据采用监督学习的方式进行训练,然后利用策略梯度强化学习方法进行能力提升。在训练过程中,深度神经网络与蒙特卡洛树搜索方法相结合形成树搜索模型,本质上是使用神经网络方法对树搜索空间的优化。
图6. AlphaGo的网络结构图
AlphaGo连续战胜李世石和柯洁,都表明了基于深度学习、强化学习和蒙特卡罗树搜索的方法能有效解决完全信息的博弈问题。
图7.AlphaGo与李世石和柯洁的对弈图
然而,AlphaGo Zero做了更进一步的升级和改进。AlphaGo Zero将策略网络和价值网络整合在一起,使用纯粹的深度强化学习方法进行端到端的自我对弈学习。AlphaGo Zero自学习训练过程如图8所示。
转自:中国科学院自动化研究所
完整内容请点击“阅读原文”