RL强化学习算法90行代码快速实战 DQN代码分层讲解

强化学习DQN算法介绍:

DeepMind《Playing Atari with Deep Reinforcement Learning》提出了DQN ,DQN使用卷积神经网络作为价值函数来拟合Q-learning中的动作价值,这是第一个直接从原始像素中成功学习到控制策略的深度强化学习算法。DQN 模型的核心就是卷积神经网络,使用Q-learning 来训练,其输入为原始像素,输出为价值函数。在不改变模型的架构和参数的情况下,DQN在七个Atari2600游戏上,击败了之前所有的算法,并在其中三个游戏上,击败了人类最佳水平。

1、DQN算法思想
DQN与Qleanring类似都是基于值迭代的算法,但是在普通的Q-learning中,当状态和动作空间是离散且维数不高时可使用Q-Table储存每个状态动作对应的Q值,而当状态和动作空间是高维连续时,使用Q-Table表示动作空间和状态太大十分困难。
所以在此处可以把Q-table更新转化为函数拟合问题,通过拟合一个函数function来代替Q-table产生Q值,使得相近的状态得到相近的输出动作。因此我们可以想到深度神经网络对复杂特征的提取有很好效果,所以可以将DeepLearning与Reinforcement Learning结合。这就成为了DQN
RL强化学习算法90行代码快速实战 DQN代码分层讲解_第1张图片
2、DQN算法原理与核心流程
DQN中存在两个结构完全相同但是参数却不同的网络,预测Q估计的网络MainNet使用的是最新的参数,Q(s,a;θi)表示当前网络MainNet的输出,用来评估当前状态动作对的值函数;而预测Q现实的神经网络TargetNet参数使用的却是很久之前的,Q(s,a;θ_i)表

你可能感兴趣的:(Python,强化学习,人工智能)