Conv-LoRA正式来袭 | 终于可以冻结原有模型权重,然后任意训练子任务,大大减少可训练参数

技术

点击下方卡片,关注「集智书童」公众号

点击加入👉「集智书童」交流群

picture.image

现有的领域适应(DA)方法通常涉及在源领域进行预训练并在目标领域进行微调。对于多目标领域适应,为每个目标领域配备一个专用的/独立的微调网络,并保留所有预训练模型的参数,这是非常昂贵的。

为了解决这个限制,作者提出了卷积低秩适应(ConvLoRA)。ConvLoRA冻结预训练模型权重,向卷积层中添加可训练的低秩分解矩阵,并通过这些矩阵反向传播梯度,从而大大减少了可训练参数的数量。

为了进一步提升适应能力,作者利用自适应批量归一化(AdaBN),它计算目标特定的运行统计量,并将其与ConvLoRA一起使用。当在包含脑部MRI图像的Calgary-Campinas数据集上进行分割测试时,ConvLoRA具有较少的可训练参数,并且表现优于或与大型独立微调网络相当(总基础模型的可训练参数少于0.9%)。ConvLoRA简单而有效,可以应用于任何使用卷积和批量归一化层的基于深度学习的架构。

1 Introduction

深度神经网络(DNN)在训练集和测试集共享相同分布时已经实现了最先进的表现。然而,域偏移,即训练集(源域)和测试集(目标域)之间的数据分布变化,会显著降低泛化能力。这一问题在多中心医学研究中尤为突出,不同的成像中心使用不同的扫描仪、协议和受试者群体。

无监督领域自适应(UDA)旨在将在大规模源领域上预训练的大型模型泛化到 未标注 的目标领域,从而消除昂贵的数据标注需求。这通常通过微调来实现,即预训练于源领域的模型被调整以适应目标领域。然而,微调的一个主要缺点是,它为每个目标领域生成了一个与原始预训练模型具有相同参数的专用模型。因此,多个目标领域将需要多个与原始预训练模型参数数量相同的专用模型。

因此,UDA方法可以有效地用于单一目标域自适应(single-target DA),从而为特定目标域训练出一个单一模型。相反,在多目标域自适应(multi-target DA,MTDA)中,目标是适应多个 未标注 的目标域。MTDA在现实世界场景中具有更广泛的应用性。然而,为每个目标域训练具有与源模型相同可训练参数的独立模型是不切实际的,并且成本过高。

参数高效微调(PEFT)已经证明了自己作为一种大型语言模型(LLM)的微调策略的有效性。与传统的微调方法不同,它保持模型的大部分参数冻结状态,同时调整的参数数量大大减少,通常不超过总参数的5%。这既实现了高效学习,也加快了更新速度。PEFT的表现也优于完全微调,特别是在低数据场景下,提高了泛化能力。

在医学成像领域,只有少数方法在基于Transformer的架构中使用了基于 Adapter 的参数高效迁移学习。这些研究专注于实现从自然图像到医学图像的参数高效迁移学习。据作者所知,在无监督域自适应(UDA)背景下,在医学成像中应用参数高效迁移学习,以及在使用基于 Adapter 的方法在卷积神经网络(CNNs)中的研究尚未被探索。

在识别了这一研究空白之后,作者提出了一个新颖的参数高效的医学图像分割自适应方法(MT UDA),该方法在计算上高效,同时具有低内存占用。

首先 ,作者提出了卷积低秩适应(ConvLoRA),作为在大型语言模型(LLMs)中的低秩域适应(LoRA)的适应版本。ConvLoRA特别为卷积神经网络(CNNs)中的应用而设计,为图像数据中的域适应挑战提出了一个新颖的方法。作者不是为多个目标域创建专门微调的模型,每个模型都具有与基础模型相同的参数数量,而是将几个ConvLoRA Adapter 注入在源域上预训练的基础模型中,并且只适应ConvLoRA参数,同时冻结所有其他参数。这种方法通过只适应一组小的特定域参数,允许更快的更新。

