CNN+强化学习

Posted by 高庆东 on November 22, 2018

DQN网络结构

要求的输入数据是序列化的数据,对于cnn网络一张灰度图像是一个帧 ,同时输入4帧灰度图像既为4帧序列的cnn网络,(cnn网络的序列化) 第一层输入图像大小是84844 ,需要滤波器32个大小是88步长是4。 第二层的输入是202032,需要的滤波器是64个 大小是44步长是 2。第三层网络的输入是9964,滤波器是64个大小是3*3步长是1 最后两层是全联接层,分别是512和18。18对应18个输出动作, 输出值对应动作下的Q值。

正向传播

注意:1 动作是有限的但是状态是可以是无限的,比如装方块中每 个任何时间下的位置都可以是一个装太, 2 每一个动作下产生的reward的立刻可知的, 3 Q(s,a)=f(s,a,w) w表示为神经网络的参数,只考了动作 下的产生的状态的Q值相当于网络降维过程

需要记录的值有 输出的Q_max 还有at动作(at的选择是Q值最大的那个动作) at动作下产生的rt(Rt表示at动作下产生的回报)还有at动作下Q(t+1)_max 这4个值是用来跟新网络的标签值

反向传播

损失函数定义为下次动作的Q(t+1)的值与本次动作下的 Q(t)值的均方误差, 对w求偏导回传给神经网络。