AlphaGo的树搜索结合了深度神经网络,这些网络是由专家知识进行监督式学习以及从selfplay中进行强化学习。AlphaGo Zero仅基于强化学习,一个神经网络被训练来预测行为的选择和价值。该神经网络提高了树搜索的性能,从而在下一次迭代中提供了更高质量的移动选择和更强的自我玩法,同时更精确的树搜索又能改善网络性能。
Introduction
AlphaGo训练了两个神经网络——策略网络和值网络。策略网络通过监督学习进行初始化训练,以准确预测人类专家的行动,随后通过策略梯度强化学习对其进行完善。 价值网络以预测策略网络自我博弈的赢家来进行训练。一旦经过训练,这些网络将与蒙特卡洛树搜索(MCTS)组合在一起以提供前瞻性搜索。使用策略网络将搜索范围缩小到高概率移动,并使用价值网络(与蒙特卡罗rollouts结合使用快速rollouts策略)以评估树中的位置。
AlphaGo Zero与AlphaGo不同之处在于:
- 它仅通过selfplay强化学习来训练,从随机游戏开始,无需任何监督或使用人类数据;
- 它仅使用棋盘上的黑白子作为输入特征;
- 它使用单个神经网络,而不是单独的策略和价值网络;
- 它使用了一个更简单的树搜索,该树搜索依靠此单个神经网络来评估位置和样本行为,而无需执行任何Monte Carlo rollouts操作。
为此,作者在训练循环内结合了lookahead search。
Reinforcement learning in AlphaGo Zero
AlphaGo Zero使用参数为θ的深度神经网络fθ。该神经网络将位置及其历史的原始棋盘表示s作为输入,并输出移动概率和价值,(p,v)=fθ(s)。移动概率向量p表示选择每个移动a(包括pass)的概率,pa=Pr(a∣s)。值v是一个标量评估,它估计当前玩家从位置s获胜的概率。 该神经网络将策略网络和价值网络的角色组合到一个架构中。神经网络替换成了ResNet的结构。
在每一个位置s,在神经网络fθ的引导下执行MCTS搜索。MCTS搜索输出每一步的概率π。 这些搜索概率通常会选择比神经网络fθ(s)的原始行为概率p更优的行为; 因此,MCTS可以被视为强大的策略改进方法。 在self-play过程中使用搜索,使用improved MCTS-based policy来选择每一步动作,使用游戏赢家z更新value,这同时也可以被视为强大的策略评估改进方法。
在策略迭代过程中重复使用这些搜索方法:神经网络的参数被更新,以使移动概率和值(p,v)=fθ(s)与改进的搜索概率和selfplay游戏赢家(π,z)更加匹配;这些新参数将在下一次selfplay的迭代中使用,以使搜索更加强大。 图1展示了自学训练pipline。
如图2所示,MCTS使用神经网络fθ引导搜索,反过来搜索结果用于更新网络。每一个边(s,a)包含先验概率P(s,a),访问次数N(s,a),行为价值Q(s,a)。每次模拟都是从根节点开始,迭代地选择动作以最大化下式:
直到叶子节点s′不包含在树内。此叶子节点仅展开与评估一次,使用网络预测其先验概率与评估值,(P(s′,⋅),V(s′))=fθ(s′)。然后所有遍历到的边(s,a)都需要增量更新访问次数和行为价值。
这一基于MCTS的强化学习算法可以看做以网络参数θ和根位置s为输入,计算输出行为概率,π=αθ(s)。与每一步访问次数的指数成正比,πa∝N(s,a)1/τ,τ为温度系数。
神经网络具体训练步骤如下:
- 初始化神经网络权重为θ0;
- 在每个后续迭代i≥1时,都会产生self-play的游戏(图1a);
- 在每一时间步t,使用神经网络的先前迭代版本fθi−1执行MCTS搜索πt=αi−1(st),并通过对搜索概率πt进行采样来选择动作;
- 游戏在步骤T终止,其终止条件为:①两个玩家都放弃落子;②搜索值下降到辞阈值以下;③游戏超过最大长度;
- 对游戏进行计分,以得到rT∈{−1,+1}的最终奖励;
- 每个时间步t的数据都存储为(st,πt,zt),其中zt=±rT是从当前玩家的角度来看在步骤t的游戏获胜者。 并行地(图1b),新网络参数θi是根据selfplay的最后一次迭代的所有时间步中均匀采样的数据(s,π,z)训练的;
- 更新网络(p,v)=fθ(s),网络损失由MSE、交叉熵损失和正则化构成:
Empirical analysis of AlphaGo Zero training
从完全随机行为开始训练,结果如图3所示。在整个训练过程中,学习进展顺利,并且没有遭受先前文献中提到的振荡或灾难性遗忘。AlphaGo Zero训练36小时后就超越了AlphaGo Lee,72小时后超越了最新版本的AlphaGo Lee(打败李世石的版本),而AlphaGo Lee训练了几个月。此外,AlphaGo Zero仅使用a single machine with 4 tensor processing units (TPUs),而AlphaGo Lee使用了many machines and used 48 TPUs。
图4验证了AlphaGo Zero中网络结构和算法(单一网络)的贡献。使用AlphaGo Lee中独立的策略和价值网络,或AlphaGo Zero中的组合策略和价值网络,创建了四个神经网络;并使用AlphaGo Lee的卷积网络架构或AlphaGo Zero的残差网络架构。在72小时的self-play训练后,使用由AlphaGo Zero生成的固定的自玩游戏数据集,对每个网络进行了训练,以最大程度地减少相同的损失函数(等式(1))。实验表明使用残差网络更加准确,在AlphaGo中实现了600 Elo的降低,误差更低,并且性能得到了改善。将策略和价值组合到一个网络中会稍微降低移动预测的准确性,但会减少价值错误,并使AlphaGo的游戏性能再提高600 Elo。这部分是由于提高了计算效率,但更重要的是,双重目标将网络调整为支持多个用例的通用表示形式。
|
请发表评论