首页  >  文章  >  科技周边  >  大脑启发的AI模型:激活学习,挑战反向传播

大脑启发的AI模型:激活学习,挑战反向传播

王林
王林转载
2023-04-12 11:10:161166浏览

反向传播技术是深度学习的核心,驱动了AI在视觉、语音、自然语言处理、游戏、生物预测等诸多领域的成功。反向传播的运行机制是通过反向的方式计算预测误差对神经网络连接权重的梯度,并通过微调每一层的权重来减少预测误差。尽管反向传播非常高效,是目前人工智能成功的关键,但是相当一部分研究人员并不认为反向传播的学习方法同大脑的工作方式是一致的。

随着深度学习技术的发展,大家也逐步看到了反向传播的一些弊端,例如对于标签数据和算力的过度依赖、存在一系列的对抗安全问题、只能针对特定的任务等,而且也引发了大家对发展大模型的一些顾虑。

例如反向传播提出的作者之一也是深度学习先驱Hinton就多次表示,“如果要想实现实质进展,必须摈弃反向传播,从头再来[2]”,“我目前的信念是,反向传播,也即目前深度学习的工作方式,与大脑所作的完全不同,大脑是以不同的方式来获得梯度的[3]”, “我相信大脑使用了很多局部小的目标函数,它不是一种端到端的系统链,通过训练来优化目标函数[3]”。

同是图灵奖得主的LeCun则表示“目前的深度学习模型可能是未来智能系统的一个组成部分,但我认为它缺少必要的部分。我认为它们是必要的,但还不够[4]”。他的老对头,纽约大学教授Gary Marcus表示同样的内容之前都说过“如果我们要实现通用人工智能,深度学习必须得到其他技术的补充[4]”。

大脑的启发

如何从头再来? 人工智能技术的发展无疑离不开理解大脑对我们的启发。尽管我们还远不能完全理解大脑的工作机制-其核心是如何根据外部信息调整神经元之间的连接权重,我们依然可以得到一些关于大脑的初步认知,能够启发我们设计新的模型。

首先,大脑的学习过程跟赫布规则(Hebb’s rule)有着千丝万缕的联系,即同时激活的神经元之间的连接权重会加强,这可以说是神经科学的最重要的一个基本规则,得到了大量的生物实验验证。

其次,大脑中的学习主要以无监督学习为主,能够从少量样本中获取丰富的局部表征和表征之间的关联,反馈信号也在学习过程中起到比较重要的作用。此外,大脑是一个支持通用任务的学习系统,大脑学习到的特征与特定的任务应该是相对对立的,一个合理的目标是大脑能够很好的学习到各类输入信号的统计分布以及不同内容之间的关联。

近日,山东大学的研究者周洪超在arXiv上提交了一篇文章,“Activation Learning by Local Competitions”, 提出了一个受到大脑启发的AI模型,称之为激活学习(activation learning)。它的核心是构建多层神经网络使得网络输出激活强度能反映输入的相对概率大小。

该模型完全放弃了反向传播方法,而是从改进基本的赫布规则(更接近于大脑的方法)出发,建立出一套新的神经网络训练和推理方式,它在小样本的学习实验中能够取得明显优于反向传播的表现,而且也可以作为图片的生成模型。该工作表明,生物启发的学习方法的潜力可能被远远低估了。

大脑启发的AI模型:激活学习,挑战反向传播

论文链接: https://arxiv.org/pdf/2209.13400.pdf

本地竞争的学习规则

赫布学习在反向传播出现之前一直是神经网络学习研究的一个核心方向,启发了一系列学习系统的工作,但是最终并没有成为一个广泛实际应用的方法。

一个可能的原因是人们对赫布规则中的一些机制尤其是神经元之间的竞争机制并没有完全了解,而竞争在神经网路特征学习和权重调整过程中起到非常重要的作用。

一个直观的理解是如果每一个神经元都尽力在竞争激活,而同时有某种抑制使得不同神经元表征的特征尽量不同,那么神经网络会趋近于将最多的有用信息传递到下一层(是不是跟社会经济学很像? 当一个大的社会群体里每个个体都实现收益最大化而且这个群体足够大的时候,在一定的规则限制下整个群体的总收益趋向于最大化,这时候每个个体表现出了不同的行为)。

事实上,大脑中存在着大量的抑制神经元,神经元之间的竞争和抑制在大脑学习过程中发挥重要的作用。反向传播的第一作者 Rumelhart (认知科学领域的最高奖就是Rumelhart奖) 就是这个想法的推动者,他在提出反向传播的同期(1985年)也提出一种叫竞争学习(Competitive Learning)的模型 [5], 它的核心在将每一层的神经元分成若干簇,每一簇只有最强的一个神经元会被激活(称之为赢者通吃)并通过赫布规则进行训练。但是相比之下,反向传播在实际应用中表现出了更好的网络训练效率,并在此后吸引了绝大部分AI研究人员的注意力,推动了深度学习的出现和成功。

