神经调节的Hebbian学习用于完全测试时自适应

摘要

完全测试时自适应(Fully test-time adaptation)是指在推理阶段对输入样本进行序列分析,从而对网络模型进行自适应,以解决深度神经网络的跨域性能退化问题。我们从生物学合理性学习中获得灵感,其中神经元反应是基于局部突触变化过程进行调整的,并由竞争性侧抑制规则激活。基于这些前馈学习规则,我们设计了一个软Hebbian学习过程,为Test-Time adaption 提供了一种无监督的有效机制。我们观察到,通过加入反馈神经调节层,这种前馈Hebbian学习完全适应测试时间的性能可以显著提高。它能够基于由顶层推理层的误差反向传播产生的外部反馈对神经元的响应进行微调。这导致了我们提出的神经调节的Heb-bian学习(NHL)方法完全适应测试时间。将无监督前馈软Hebbian学习与学习神经调节器相结合,从外部响应中获取反馈,可以在测试过程中有效地适应源模型。在基准数据集上的实验结果表明,我们提出的方法可以显著提高网络模型的自适应性能,优于现有的最先进的方法。

背景

为了解决在域迁移中性能下降问题,提出了无监督域自适应(UDA)[16,38,50],利用大量未标记的测试数据以无监督的方式对模型参数进行微调。

Source-free UDA

介绍

Source-free UDA方法[33,35,67]的目的是在不需要访问源域样本的情况下调整网络模型。Source-free UDA 有两种主要类别。第一类需要访问目标域上的整个测试数据集来实现它们的自适应性能[35,67]。第二种方法称为完全测试时适应(Fully test-time adaption,FTTA),它只需要访问测试样本的实时流[41,64,66],它能够在测试过程中动态地适应源模型。现有的完全测试时间自适应方法主要集中在构造各种损失函数来调节推理过程基于误差反向传播的自适应模型

e.g

TENT 通过最小化熵损失来更新批处理规范化模块

TTT 根据代理学习任务上的自监督损失更新特征提取器参数

TTT++ 介绍了一种基于在线矩匹配的特征对齐策略

挑战

早期通过浅层特征表示 在后面捕获后期特征对观察到的输入的潜在解释因素发挥了重要作用.

例如,在深度神经网络模型中,网络的早期层倾向于对角落、边缘或颜色做出响应。相比之下,更深的层响应更多特定于类的特征[72]。

在corruption test-time adaptation场景中,特定于类的特征总是相同的,因为测试数据集是训练域的corruption。然而,模型的早期层可能由于corruption而失效。

fully test-time UDA的核心挑战在于如何在没有监督的情况下学习测试样本的有用的早期层表示。

人们已经认识到,使用反向传播的监督式端到端深度神经网络训练的学习规则与神经生物学中早期前端神经处理的学习规则是不相关的[28]。在真实的生物神经网络中,神经元的反应是基于突触前细胞和突触后细胞的局部活动,加上一些衡量任务执行情况的全局变量来调整的,而不是其他特定神经元的活动[69]。

Hebbian Learning

Hebbian Learning 规则的思想背后是,当两个神经元反复共同激活,它们之间的连接应该被加强,因为这种共同激活可能反映了它们之间存在的关联。需要注意的是,Hebbian Learning 规则并不考虑激活是否导致神经元的输出。它仅仅关注在时间上相邻的激活之间的关联。实际上,Hebbian Learning 可能导致网络的过度连接,因此在实际应用中,通常还需要考虑其他形式的学习规则来调整神经网络的连接。

Hebbian学习的目的是在没有监督的情况下,基于局部突触可塑性规则学习有用的早期层表示,它能够生成与端到端有监督的反向传播训练学习的早期表示一样好的早期表示。Hebbian学习是一个纯粹的feed-forward adaption 过程,不需要来自遥远的顶层网络层的反馈。

