0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于生成模型的预训练方法

jf_pmFSk4VX 来源:GiantPandaCV 2023-08-11 09:38 次阅读

I实验

总结

参考

前言

a5179656-3784-11ee-9e74-dac502259ad0.png请添加图片描述

我们这次要介绍的文章被接收在 ICCV 2023 上,题为:DreamTeacher: Pretraining Image Backbones with Deep Generative Models,我认为是个挺强挺有趣的自监督方面的工作。DreamTeacher 用于从预训练的生成网络向目标图像 Backbone 进行知识蒸馏,作为一种通用的预训练机制,不需要标签。这篇文章中研究了特征蒸馏,并在可能有任务特定标签的情况下进行标签蒸馏,我们会在后文详细介绍这两种类型的知识蒸馏。

事实上,之前已经在 GiantPandaCV 上介绍过一种 diffusion 去噪自监督预训练方法:DDeP,DDeP 的设计简单,但去噪预训练的方法很古老了。然而,DreamTeacher 开创了如何有效使用优质的生成式模型蒸馏获得相应的知识。

补充:在 DDeP 这篇文章中,经过读者纠正,我们重新表述了加噪公式:a53ce0fa-3784-11ee-9e74-dac502259ad0.jpg

相关工作

Discriminative Representation Learning

最近比较流行的处理方法是对比表示学习方法,SimCLR 是第一个在线性探测和迁移学习方面表现出色的方法,而且没有使用类标签,相较于监督预训练方法。随后的工作,如 MoCo,通过引入 memory bank 和梯度停止改进了孪生网络设计。然而,这些方法依赖于大量的数据增强和启发式方法来选择负例,可能不太适用于像 ImageNet 这样规模的数据集。关于 memory bank 的概念,memory bank 是 MoCo 中的一个重要组件,用于存储模型的特征向量。在 MoCo 的训练过程中,首先对一批未标记的图像进行前向传播,得到每个图像的特征向量。然后,这些特征向量将被存储到内存库中。内存库的大小通常会比较大,足够存储许多图像的特征。训练过程的关键部分是建立正负样本对。对于每个样本,其特征向量将被视为查询向量(Query),而来自内存库的其他特征向量将被视为候选向量(Candidate)。通常情况下,查询向量和候选向量来自同一张图片的不同视角或数据增强的版本。然后,通过比较查询向量与候选向量之间的相似性来构建正负样本对。此外,还有一些其他方法和概念,我们就不在这篇解读文章中介绍了。

Generative Representation Learning

DatasetGAN 是最早展示预训练 GAN 可以显著改善感知任务表现的研究之一,特别是在数据标记较少的情况下。SemanticGAN 提出了对图像和标签的联合建模。推理过程首先将测试图像编码为 StyleGAN 的潜在空间,然后使用任务头部解码标签。DDPM-seg 沿着这一研究方向,但使用了去噪扩散概率模型(DDPMs)代替 StyleGAN。这篇文章继续了这一研究方向,但重点放在从预训练的生成模型中,特别是扩散模型,向下游图像主干中提取知识,作为一种通用的预训练方式。

关于相关工作部分中涉及到的方法,如果有疑惑的推荐阅读原文(链接在文末)。

DreamTeacher 框架介绍

DreamTeacher 框架能在两种场景下的工作:无监督表示学习和半监督学习。在无监督表示学习中,预训练阶段没有可用的标签信息,而在半监督学习中,只有部分数据拥有标签。框架使用训练好的生成模型 G 来传递其学到的表示知识到目标图像主干 f。无论在哪种场景下,框架的训练方法和所选的生成模型 G 与图像主干 f 的选择都是一样的。首先,它创建一个包含图像和相应特征的特征数据集 。然后,通过将生成模型的特征传递到图像主干 f 的中间特征中来训练图像主干 f。作者特别关注使用卷积主干 f 的情况,而对 Transformer 的探索留给未来的研究。

Unsupervised Representation Learning

对于无监督表示学习,给定一个特征数据集 D,在图像主干 f 的不同层次上附加特征回归器,以回归出对应的生成特征 从图像 中。我们首先如何讨论创建特征数据集,然后设计特征回归器,最后介绍蒸馏目标。创建特征数据集 D 的方法有两种。一种是通过从生成模型 G 中采样图像,并记录生成过程中提取的中间特征来创建合成数据集。这种方法可以合成无限大小的数据集,但可能会出现 mode dropping(生成模型可能没有学习到分布的某些部分)的问题。另一种方法是将实际图像通过编码过程编码到生成模型 G 的潜在空间中,然后记录生成过程中提取的中间特征,创建编码数据集。合成数据集适用于采样速度快、无法编码真实图像的生成模型(如 GAN),而编码数据集适用于具有编码器网络的生成模型(如 VAE)和扩散模型。这两种方法的特征数据集可以在离线预先计算,也可以在训练过程中在线创建,以实现快速的内存访问和高效的样本生成和删除,从而适用于任何大小的数据集和特征预训练,同时增加下游Backbone 网络的鲁棒性。DreamTeacher 框架的整体流程如下图所示,图里表示创建特征数据集 D 使用的是第二种方法。a55825d6-3784-11ee-9e74-dac502259ad0.png为了将生成式表示   蒸馏到通用主干 f 中,设计了一个特征回归器模块,将图像主干的多层特征映射并对齐到生成式特征上。受到 Feature Pyramid Network(FPN)的设计启发,特征回归器采用自顶向下的架构,并使用侧向跳线连接来融合主干特征,并输出多尺度特征。在图像主干的最后一层之前应用了类似于 PSPNet 中的金字塔池化模块(PPM),上图(底部)直观地描述了这个架构。接下来,我们关注如何做特征蒸馏的。将编码器 f 的不同级别的中间特征表示为 ,对应的特征回归器输出为 。使用一个 1×1 的卷积来匹配 和 的通道数,如果它们不同的话。特征回归损失非常简单,受到 FitNet 的启发,它提出了通过模拟中间特征激活将教师网络上的知识蒸馏到学生网络上:

