DQN(基本概念和进阶技巧)

#DQN

DQN是指基于深度学习的Q-learning算法,主要结合了价值函数近似(Value Function Approximation)与神经网络技术,并采用了目标网络和经历回放的方法进行网络的训练。在Q-learning中,使用表格来存储每个状态s下采取动作a获得的奖励,即状态-动作值函数Q(s,a)。

为了在连续的状态空间中计算价值函数Q^{\pi }\left ( s,a \right ),我们可以用一个函数Q_{\varnothing }\left ( s,a \right )来表示近似计算,称为价值函数近似。其中,s,a分别是状态s和动作a的向量表示;函数Q_{\varnothing }\left ( s,a \right )通常是一个参数为\o的函数,如神经网络,输出一个实数,称为Q网络(Q-network)。

DQN算法的核心是维护Q函数并使用进行决策。Q^{\pi }\left ( s,a \right )为在该策略\pi下的动作价值函数,每次到达一个状态s_{t}之后,遍历整个动作空间,使用让Q^{\pi }\left ( s,a \right )最大的动作作为策略:

a_{t}=arg_{a} maxQ^{\pi }(s_{t},a) ,DQN采用贝尔曼方程来迭代更新Q^{\pi }\left ( s,a \right )

通常在简单任务上,使用于全连接神经网络来拟合Q^{\pi },但是在较为复杂的任务上,会使用卷积神经网络来拟合从图像来拟合从图像到价值函数的映射。DQN只能处理有限动作值,通常用于处理离散动作空间的任务。

#DQN进阶技巧

tip 1:Double DQN:

tip 2:Dueling DQN

tip 3: Prioritized Experience Replay

tip 4: Distributional Q-function

tip 5: rainbow

(详细代码自看)

(其他之后再补……)

你可能感兴趣的:(深度学习,深度学习基础,深度学习,机器学习,神经网络)