HeadlinesBriefing favicon HeadlinesBriefing.com

微型网络压缩数据,吸引五角大楼关注

Towards Data Science •
×

我没想到几何会出现在这里。我正在复现Anthropic 2022年可解释性论文《叠加的玩具模型》[1]中的一小部分,主要是因为其核心主张听起来难以置信,我想亲自验证而不是盲目相信。该主张是:神经网络可以表示比其维度更多的特征,方法是将它们以一定角度打包在一起,并容忍一些干扰。在适当条件下,要求它将五个事物压缩到两个维度,它不会选择两个赢家而放弃其余。它会将五个事物排列成一个完美的五边形。我没有PyTorch或任何自动微分库可用,也没有互联网连接来安装一个,所以下面所有内容都是纯NumPy,我手动推导了反向传播。这结果证明是恰到好处的烦人。自己推导梯度迫使你真正理解模型对数据做了什么,而不是信任你从未思考过的.backward()调用。如果你有数学背景,并且从未手动推导过即使是小型网络的反向传播,我真心推荐这作为练习。这是十分钟的链式法则,让后续一切变得清晰。本文所有数据都是合成的。我在代码中自己生成,不涉及外部数据集,这也是原始论文的做法。除非另有说明,所有图片均由作者提供。这里试图解释的问题:这是一个激励性的谜题,在可解释性研究中是真实存在的。如果你查看一个训练好的神经网络内部,希望找到单独表示概念的神经元,一个用于“这是狗”,一个用于“这是红色”,你通常找不到。相反,你会发现神经元似乎同时响应多个不相关的事物,比如一个神经元既对猫脸又对汽车前部做出反应。这被称为多义性,它使可解释性变得更加困难,因为你不能通过检查单个单元来直接读出网络“相信”什么。论文的提议是,多义性不是噪声或失败。这是网络有意使用的真实策略,因为它需要表示的概念比神经元多,而且大多数概念很少同时激活。如果两个特征几乎从不同时“开启”,网络可以负担让它们在激活空间中共享一个方向,因为干扰只在它们偶尔同时触发时才会造成损失。这种打包策略就是论文所称的叠加,其玩具模型旨在成为最简单的设置,让你可以观察它并实际测量它。模型,以及我必须推导的数学来训练它:这个设置故意很小。你有n个合成特征,每个特征是一个介于0和1之间的数字,大多数时候为零(这是稀疏性),其余时间非零。你通过m个隐藏维度的瓶颈压缩它们,其中m小于n,然后尝试通过ReLU重建原始特征。具体来说,使用一个形状为(m, n)的单一权重矩阵W用于压缩和重建:h=W⋅x,x̂=ReLU(W⊤⋅h+b)。训练最小化x和x̂之间的加权平方误差,其中每个特征i获得重要性权重Ii,因此网络被告知某些特征比其他特征更重要:L=∑i Ii⋅(xi−x̂i)²\m...