其次 ,作者进一步减轻了由源数据和目标数据之间均值和方差的统计差异引起的域偏移,而无需额外的微调和计算资源。作者不是使用批量归一化(BN),而是利用自适应批量归一化(AdaBN),它计算目标特定的批量运行均值和方差,而不是使用源域的统计数据。

作者的贡献可以总结如下:

  1. 受到近期大型语言模型(LLMs)进展的启发,作者提出了一种新颖的多目标无监督域自适应(UDA)方法,该方法利用了作者提出的参数高效ConvLoRA Adapter 以及自适应批量归一化(AdaBN)的概念。据作者所知,这是首次将LoRA [4] 应用于卷积神经网络(CNNs),特别是在医学图像分割领域的UDA情境中。
  2. 作者展示,作者提出的UDA Pipeline 在训练参数上显著减少了超过99%,同时与其它方法相比,在分割准确度上也取得了具有竞争力的表现。
  3. ConvLoRA是通用的、灵活的,并且易于与基于CNN的架构集成,这在显著降低训练成本的同时,增强了适应性。

2 Related Work

无监督域适应(UDA) 一些研究采用了对抗性学习方法,如CycleGAN 和领域不变特征学习,来适应分割模型。Huang等人 [14] 提出了一种在域间匹配逐层激活的方法。

医学图像分割中的UDA 在[15]中提出了一个用于脑损伤分割的对抗性网络。Kushibar等人[16]显示,仅微调最后一个CNN层可以提高性能。然而,它缺乏与其他DA方法的比较。虽然微调了最后一个CNN层,但这项工作的重点更多在于训练案例选择过程,而不是适应[17]。通过适应低级层,实现了心脏MR和CT图像分割的跨模态DA。对于颅骨分割,进行了早期U-Net层的微调。

批量归一化(BN) Chang等人[19]展示了在目标领域中无监督微调BN层可以改善适应能力。AdaBN通过在目标领域中计算BN的运行均值和方差,提高了泛化能力。测试时适应通过为当前的测试输入重新计算运行统计量来减轻领域偏移。

参数高效微调(PEFT) 主要有两种显著的PEFT策略:

  1. 添加 Adapter 层并且仅调整这些 Adapter 层;
  2. 优化某种形式的激活。即使在小型网络中使用 Adapter 也会导致推理延迟和额外的计算开销。LoRA通过将预训练权重分解为较小的矩阵来最小化延迟,仅对这些矩阵进行微调,从而降低内存使用。

3 Method

图1展示了作者架构的概览。作者将ConvLoRA和AdaBN整合到UDAS模型中,该模型包括一个带有附加早期分割头(ESH)的2D U-Net。ESH由三个卷积层组成,每个卷积层后面跟着一个BN层。作者在UDAS模型的编码器部分(见图1(c))注入ConvLoRA,并通过自训练使用网络的最终预测作为伪标签来进行适配。

picture.image

ConvLoRA

作者提出了一种新的ConvLoRA Adapter ,它是LoRA[4]的扩展,用于卷积神经网络(CNNs)的参数高效UDA(无监督域自适应)。对于预训练的卷积层权重矩阵 ,ConvLoRA通过使用低秩分解来表示其更新:,其中 和 是低秩矩阵且秩 r<<min(m,n)r<<min(m,n)。< p=""></min(m,n)$。<>

在训练期间, 被冻结,不接收梯度更新,而 和 包含可训练的参数。 和 都与输入相乘,并且将相应的输出向量逐坐标相加。因此,前向传播操作如下:

其中 是输入, 由随机高斯分布初始化,在训练开始时 设为零。

Adaptive Batch Normalization (AdaBN)

在这项工作中,作者使用了AdaBN,而不是BN。尽管BN使用批处理统计来规范化激活输出,但是使用源领域统计来标准化目标领域可能导致误分类。AdaBN计算特定于目标领域的批处理均值和方差[10]。通过相应领域对每个层进行标准化,确保了每个层接收到的数据来自相似的分布。

