博弈算法与深度学习的数学基础
1. 博弈中的搜索算法
在博弈中,考虑所有可能的落子位置并持续进行,直至游戏结束。以 3×3 的井字棋为例,先手有 9 种可能的落子选择,后手有 8 种,先手再落子又有 7 种,所以可能的游戏轨迹(游戏树)数量相当庞大。不过,在对手不采用相同策略的情况下,通过这种暴力穷举搜索能保证在井字棋中获胜。
对于像国际象棋这样的复杂游戏,游戏树过于庞大,无法进行完全的暴力搜索,必须限制考虑的潜在落子数量。例如,深蓝(Deep Blue)使用了一种比穷举搜索更高效的树搜索算法,但它没有学习能力,本质上还是搜索可能的轨迹并计算哪些能导向获胜状态。
另一种方法是蒙特卡罗树搜索,它通过随机采样一组潜在行动并从该点扩展树,而非考虑所有可能的行动。DeepMind 开发的 AlphaGo 算法结合了暴力搜索和深度神经网络。它使用深度神经网络评估哪些行动值得进行树搜索,并确定所选落子的价值,这种组合算法目前是国际象棋和围棋等游戏的先进方法。
2. 深度学习的数学基础
深度学习算法(也称为人工神经网络)本质上是相对简单的数学函数,主要需要理解向量和矩阵。而训练神经网络则需要掌握微积分的基础知识,特别是导数。
2.1 线性代数
线性代数研究线性变换。线性变换满足 (T(a + b) = T(a) + T(b)) 和 (T(a ⋅ b) = a ⋅ T(b)),它能保持加法和乘法运算。可以将线性变换想象成把钱转换成其他资源(如黄金),无论投入多少资金,黄金的单价保持不变;而非线性变换可能会提供“批量折扣”。
从微积分的角度看,函数将输入值 (x) 映射到输出值 (y),导数
超级会员免费看
订阅专栏 解锁全文

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



