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

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

3天内不再提示

利用ImageNet训练了一个能降噪、超分和去雨的图像预训练模型

深度学习实战 来源:深度学习实战 作者:深度学习实战 2021-03-03 16:05 次阅读

说到Transformer,大家可能会想到BERT[1]、GPT-3[2]等等,这些都是利用无监督训练的大型预训练模型。既然Transformer也能用在CV上,那么能不能做类似的事情呢?这篇论文利用ImageNet训练了一个能降噪、超分和去雨的图像预训练模型(IPT)。

Motivation

目前很多low-level的task其实都是有一定相关性的,就是在一个low-level task上预训练对另一个task是有帮助的,但是目前几乎没有人去做相关的工作。而且pre-training在某些数据稀缺的task上就很有必要,并且无论在CV还是NLP,使用pre-trained model是非常常见的事情。对于一些输入和输出都是image的low-level算法来说,目前的pre-trained model显然是不适合的。

准备数据集

因为Transformer需要大量的数据去拟合,所以必须使用一个大型的数据集。在这篇论文中,作者用的是imagenet。对于imagenet的每一张图片生成各种任务对应的图像对,例如对于超分(super-resolution)来说,模型的输入数据是imagenet经过下采样的数据,而标签是原图。

IPT

在上篇文章介绍过了,因为Transformer本身是用于NLP领域的,输入应该是一个序列,因此这篇的论文做法和ViT[3]一样,首先需要把feature map分块,每个patch则视为一个word。但是不同的是,因为IPT是同时训练多个task,因此模型定义了多个head和tail分别对应不同的task。

整个模型架构包含四个部分:用于提取特征的heads、Transformer Encoder、Transformer Decoder和把feature map还原成输出的tails。

Heads

不同的head对应于不同的task,由于IPT需要处理多个task,因此是一个multi-head的结构,每个head由3层卷积层组成。Heads要完成的任务可以描述为:fH = Hi(x),x是输入图像,f是第i个Head的输出。

Transformer encoder

在输入Transformer前,需要将Head输出的feature map分成一个个patch,同样还需要加入位置编码信息,与ViT不同,这里是直接相加就可以作为Transformer Encoder的输入了,不需要做linear projection。

ef62fdc4-778b-11eb-8b86-12bb97331649.png

fpi是feature map的一个patch,Epi∈ RP*P×C是fpi的learnable position encoding。LN是layer normalization,MSA是多头self-attention模块,FFN是feed forward network。

Transformer decoder

Transformer decoder的输入时encoder的输出和task embedding。这些task embedding是可训练的,不同的task embedding代表处理不同的task。decoder的计算可以表示如下:

efacf5dc-778b-11eb-8b86-12bb97331649.png

fEi是指encoder的输出,fDi是指decoder的输出。

Tails

Tails与Heads是相对应的,但是不同的tail的输出的大小可能不一样,例如超分,做超分时输出比输入的图像大,因此与其它的tail输出的大小可能不一样。

Loss

loss由两部分组成,分别是Lcontrastive和Lsupervised的加权和。

Lsupervised是指IPT的输出与label的L1 loss。

加入Lcontrastive是为了最小化Transformer decoder对于来自同一张图的不同patch的输出的距离,最大化对于不同图片的patch之间的输出的距离。

实验与结果

作者用了32块NVIDIA Tesla V100,以256的batch size训练了200个epoch。

Reference

[1]Jacob Devlin, Ming-Wei Chang, Kenton Lee, and KristinaToutanova. Bert: Pre-training of deep bidirectionaltransformers for language understanding. arXiv preprintarXiv:1810.04805, 2018.

[2]Tom B Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al.Language models are few-shot learners. arXiv preprintarXiv:2005.14165, 2020.

[3]Dosovitskiy A, Beyer L, Kolesnikov A, et al. An image is worth 16x16 words: Transformers for image recognition at scale[J]. arXiv preprint arXiv:2010.11929, 2020.

责任编辑:lq

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

    关注

    1

    文章

    3134

    浏览量

    48666
  • 数据集
    +关注

    关注

    4

    文章

    1202

    浏览量

    24627
  • nlp
    nlp
    +关注

    关注

    1

    文章

    486

    浏览量

    21993

原文标题:视觉新范式Transformer之IPT

