前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >代码:一个epoch打天下:深度Hebbian BP (华为实验室) 抗攻击

代码:一个epoch打天下:深度Hebbian BP (华为实验室) 抗攻击

作者头像
用户1908973
发布2023-09-01 08:07:02
1490
发布2023-09-01 08:07:02
举报
文章被收录于专栏:CreateAMindCreateAMind

code:softhebb 代码 https://openreview.net/attachment?id=IJ-88dRfkdz&name=supplementary_material

修改成下面代码:

from art.estimators.classification import PyTorchClassifier

run:

➜ softhebb python softhebb.py

presets: softhebb2000normb0.03_base1000

presets: softhebb2000normb0.03_base1000

return torch.from_numpy(parsed.astype(m[2], copy=False)).view(*s)

Testing:[0]Inferred 0 batches

Training accuracy (single SoftHebb layer):

tensor(0.9653, device='cuda:0')

Testing:[0]Inferred 0 batches

Testing accuracy (single SoftHebb layer):

tensor(0.9619, device='cuda:0')

2-layer accuracy of the network on the 10000 test images: 96.700000

Model accuracy (SoftHebb + Supervised Classifier) 96.70 %

Loading MNIST test dataset in minibatches

Running PGD attack.

Making increasingly larger attack perturbations and drawing the adversarial examples...

Done.

➜ softhebb

readme:

-- Dependencies:

#########################

python 3

pytorch

numpy

pip install adversarial-robustness-toolbox==1.7.0

mkdir figs_gpu0

########################

-- Contents and instructions

#########################

-softhebb.py

Contains all the classes and functions for training a SoftHebb network,

testing its accuracy, and testing it with adversarial examples of PGD attack.

Its code is imported by loss_plot.py (see below).

----------------------------------------

-adversarial attack example script

Run softhebb.py directly for the following actions:

it loads a pretrained SoftHebb model, and generates and draws on the screen MNIST adversarial examples

of various perturbation sizes epsilon, targeting the specific loaded network.

--------------------------------------

-loss_plot.py

Performs most of the possible functions.

Run loss_plot.py directly for the following sequence of actions:

1. Creates a SoftHebb model

2. Trains it on MNIST for one epoch

3. tests the accuracy of the single SoftHebb layer

4. shows its learned weights

-------------------------------------

5. trains a supervised classifier on top with backprop

6. tests this 2-layer model's accuracy

---------------------------------------------------

7. using the trained classifier, it goes through the training of the unsupervised layer again and measures its post-hoc cross-entropy while it gets minimized.

The post-hoc cross-entropy method is described in the manuscript.

8. trains a same-sized MLP with backpropagation

9. logs the MLP's cross-entropy history

10.plots the cross-entropy history of SoftHebb and of MLP

###################################################

paper:Hebbian Deep Learning Without Feedback (华为实验室)

摘要

最近对反向传播(BP)的近似已经减轻了许多BP的计算效率低下和与生物学的不兼容,但是重要的限制仍然存在。此外,近似值显著降低了基准的准确性,这表明一种完全不同的方法可能更有成效。在这里,基于软赢家通吃网络中Hebbian学习的最新理论,我们提出了多层SoftHebb,即一种训练深度神经网络的算法,没有任何反馈、目标或错误信号。因此,它通过避免重量转移、非局部塑性、层更新的时间锁定、迭代平衡和(自我)监督或其他反馈信号来实现效率——这些在其他方法中是必要的。与最先进的生物似是而非的学习相比,它增加的效率和生物兼容性并没有牺牲准确性,而是提高了准确性。通过多达五个隐藏层和一个添加的线性分类器,在MNIST、CIFAR-10、STL-10和ImageNet上的准确率分别达到99.4%、80.3%、76.2%和27.3%。总之,SoftHebb用一种与BP完全不同的方法表明,几层的深度学习可能在大脑中是合理的,并增加了生物合理机器学习的准确性。

(值得注意的是,最大程度地混淆SoftHebb的攻击也会混淆人眼,这可能会将人类的感知鲁棒性与Hebbian WTA皮层回路联系起来。总之,Hebbian效率、理论基础、交叉熵最小化和令人惊讶的经验优势表明,SoftHebb可能会激发高度神经形态和根本不同但实用和有利的学习算法和硬件加速器。)

1 简介:反向传播及其局限性