ConvLoRA and AdaBN based UDA

Baseline 设 是仅用带标签源领域数据 训练出的网络。作者的目标是采用一种参数高效的无监督方式,将 适应到分布外未标注的目标数据 。作为 的基础架构,作者使用了U-Net架构。作者采用了[28]中提出的方法作为作者的 Baseline 。

早期分割头(ESH) 在适应阶段,如图1所示,在编码器之后放置一个小型CNN,称为ESH。作者通过源域上的ESH输出与真实 Mask 之间的交叉熵损失来初始化ESH。然后,在适应过程中,目标域图像被馈送到和ESH中。来自的分割输出用作伪标签(),以改善ESH的预测。在这个阶段,除了在两个网络之间共享的的编码器之外,和ESH中的所有权重都被冻结。由于编码器在和ESH之间共享,因此提升ESH也会有利于。

适配 在作者提出的适配方案中,除了ConvLoRA参数和批量归一化(BN)层的运行均值和运行方差外,网络的 所有参数()都被冻结。作者将ConvLoRA Adapter 整合到的编码器部分。尽管和ESH都以与[28]相同的方式处理目标域图像,但作者仅限制对ConvLoRA Adapter 参数的梯度更新。

因此,作者在拥有单一的同时,减少了特定于域的ConvLoRA参数的数量。为了以参数高效的方式进一步减轻域偏移,作者使用了通过AdaBN计算的目标域的运行均值和运行方差。通过计算针对目标的批次运行统计数据来更新源域统计。使用AdaBN适应运行均值和方差是直接的,它促进了无需额外参数和组件的无参数适配,因为这些统计数据不是可训练的参数。

4 Experimental Setup

作者在Calgary-Campinas(CC359)数据集上评估了ConvLoRA,这是一个多供应商(GE、Philips、Siemens)、多磁场强度(1.5、3)的磁共振(MR)T1加权体积脑成像数据集。它包含六个不同的域,并含有359个3D脑MR图像体积,主要专注于颅骨剥离任务。源模型在GE 3(源域)上使用80:10:10的划分进行预训练。在适应过程中,只从每个目标域的训练集中随机选择10张图像,并在相应的官方测试集上进行推理。预处理包括移除黑色切片和最小-最大缩放,所有图像都被调整到256256的分辨率。

源模型()使用批量大小为32,学习率为0.001进行100个Epoch的训练,并使用交叉熵损失优化的Adam优化器。ESH训练了20个Epoch,之后使用作者的适配方法,该方法仅用0.0001的学习率训练了5个Epoch。当使用ConvLoRA时,作者将秩设置为,考虑到原始核权重为3。表面Dice评分(SDS)用于评估图像分割性能。与体积Dice相比,这个指标更具信息量,因为它强调大脑轮廓而非内部体积,并且在探索CC359的方法中得到了广泛使用。

处理流程是在Python 3.8.17中实现的,并使用了开源库PyTorch 2.0.1。所有实验都是在安装有Ubuntu操作系统20.04.6 LTS、CUDA 11.6和NVIDIA GeForce RTX 3090 GPU的台式计算机上进行的,总共有62 GB的RAM。

源模型 指的是仅在源数据上训练的基础模型(),该模型未对目标域进行任何适配。自训练 方法利用目标域的伪标签来迭代提升模型性能。UDAS 指的是作者的 Baseline 方法,它仅通过伪标签使用自训练来适配网络的初始层。UDAS ConvLoRA(ConvLoRA) ,为了与UDAS进行公平比较,作者仅在初始层注入了ConvLoRA。

作者的模型:ConvLoRA + AdaBN,是在UDAS的基础上构建的 - 然而,作者并不限制适配仅限于初始层。相反,作者通过ConvLoRA适配整个网络的编码器部分,并在编码器之后放置ESH。此外,作者使用AdaBN来整合目标域的运行均值和方差,以增强适配效果。

Results and Analysis

