Alpha系列

0 阅读12分钟

从2010年DeepMind创立至今,哈萨比斯领导下的几个“Alpha”系列项目,清晰地展现了其从攻克游戏到造福科学的演进路径。

🧠 AlphaGo:深度神经网络与蒙特卡洛树搜索的融合

AlphaGo的核心思路,是用深度神经网络来“压缩”围棋的浩瀚可能性,从而引导传统的蒙特卡洛树搜索(MCTS) ,使其变得高效。

  • 两大核心神经网络

    1. 策略网络 (Policy Network) :它的作用是“选择”。输入当前棋盘,它会输出一个概率分布,预测人类棋手最可能在哪个位置落子。这极大地缩小了搜索范围,让AI专注于“好棋”。
    2. 估值网络 (Value Network) :它的作用是“评估”。输入当前棋盘,它会直接输出一个胜率估计,判断当前局势的好坏。这解决了围棋很难通过计算未来几步来评估局面的难题。
  • 训练方法

    1. 监督学习 (Supervised Learning) :首先用大量高水平人类棋谱训练策略网络,让它学会模仿人类高手的下法。
    2. 强化学习 (Reinforcement Learning) :让训练好的策略网络通过自我对弈(Self-Play)  来进一步提升。在这个过程中,网络会不断优化,并产生更高质量的数据来训练估值网络。
  • 搜索框架:蒙特卡洛树搜索 (MCTS) :在决策时,AlphaGo会运行MCTS。它利用策略网络来指导搜索方向(优先探索好棋),利用估值网络来评估叶子节点的胜率,从而无需模拟对弈到底就能做出决策。这个过程会反复进行,最终选择访问次数最多的那个落子方案。

蒙特卡洛树搜索(Monte Carlo Tree Search, MCTS)的核心实现思路,可以概括为:通过“探索与利用”的平衡,在庞大的决策空间中,有策略地构建一棵不对称的搜索树,从而找到最优解。它不依赖对博弈树的穷举,而是通过随机模拟来评估局面的价值。

🏗️ 通用MCTS:四步循环

任何MCTS算法都围绕以下四个步骤反复迭代,直到计算资源耗尽:

  1. 选择(Selection) :从根节点(当前局面)开始,在树内沿着最优路径向下走。判断“最优”的标准是UCB公式(Upper Confidence Bound,上限置信区间) ,公式为:

    UCB=wini+CInNniUCB=\frac{w_i}{n_i}+C\sqrt{\frac{InN}{n_i}}

    • wini\frac{w_i}{n_i}利用项,该子节点的历史胜率(赢的次数/总次数)。
    • InNni\sqrt{\frac{InN}{n_i}}探索项,该子节点被访问次数越少,这项值越大。
    • CC:平衡因子。通过这个公式,MCTS会优先选择“胜率高”或“没怎么试过”的路。
  2. 扩展(Expansion) :当走到一个非终局的叶子节点时,如果它还有未探索的合法走法,就创建一个或多个新的子节点(代表下一步的走法)。

  3. 模拟(Simulation / Playout)这是传统MCTS最核心的一步。从新扩展的节点开始,使用一种快速、轻量级的默认策略(通常是随机走子)快速将棋局下到终局,并得出胜负结果。这一步骤也叫“走子”。

  4. 反向传播(Backpropagation) :将模拟得出的胜负结果,沿着刚才走过的路径一路回传,更新路径上所有节点的“总访问次数(NN)”和“总胜场(WW)”,为下一轮选择提供更新的统计依据。

🚀 DeepMind的魔改:从“随机模拟”到“神经网络评估”

在围棋(19x19)上,因为分支因子(合法走法约250种)极其庞大,如果用传统的“随机走子”做模拟,结果会像噪声一样毫无参考价值,耗尽宇宙时间也算不完。因此,AlphaGo和AlphaZero对MCTS做了革命性的替换