深度学习(DL)中的核心算法是反向传播(BP),其操作方式是首先定义神经网络输出和期望输出之间的误差或损失函数。尽管有巨大的实际效用(Sejnowski,2020),BP需要的操作使得训练在计算上是一个非常昂贵的过程,限制了它在资源受限情况下的适用性。此外,同样的操作在很大程度上与生物学习不相容,需要替代方案。在下面的段落中,我们描述了这些局限性及其实际和生物学意义。

Weight transport。反向传播误差包括正向连接权重的转置矩阵。这在生物学上是不可能的,因为突触是单向的。突触电导也不能被传输到分离的后向突触。那就是重量运输问题(格罗斯伯格,1987;Crick,1989年),而且它还会阻止在节能硬件基底上的学习(Crafton等人,2019年)。具体来说,神经形态计算硬件是克服作为当今计算机芯片基础的冯诺依曼架构的效率和扩展瓶颈的最受研究的方法之一(Indiveri,2021)。神经形态策略的一个关键要素是将计算放在同样的设备中,这些设备也存储记忆,类似于生物突触,执行计算但也存储权重(Sebastian等人,2020;萨瓦特等人,2022ab)。BP中需要转置这种存储的记忆以进行反向传递,但这意味着大量的电路和能量支出,从而阻碍了神经形态技术的全部潜力(Crafton等人,2019)。

Non-local plasticityBP不能仅基于权重所连接的两个神经元(即突触前和突触后神经元)的即时激活来更新每个权重,因为它需要在不同的时间点和其他地方计算的误差信号,这使得BP在空间和时间上是非局部的,这与通常被认为控制生物突触可塑性的局部性存在重大差异(Baldi等人,2017)。这种非局部性意味着进一步的计算效率低下。具体来说,前向传递变量必须记忆,这增加了记忆要求(Lo we et al .,2019)。此外,必须计算和传播额外的反向信号,这增加了操作和电流。值得注意的是,这些方面不仅限制了未来的神经形态技术,甚至限制了今天的DL的硬件基础,即图形处理单元(GPU),它们在内存和FLOPS方面都有自己的限制。

Update locking只有在信息通过整个网络前后传播后,才能计算出BP对突触造成的错误。因此,权重更新被时间锁定到这些延迟(Czarnecki等人,2017年;贾德伯格等人,2017;Frenkel等人,2021年)。这降低了学习速度,因此训练样本的提供速度必须至少与处理两个方向传播的速度一样慢。除了BP对于DL的这种重要的实际限制之外,大脑中的多个远距离神经元以如此精确的时间协调它们的处理和学习操作,或者大脑只能从训练样本的缓慢连续中学习,这似乎也是不合理的。

Global loss function。BP通常应用于受监督的设置,其中人类提供训练样本的描述性标签。这是一个成本高昂的过程,因此受监督的BP无法利用大多数未标记的可用数据。此外,它没有解释人类或动物如何在没有监督人的情况下学习。因此,大量的研究工作致力于无标签学习技术,最近取得了越来越多的成功,特别是自监督学习(SSL) (Chen et al .,2020;米特洛维奇等人,2020;Lee等人,2021;托马舍夫等人,2022年)。在SSL中,BP还可以使用模型本身生成的某些监控信号作为全局错误。因此,它需要以全球损失函数的形式进行自上而下的监督。这样做的缺点是,与一般特征的学习相反,学习变得专门针对由损失函数的最小化明确定义的特定任务。实际上,这在DL中表现为过度适应,对对抗性攻击敏感(Madry et al .,2017;Moraitis等人,2021年),以及泛化,将学习到的特征用于其他任务或数据集的能力(Lee et al .,2021)。此外,像BP这样的全局优化方案不能被认为是大脑中所有学习的合理模型,因为在ML基准任务中的学习确实来自高度生物可塑性规则,而没有全局(自我)监督,例如通过无监督的Hebbian式学习(Diehl和Cook,2015;莫拉依斯等人,2020;2021;加西亚·罗德里格斯等人,2022年)。

2 反向传播的替代方法及其局限性