具体来说,学习过程中突触强度的局部变化与突触前细胞的活性成正比它还在一层内的神经元之间引入了局部侧抑制,在那里,具有强烈反应的隐藏单元的突触被推向驱动它们的模式,而那些反应较弱的突触则被推离这些模式。

如图1,第一行显示原始图像。第二行显示了目标域中具有严重图像损坏的图像。第三行显示了在源域中训练的网络模型为这些目标域图像学习到的特征映射。第四行是我们的Hebbian学习方法学习到的特征映射。最后一行(“oracle”)显示了用真实标签学习到的特征映射。我们可以看到,无监督的Hebbian学习能够生成和监督学习一样好的特征图。

相关工作

Test-time Adaptation

测试时间自适应的目的是在目标域测试输入样本的同时,对训练好的模型进行在线自适应。

TTT, TTT+, TENT, DUA, 

Source-free Unsupervised Domain Adaptation

Source-free Unsupervised Domain Adaptation 旨在使源模型适应未标记的目标域,而无需访问源域的数据。

SHOT, 3C-GAN, G-SFDA, CPGA, HCL, DIPE,SFDA-DE

Domain Generalization

领域泛化的目的是只在源数据上训练模型,这些源数据可泛化到看不见的目标领域.

Unsupervised Hebbian Learning

在传统的端到端训练中,通常使用反向传播来更新深度神经网络的权值。人们已经认识到,使用反向传播的有监督的端到端深度神经网络训练的学习规则与神经生物学中早期前端神经处理的学习规则有很大不同。同时有监督学习需要大量的标签。

贡献

首先,原来的竞争学习的original hard decision不适合FTTA。其次,Hebbian学习没有一个有效的机制来考虑外部反馈,特别是来自网络顶层的反馈。受此启发,在这项工作中,我们建议开发一种新的方法,称为神经调节Hebbian学习(neuro-modulated Hebbian learn-ing, NHL),用于完全适应测试时间.我们首先在前馈Hebbian学习中加入软决策规则,以改善其竞争性学习。其次,我们学习了一个神经调节器neuro-modulator来捕获来自外部响应的反馈,它控制哪一类型的特征被巩固并进一步处理以最小化预测误差。在推理过程中,源模型根据所提出的NHL规则对推理过程中的每个小批量测试样本进行adapt。

(1)研究发现,早期层表征的有效无监督学习是完全测试时间适应的主要挑战,并探索了神经生物学启发的软Hebbian学习,以实现有效的早期层表征学习和完全测试时间适应。

(2)提出了一种新的神经调制Hebbian学习方法,该方法将无监督前馈Hebbian早期层表示学习与学习神经调节器相结合,以捕获外部响应的反馈。我们分析了基于自由能原理的NHL算法的最优特性[14,15]。

方法

Problem Formulation

source distribution: Xs, Ys

target distribution: Xt, Yt

拥有参数θ的m(θ)模型是在数据 Xs  上训练的,由特征提取器feature extractorF和分类器C组成。

我们的目标是在测试过程中以无监督的方式调整训练好的模型m。给定输入样品批次序列{B1, B2,…, Bn},网络模型的第i次自适应只能依赖于第i批测试样本Bi。

模型m 被当作先验,因此,在给定先验模型pm(y)的情况下,预测目标样本的标签变成一个Bayesian后验qm(y|B1) 用于第一个batch。在第一个adaption batch之后,先验模型m会更新成m1这个贝叶斯推理过程在所有后续批次中重复,并产生最终的后验估计 。其中mn−1表示前n−1批连续自适应后的先验模型。

Overview of Our NHL Method

我们提出的神经调节的Hebbian学习包括两个主要部分:feed-forward soft Hebbian learning layer和neuro-modulator

feed-forward soft Hebbian learning layer

目的是基于局部突触可塑性和软竞争学习规则,在没有监督的情况下学习有用的早期层表示

然而,我们认识到,仅仅是前馈Hebbian学习并不能像目前最先进的方法那样达到完全适应测试时间的竞争性性能。我们发现它缺乏有效响应外部刺激的能力,特别是来自网络输出层的反馈。

