更改

删除234字节 、 2025年12月26日 (五) 12:18
第71行: 第71行:     
== 顿悟现象的可解释性分析 ==
 
== 顿悟现象的可解释性分析 ==
−
尽管人工智能神经网络在各种任务中非常出色,但它们的内部机制仍然像过去一样难以理解。研究人员一直在寻找任何可以深入了解这些模型的线索。顿悟现象的发现促使了很多后续研究,其他人已经复制了这些结果,甚至进行了逆向工程。最近发表的研究论文不仅阐明了这些神经网络在“顿悟”时正在做什么,还提供了一个新的视角来审视它们的内部机制。麻省理工学院的 Eric Michaud 说:“‘顿悟’数据的设置就像是一个很好的模式生物,有助于理解深度学习的许多不同方面,”观察这个生物体内部有时会非常揭示;现就职于伦敦谷歌深度思维的 Neel Nanda 说:“你不仅能发现美丽的结构,而且这种美丽的结构对于理解内部发生的事情非常重要”<ref>{{cite web | author=Pérez I | title=How Do Machines Grok Data? | website=Quanta Magazine | year=2024 | url=https://www.quantamagazine.org/how-do-machines-grok-data-20240412/ }}</ref>。这些模型内部表征的研究揭示了神经网络在处理复杂任务时的内部运作机制,进一步验证了顿悟现象的可重复性和可解释性。通过深入分析内部结构,科学家们能够更好地理解神经网络如何逐步构建和优化其认知模型,从而为未来的AI研究提供了宝贵的理论基础和实践指导。
+
尽管人工智能神经网络在各种任务中非常出色,但它们的内部机制仍然像过去一样难以理解。研究人员一直在寻找任何可以深入了解这些模型的线索。顿悟现象的发现促使了很多后续研究,很多人已经复现了这些结果,甚至进行了逆向工程。最近发表的研究论文不仅阐明了这些神经网络在顿悟时正在做什么,还提供了一个新的视角来审视它们的内部机制。麻省理工学院的 Eric Michaud 评价,顿悟现象中数据的设置就像是一个很好的模式生物,观察这个生物体内部有助于理解深度学习的许多不同方面。现就职于伦敦谷歌深度思维的 Neel Nanda 也认为,挖掘模型顿悟的内部原理,不仅能发现美丽的结构,而且这种美丽的结构对于理解内部发生的事情非常重要<ref>{{cite web | author=Pérez I | title=How Do Machines Grok Data? | website=Quanta Magazine | year=2024 | url=https://www.quantamagazine.org/how-do-machines-grok-data-20240412/ }}</ref>。这些模型内部表征的研究揭示了神经网络在处理复杂任务时的内部运作机制,进一步验证了顿悟现象的可重复性和可解释性.通过深入分析内部结构,科学家们能够更好地理解神经网络如何逐步构建和优化其认知模型,从而为未来的AI研究提供了宝贵的理论基础和实践指导。
−
[[文件:群运算和模加法运算的嵌入空间结构.png|缩略图|群运算和模加法运算的嵌入空间结构(左:群运算,右:模加法运算)]]
      
=== 结构化表征 ===
 
=== 结构化表征 ===
−
OpenAI团队在发现顿悟最初就对模型输出层的权重进行了可视化(使用 t-SNE),发现网络学到的符号嵌入中出现了可识别的数学结构<ref name="Power_grokking" />,例如在模加法任务中,[[嵌入空间]]中出现了圆形拓扑结构,表现出模运算的循环性质;在对称群S5任务中,嵌入空间中出现了[[子群]]和[[陪集]]的结构,显示出网络对群结构的理解。尽管输入是无内在结构的符号(如字母、数字代号),网络仍能从它们的交互中推断出结构,并形成有意义的嵌入表示,这表明神经网络不仅能记忆训练数据,还能从有限样本中归纳出抽象关系。
+
OpenAI团队在发现顿悟最初就对模型输出层的权重进行了可视化(使用t-SNE),发现网络学到的符号嵌入中出现了可识别的数学结构<ref name="Power_grokking" />,例如在模加法任务中,[[嵌入空间]]中出现了圆形拓扑结构,表现出模运算的循环性质;在对称群S5任务中,嵌入空间中出现了[[子群]]和[[陪集]]的结构,显示出网络对群结构的理解。尽管输入是无内在结构的符号(如字母、数字代号),网络仍能从它们的交互中推断出结构,并形成有意义的嵌入表示,这表明神经网络不仅能记忆训练数据,还能从有限样本中归纳出抽象关系:
−
[[文件:随训练嵌入结构变化.png|缩略图|在模加法运算中,对模型的输入嵌入层在不同训练阶段的结构进行可视化,发现在泛化发生之前,嵌入点是混乱无结构的;而当泛化发生时,这些嵌入点突然形成了一个完美的圆形。]]
     −
刘子鸣在他们的论文<ref name=":1" />里更明确地指出,泛化的发生与输入嵌入高度结构化的出现直接相关。他们发现,在玩具模型(如加法)中,这种结构表现为嵌入向量形成平行四边形结构;在模运算中,表现为圆形结构。当且仅当模型学到了这种结构,它才能进行泛化。为了精确衡量结构化程度,他们还提出了一个可量化的指标——表征质量指数(RQI )。RQI 衡量的是学习到的嵌入在多大程度上满足任务所要求的数学关系(例如,在加法中,检查有多少 <math>(i, j, m, n)</math> 四元组满足 <math>E_i + E_j = E_m + E_n</math>)。实验表明,RQI 与模型的泛化准确率高度一致,证实了结构化表征是泛化的直接原因。
+
[[文件:群运算和模加法运算的嵌入空间结构.png|群运算和模加法运算的嵌入空间结构(左:群运算,右:模加法运算)|无框|664x664像素]]
 +
 
 +
刘子鸣在他们的论文<ref name=":1" />里更明确地指出,泛化的发生与输入嵌入高度结构化的出现直接相关。他们发现,在玩具模型中,这种结构表现为嵌入向量形成平行四边形结构;在模运算中,表现为圆形结构。当且仅当模型学到了这种结构,它才能进行泛化。为了精确衡量结构化程度,他们还提出了一个可量化的指标——表征质量指数(RQI)。RQI 衡量的是学习到的嵌入在多大程度上满足任务所要求的数学关系(例如,在加法中,检查有多少 <math>(i, j, m, n)</math> 四元组满足 <math>E_i + E_j = E_m + E_n</math>)。实验表明,RQI 与模型的泛化准确率高度一致,证实了结构化表征是泛化的直接原因。
    
=== 时钟和披萨算法 ===
 
=== 时钟和披萨算法 ===
−
[[文件:Clock and pizza.png|缩略图|时钟与披萨算法示意图]]
+
Nanda 的工作重点是逆向工程训练好的网络,以弄清楚它学习了哪些算法<ref name=":0" />。他设计了一个更简单的 OpenAI 神经网络版本,以便在模型学习模块化算术时仔细检查其参数。他观察到了相同的行为:过拟合逐渐让位于泛化,测试准确率突然提高。他的网络也在将数字排列成圆形。
−
Nanda 的工作重点是逆向工程训练好的网络,以弄清楚它学习了哪些算法<ref name=":0" />。他设计了一个更简单的 OpenAI 神经网络版本,以便在模型学习模块化算术时仔细检查其参数。他看到了相同的行为:过拟合逐渐让位于泛化,测试准确率突然提高。他的网络也在将数字排列成圆形。经过一番努力,Nanda最终弄清了原因。当将数字表示在圆形上时,网络并不是像看时钟的小学生那样简单地数数:它在进行一些复杂的数学操作。通过研究网络参数的值,南达和同事们发现,它通过对这些时钟数字进行“[[离散傅里叶变换]]”来相加——使用正弦和余弦等三角函数转换数字,然后利用三角恒等式对这些值进行操作以得出解决方案。
+
 
 +
经过一番努力,Nanda最终弄清了原因。当将数字表示在圆形上时,网络并不是像看时钟的小学生那样简单地数数:它在进行一些复杂的数学操作。通过研究网络参数的值,南达和同事们发现,它通过对这些时钟数字进行“[[离散傅里叶变换]]”来相加——使用正弦和余弦等三角函数转换数字,然后利用三角恒等式对这些值进行操作以得出解决方案。
 +
 
 +
麻省理工学院的刘子鸣团队继续研究了Nanda的工作,他们展示了这些“理解”神经网络并不总是发现这个“时钟”算法,有时会找到研究人员称之为“披萨”的算法<ref>{{cite journal | author1=Zhong Z | author2=Liu Z | author3=Tegmark M | author4=Andreas J | year=2023 | title=The clock and the pizza: Two stories in mechanistic explanation of neural networks | journal=Advances in Neural Information Processing Systems | volume=36 | page=27223–27250 | url= }}</ref>。这种方法设想一个披萨被分成若干片并按顺序编号,要加两个数,想象从披萨中心指向所问数字的箭头,然后计算由前两个箭头形成的角度的角平分线。这条线穿过披萨某一片的中间:这一片的编号就是两个数的和。这些操作也可以用三角函数和代数操作来表示,即对 a 和 b 的正弦和余弦进行操作,理论上它们与“时钟”方法一样精确。
   −
当麻省理工学院的刘子鸣团队继续研究Nanda的工作时,他们展示了这些“理解”神经网络并不总是发现这个“时钟”算法,有时会找到研究人员称之为“披萨”的算法<ref>{{cite journal | author1=Zhong Z | author2=Liu Z | author3=Tegmark M | author4=Andreas J | year=2023 | title=The clock and the pizza: Two stories in mechanistic explanation of neural networks | journal=Advances in Neural Information Processing Systems | volume=36 | page=27223–27250 | url= }}</ref>。这种方法设想一个披萨被分成若干片并按顺序编号,要加两个数,想象从披萨中心指向所问数字的箭头,然后计算由前两个箭头形成的角度的角平分线。这条线穿过披萨某一片的中间:这一片的编号就是两个数的和。这些操作也可以用三角函数和代数操作来表示,即对 a 和 b 的正弦和余弦进行操作,理论上它们与“时钟”方法一样精确。
+
[[文件:Clock and pizza.png|时钟与披萨算法示意图|无框|664x664像素]]
   −
麻省理工学院的刘子鸣说:“时钟算法和披萨算法都有这种循环表示,但是它们利用正弦和余弦的方式不同。这就是我们称它们为不同算法的原因。”而且这还不是全部。在训练多个网络进行模运算后,刘子鸣及其同事发现,这些网络发现的大约 40%的算法是披萨算法或时钟算法的变种。该团队目前还无法破译网络在其余时间所做的事情。对于披萨算法和时钟算法,“它只是碰巧找到了一些我们能人类解读的东西,”刘说道。
+
刘子鸣说:“时钟算法和披萨算法都有这种循环表示,但是它们利用正弦和余弦的方式不同。这就是我们称它们为不同算法的原因。”而且这还不是全部。在训练多个网络进行模运算后,他们发现,这些网络中发现的大约40%的算法是披萨算法或时钟算法的变种,而目前还无法精确破译。对于披萨算法和时钟算法,“它只是碰巧找到了一些我们能人类解读的东西。”刘说道。
    
=== 控制权之争 ===
 
=== 控制权之争 ===
−
研究人员也开始理解网络顿悟数据的过程。Varma 等人指出,模型执行任务时存在两种机制:高效但学习慢的泛化机制和低效但学习快的记忆算法。顿悟现象的突然性源于记忆机制与泛化算法之间主导性的转换——只有当模型完全抑制了其记忆机制之后,泛化能力才会真正显现出来,并且存在一个数据集规模的临界值𝐷crit<ref>{{cite web | author1=Varma V | author2=Shah R | author3=Kenton Z | author4=Kramár J | author5=Kumar R | year=2023 | title=Explaining Grokking Through Circuit Efficiency | website=arXiv | url=https://arxiv.org/abs/2309.02390 }}</ref>。因此,虽然泛化能力的延迟似乎突然出现,但网络内部参数实际上一直在学习泛化算法。只有当网络既学会了泛化算法,又完全消除了记忆算法时,才能实现顿悟。Nanda说:“看似突然的事情,实际上可能表面之下是渐进的”——这个问题在其他机器学习研究中也出现过。
+
研究人员也开始理解网络顿悟数据的过程。Varma 等人指出,模型执行任务时存在两种机制:高效但学习慢的泛化机制和低效但学习快的记忆算法。顿悟现象的突然性源于记忆机制与泛化算法之间主导性的转换——只有当模型完全抑制了其记忆机制之后,泛化能力才会真正显现出来,并且存在一个数据集规模的临界值<math>𝐷_{\text{crit}</math><ref>{{cite web | author1=Varma V | author2=Shah R | author3=Kenton Z | author4=Kramár J | author5=Kumar R | year=2023 | title=Explaining Grokking Through Circuit Efficiency | website=arXiv | url=https://arxiv.org/abs/2309.02390 }}</ref>。因此,虽然泛化能力的延迟似乎突然出现,但网络内部参数实际上一直在学习泛化算法。只有当网络既学会了泛化算法,又完全消除了记忆算法时,才能实现顿悟。Nanda说:“看似突然的事情,实际上可能表面之下是渐进的”——这个问题在其他机器学习研究中也出现过。
 +
 
 +
并且,由于临界数据集规模<math>𝐷_{\text{crit}</math>决定记忆和泛化竞争结果,通过控制数据集规模可衍生逆顿悟(ungrokking)和半顿悟(semi-grokking)现象。逆顿悟现象是指若对已完成顿悟的网络在新数据集(满足<math>𝐷 < 𝐷_{\text{crit}</math>条件)上继续训练,网络会退化为显著记忆状态,导致测试损失重新恶化。半顿悟是指当 <math>𝐷 ≈ 𝐷_{\text{crit}}</math>时,记忆算法与泛化算法在收敛过程中相互竞争,因此我们观察到测试损失有所改善但未达完美:
 +
 
 +
[[文件:不同配置模型针对特定训练数据量时表现出的动态差异.png|不同配置与训练数据量下模型表现出的动态差异与相图|无框|664x664像素]]
   −
并且,由于临界数据集规模𝐷crit决定记忆和泛化竞争结果,通过控制数据集规模可衍生逆顿悟(ungrokking)和半顿悟(semi-grokking)现象。逆顿悟现象是指若对已完成顿悟的网络在新数据集(满足 𝐷 < 𝐷crit条件)上继续训练,网络会退化为显著记忆状态,导致测试损失重新恶化。半顿悟是指当 𝐷 ≈ 𝐷crit时,记忆算法与泛化算法在收敛过程中相互竞争,因此我们观察到测试损失有所改善但未达完美。
  −
[[文件:不同配置模型针对特定训练数据量时表现出的动态差异.png|缩略图|不同配置与训练数据量下模型表现出的动态差异与相图]]
   
进一步地,Huang等人<ref>{{cite web | author1=Huang Y | author2=Hu S | author3=Han X | author4=Liu Z | author5=Sun M | year=2024 | title=Unified View of Grokking, Double Descent and Emergent Abilities: A Comprehensive Study on Algorithm Task | website=First Conference on Language Modeling | url=https://openreview.net/forum?id=cG1EbmWiSs }}</ref>对记忆与泛化之争产生的不同训练动态进行了更详细的定义和划分,他们研究了模型[[隐空间]]维度和训练数据量如何影响模型训练动态,并根据这两个参数绘制出相空间,每个区域对应实验中观察到的不同训练动态:
 
进一步地,Huang等人<ref>{{cite web | author1=Huang Y | author2=Hu S | author3=Han X | author4=Liu Z | author5=Sun M | year=2024 | title=Unified View of Grokking, Double Descent and Emergent Abilities: A Comprehensive Study on Algorithm Task | website=First Conference on Language Modeling | url=https://openreview.net/forum?id=cG1EbmWiSs }}</ref>对记忆与泛化之争产生的不同训练动态进行了更详细的定义和划分,他们研究了模型[[隐空间]]维度和训练数据量如何影响模型训练动态,并根据这两个参数绘制出相空间,每个区域对应实验中观察到的不同训练动态:
   第104行: 第109行:     
=== 参数空间 ===
 
=== 参数空间 ===
−
研究人员对顿悟过程的参数空间进行了一系列的分析,以探索模型内部真实变化。最初科学家们发现,使用权重衰减的训练方式能显著提升嵌入的结构化程度<ref name="Power_grokking" />。Weight Norms最近的研究也认为参数权重的L2 norm是结构顿悟的重要量。总体上来说,训练过程中范数(Norms)增长被作为神经网络泛化的关键因素之一进行了研究。通过分析Weight Norm,研究者提出了关于顿悟现象的一种解释:训练损失与测试损失景观之间的不匹配是导致顿悟的原因<ref name=":2" />。两者在权重范数<math> w>w_c</math>区域的不匹配导致快慢动力学机制,从而产生顿悟现象。在权重范数较大时,模型很容易过拟合训练数据,使得训练损失较低。只有在权重范数接近 “Goldilocks zone”时,测试损失才较低,模型泛化性能较好。如果模型权重范数初始化为较大值,模型会首先快速移动到一个过拟合的解,因为此时训练损失最小化,在没有正则化的情况下模型会停留在过拟合的状态,因为训练损失在过拟合解的山谷中梯度几乎为零,泛化不会发生。
+
研究人员对顿悟过程的参数空间进行了一系列的分析,以探索模型内部真实变化。最初科学家们发现,使用权重衰减的训练方式能显著提升嵌入的结构化程度<ref name="Power_grokking" />。权重范数(Weight Norms)最近的研究也认为参数权重的L2 norm是结构顿悟的重要量。总体上来说,训练过程中范数(Norms)增长被作为神经网络泛化的关键因素之一进行了研究。通过分析权重范数,研究者提出了关于顿悟现象的一种解释:
 +
 
 +
训练损失与测试损失景观之间的不匹配是导致顿悟的原因<ref name=":2" />。两者在权重范数<math> w>w_c</math>区域的不匹配导致快慢动力学机制,从而产生顿悟现象。在权重范数较大时,模型很容易过拟合训练数据,使得训练损失较低。只有在权重范数接近 “Goldilocks zone”时,测试损失才较低,模型泛化性能较好。如果模型权重范数初始化为较大值,模型会首先快速移动到一个过拟合的解,因为此时训练损失最小化,在没有正则化的情况下模型会停留在过拟合的状态,因为训练损失在过拟合解的山谷中梯度几乎为零,泛化不会发生。
   −
由于训练损失和测试损失(相对于模型权重范数)通常分别呈现"L"形和"U"形,将其称为"LU机制"。这一简单机制可以很好地解释grokking的诸多特征:数据规模依赖性、权重衰减依赖性、表征的涌现等。基于这一直观图像,研究者们成功在涉及图像、语言和分子的任务中诱导出了顿悟现象。
+
由于训练损失和测试损失(相对于模型权重范数)通常分别呈现"L"形和"U"形,将其称为"LU机制"。这一简单机制可以很好地解释顿悟的诸多特征:数据规模依赖性、权重衰减依赖性、表征的涌现等。基于这一直观图像,研究者们成功在涉及图像、语言和分子的任务中诱导出了顿悟现象。
    
=== 特征学习 ===
 
=== 特征学习 ===
81

个编辑