皮层中的无监督Hebbian学习。类Hebbian是那些只依赖于突触前和突触后神经元活动的可塑性规则。如果这种可塑性与抑制层中弱激活神经元的神经元间竞争相结合,例如作为argmax,它可以导致在没有任何(自我)监督的情况下学习有用的特征(Sanger,1989;Linsker,1992)。这是一种与BP截然不同的方法。它不受全局优化过程的控制,而是作为一种纯粹自下而上的自组织从局部突触可塑性中涌现出来。在没有监督、反馈或目标的情况下,竞争性Hebbian学习绕过了BP的所有五个限制,因为它不需要任何反向传播信号。也就是说,它没有重量运输、非局部性、锁定问题和全局损失。这些都是重要的实际优势。此外,这些特性使得希伯来人的学习在生物学上更加合理。此外,在基于生物神经元激活的尖峰类型的形式中,有大量证据表明在大脑中存在类似赫布边的可塑性(Sj ostr om等人,2001;马克拉姆等人,2011年;费尔德曼,2012)。即使是竞争激烈的网络连接,通过这种可塑性进行学习得到了生物学观察的有力支持。具体而言,通过侧向抑制依赖于神经元之间竞争的回路遍布哺乳动物大脑的皮质层(Douglas and Martin,2004;Binzegger等人,2004年),通常被称为赢家通吃(WTA)。此外,这种竞争学习已经在计算上和理论上以各种形式被深入研究了很长时间(冯·德·马尔斯堡,1973;Nessler等人,2013年;迪尔和库克,2015;克罗托夫和霍普菲尔德,2019;Moraitis等人,2020)。如果这种学习能够成为DL的基础,那么所有这些方面都将是重要的优势。然而,无监督的Hebbian学习仅在浅层网络中有效。准确地说,添加层未能在标准基准测试中产生显著的性能改善(图1) (Amato等人,2019;拉加尼等人,2021;Miconi,2021)。可以说,这是因为从可塑性中产生的自下而上的学习很难与从损失函数中产生的自上而下的学习相协调,后一种方法是DL的支柱。这些竞争性的赫布方法是规范性的,即从优化原理中推导出可塑性规则,这些方法基于似乎与成功的DL技术不兼容的原理,或者是因为显著不同的网络类型(Nessler等人,2009;2013)或损失函数(Pehlevan和Chklovskii,2015)。

SoftHebb。然而,最近的工作已经推进了Hebbian WTA学习背后的理论,使其与DL更加兼容。具体而言,Moraitis等人(2021年)使用简单的softmax来实现软WTA(等式(1)),这为网络及其学习提供了贝叶斯解释(另见Nessler等人(2009年;2013)).Moraitis等人(2021年)还推导出了一个类似Hebbian的可塑性规则(等式(2)),该规则最小化了输入的模型概率分布的Kullback-Leibler散度,以及在某些假设下来自标签的交叉熵,而无需访问这些标签。在一层网络中,SoftHebb表现出提高的学习速度和显著更高的对噪声和敌对攻击的鲁棒性。它的理论结果似乎对更深层次的网络很重要,但对于实际的演示来说还不够。在这里(第3节),我们提供了一个基于SoftHebb的设置,它确实实现了Hebbian学习的深度。

反向传播的近似法。与BP没有根本区别,而是近似BP,同时减轻其一些问题的替代方案已经吸引了大量的研究兴趣,并取得了越来越大的成功。例如,自我监督学习使BP能够在没有标签的情况下进行学习(Hadsell等人,2006),实例如SimCLR(陈等人,2020)和follow-ups(,2020;Grill等人,2020年;何等,2020;卡隆等人,2020;Tomasev等人,2022年)达到相当高的性能。一种不同的方法,反馈校准(FA),(Lillicrap等人,2016年;Frenkel等人,2021),解决了重量运输问题。直接反馈校准(kland,2016年;Frenkel等人,2021)作为FA的扩展,也避免了权重更新的非局部计算。反向传播的空间非局部性也已经由其他算法解决,例如预测编码(Hadsell等人,2006;陈等,2020),平衡传播(Scellier和Bengio,2017;Laborieux等人,2021),burstprop (Payeur等人,2021)。Lo we等人(2019)和Illing等人(2021)的CLAPP的工作是自监督算法,不仅避免了对标签的依赖,还避免了空间非局部学习。然而,它们需要对已知不同类型的例子进行对比。最近的一种自我监督的方法通过在学习中增加一个希伯来人术语来避免这种要求(Halvagal和Zenke,2022)。这使得它对大脑来说是一种相当合理的算法,但它仍然依赖于对每个单独输入的明显不同的视图之间的比较。此外,它在CIFAR-10和STL-10上的性能比本段前面的参考文献要差得多。事实上,与BP相比,上述所有方法都会导致准确性显著下降,并且大多数情况下不适用于像ImageNet这样复杂的数据集(Bartunov等人,2018)。kland和Eidnes (2019)提出了一种算法,该算法避免了端到端BP的非局部性,并且在CIFAR-10中也实现了相当高的准确性。然而,它依赖于添加到每一层的辅助训练网络,这增加了复杂性和监督,这需要标签。其他工作实现了具有局部可塑性的学习,同时避免了重量运输和更新锁定问题(Crafton et al .,2019;Frenkel等人,2021年)。然而,它们的性能会大幅下降,并且依赖于监管。显然,与标准BP相比,通过多种方法已经取得了显著的进步,但是仍然存在重要的局限性(表1)。如果有竞争力的Hebbian算法在多层网络和困难任务中表现良好,这些限制将被克服。在这里,我们探索SoftHebb的潜力(Moraitis等人,2021),即最近的算法似乎适合这个目标。事实上,我们的结果展示了一种多层学习设置,在困难的任务上,生物似是而非的算法达到了相对较高的性能,具有高效率和严格的生物约束。在下一节中,我们将描述这种设置。