neuro-modulator layer

为了解决↑的问题,我们建议在网络的软feed-forward soft Hebbian learning layer和分类器模块之间设计一个神经调节器层、中间层或接口。它充当了两种不同学习方法之间的桥梁:前馈Hebbian学习和原始误差反向传播。(这两个都很重要) 这可以通过自下而上的前馈生成过程(如我们的Hebbian学习层)与自上而下的基于反馈的优化过程(如我们的神经调节器)相结合的并发预测过程来实现。

输入 xt,假设xt是通过environment causes ϑ生成的,写作p(xt) = p(xt, ϑ)自由能原理指出,大脑编码的识别密度高于感官原因,它将生成概率混合优化为q1(xt) := q1(xt, ϑ). 另一方面,通过后验q2(y) := q2(y|Xt) 近似真实分布 p(y|Xt)

我们可以通过以下Kullback-Leibler (KL)散度来衡量这两个分布之间的相似性

根据Bogacz[3]的分析,KL散度 的最小化可以转化为自由能F的最大化,定义为:

*KL散度 

是两个概率分布之间的差异或相似度的一种度量,用于衡量一个概率分布相对于另一个分布的“距离。

给定两个离散概率分布P和Q,它们对相同的事件空间进行建模,KL散度定义为:

其中,P(i)和Q(i)分别是事件i在分布P和Q中的概率。KL散度的值越小,表示两个分布越相似;值越大,表示它们之间的差异越大

将KL散度的定义与自由能的表达式联系起来。考虑一个概率分布P,我们希望找到一个近似的分布Q,使得DKL​(P∣∣Q)最小。这可以通过最大化以下表达式来实现

这个表达式与KL散度的定义形式上是相似的,但符号相反。现在,我们可以将其与自由能的表达式联系起来

Feed-Forward Soft Hebbian Learning

早期前馈层的目的是在没有任何监督的情况下学习输入的有用层表示。这个问题的近似解决方案可以简化为寻找输入数据的第一个主成分[47],称为Oja规则*及其变体。(Oja规则的本身是一个Hebbian规则的变体+归一化条件)

在Oja规则中,连接输入xi的突触前神经元i和激活yk的突触后神经元k的突触权wik的可塑性定义为:

我们认识到这个过程缺乏通过网络中不同的隐藏单元来检测数据的不同特征的能力。 通过考虑定义一组权重通过生成模型来优化与输入数据的分布相似度。

我们假设目标域输入 Xt 是通过分布为pt(x)的隐藏causes ϑ 生成的,我们用q(x|w)定义pt(x)的近似,条件是权重w。此外,我们使用混合指数函数来定义概率。其中,wk是与突触后神经元k对应的权向量,N是一个归一化因子,以确保q是一个概率度量。在该生成模型中,目标函数由Kullback-Leibler (KL)散度KL[pt(x)|q(x|w)]给出。可以看出,优化kl -散度的最优参数向量与输入分布的均值成正比[45]。另一方面,公式(5)对应于神经解释作为归一化权值为wk/R的激活函数,其中R为权向量wk的范数。这个式子是 softmax 函数的一种表达形式,用于定义一个由权重向量 wk​ 参数化的概率分布。

在我们的软Hebbian学习中,对于有K个神经元的网络层,我们定义第K个神经元的输出为↓。其中UK是第k个神经元的加权输入,如UK = wik·xi·τ是一个温度标度超参数。

补充

这就产生了一个新的软Hebbian塑性规则↓。式中η为学习率。可以证明,利用式(7)中的塑性规则更新权值,它们可以收敛到半径为R的球内的平衡点。

去证明它们可以收敛到半径为R的球内的平衡点, 我们重写(7)↓

其中常数τ定义了学习动力学(learning dynamics)的时间尺度。权向量范数(norm of the weight vector)的导数为:

