基于Hebb学习的深度学习方法总结
- 0 引言
- 1 前置知识
- 1.1 Hebb学习规则
- 1.2 Delta学习规则
- 3 SoftHebb学习算法
- 3.1 WTA(Winner Take All)
- 3.2 SoftHebb
- 3.3 多层Hebb网络
- 3.4 Hebb学习的性能测评
- 参考文献
0 引言
总所周知,反向传播算法(back-propagating, BP)存在四个缺点:
- 权重传输(weight transport):即误差的反向传播与生物脑中突触信号的单向传递矛盾,目前也没有在生物脑中发现BP的实验证据;并且BP过程需要前向连接权重矩阵的转置,这在生物神经网络上是不可能的。
- 非局部可塑性(non-local plasticity):指BP学习需要输出端传回的全局误差信号,无法仅通过时间和神经元的局部信号更新权重。相反,生物神经网络仅根据权重连接的两个神经元的即时激活即可完成学习。BP的非局部可塑性不仅需要储存前馈计算过程中的所有变量,还必须计算并传播反向信号,大幅增加了存储需求和额外的计算开销。
- 更新锁定(update locking):指BP网络的前馈过程与梯度反向传播过程不能同步进行,即在前馈过程中,权重更新将被锁定,导致学习速度降低,学习延迟增加。
- 全局损失函数(global loss function):在监督学习中,损失函数的计算依赖于人为给定的标签。由于这类数据获取成本高,基于监督的BP学习难以对所有数据进行充分利用。尽管自监督学习可使用模型本身的信号计算全局损失,BP网络依旧容易过拟合于特定映射并对对抗攻击十分敏感(具体见文献:Towards deep learning models resistant to adversarial attacks. ArXiv:1706.06083, 2017;Softhebb: Bayesian inference in unsupervised hebbian soft winner-take-all networks. ArXiv:2107.05747, 2021),学习的特征也难以泛化于其他数据和任务。
由于上述问题的存在,目前广泛使用的BP算法难以直接应用于在线学习领域。针对该问题,大量工作致力于寻找低功耗、低延时、低计算量、低内存需求的可在线更新的网络学习算法。目前,该领域的工作可大致分为两类:
- 基于BP算法,利用网络特性和数学近似改善BP算法,降低内存需求,提高学习效率;
- 采用仿生算法,模拟神经科学中神经细胞的生物特性实现网络参数更新和学习。
许多仿生学习算法基于Hebb理论,研究并发展出了一套仿生的人工神经网络学习算法。本文主要介绍Hebb学习算法在深层网络上的应用方法。
1 前置知识
1.1 Hebb学习规则
唐纳德·赫布(1904-1985)是加拿大著名生理心理学家。Hebb学习规则与“条件反射”机理一致,并且已经得到了神经细胞学说的证实。
巴甫洛夫的条件反射实验:每次给狗喂食前都先响铃,时间一长,狗就会将铃声和食物联系起来。以后如果响铃但是不给食物,狗也会流口水。
受该实验的启发,Hebb的理论认为在同一时间被激发的神经元间的联系会被强化。比如,铃声响时一个神经元被激发,在同一时间食物的出现会激发附近的另一个神经元,那么这两个神经元间的联系就会强化,从而记住这两个事物之间存在着联系。相反,如果两个神经元总是不能同步激发,那么它们间的联系将会越来越弱。用数学公式可表示为:
W
i
j
t
+
1
=
W
i
j
t
+
r
⋅
y
i
⋅
y
j
W_{ij}^{t+1} = W_{ij}^t + r\cdot y_i \cdot y_j
Wijt+1=Wijt+r⋅yi⋅yj
其中,
W
i
j
t
W_{ij}^t
Wijt为突触前一个神经元
i
i
i和突触后一个神经元
j
j
j的连接权重在第t步迭代时的权重,
W
i
j
t
+
1
W_{ij}^{t+1}
Wijt+1为在第t+1步的权重,突触即连接关系;
r
r
r为学习率;
y
i
y_i
yi为神经元
i
i
i的输出,
y
j
y_j
yj为神经元
j
j
j的输出, 根据连接关系,
y
i
y_i
yi也是神经元
j
j
j的输入;
可见,当神经元和同时为正或者为负时,说明二者的激活状态的是同步的,因此连接权重增加;反之,若两个神经元输出为一正一负时,说明二者为异步激活状态,连接权重降低。若某一个神经元的输出为0,说明该神经元处于未激活状态,相应的,权重不进行更新。
原始的赫布学习仅考虑了两个神经元之间的关系,因此难以有效提取出不同维度的特征,即当网络退化为一个特定的模式时,经典赫布学习将不断强化单一模式,导致偏差增大。
1.2 Delta学习规则
Delta学习规则是一种简单的有监督学习算法,该算法根据神经元的实际输出与期望输出差别来调整连接权。即若神经元实际输出比期望输出大,则减少输入为正的连接的权重,增大所有输入为负的连接的权重。反之,则增大所有输入为正的连接权的权重,减少所有输入为负的连接权的权重。用数学公式可表示为:
W
i
j
t
+
1
=
W
i
j
t
−
r
⋅
f
′
(
d
j
,
y
j
)
W_{ij}^{t+1} = W_{ij}^t - r \cdot f'(d_j, y_j)
Wijt+1=Wijt−r⋅f′(dj,yj)
其中,
W
i
j
t
W_{ij}^t
Wijt为突触前一个神经元
i
i
i和突触后一个神经元
j
j
j的连接权重在第t步迭代时的权重,
W
i
j
t
+
1
W_{ij}^{t+1}
Wijt+1为在第t+1步的权重,突触即连接关系;
W
i
j
W_{ij}
Wij是沿着负梯度方向更新的。
r
r
r为学习率;
y
j
y_j
yj为神经元
j
j
j的输出;
f
′
(
d
j
,
y
j
)
f'(d_j, y_j)
f′(dj,yj)为
f
(
d
j
,
y
j
)
f(d_j, y_j)
f(dj,yj)关于
W
i
j
W_{ij}
Wij的偏导数值,
f
(
d
j
,
y
j
)
f(d_j, y_j)
f(dj,yj)为实际输出
d
j
d_j
dj与期望输出
y
j
y_j
yj的误差计算函数。
3 SoftHebb学习算法
多层Hebb学习网络是以WTA和SoftHebb学习规则为基础改进而来。
3.1 WTA(Winner Take All)
由于相邻神经元之间具有竞争性,不同神经元之间的连接也是相互影响的,如已在哺乳动物的大脑皮层中发现神经元通过抑制侧向神经元以竞争神经元间连接的回路,这种神经元之间的竞争现象被称为winner-take-all (WTA)。
假设将某一层视作竞争层,有p个神经元,对于一个特定输入值,所有p个神经元均有输出,其中响应的同步性最大的神经元为
j
∗
j^*
j∗,WTA的更新方法用数学公式可表示为:
W
j
∗
t
⋅
X
j
∗
=
max
i
=
1
,
2
,
.
.
,
p
(
W
i
t
⋅
X
)
W_{j^*}^{t} \cdot X_{j^*} = \max_{i=1,2,..,p}(W_i^{t} \cdot X)
Wj∗t⋅Xj∗=i=1,2,..,pmax(Wit⋅X)
W
j
∗
t
+
1
=
W
j
∗
t
+
r
⋅
(
X
−
W
j
∗
t
)
W_{j^*}^{t+1} = W_{j^*}^t + r\cdot (X - W_{j^*}^{t})
Wj∗t+1=Wj∗t+r⋅(X−Wj∗t)
其中,
W
j
∗
t
W_{j^*}^t
Wj∗t为神经元
j
∗
j^*
j∗与所有输入神经元的连接权重在第t步迭代时的权重,
W
i
j
t
+
1
W_{ij}^{t+1}
Wijt+1为在第t+1步的权重;
r
r
r为学习率;
在WTA算法中,每次更新仅有同步性最高的神经元之间的连接会被加强。即多个神经元竞争对响应最强的神经元作为胜者(权重向量
W
i
W_i
Wi与输入
X
X
X的内积最大)。仅有胜者神经元
j
∗
j^*
j∗可以在当次学习中更新参数,增强其与
X
X
X的响应。当下次收到相似的输入信号时,神经元的响应将会更强,更容易在神经元竞争中胜出,并通过权重更新进一步加强对该信号的响应能力。这一特点使WTA能够更容易提取到输入信号的显著特征。
在WTA算法的更新规则下,不同神经元权重向量将会逐渐靠近不同的输入信号。在反复的竞争学习过程中,各神经元的权重将逐渐调整为神经元的输入向量的聚类中心。
3.2 SoftHebb
文献[1]在WTA算法基础上使用softmax和余弦距离控制不同神经元之间的更新权重,提出了SoftHebb算法,并且为网络的学习过程提供了贝叶斯解释。其仿Hebb可塑性规则能够最小化模型概率分布与输入的K-L散度,同时,在特定假设下,最小化与标签的交叉熵。在单层网络中,SoftHebb可以显著提高学习速度和鲁棒性,大幅提升应对对抗攻击的能力。其更新过程如下:
Δ
w
i
k
t
+
1
=
η
⋅
y
k
⋅
(
x
i
−
u
k
⋅
w
i
k
t
)
\begin{equation} \begin{split} \Delta w_{ik}^{t+1} = \eta \cdot y_k \cdot (x_i - u_k \cdot w_{ik}^{t}) \end{split} \end{equation}
Δwikt+1=η⋅yk⋅(xi−uk⋅wikt)
w
i
k
t
+
1
=
w
i
k
t
+
Δ
w
i
k
t
+
1
\begin{equation} \begin{split} w_{ik}^{t+1} = w_{ik}^{t} + \Delta w_{ik}^{t+1} \end{split} \end{equation}
wikt+1=wikt+Δwikt+1
y
k
=
softmax
(
u
k
+
w
0
k
t
τ
)
=
exp
u
k
+
w
0
k
t
τ
∑
l
=
0
K
exp
u
l
+
w
0
k
t
τ
\begin{equation} \begin{split} y_k &= \text{softmax} (\frac{u_k+w_{0k}^{t}}{\tau}) \\ &= \frac {\exp ^{\frac{u_k+w_{0k}^{t}}{\tau}}} {\sum _{l=0}^{K} \exp ^{\frac{u_l+w_{0k}^{t}}{\tau}}} \end{split} \end{equation}
yk=softmax(τuk+w0kt)=∑l=0Kexpτul+w0ktexpτuk+w0kt
u
k
=
w
i
k
t
⋅
x
i
\begin{equation} \begin{split} u_k = w_{ik}^{t} \cdot x_i \end{split} \end{equation}
uk=wikt⋅xi
其中,
u
k
⋅
w
i
k
t
u_k \cdot w_{ik}^{t}
uk⋅wikt表示突触前神经元i与突触后神经元k的连接权重的第t次迭代值
w
i
k
t
w_{ik}^{t}
wikt与神经元k的带权重输入
u
k
u_k
uk之间的余弦距离(两个向量归一化后就是余弦距离,否则与余弦距离成比例关系);
u
k
u_k
uk值只是该层神经元输入X向量的一个分量
x
i
x_i
xi与权重变量
w
i
k
w_{ik}
wik的乘积,是个中间临时定义的变量,见图1中的右侧的网络结构。
w
0
k
t
w_{0k}^{t}
w0kt是神经元k的偏置参数在第t次迭代时的取值,其更新方法与式(1)(2)类似,具体可以见下图2 SoftHebb learning伪代码 的17-18行;
y
k
y_k
yk则是神经元的输出经过softmax非线性运算后的结果。
注:下图中数学符号和变量定义比较多,完整的描述请查阅文献[1]。
图1 变量定义和网络结构
图2 SoftHebb learning伪代码
3.3 多层Hebb网络
尽管已有很多工作为Hebb学习的发展和完善做出了贡献,但大部分工作主要考虑单层网络的特性分析,Hebb网络在训练过程中依旧非常容易饱和,很难应用在多层网络中。文献[2]在前人工作的基础上做了系列改进,可以使网络扩展到3-5层,但是相比于DNN的深度,仍然有很多研究和提升的空间。具体的改进措施:
- 加入了反赫布可塑性(soft anti-hebb plasticity)学习。简而言之就是使非同步激活的神经元连接权重降低,结合SoftHebb的思路,通过softmax对异步激活值进行加权,使得同步性最差的神经元连接具有更高的更新权重。而在前面提到的WTA算法中,非同步激活的神经元是不更新权重的。
- 自适应学习率。在训练中根据连接权值的大小自动调整学习步长。根据上述权重更新规则,随着学习的进行,神经元间的权重向量模长将趋向于1。因此,当权重向量模大于1时,学习步长应该更大。计算公式: l r i = l r ⋅ ( r i − 1 ) l r p lr_i = lr · (r_i − 1)^{lrp} lri=lr⋅(ri−1)lrp,其中, l r lr lr其中为初始学习率, l r p lrp lrp为控制学习率变化的超参数。
- 尺度变换。这是应用在CNN中的,使得图像每经过一个SoftHebb层,将通过池化操作进行一次下采样,使得网络能够获得更高的感受野,从而统合更大尺度的信息。
3.4 Hebb学习的性能测评
由于仅考虑局部突触的可塑性,赫布学习规避了基于BP算法的四大局限性,具有更好的生物可解释性。尽管已有大量工作对赫布学习进行了研究,为其在深度学习框架下的应用提供了宝贵的经验, 赫布学习仍然有尚未解决的问题。首先,现有的赫布网络均为浅层网络。随着网络深度的增加,赫布网络将迅速饱和,其特征提取能力几乎不再增加。其次,赫布网络的特征提取能力目前仍逊色于BP网络。表1展示了6层采用不用训练方法得到的网络在CIFAR-10上的分类结果。其中“G”表示使用随机梯度下降(SGD)训练;“H”表示使用赫布理论更新层参数;“R”表示该层是未经训练的随机初始化状态。当网络全层采用SGD更新时,分类正确率最高。随着使用赫布更新的层数的增加,网络的分类正确率逐渐下降,但仍然优于未经训练的随机初始化状态。从该表格和图3可以看出,目前基于赫布理论的学习方法具有一定的有效特征提取能力,但仍然不如BP方法。
表1 不同参数更新方法对网络分类能力的影响
图3 不同深度在不同数据集上的分类精度的表现
参考文献
[1]. SoftHebb:Bayesian inference in unsupervised hebbian soft winner-take-all networks. ArXiv:2107.05747, 2021.
[2]. Hebbian Deep Learning Without Feedback. ArXiv: 2209.11883, 2022.
[3]. https://bat.sjtu.edu.cn/zh/hbstudy20230222/#post-3103-_Toc123147898