在这里,W 是一个不可学习的白化算子,使用 LayerNorm 实现,用于对不同层次上的特征幅值进行归一化。层数 l = {2, 3, 4, 5},对应于相对于输入分辨率的 步长处的特征。

此外,这篇文章还探索了基于激活的注意力转移(AT)目标。AT 使用一个运算符 ,对空间特征的每个维度生成一个一维的“注意力图”,其中 |Ai| 表示特征激活 A 在通道维度 C 上的绝对值和。这种方法相比直接回归高维特征可以提高收敛速度。具体来说,AT 损失函数如下:

其中分别是回归器和生成模型在第 l 层中的特征的矢量形式中的第 j 对。

最后,综合特征回归损失为:

Label-Guided Representation Learning

a5b3ae7e-3784-11ee-9e74-dac502259ad0.png在这里插入图片描述

在半监督设置中,在预训练阶段在冻结的生成网络 G 之上训练了一个任务相关的分支,称为特征解释器,采用 DatasetGAN 的方法进行监督训练。与 DatasetGAN 合成用于训练下游任务网络的带标签数据集不同,DreamTeacher 改用软标签蒸馏,即在编码和合成的数据集中都包含了预测的软标签,也就是特征数据集 D 中包含了软标签。这在上图(d)中进行了可视化。

这篇文章探索了使用分割标签对解释器分支进行训练(半监督情景下),并使用交叉熵和 Dice 目标的组合来训练:

其中是特征解释器的权重,y 是任务标签。H(·, ·) 表示像素级的交叉熵损失,D(·, ·) 表示 Dice Loss。

对于标签蒸馏,使用以下损失函数:

其中 和 分别是特征解释器和目标图像主干 f 的 logits。H 是交叉熵损失,而 τ 是温度参数

将标签蒸馏目标与特征蒸馏目标相结合,得到混合损失函数:

使用混合蒸馏损失对预训练数据集中的所有图像进行预训练,无论是带标签还是无标签的。带标签的标签仅用于训练特征解释器,而 DreamTeacher 只使用特征解释器生成的软标签对图像主干 f 进行蒸馏预训练。

实验

在实验中,使用的生成模型包含:unconditional BigGAN、ICGAN、StyleGAN2;对于基于扩散的模型,使用了 ADM 和 stable diffusion 模型。使用的数据集包含:bdd100k、ImageNet-1k(IN1k-1M)、LSUN 和 ffhq。下表将 DreamTeacher 与 ImageNet 和 COCO 上的自监督学习的 SOTA 方法进行比较:

a5de9724-3784-11ee-9e74-dac502259ad0.png在这里插入图片描述

对于 Label-efficient 的语义分割 benchmark。下表将 DreamTeacher与各种表示学习基线进行比较。

a600acc4-3784-11ee-9e74-dac502259ad0.png下图是使用 DreamTeacher 特征蒸馏预训练的 ConvNX-B 模型在 LSUN-cat 无标签图像上的定性结果。

在这里插入图片描述

总结

这篇文章的研究聚焦于提出一种名为 DreamTeacher 的框架,旨在从生成模型向目标图像 Backbone 传递知识(知识蒸馏)。在这个框架下,进行了多个实验,涵盖了不同的 settings ,包括生成模型、目标图像 Backbone 和评估 benchmark。其目标是探究生成式模型在大规模无标签数据集上学习语义上有意义特征的能力,并将这些特征成功地传递到目标图像 Backbone 上。

通过实验,这篇文章发现使用生成目标的生成网络能够学习到具有意义的特征,这些特征可以有效地应用于目标图像主干。与现有自监督学习方法相比,这篇文章基于生成模型的预训练方法表现更为优异,这些 benchmark 测试包括 COCO、ADE20K 和 BDD100K 等。

这篇文章的工作为生成式预训练提供了新的视角和方法,并在视觉任务中充分利用了生成模型。在近两年的论文中,生成式预训练技术是一个比较有趣的方向。

责任编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像
    +关注

    关注

    2

    文章

    1064

    浏览量

    40042
  • 模型
    +关注

    关注

    1

    文章

    2707

    浏览量

    47704
  • 网络设计
    +关注

    关注

    0

    文章

    14

    浏览量

    7723
  • 数据集
    +关注

    关注

    4

    文章

    1179

    浏览量

    24356