但是依然有一部分研究者相信生物启发的学习方法的潜力,2019年Krotov和Hopfield (没错,就是Hopfield网络的提出者) 展示了赢者通吃规则结合赫布学习可能可以达到同反向传播相比拟的性能[6]。但是赢者通吃的规则,即只允许一个神经元被激活的方式,在一定程度上也限制了神经网络的学习和表达能力。

本文工作研究者将竞争机制直接引入到赫布学习规则中,得到了一个简洁的本地学习规则:

图片

这里假设神经元i是它上面一层神经元j的输入, 图片 是神经元i和神经元j的连接权重,图片是该权重在某一训练样本下的调整量,图片是神经元i的输出也是神经元j的一个输入, 图片是神经元j的总加权输入(或者神经元j的输出), 图片是一个较小的学习率, 图片遍历了与神经元j同层的所有神经元。如果仅考虑 图片, 就是最原始的赫布规则。这里的一个关键就是引入了一个来自于同层的输出反馈项 图片。它起到了两个作用:第一是保证所有的权重不会无限增大,学习的过程是收敛的;第二是引入了神经元j同本层其他神经元之间的竞争,提升特征表达的多样性。

对上面的本地学习规则进行数学分析(假设学习率足够小、学习步数足够多),可以得到一些很有意思的结论。

(1) 给定每层的图片, 通过图片 可以重构出输入 图片使得重构误差尽量小。这种逐层的重构能力可以提升模型对于对抗攻击的安全性,防止在一些物体图片上加入对抗噪音被识别成其它的物体。

(2) 基于本地学习规则的每层特征提取跟主成分分析(PCA)具有一定相似性,他们的重构损失是一样的,但是与主成分分析不同的是本地学习规则得到的各个成分是不需要正交的。这是一件很合理的事情,因为主成分分析就是来提取每一层主要的信息,但是如果最主要成分对应的神经元失效将会影响整个网络的性能,而本地学习规则解决了这个鲁棒性的问题。

(3) 每一层的连接权重的平方和趋向于不超过该层的神经元个数,保证了网络学习过程的收敛性。

(4)每一层的输出强度(输出的平方和)趋向于不高于该层的输入强度(输入的平方和),而且对于约典型的输入其输出强度一般就会越高,所以可以通过输出强度来近似的比较输入的概率大小。这个结论对将要提出的激活学习模型是非常关键的一个点。

激活学习

基于上面的本地学习规则,可以对一个多层神经网络进行自底向上的逐层训练,实现自动的无监督特征提取。可以将训练好的网络作为预训练模型用于各类监督学习任务, 例如识别、翻译等, 提升学习任务的准确性。这里各类监督学习任务依然是基于反向传播机型训练,并对无监督预训练模型进行微调。

但是更有意思的是,基于上面的本地学习规则可以构建一个完全不使用反向传播的新的AI模型,称之为激活学习(Activation Learning), 它的核心是通过本地无监督训练使得整个网络的输出强度(输出的平方和)能够估计输入样本的相对概率大小,即对于越经常看到的输入样本,其输出强度通常会越强。

图片

在激活学习中,输入样本在归一化之后输入到多层神经网络。每一层包含的线性变换可以通过本地学习规则进行训练。每一层的非线性激活函数需要保证输入强度(平方和)和输出强度是不变的,例如可以使用绝对值函数图片作为激活函数,使得网络的输出强度在经过激活函数的时候不会衰减或增强,最终整个网络的输出强度能够反映输入样本的相对概率大小。

如果在本地学习规则中加入了非线性激活函数,即图片表示神经元j的输出, 则激活函数无需要求输入输出强度不变,可以采用其他非线性函数例如RELU作为激活函数。激活学习的推理过程是基于输入的已知部分来推导出缺失的部分,使得网络最终的输出强度是最大的。

例如,激活学习的网络可以让数据和标签(比如one-hot编码)同时作为输入。这样一个训练好的网络,当给定一个数据和正确标签输入的时候,它的输出激活强度通常情况下是高于这个数据和错误标签的输出激活强度。

这样一个激活学习模型,既可以作为判别式模型又可以作为生成式模型。当作为判别式模型的时候(discriminative model),它从给定数据推理出缺失的类别;当作为生成式模型的时候(generative model),它是从给定的类别并结合一定的随机来推理出缺失的数据。另外,实验发现如果引入识别的反馈信息,例如对识别错误的样本赋予更高的全局的学习率,可以提升判别式模型的学习效果。

小样本分类和图片生成

在MNIST数据集(黑白的手写体数字图片)上的实验显示,如果训练样本足够多的时候,反向传播的准确率是高于激活学习的准确率。例如在60000个训练样本的情况下,基于相似复杂度的神经网络,反向传播能够达到约1.62%的错误率,而激活学习只能达到约3.37%的错误率(如果将识别结果的反馈引入到激活学习,错误率可以降低到2.28%)。

但是随着训练样本的减少,激活学习能够表现出更加优异的性能。例如,在6000个训练样本的情况下,激活学习的错误率已经低于反向传播的错误率;在600个训练样本的情况下,反向传播的识别错误率高达25.5%,但是激活学习的错误率只有9.74%,这也明显低于结合无监督预训练模型的方法(错误率约为20.3%)。

