深度Q learning
2013《Playing Atari with Deep Reinforcement Learning》
DQN
在 Atari 2600游戏 使用卷积神经网络,输入是原始像素,输出处为估计未来奖励的值函数(动作价值Q函数)
经验回放(experence replay):储存历史样本,后续训练时在存储样本池中随机抽取
经验回放优点:
- 经验的每一步都有可能用于多次权重更新,提高数据效率
- 连续样本学习是低效的,随机化样本会破坏这些相关性,减少更新的方差
- 参数不易陷入局部极小值
loss
贪婪策略:选择动作
2015《Human-level control through deep reinforcement learning》
DQN高估q值,怎么缓解?
加了一个目标网络(targetnet),每经过N个迭代的训练,将训练网络(mainnet)的参数复制给目标网络,训练求误差还是使用训练网络,只不过误差函数里面的最优动作对应的Q值是目标网络给的。
loss
可以理解为max项是目标值网络给的,后面Q值是训练网络给的,对训练网络参数求梯度
DQN缺点:
- 无法动作连续控制
- 没结合lstm处理长记忆
- 不一定收敛
2015《Deep Reinforcement Learning with Double Q-learning》
DDQN
qlearning高估q值
先用训练网络(mainnet)选择max项的动作,再去目标网络中找到这个动作对应的q值。和之前的DQN相比,max项不是最大化目标网络的q,是最大化训练网络的q得到的action带入目标网络得到的。