文章出处:【微信号:gh_a204797f977b,微信公众号:深度学习实战】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    AI大模型训练数据来源分析

    学术机构、政府组织或企业公开发布,涵盖了各种类型的数据,如图像、文本、音频、视频等。例如: ImageNet广泛用于图像识别任务的大
    的头像 发表于 10-23 15:32 328次阅读

    如何训练自己的AI大模型

    训练自己的AI大模型复杂且耗时的过程,涉及多个关键步骤。以下是详细的
    的头像 发表于 10-23 15:07 449次阅读

    直播预约 |数据智能系列讲座第4期:训练的基础模型下的持续学习

    鹭岛论坛数据智能系列讲座第4期「训练的基础模型下的持续学习」10月30日(周三)20:00精彩开播期待与您云相聚,共襄学术盛宴!|直播信息报告题目
    的头像 发表于 10-18 08:09 140次阅读
    直播预约 |数据智能系列讲座第4期:<b class='flag-5'>预</b><b class='flag-5'>训练</b>的基础<b class='flag-5'>模型</b>下的持续学习

    训练和迁移学习的区别和联系

    训练和迁移学习是深度学习和机器学习领域中的两重要概念,它们在提高模型性能、减少训练时间和降低对数据量的需求方面发挥着关键作用。本文将从定
    的头像 发表于 07-11 10:12 769次阅读

    大语言模型训练

    能力,逐渐成为NLP领域的研究热点。大语言模型训练是这技术发展的关键步骤,它通过在海量无标签数据上进行训练,使
    的头像 发表于 07-11 10:11 371次阅读

    人脸识别模型训练流程

    据准备阶段,需要收集大量的人脸图像数据,并进行数据清洗、标注和增强等操作。 1.1 数据收集 数据收集是人脸识别模型训练的第步。可以通过网络爬虫、公开数据集、合作伙伴等途径收集人脸
    的头像 发表于 07-04 09:19 786次阅读

    人脸识别模型训练是什么意思

    人脸识别模型训练是指通过大量的人脸数据,使用机器学习或深度学习算法,训练能够识别和分类人脸的模型
    的头像 发表于 07-04 09:16 442次阅读

    训练模型的基本原理和应用

    训练模型(Pre-trained Model)是深度学习和机器学习领域中的重要概念,尤其是在自然语言处理(NLP)和计算机视觉(CV)
    的头像 发表于 07-03 18:20 2185次阅读

    深度学习模型训练过程详解

    深度学习模型训练复杂且关键的过程,它涉及大量的数据、计算资源和精心设计的算法。训练
    的头像 发表于 07-01 16:13 1044次阅读

    利用深度循环神经网络对心电图降噪

    - 与后来为降噪任务添加的噪声水平不同。生 成的合成信号的示例如下图所示。 测试是为了回答两问题:DRNN对于心电图噪的有效 性如何数据以及使用合成数据进行
    发表于 05-15 14:42

    【大语言模型:原理与工程实践】大语言模型训练

    进行损失计算,得到下一个目标的预测。也会设计些其他辅助训练任务,与主任务共同训练。选择合适的训练
    发表于 05-07 17:10

    视觉深度学习模型:规模越大效果越佳吗?

    评估三类模型:(i) 在ImageNet-21k上训练的ViT,(ii) 在LAION-2B上训练
    发表于 04-11 09:45 464次阅读
    视觉深度学习<b class='flag-5'>模型</b>:规模越大效果越佳吗?

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

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

    深度学习如何训练出好的模型

    算法工程、数据派THU深度学习在近年来得到了广泛的应用,从图像识别、语音识别到自然语言处理等领域都有了卓越的表现。但是,要训练高效准确的深度学习
    的头像 发表于 12-07 12:38 1042次阅读
    深度学习如何<b class='flag-5'>训练</b>出好的<b class='flag-5'>模型</b>

    画质大模型!华为和清华联合提出CoSeR:基于认知的万物模型

    是缺乏泛化能力。为了实现更好的效果,通常需要针对特定场景使用特定传感器采集到的数据来进行模型训练,这种学习方式拟合了某种低清
    的头像 发表于 12-04 16:22 652次阅读
    <b class='flag-5'>超</b><b class='flag-5'>分</b>画质大<b class='flag-5'>模型</b>!华为和清华联合提出CoSeR:基于认知的万物<b class='flag-5'>超</b><b class='flag-5'>分</b>大<b class='flag-5'>模型</b>