计算机博弈中的算法优化与网络改进
在计算机博弈领域,算法和神经网络架构的优化对于提升游戏程序的性能至关重要。本文将介绍两种相关的技术,分别是使用分数的顺序减半算法(Sequential Halving Using Scores)以及计算机围棋中余弦退火、MixNet和Swish激活函数的改进。
顺序减半算法(Sequential Halving)
在算法开始前,有些臂(arms)在最后被选中的可能性为零,例如当 ˜Xi 小于中位数(对于 λ = 1/2)减去 1/˜t′₀ 时。除了这些简单的剪枝操作,通常还值得进一步剪枝,因为节省的预算可以弥补所承担的风险。
SH 算法的理念是,当以预算 tr 对臂进行剪枝至数量 nr 时,乘积 πr := nr · tr 等于某个不依赖于 r 的 π。因此,自然地可以剪枝至臂 n₋₁,其中 n₋₁ 的选择使得 π₋₁ = π。具体计算时,忽略除以 λ 时的取整问题,并且假设不进行储备(stockpiling)。相关公式如下:
- π₋₁ = n₋₁ · ˜t
- π = π₀ = λn₋₁ · T / (log₁/λ(n₋₁) · n₋₁)
- n₋₁ log₁/λ(n₋₁) = λT / ˜t
对于蒙特卡罗树搜索(MCTS)中的神经网络(NN),需要对上述理论基础进行适当调整。因为在这种情况下,多臂老虎机给出的不是 0 或 1,而是由 NN 评估的叶子节点的值。更重要的是,分数由根节点的策略给出,虽然它与值应该是单调的,但使用 softmax 层的方式使得我们关于其分布的模型失效。因此,最安全的使用方式是用于剪枝,然后使用不依赖该策略的基本 SH 算法来探索剩余的臂。
超级会员免费看
订阅专栏 解锁全文
887

被折叠的 条评论
为什么被折叠?