有了这个,我们可以看到权向量的范数收敛到半径为R的球体。这是因为当||wk||> R时,权值的范数减小,当||wk||< R时,权值的范数增大。

Oja规则*   

Oja's规则是一种用于人工神经网络的学习规则,主要用于无监督学习场景中线性神经元的训练。具体而言,Oja's规则在主成分分析(PCA)中使用(居然这么传统),用于调整神经元的权重,以捕捉输入数据的主成分。该规则是希伯学习(Hebbian learning)的一种形式,其基本思想是当神经元同时激活时,它们之间的连接会加强。Oja's规则旨在实施神经元之间的竞争机制,促使学习输入数据的最信息化组成部分。

术语 xi​⋅y 表示输入分量 xi​ 和神经元输出之间的相关性。减法项 α⋅wi​ 引入了竞争机制,防止任何单个权重增长过大。

权向量范数(norm of the weight vector)

"Weight vector"(权重向量)的范数(norm)是一个表示该向量大小的数值。在神经网络中,每个神经元都有一个关联的权重向量,这个向量的范数通常用于衡量该神经元的权重参数的大小。

权重向量的范数的导数通常涉及到使用梯度下降或其变体来调整模型的参数(包括权重),以最小化或最大化某个损失函数。权重向量的范数的导数可以用来计算梯度,指导我们调整权重以使损失函数最小化。

The Neuro-Modulation Layer

单独的软Hebbian学习不会自动导致p(y|Xt)的完美后验估计,这是因为它没有一个有效的机制来考虑外部反馈,特别是来自网络顶层的反馈。我们提出的解决方案是结合一个或多个调制层来引导权重更新到期望的结果[17,36]。

如式(3)所定义,q2(y)及其真后验p(y|Xt)的kl -散度最小化问题可根据自由能原理表示为↓,其中是归一化项。注意这一项并不依赖于q2(y), 因此,最小化kl散度被简化为最大化F,因此给定批数据Bi的标签y,它可以被话简称最小化似然函数

在FTTA过程中,sample labels不可用。因此,取而代之,我们基于一个近似后验 qmi−1 (y|Bi) 最小化每个batch Bi的y的熵。因此,神经调制层训练过程中需要优化的损失函数为↓。其中,wn为实现神经调节器的层中的权值。在现有的深度神经网络训练中,我们可以使用梯度下降来优化这些权重。

实验

数据集

CIFAR10/100-C

ImageNet- C

SVHN→MNIST/MNIST-M/USPS

对比方法

基线模型只在源数据上进行训练,在测试过程中没有进行任何微调。

TTT

NORM

TENT

DUA

实现细节

我们使用基于RobustBench协议的所有主干的TENT或DUA正式实现的预训练模型权重[9]。

对于数字识别转移任务,我们使用了来自 pytorch-playground 的SVHN的预训练模型权值

batch size:128

实验结果

总结

在这项工作中,我们从生物神经调节过程中获得灵感,构建了一个新的神经调节的Hebbian学习(NHL)框架。将无监督前馈软Hebbian学习与学习神经调节器相结合,从外部响应中获取反馈,可以在测试过程中有效地适应源模型。在基准数据集上的实验结果表明,我们提出的方法可以显著降低带有损坏的图像分类的测试误差,达到新的最先进的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/357793.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

开发通用模板设计

文章目录 需求摘要1 模板描述2 模板内容介绍2.1 模块间依赖关系2.2 模板目前集成2.2.1 swaggerKnife4j2.2.1 nacosSpringBootSpringCloudAlibaba 3 项目地址4 FAQ 需求 目前在开发中&#xff0c;使用的非本人搭建的项目架子&#xff0c;存在如下问题&#xff1a; 依赖无法统一…

快速理解MoE模型

最近由于一些开源MoE模型的出现&#xff0c;带火了开源社区&#xff0c;为何&#xff1f;因为它开源了最有名气的GPT4的模型结构&#xff08;OPEN AI&#xff09;&#xff0c;GPT4为何那么强大呢&#xff1f;看看MoE模型的你就知道了。 MoE模型结构&#xff1a; 图中&#xff0…