表1显示,作者的ConvLoRA + AdaBN在所有其他方法中获得了更优的性能,同时具有显著更少的可训练参数。与基准方法(UDAS)相比,ConvLoRA(UDAS ConvLoRA)在五个目标领域中有四个领域表现更佳。

picture.image

虽然在西门子1.5领域,与UDAS相比,ConvLoRA在SDS上略有下降(仅0.2%),但值得注意的是,作者的适配在大大减少可训练参数的情况下实现的,从14,160(UDAS)减少到仅3,954个——显著减少了72.07%。当作者采用ConvLoRA(ConvLoRA + AdaBN)时,ConvLoRA在西门子1.5上也实现了更高的准确度。

作者使用的U-Net架构具有2430万个参数。通过在编码器中采用作者提出的基于ConvLoRA的适配方法,可训练参数减少到了57,714个,减少了99.80%。此外,当作者将ConvLoRA Adapter 与AdaBN结合使用(简称UDAS ConvLoRA+AdaBN)时,它进一步提升了模型适配能力,并且在没有任何额外参数的情况下,性能超过了所有其他方法,如表1所示。因此,无论是作者独立的ConvLoRA Adapter ,还是ConvLoRA与AdaBN的结合使用,不仅在参数效率上表现突出,而且与其他方法相比,也取得了具有竞争力的结果。

picture.image

图2中的定性结果表明,作者的多目标无监督域自适应方法(采用ConvLoRA + AdaBN,最后一列)与真实情况(第二列)最为相似。同时,在定性比较中,作者也超越了UDAS工作。

Ablations

为了识别易受域偏移影响的区块,作者将ConvLoRA Adapter 整合到网络的各个部分,并评估它们的表现,具体如表2所示。与Baseline (UDAS)不同,作者发现域偏移并不仅限于初始层。作者在编码器中评估了BN适配,但没有发现性能的提升。为了在整个网络中评估ConvLoRA,作者采用了连体网络,但在解码器中使用ConvLoRA并未增强性能。

picture.image

如表2所示,通过用ConvLoRA适配整个编码器块,作者获得了最佳结果。在作者的适配实验中,作者测试了不同的训练长度,从5个Epoch到20个Epoch不等。最优适配仅在5个Epoch内发生,超过这个Epoch,过拟合会导致性能下降。

5 Conclusion

在这项工作中,作者通过作者新颖的参数高效的ConvLoRA Adapter 来解决医学图像分割中无监督的MT UDA问题,该 Adapter 是专门为CNN设计的。作者进一步通过将ConvLoRA与AdaBN结合来提升性能。

实验结果表明,ConvLoRA比先前的最先进方法在准确性和计算效率上都要高。作者在减少超过99%的模型参数的同时,仍保持与其他UDA分割方法相竞争的性能。作者的未来工作将集中在测试ConvLoRA在其他医学成像数据集上的泛化能力。

参考

[1].ConvLora and Adabn based Domain Adaptation via Self-Training.

picture.image

扫码加入👉「集智书童」交流群

(备注: 方向+学校/公司+昵称 )

picture.image

picture.image

picture.image

picture.image

picture.image

picture.image

想要了解更多:

前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF」

行业技术方案 👉「AI安防、AI医疗、AI自动驾驶」

AI模型部署落地实战 👉「CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架」

欢迎扫描上方二维码,加入「 集智书童-知识星球 」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!

免责声明

凡本公众号注明“来源:XXX(非集智书童)”的作品,均转载自其它媒体,版权归原作者所有,如有侵权请联系我们删除,谢谢。

点击下方“ 阅读原文 ”,

了解更多AI学习路上的 「武功秘籍」

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
如何构建企业级云原生计算基础设施
云原生大数据是大数据平台新一代架构和运行形态。通过升级云原生架构,可以为大数据在弹性、多租户、敏捷开发、降本增效、安全合规、容灾和资源调度等方向上带来优势。本议题将依托字节跳动最佳实践,围绕云原生大数据解决方案进行展开。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论