关键变化:取消了第3步“随机模拟”,改用深度神经网络直接给局面打分。

  1. 引入双头神经网络:在AlphaZero中,神经网络 fθf_θ接收当前棋盘 s,直接输出两个值:
  • 策略头 p:输出一个概率向量,代表在当前局面下,每一步棋被选中的先验概率(相当于给AI的“直觉”)。
  • 价值头 v:输出一个标量(-1到1之间),直接预测当前局面的最终胜率,而无需通过模拟到终局。
  1. 改写选择公式(PUCT) :在“选择”阶段,DeepMind将通用UCB修改为PUCT公式:
    a=argmaxn(Q(s,a)+cpuct.P(s,a).N(s)1+N(s,a))a= argmax_n(Q(s,a)+c_{puct}.P(s,a).\frac{\sqrt{N(s)}}{1+N(s,a)})
    • 这里的 P(s,a) 直接来自神经网络的“策略头”输出的先验概率。
    • 相比于纯靠统计胜率 Q,神经网络给AI提供了一个“直觉导航”,极大地剪掉了大量无意义的分支。
  2. 叶节点的评估(取代模拟) :当搜索到达一个从未见过的叶子节点时,它不再进行随机走子,而是直接调用神经网络 fθf_θ 来评估局面,得到该节点的胜率 v。然后,这个 v 值直接回传更新路径。
  3. 新的反向传播:回传的不仅仅是胜负结果,而是神经网络给出的胜率 v。所有路径上的节点更新其 Q 值(平均胜率)。

⚙️ 工程实现中的关键细节

为了让MCTS在短短几秒内跑完,DeepMind还用了两个关键工程技巧:

  • 虚拟损失(Virtual Loss) :在并行搜索(多线程/多GPU)时,为了避免多个线程探索同一个节点造成资源浪费,当一个线程选中某条路径时,会先在路径节点上加上“虚拟损失”(人为降低胜率)。这样其他线程就会转向搜索其他分支,极大地提升了搜索效率。
  • 异步与重用:在AlphaZero中,每次落子前会进行约800次(甚至更多)  MCTS模拟。搜索结束后,根据根节点各子节点的访问次数 NN 来决定落子(访问次数越多,代表该走法越可靠)。下一回合,将上一轮搜索树中对应的子节点保留下来作为新根,其统计数据继承,实现了“连续思考”,避免了重复搜索。

♟️ AlphaZero:摒弃人类知识,迈向通用算法

AlphaZero的革命性在于,它完全摆脱了对人类棋谱的依赖,证明了相同的算法可以通吃不同的棋类游戏。

  • 核心思路:与AlphaGo需要人类棋谱进行监督学习不同,AlphaZero 从零开始,仅通过自我对弈来学习
  • 技术实现:AlphaZero使用一个单一的神经网络,同时输出策略(Policy)价值(Value) 。在与环境(棋盘)交互时,它依靠MCTS来指导落子,并收集自我对弈的数据。然后,用这些新产生的、质量越来越高的棋谱数据来训练这个神经网络,形成“自我对弈生成数据 → 训练网络 → 更强的网络生成更高质量数据”的正循环。
  • 意义:AlphaZero证明了强化学习与MCTS的结合,可以成为一个强大的通用问题求解器,其适用范围远超围棋。

🎮 AlphaStar:攻克复杂动态的“非完美信息”游戏

《星际争霸》的复杂性远超棋盘游戏,它是一个信息不完全、状态空间连续、动作空间巨大的即时策略游戏。AlphaStar为此采用了一系列新技术。

  • 混合训练策略

    1. 监督学习(模仿学习) :首先,通过模仿学习(行为克隆)让AI观察并学习大量人类高手的游戏录像,快速掌握基础战术和操作。
    2. 强化学习(自我对弈) :在掌握基础后,让不同版本的AI在联赛(League)  中互相比赛。这包括了与当前最强版本、历史版本,甚至是专门针对自己弱点设计的“陪练”版本对弈,以防止AI陷入单一的战术。
  • 复杂的神经网络架构:为了处理游戏中的海量信息,AlphaStar使用了由TransformerLSTM等组件构成的深度神经网络,来处理单位的时空关系与长期依赖。其庞大的动作空间也被分解为“选择单位”、“选择目标”等子任务,降低了学习难度。

🧠 LSTM (长短期记忆网络):精于记忆的“守门人”

LSTM是为了解决传统循环神经网络(RNN)的“短期记忆”问题而设计的。RNN在处理长序列时,早期信息会在传递中逐渐衰减,难以影响最终决策。LSTM的核心思想是引入一套门控机制(Gating Mechanism) ,像守门人一样,精确控制哪些信息该记住、哪些该遗忘。

核心组件:三个“门”和一个“传送带”

LSTM内部有三个“门”和一个贯穿始终的“细胞状态”(Cell State)。

  • 遗忘门(Forget Gate) :决定从过去的记忆中丢弃哪些不重要的信息。比如,它可能决定忘记一段评论里的“this”和“give”等无关紧要的词。
  • 输入门(Input Gate) :决定从当前输入中选取哪些新信息,并存入长期记忆。
  • 输出门(Output Gate) :决定从当前细胞状态中输出哪些信息,作为这一时刻的决策依据。