图片

为了探索激活学习在少样本下的表现,继续减少样本数量到几个样本。这时候,激活学习依然表现出一定的识别能力。

当每个类别有2个样本的时候,识别准确率达到60.2%;当每个类别有10个样本的时候,识别准确率可以达到85.0%。一个值得注意的现象是,当每个类别有至少2个样本的时候,在整个的训练过程中,测试准确率没有出现下降。这个跟基于反向传播的很多模型不一样,从一个侧面反映了激活学习可能具有更好的泛化能力。

图片

给定一个训练好的激活学习网络,尝试在将要识别的图片中加入一定的干扰。如下图所示,将图片的一定比例的像素覆盖或者加入一些随机的线。这些被干扰的图片都是模型在训练过程中没有遇到过的,但是激活学习依然表现出了一定的识别能力。例如在图片被覆盖1/3(下部)的情况下,激活学习可以达到约7.5%的识别错误率。

图片

同一个训练好的激活学习网络也可以用于图片的生成。给定一个类别,可以通过梯度下降或者迭代的方法得到一个本地最优的生成图片使得整个网络的输出激活强度是最大的。在图片生成的过程中可以基于随机噪音控制一部分神经元的输出,从而提升生成图片的随机性。下图是基于激活学习网络随机生成的图片。

图片

在大脑的视觉感知层,神经元具有有限的感受野,即神经元只能接收在一定空间范围内的其他神经元的输入。这启发了卷积神经网络(CNN)的提出, 而且在大量的视觉任务里广泛应用。卷积层的工作机制同人的视觉系统还是具有很大的差异,一个本质的区别是卷积层是参数共享的,即在每一个二维位置上权重参数都是一样的,但是很难想象人的视觉系统会存在这样的参数共享。下面的实验基于CIFAR-10数据集(彩色的10类物体图片)研究了本地连接对于激活学习的影响。

图片

这里实验的神经网络有两层构成,第一层是一个本地连接层,它跟卷积核大小9的卷积层具有同样的连接结构,但是每个位置具有自己的权重参数;第二层是一个全连接层,每一层的节点个数是 , 图片同输入图片的维度是一致的。

实验表明本地连接可以让学习过程更加稳定,而且可以在一定程度上提升学习的性能。基于这个双层神经网络并结合识别结果的反馈,激活学习可以在CIFAR-10上达到41.59%的错误率。

此前的生物启发模型的基准是由Krotov和Hopfield建立的,报告了49.25%的错误率。他们使用了一个双层的神经网络,第一层包含了2000个节点并通过生物启发的方法进行无监督训练,第二层输出层是通过反向传播进行监督训练的。作为比较,同样的网络如果完全通过反向传播训练可以达到44.74%的错误率,而激活学习是完全没有使用反向传播而且获得了更好的结果。如果使用数据增强包括随机裁剪等并将第一层的节点数增加到 图片, 激活学习的识别错误率可以降低到37.52%。

通向通用任务

为什么绝大多数深度学习模型只能适用于特定的任务?一个原因是我们人为的将样本分成了数据和标签,并将数据作为模型的输入将标签作为了输出的监督信息,这使得模型更倾向于仅保留对预测标签更有用的特征,而忽略了一些对其他任务有用的特征。而激活学习将所有可见信息作为输入,能够学习到训练样本的概率统计分布和各部分之间的关联关系,这些信息可以用于所有相关的学习任务,所以激活学习可以看成一个通用任务的模型。

事实上,当我们人看到某个物体并且别人告诉我们这是什么时候,我们很难界定大脑一定会将声音信号作为输出标签而将视觉信号作为输入;至少这个学习是应该是双向的,即看到这个物体的时候我们会想到这是什么,而给定这是什么的时候我们也会想到这个物体的样子。

激活学习也可以用于多模态学习。例如,给定训练样本包含图片和文字模态的时候,它可能建立图片和文字的关联;当给定训练样本包含文字和声音模态的时候,它可能建立文字与声音的关联。激活学习具有潜力成为一个关联记忆体(associative memory)模型,建立各类相关内容之间的关联,并通过传播的方式查询或激活相关的内容。普遍认为这种关联记忆能力在人类智能中发挥非常重要的作用。但是,这里还需要解决局部输入数据训练的问题和灾难性遗忘的问题。

除了作为一个新的AI模型,激活学习的研究也具有其它的价值。例如,可以更容易的支持光神经网络、忆阻器神经网络等基于物理实现的神经网络系统的片上训练(on-chip training), 避免因为基本物理元件精度或者编程噪音导致整个系统计算精度下降。它也可能结合生物实验启发我们更好的理解大脑的工作机制, 例如是否本地的训练规则存在一定的生物学解释。研究者周洪超说"相信大多数复杂系统背后是由简单的数学规则所主宰,而大脑就是这样一个奇妙的系统; 最终我们的目的是设计更聪明的机器"。

以上是大脑启发的AI模型:激活学习,挑战反向传播的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:51cto.com。如有侵权,请联系admin@php.cn删除