- 定义与核心思想
- Dueling DQN是DQN的另一种改进架构。它的核心思想是将Q - 值函数拆分为状态价值函数(Value function)和优势函数(Advantage function)。状态价值函数$V(s)$表示在状态$s$下的价值,而优势函数$A(s,a)$表示在状态$s$下采取动作$a$相对于其他动作的优势。
- 其Q - 值函数可以表示为:$Q(s,a)=V(s)+A(s,a)-\frac{1}{|A|}\sum_{a'}A(s,a')$,其中$|A|$是动作空间的大小。这样的分解使得网络能够更独立地学习状态的价值和动作相对于其他动作的优势。
- 网络架构
- Dueling DQN的网络结构主要由两部分组成。一部分用于估计状态价值$V(s)$,另一部分用于估计优势函数$A(s,a)$。
- 通常,在网络的最后一层,有两个独立的输出分支。一个分支输出状态价值$V(s)$的估计值,另一个分支输出优势函数$A(s,a)$的估计值。这两个分支的输出通过上述公式组合起来得到Q - 值估计。
- 例如,在一个具有多个动作选项的游戏环境中,如赛车游戏(加速、减速、左转、右转等动作),网络可以分别学习在某个赛道位置(状态)下的整体价值,以及每个动作相对于其他动作在该位置的优势。
- 优势
- 提高学习效率:在某些状态下,动作的选择可能对奖励的影响不大,例如在游戏中的一些过渡区域,Dueling DQN可以更快地学习到这些状态的价值,因为它能够区分状态价值和动作优势。这样可以使智能体在这些状态下更高效地探索和利用,减少不必要的探索。
- 更好的泛化能力:通过分别学习状态价值和动作优势,Dueling DQN可以更好地应对状态 - 动作空间中的变化。例如,当环境中的奖励结构发生微小变化时,它可以更快地调整动作优势的估计,同时保持对状态价值的合理估计。
- 训练过程与更新机制
- 训练过程:与传统DQN类似,Dueling DQN也采用经验回放(Experience Replay)来训练。智能体在环境中交互,将获得的经验(状态、动作、奖励、下一个状态)存储在经验回放缓冲区中。在训练时,从缓冲区中随机抽取一批样本进行训练。
- 更新机制:在反向传播过程中,根据Q - 值的分解公式来更新网络中估计状态价值和优势函数的参数。同时,为了稳定训练,通常会采用目标网络(与Double DQN中的目标网络类似),定期将在线网络的参数复制到目标网络中,根据目标网络来计算目标Q - 值,用于更新在线网络。
- 应用场景
- 复杂游戏环境:在具有复杂状态 - 动作空间的游戏中表现出色,如策略游戏(如《星际争霸》)和角色扮演游戏(如《上古卷轴》)。在这些游戏中,状态(如游戏地图布局、角色属性等)和动作(如单位指挥、角色技能使用等)都非常复杂,Dueling DQN可以更好地学习每个状态下动作的优势,帮助智能体制定更优的策略。
- 机器人决策系统:在机器人的任务规划和决策场景中,如救援机器人在复杂灾难现场的行动决策。机器人需要根据环境状态(如废墟布局、幸存者位置等)来选择最佳行动(如前进、转弯、救援工具使用等),Dueling DQN可以帮助机器人更有效地学习这些决策策略。
Dueling DQN
评论
23 views