| 第21行: |
第21行: |
| | | | |
| | === 模运算 === | | === 模运算 === |
| − | 最初关于模型顿悟的研究大多在模运算任务上进行<ref><ref name="Power_grokking" /></ref>。为什么使用模运算?是因为小型算法数据集在研究神经网络泛化能力方面具有重要作用。通过在这些数据集上进行实验,可以更显著地展现神经网络的泛化能力,因为在数据有限、规则清晰的情况下,模型需要更好地理解数据中的模式和规律才能实现泛化,有助于快速验证顿悟理论和假设,加深对神经网络泛化能力的理解。
| + | 最初关于模型顿悟的研究大多在transformer执行模运算任务上进行<ref name="Power_grokking" /><ref name=":0">{{cite journal | author1=Nanda N | author2=Chan L | author3=Lieberum T | author4=Smith J | author5=Steinhardt J | year=2023 | title=Progress measures for grokking via mechanistic interpretability | journal=International Conference on Learning Representations (ICLR) | volume= | issue= | page= | url=https://openreview.net/forum?id=9XFSbDPmdW }}</ref>。为什么使用模运算?是因为小型算法数据集在研究神经网络泛化能力方面具有重要作用。通过在这些数据集上进行实验,可以更显著地展现神经网络的泛化能力,因为在数据有限、规则清晰的情况下,模型需要更好地理解数据中的模式和规律才能实现泛化,有助于快速验证顿悟理论和假设,加深对神经网络泛化能力的理解。 |
| | | | |
| − | 数据集由形如<nowiki><math>a \circ b mod p = c</math></nowiki>的方程组成,其中每个元素"<nowiki><math>a</math></nowiki>"、"<nowiki><math>\circ</math></nowiki>"、"<nowiki><math>b</math></nowiki>"、"<nowiki><math>mod</math></nowiki>"、"<nowiki><math>p</math></nowiki>"、"<nowiki><math>=</math></nowiki>"和"<nowiki><math>c</math></nowiki>"均为独立标记 | + | 数据集由形如<nowiki><math>a \circ b mod p = c</math></nowiki>的方程组成,其中每个元素"<nowiki><math>a</math></nowiki>"、"<nowiki><math>\circ</math></nowiki>"、"<nowiki><math>b</math></nowiki>"、"<nowiki><math>mod</math></nowiki>"、"<nowiki><math>p</math></nowiki>"、"<nowiki><math>=</math></nowiki>"和"<nowiki><math>c</math></nowiki>"均为独立标记。由于通常只有a,b三个变量,所以很多研究只关注a,b与aob的关系,<x><op><y><=><xoy> |
| | | | |
| | === 其他数学运算 === | | === 其他数学运算 === |
| | + | '''群运算:'''Chughtai 等人<ref>{{cite journal | author1=Chughtai B | author2=Chan L | author3=Nanda N | year=2023 | title=A toy model of universality: Reverse engineering how networks learn group operations | journal=International Conference on Machine Learning (ICML), PMLR | volume= | issue= | page= | url= }}</ref>训练MLP模型在阶数为∣G∣=n的有限群上执行群组合运算,发现MLP模型表现出"顿悟"现象。模型输入为有序对 (a,b)(其中a,b∈G),训练目标是预测群元素 c=ab。值得注意的是,Nanda等人<ref name=":0" />提出的任务是该任务的特例——因为模113加法运算等价于 113阶循环群的组合运算。 |
| | + | |
| | + | '''n位k稀疏奇偶校验:'''这是一个典型离散搜索问题。Barak等人<ref>{{cite journal | author1=Barak B | author2=Edelman B | author3=Goel S | author4=Kakade S | author5=Malach E | author6=Zhang C | year=2022 | title=Hidden progress in deep learning: SGD learns parities near the computational limit | journal=Advances in Neural Information Processing Systems | volume=35 | issue= | page=21750–21764 | url= }}</ref>通过大量实验证明,使用标准初始化(均匀、高斯、伯努利)和标准训练(SGD)的各种神经网络架构(包括 2 层 MLP、特定设计的单神经元网络、Transformer、PolyNet),能够在训练步数接近计算极限 n^{O(k)} 的情况下,成功学习 k-稀疏 n 位奇偶函数,即从 n 个比特中找出 k 个关键比特并计算它们的异或作为标签。 |
| | + | |
| | + | '''5位数加法:'''输入两个随机生成的5位数(例如 12345 + 67890),模型需预测其和的每一位数字(如 80235 的 8,0,2,3,5) |
| | + | |
| | + | '''重复子序列预测:'''生成均匀分布的随机符号序列,随机选择子序列进行重复,训练模型预测被重复的符号。(如 7,2,8,3, 1,9,3,8,3, 1,9,9,2,5,其中 1,9 为重复子序列) |
| | + | |
| | + | '''跳跃三元组:'''输入由0到19构成的符号序列(其中恰好一个符号≥10),模型需输出≥10的符号。该任务可通过学习10个跳跃三元组解决。(如 [0,3,15,7,...,2],模型需输出该特殊token(如 15)) |
| | | | |
| | === 非算数任务 === | | === 非算数任务 === |
| | + | (liu 2023)显式增加初始化权重范数会诱发顿悟现象(grokking): |
| | + | |
| | + | IMDb文本情感分析(Maas等人,2011):包含5万条需分类为正面或负面的电影评论。数据预处理阶段,我们提取前1000个高频词,并将每条评论分词为词元索引数组。低频词被忽略,每条评论数组填充至长度500。采用LSTM模型(Hochreiter和Schmidhuber,1997)进行分类,该模型包含两层结构,嵌入维度64,隐藏维度128。使用Adam优化器(Kingma和Ba,2014)以0.001学习率最小化二元交叉熵损失。保留25%数据集用于测试。 |
| | + | |
| | + | 分子QM9:是小分子及其性质的数据库。我们采用图卷积神经网络(GCNN)预测各向同性极化率。该GCNN包含2个带ReLU激活的卷积层和1个线性层。使用Adam优化器以0.001学习率最小化均方误差损失。数据集按50/50比例划分为训练集/测试集。 |
| | + | |
| | + | MNIST:我们在MNIST数据集上训练宽度200、深度3的ReLU多层感知机(MLP),采用均方误差损失。使用AdamW优化器,学习率0.001,批量大小200。 |
| | + | |
| | + | (liu 2022)我们首次证明,顿悟现象(显著延迟的泛化)是机器学习中更为普遍的现象,不仅会出现在算法数据集上,也会出现在主流基准数据集中。具体而言,图8展示了MNIST数据集上的顿悟现象,并通过调整优化超参数实现了对顿悟的控制。实验设置的更多细节见附录J。 |
| | | | |
| | === 大语言模型 === | | === 大语言模型 === |
| | + | 现有关于顿悟的研究通常针对一两个高度特定或玩具级任务训练小型模型数千个周期,而本文首次基于7B参数大语言模型(LLM)OLMoE[15]的单次预训练过程展开研究。我们计算OLMoE在预训练数据上的训练损失,并在多样化基准任务(包括数学推理、代码生成、常识/领域知识检索任务)上评估其泛化性能。我们的研究首次证实:grokking现象(顿悟式学习)在实用化大规模基础模型的预训练中依然存在,但不同数据可能异步进入其顿悟阶段。 |
| | | | |
| | == 顿悟现象的可解释性分析 == | | == 顿悟现象的可解释性分析 == |
| | + | 尽管人工智能神经网络在各种任务中非常出色,但它们的内部机制仍然像过去一样难以理解。研究人员一直在寻找任何可以深入了解这些模型的线索。 |
| | | | |
| | === 结构化表征 === | | === 结构化表征 === |