原文标题:ICCV 2023:探索基于生成模型的 Backbone 预训练

文章出处:【微信号:GiantPandaCV,微信公众号:GiantPandaCV】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Pytorch模型训练实用PDF教程【中文】

    本教程以实际应用、工程开发为目的,着重介绍模型训练过程中遇到的实际问题和方法。在机器学习模型开发中,主要涉及三大部分,分别是数据、模型和损失
    发表于 12-21 09:18

    gensim增量训练方法

    使用gensim训练词向量
    发表于 07-31 14:12

    优化神经网络训练方法有哪些?

    优化神经网络训练方法有哪些?
    发表于 09-06 09:52

    研究人员提出一种基于哈希的二值网络训练方法 比当前方法的精度提高了3%

    程健研究员团队最近提出了一种基于哈希的二值网络训练方法,揭示了保持内积哈希和二值权重网络之间的紧密关系。
    的头像 发表于 02-08 15:38 4965次阅读

    微软在ICML 2019上提出了一个全新的通用预训练方法MASS

    专门针对序列到序列的自然语言生成任务,微软亚洲研究院提出了新的预训练方法:屏蔽序列到序列预训练(MASS: Masked Sequence to Sequence Pre-training
    的头像 发表于 05-11 09:19 3271次阅读
    微软在ICML 2019上提出了一个全新的通用预<b class='flag-5'>训练方法</b>MASS

    新的预训练方法——MASS!MASS预训练几大优势!

    专门针对序列到序列的自然语言生成任务,微软亚洲研究院提出了新的预训练方法:屏蔽序列到序列预训练(MASS: Masked Sequence to Sequence Pre-training)。MASS对句子随机屏蔽一个长度为k的
    的头像 发表于 05-11 09:34 6805次阅读
    新的预<b class='flag-5'>训练方法</b>——MASS!MASS预<b class='flag-5'>训练</b>几大优势!

    检索增强型语言表征模型训练

    如果有一种预训练方法可以 显式地 获取知识,如引用额外的大型外部文本语料库,在不增加模型大小或复杂性的情况下获得准确结果,会怎么样?
    的头像 发表于 09-27 14:50 1771次阅读

    关于语言模型和对抗训练的工作

    训练方法不仅能够在BERT上有提高,而且在RoBERTa这种已经预训练好的模型上也能有所提高,说明对抗训练的确可以帮助模型纠正易错点。
    的头像 发表于 11-02 15:26 1855次阅读
    关于语言<b class='flag-5'>模型</b>和对抗<b class='flag-5'>训练</b>的工作

    一种侧重于学习情感特征的预训练方法

    transformers编码表示)的基础上,提岀了一种侧重学习情感特征的预训练方法。在目标领域的预练阶段,利用情感词典改进了BERT的预训练任务。同时,使用基于上下文的词粒度情感预测任务对掩盖词情感极性进行分类,获取偏向情感特征的文本表
    发表于 04-13 11:40 4次下载
    一种侧重于学习情感特征的预<b class='flag-5'>训练方法</b>

    现代交互技术下的儿童语言表达训练方法

    现代交互技术下的儿童语言表达训练方法
    发表于 06-27 11:27 3次下载

    时识科技提出新脉冲神经网络训练方法 助推类脑智能产业落地

    近日,SynSense时识科技技术团队发表题为“EXODUS: Stable and Efficient Training of Spiking Neural Networks”的文章,在文章中提出了新的脉冲神经网络训练方法EXODUS。
    的头像 发表于 06-20 14:21 1138次阅读

    介绍几篇EMNLP&apos;22的语言模型训练方法优化工作

    来自:圆圆的算法笔记 今天给大家介绍3篇EMNLP 2022中语言模型训练方法优化的工作,这3篇工作分别是: 针对检索优化语言模型 :优化语言模型
    的头像 发表于 12-22 16:14 716次阅读

    ELMER: 高效强大的非自回归预训练文本生成模型

    每个单词都依赖于输入文本与之前生成的单词。自回归生成模型只建模了前向的单词依赖关系,依次生成的结构也使得自回归模型难以并行化。目前大部分预
    的头像 发表于 03-13 10:39 988次阅读

    混合专家模型 (MoE)核心组件和训练方法介绍

    ) 的 Transformer 模型在开源人工智能社区引起了广泛关注。在本篇博文中,我们将深入探讨 MoEs 的核心组件、训练方法,以及在推理过程中需要考量的各种因素。 让我们开始吧! 简短总结 混合专家模型 (MoEs
    的头像 发表于 01-13 09:37 498次阅读
    混合专家<b class='flag-5'>模型</b> (MoE)核心组件和<b class='flag-5'>训练方法</b>介绍

    谷歌模型训练软件有哪些功能和作用

    谷歌模型训练软件主要是指ELECTRA,这是一种新的预训练方法,源自谷歌AI。ELECTRA不仅拥有BERT的优势,而且在效率上更胜一筹。
    的头像 发表于 02-29 17:37 398次阅读