一、深度蒙特卡洛算法简介
深度蒙特卡洛算法(Deep Monte-Carlo, DMC)是一种结合深度神经网络和蒙特卡洛方法的强化学习算法。该算法最早于2020年在论文《DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning》中被提出,用于解决复杂的斗地主问题。DMC算法属于基于价值(value-based)的方法,使用深度网络来拟合每个时刻智能体状态和采取每种动作的价值函数(Q值)。
1.1 算法特点
- 利用深度神经网络进行特征提取和价值估计
- 适用于大规模动作空间和部分可观测的马尔可夫决策过程
- 采用无偏的Q值更新方式,但存在高方差问题
1.2 网络结构
DMC算法的网络结构主要由两部分组成:
- 动作编码网络:对合法的出牌动作进行编码
- 状态编码网络:对玩家手牌和历史出牌信息进行编码
这两个网络的输出最终会合并输入一个全连接网络,再次进行深层特征提取后输出当前状态下采取各动作的Q值。
1.2.1 动作编码网络
动作编码网络的设计有以下几个优点:
- 无需动作掩码即可屏蔽非法动作