贪吃蛇游戏的实现

一.技术要点: 贪吃蛇需要掌握: c语言函数,枚举,结构体,动态内存管理,预处理指令,链表,Win32 API等 二.Win32 API 1.Win32 API简介 windows可以帮应用程序卡其视窗,描绘图案,使用周边设备,,Win32 API就是windows32位平台上的应用程序编程接口 2.控制台程序 (1).使用cmd命令…

如何在群晖中本地部署WPS Office并实现公网远程访问

文章目录 1. 拉取WPS Office镜像2. 运行WPS Office镜像容器3. 本地访问WPS Office4. 群晖安装Cpolar5. 配置WPS Office远程地址6. 远程访问WPS Office小结 7. 固定公网地址 wps-office是一个在Linux服务器上部署WPS Office的镜像。它基于WPS Office的Linux版本&#xff0c;通过…

最优化基础 - (最优化问题分类、凸集)

系统学习最优化理论 什么是最优化问题&#xff1f; 决策问题&#xff1a; &#xff08;1&#xff09;决策变量 &#xff08;2&#xff09;目标函数&#xff08;一个或多个&#xff09; &#xff08;3&#xff09;一个可由可行策略组成的集合&#xff08;等式约束或者不等式约束…

【RT-DETR改进涨点】ResNet18、34、50、101等多个版本移植到ultralytics仓库(RT-DETR官方一比一移植)

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 本文是本专栏的第一篇改进,我将RT-DETR官方版本中的ResNet18、ResNet34、ResNet50、ResNet101移植到ultralytics仓库,网上很多改进机制是将基础版本的也就是2015年发布的ResNet移植到ultralytics仓库中,但是其实…

2024.1.29 GNSS 学习笔记

1.假设只对4颗卫星进行观测定位&#xff0c;卫星的截止高度角是15&#xff0c;那么如何布设这四颗卫星的位置&#xff0c;使其围成的四面体的体积得到最大&#xff0c;以获得最好定位精度&#xff1f; 答&#xff1a;3颗卫星均匀分布在最低仰角面上&#xff0c;第4颗卫星在测站…

live2D学习:表情的制作和给角色添加动作

表情的制作和给角色添加动作https://www.bilibili.com/video/BV1JE411Y7Te?p3&vd_source124076d7d88eee393a1d8bf6fc787efa 先把眼睛以外的部件进行锁定&#xff0c;可以长按鼠标左键&#xff0c;然进行框选左边的锁的部分&#xff0c;快速进行操作。 锁定的部件就没有办…

力扣712. 两个字符串的最小ASCII删除和

动态规划 思路&#xff1a; 假设 dp[i][j] 是 s1 长度 i 和 s2 长度 j 两个字符串的最小 ASCII 删除和&#xff1b;dp[i][j] 可以由&#xff1a; 如果 s1 的第 i 个字符&#xff08;s1[i - 1]&#xff09;和 s2 的第 j 个字符&#xff08;s2[j - 1]&#xff09;不相等&#xf…

这么复杂的刻度标签怎么绘制?超简单~~

今天我们开始「粉丝要求绘图系列」的第一篇推文 &#xff0c;这个系列我会筛选出需求较多的一类图进行绘制讲解&#xff0c;当然&#xff0c;绘图的数据我们尽可能的全部分享出来(即使涉及一些论文数据&#xff0c;我们也会根据情况进行虚构处理的)&#xff0c;本期的推文重要涉…

如何让wordpress首页只显示某一篇文章全部内容?在您的主页显示选择

大多数WordPress站点首页默认都是显示最新发布的文章列表&#xff0c;不过有些站点比较特殊&#xff0c;只想显示某一篇文章的全部内容&#xff0c;那么应该怎么设置呢&#xff1f; 其实&#xff0c;WordPress后台 >> 设置 >> 阅读 >> 在“您的主页显示”中…

