- 文献综述(或调研报告):
1、几个核心算法定义:
强化学习RL,是指通过不停地探索和更新Q表中的Q值从而计算出机器人行动的最佳路径。DeepMind团队在2013年的论文《Playing Atari with Deep Reinforcement Learning》指出:从高维感知输入(如视觉、语音)直接学习如何控制 agent 对强化学习(RL)来说是一大挑战。之前很多RL算法依赖于手工选取的特征和线性函数逼近(对value function(值函数) 或 policy进行逼近)。但这些系统都依赖于特征的选取质量。而深度学习(DL),尤其是CNN(卷积神经网络),可以很好的提取图像的高维特征, 那么我们很自然的想到是否可以将其应用于强化学习(RL)上。但是DL与RL的结合会遇到下面几种挑战:
(1)深度学习方法的成功应用案例大部分都具备很好的数据集标签(labels),而RL没有明确的标签,只能通过一个有延迟(也可能有噪声)的reward来学习。
(2)深度学习一般假设其样本都是独立同分布的,但在RL中,通常会遇到一段相关度很高的状态量(state),且状态的分布也不相同。
(3)过往的研究表明,使用非线性网络表示值函数时出现网络不稳定,收敛困难等问题。
由于在电子游戏的每一帧图片就可以是一种状态,游戏中的角色又可以有多种动作(上下左右、下蹲跳跃等等)。如果单纯使用Q-learning算法,用Q来记录每一个动作所对应的状态,那么这张Q表将大到无法想象。
因此DeepMind团队在Playing Atari with Deep Reinforcement Learning论文中第一次提出Deep Reinforcement Learning(DRL)这个名称,并且提出了DQN算法,实现从视频纯图像输入,完全通过Agent学习来玩Atari游戏的成果。即不用Q表来记录Q值,而是用神经网络来预测Q值,并通过不断更新神经网络从而学习到最优的行动路径。
之后DeepMind在Nature上发表了改进版的DQN文章Human-level control through deep reinforcement learning,这将深度学习与RL结合起来实现从Perception感知到Action动作的端到端的一种全新的学习算法。简单理解就是和人类一样,输入感知信息比如眼睛看到的东西,然后通过大脑(深度神经网络),直接做出对应的行为(输出动作)的学习过程。体现到游戏中就是,将游戏画面的像素转换成深度神经网络的输入数据(状态s),用CNN(卷积神经网络)来预测动作a(a1,a2,a3 ....), 和对应的Q(s, a1), Q(s, a2),Q(s, a3)...然后利用算法通过更新神经网络(NN)中的参数(w, b ...),来更新NN,从而优化模型得到最优解。