工作流程

  1. 信息筛选:遗忘门根据当前输入和上一时刻的输出,计算出一个0到1之间的值,决定遗忘多少旧记忆。
  2. 写入新记忆:输入门筛选当前输入的重要信息,与遗忘门处理后的旧记忆相加,更新细胞状态。
  3. 产生输出:输出门根据当前最新的细胞状态,计算出这一时刻的输出。

通过这种“选择性地记住重要信息,忘记不相关信息”的机制,LSTM能有效传递长序列中的关键信息。

⚡️ Transformer:洞察全局的“关系大师”

Transformer的设计理念与LSTM截然不同。它彻底抛弃了RNN/LSTM的循环和顺序处理模式,转而完全依赖一种叫“注意力机制(Attention Mechanism) ”的技术。它的核心思想是:在处理序列时,让每个元素都能直接“关注”到序列中的所有其他元素

核心组件:自注意力机制(Self-Attention)

Transformer的核心是“自注意力”(Self-Attention)。它通过三个向量来实现:

  • 查询(Query, Q) :当前词发出的“问题”,想寻找与自己最相关的信息。
  • 键(Key, K) :序列中每个词的身份标签。
  • 值(Value, V) :序列中每个词所携带的实际信息。

计算步骤

  1. 计算相似度:将每个词的Q与序列中所有词的K进行点积计算,得到一组分数。分数越高,表示两者的关联越紧密。
  2. 归一化:对这些分数应用Softmax函数,将其转化为权重(0到1之间,总和为1)。
  3. 加权求和:用这些权重,对所有词的V进行加权求和,得到这个词的最终输出。

关键优势

  • 全局视野:每个词都能直接与所有词互动,轻松捕捉长距离依赖。
  • 并行计算:所有词的计算可以同时进行,大幅提升训练效率,比LSTM快3-5倍
  • 位置编码(Positional Encoding) :由于是并行处理,模型本身不包含顺序信息。因此,Transformer会为每个词额外加上一个“位置向量”来标记其顺序。

💎 对比LSTM和Transformer

LSTM和Transformer代表了序列建模的两种不同范式。

  • LSTM 像一个严谨的档案管理员,按顺序审阅信息,将重要的归档,次要的丢弃。
  • Transformer 则像一个拥有全局视野的指挥官,能一眼看尽所有情报,并瞬间判断出情报间的关键联系。

这种根本性的设计差异,使得Transformer在需要海量数据和强大并行计算能力的现代AI(如大语言模型)中占据了主导地位,而LSTM则在语音识别、金融预测等对时序信息有特殊要求的领域依然发挥着重要作用。

🔬 AlphaFold:用“序列”预测“结构”,攻克生物学难题

AlphaFold的目标不再是游戏,而是预测蛋白质的三维结构,这是一个从一维氨基酸序列到三维空间结构的复杂映射问题。

  • 核心思路:将问题转化为“端到端”的深度学习任务,即输入氨基酸序列,直接输出每个原子的三维坐标。

  • AlphaFold 2的关键技术

    1. 信息整合:从海量数据库中搜索与该蛋白相关的多序列比对(MSA)  信息和结构模板。MSA包含了该蛋白在进化过程中的“亲戚”序列,蕴含了关键的共进化信息。
    2. 核心网络:Evoformer:这是一个特殊的Transformer网络,用来理解MSA中的共进化模式。
    3. 结构生成:Structure Module:作为“解码器”,它接收Evoformer处理后的信息,通过迭代的方式,逐步构建出蛋白质的三维结构。

💎 总结

总结来看,这四项技术的演进脉络非常清晰:

  • 从依赖数据到自主探索:AlphaGo依赖人类棋谱进行监督学习,而AlphaZero证明了纯强化学习从零开始的可行性。
  • 从单一任务到通用算法:AlphaGo专为围棋设计,而AlphaZero证明了其算法框架的通用性。
  • 从简单环境到复杂世界:AlphaGo和AlphaZero处理的是规则明确、信息完全的棋盘,而AlphaStar则挑战了信息不完全、实时动态的复杂策略游戏。
  • 从游戏博弈到科学发现:AlphaFold将AI从游戏世界带入现实,其核心方法(如Transformer架构)虽与游戏AI一脉相承,但解决的问题却是关乎人类福祉的重大科学命题。