3 多层softHeBB概述

Alternative activations for forward propagation.

Soft anti-Hebbian plasticity.

Weight-norm-dependent adaptive learning rate 权重范数相关的自适应学习率。我们引入了每神经元自适应学习速率方案,当神经元权重向量收敛到半径为1的球体时,该方案稳定到零,并且当权重向量的范数与1相比较大时,该方案初始较大:lri = lr(ri-1)lrp,其中LRP是功率超参数。这种基于权重的每神经元自适应仍然是局部操作,并让人想起另一种重要的自适应学习速率方案,该方案针对每个突触进行个性化,具有生物学和理论基础,并加速学习(Aitchison,2020;Aitchison等人,2021)。我们的可以说是更简单的,它的相关性在于,它增加了对超参数和初始化的鲁棒性,并且,结合SoftHebb的贝叶斯性质(第2节),它加速了学习,使得仅仅一个学习时期就足够了(第4节)。

理论篇:

SoftHebb: Bayesian Inference in Unsupervised Hebbian Soft Winner-Take-All Networks

https://arxiv.org/abs/2107.05747v4

Notably, attacks that maximally confuse SoftHebb are also confusing to the human eye, potentially linking human perceptual robustness, with Hebbian WTA circuits of cortex.

All in all, Hebbian efficiency, theoretical underpinning, cross-entropy-minimization, and surprising empirical advantages, suggest that SoftHebb may inspire highly neuromorphic and radically different, but practical and advantageous learning algorithms and hardware accelerators.

Necessity for new theoretical foundation of Hebbian WTA learning.

In summary, on the theoretical side, an algorithm that is simultaneously normative, based on WTA networks and Hebbian unsupervised plasticity, performs Bayesian inference, and, importantly, is composed of conventional ANN elements, with conventional input encoding, and is rigorously linked to modern ANN tools such as cross-entropy loss, would be an important advance but has been missing. On the practical side, such a theoretically grounded approach could be the key missing piece for bringing the multiple efficiency facets of biological learning to deep learning. That is, it could provide insights into how a WTA microcircuit could participate in larger-scale computation by deep cortical or artificial networks. Furthermore, such a theoretical foundation could also reveal unknown advantages of Hebbian plasticity in WTA networks. Recently, when WTA networks were studied in a theoretical framework compatible with conventional machine learning (ML), but in the context of short-term (STP) as opposed to long-term Hebbian plasticity, it did result in surprising practical advantages over supervised ANNs (Moraitis et al., 2020), and was followed-up by showing significant benefits also in other networks and multiple advanced tasks (Garcia Rodriguez et al., 2022). Theoretical grounding may therefore go beyond merely narrowing the accuracy gap from BP in simple benchmarks, and even indicate scenarios where Hebbian plasticity outperforms.

完整论文请阅读原文

相关推荐:

神经突触算法结构图大全(13篇论文汇总)

在突触学习和计算目标之间建立精确关系的框架

树突脉冲神经元 开源模拟框架

人、鼠神经细胞差异对比 及神经元计算建模

大脑中复杂适应动力学的神经调节控制

DhPC 一个脉冲脑皮质计算理论

抗攻击的图表示学习

直接颠覆BP的生物学习算法

生物躯体稳态控制的第一原理

代码Unsup Visual Dynamics Simulation with Object-Centric Models

下一代神经网络深度学习 技术亮点梳理-换道chatGPT

脑网络结构高清大图

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CreateAMind 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档