Java规则引擎:实现高效SQL变量数据处理的关键

SQL变量加工 SQL加工背景&#xff0c;在决策配置过程中&#xff0c;一些复杂的逻辑或模型可通过自定义SQL脚本编写创建数据变量&#xff0c;通过SQL脚本可以便捷的从数据库中取数&#xff0c;并且自定义SQL支持传参&#xff0c;可满足更复杂多变的数据加工处理。 注意&#x…

《统计学习方法:李航》笔记 从原理到实现(基于python)-- 第5章 决策树

文章目录 第5章 决策树5.1 决策树模型与学习5.1.1 决策树模型5.1.2 决策树与if-then规则5.1.3 决策树与条件概率分布5.1.4 决策树学习5.2 特征选择5.2.1 特征选择问题5.2.2 信息增益5.2.3 信息增益比5.3.1 ID3算法5.3.2 C4.5的生成算法5.4 决策树的剪枝5.5 CART算法5.5.1 CART生…

步进伺服控制芯片TMC4361

TMC4361A 数据手册 步进电机运动控制器&#xff0c;支持 S 型斜坡和 sixPoint 六点式斜坡&#xff0c;进行了高速优化&#xff0c;支持动态修改运动参数。TMC4361A 包含 SPI 接口、Step/Dir 接口及闭环所需的编码器接口。 特征  简单易用的与微处理器通讯的 SPI 接口。  与…

操作系统基础:处理机调度【上】

&#x1f308;个人主页&#xff1a;godspeed_lucip &#x1f525; 系列专栏&#xff1a;OS从基础到进阶 1 处理机调度&#xff08;上&#xff09;1.1 基本概念1.1.1 总览1.1.2 什么是调度1.1.3 调度的三个层次1.1.4 七状态模型1.1.5 三层调度的联系与对比1.1.6 总结 1.2 方式与…

编写交互式 Shell 脚本

在日常的系统管理和自动化任务中&#xff0c;使用 Shell 脚本可以为我们节省大量时间和精力。 文章将以输入 IP 为例&#xff0c;通过几个版本逐步完善一个案例。 原始需求 编写一个交互式的 Shell 脚本&#xff0c;运行时让用户可以输入IP地址&#xff0c;并且脚本会将输入…

linux批量查询python进程,批量关闭

我使用bash脚本启动了一个多进程的python代码&#xff0c;但是由于遗忘的问题&#xff0c;查看队列发现进程还在&#xff0c;但是我并不是使用linux的screen后台启动的&#xff0c;启动的进程丢失了&#xff0c;找不到启动这个的主进程了。我想能不能通过查询python启动命令&am…

HBuilderX插件

HBuilderX>工具插件安装 安装新插件 前往插件市场安装 1.DCloud插件市场 https://ext.dcloud.net.cn/ 2.GitHub官网 插件项目(下载zip) 本地离线包 离线安装插件 https://hx.dcloud.net.cn/Tutorial/OfflineInstall open /Applications/HBuilderX.app/Contents/HBuilderX/p…

【Linux】—— 信号的产生

本期&#xff0c;我们今天要将的是信号的第二个知识&#xff0c;即信号的产生。 目录 &#xff08;一&#xff09;通过终端按键产生信号 &#xff08;二&#xff09;调用系统函数向进程发信号 &#xff08;三&#xff09;由软件条件产生信号 &#xff08;四&#xff09;硬件…

硬件知识(2) 手机的传感器-sensor

#灵感# 看看小米在干啥 手机型号&#xff1a;Redmi Note 13 Pro&#xff0c;解读一下它宣传的手机卖点。 目录 宣传1&#xff1a;1/1.4" 大底&#xff0c;f/1.65 大光圈&#xff0c; 宣传2&#xff1a;支持 2 亿像素超清直出&#xff0c;分辨率高达 16320 x 12240 宣…
最新文章