首页 > 其他分享 >使用BatchNorm替代LayerNorm可以减少Vision Transformer训练时间和推理时间

使用BatchNorm替代LayerNorm可以减少Vision Transformer训练时间和推理时间

时间:2024-08-12 11:48:51浏览次数:13  
标签:transformer Transformer ViT BatchNorm LayerNorm Vision

以Vision Transformer (ViT)的发现为先导的基于transformer的架构在计算机视觉领域引发了一场革命。对于广泛的应用,ViT及其各种变体已经有效地挑战了卷积神经网络(CNN)作为最先进架构的地位。尽管取得了一些成功,但是ViT需要更长的训练时间,并且对于小型到中型输入数据大小,推理速度较慢。因此研究更快训练和推理Vision Transformer就变成了一个重要的方向。

在以前我们都是知道,Batch Normalization(以下简称BN)的方法最早由Ioffe&Szegedy在2015年提出,主要用于解决在深度学习中产生的ICS(Internal Covariate Shift)的问题。若模型输入层数据分布发生变化,则模型在这波变化数据上的表现将有所波动,输入层分布的变化称为Covariate Shift,解决它的办法就是常说的Domain Adaptation

而在transformer上使用Layer Normalization(以下简称LN)的方法,用于解决BN无法很好地处理文本数据长度不一的问题,但是对于VIT来说,图像的块数是固定的,并且长度也是固定的,那么能不能用BN来替代LN呢?

本文我们将详细探讨ViT的一种修改,这将涉及用批量归一化(BatchNorm)替换层归一化(LayerNorm) - transformer的默认归一化技术。ViT有一个仅编码器的架构,transformer编码器由两个不同的模块组成 - 多头自注意力(MHSA)和前馈网络(FFN)。所以我门将讨论这种模型的两个版本。第一个模型将涉及在前馈网络中实现BatchNorm层 - 这将被称为ViTBNFFN( 前馈网络中带有BatchNorm的Vision Transformer**)** 。第二个模型将涉及在Vision Transformer的所有地方用BatchNorm替换LayerNorm - 我将这个模型称为ViTBN( 带有BatchNorm的Vision Transformer**)**。因此,模型ViTBNFFN将同时涉及LayerNorm(在MHSA中)和BatchNorm(在FFN中),而ViTBN将仅涉及BatchNorm。

 

https://avoid.overfit.cn/post/94913313e55b4f3db99d7b07aec57e11

标签:transformer,Transformer,ViT,BatchNorm,LayerNorm,Vision
From: https://www.cnblogs.com/deephub/p/18354680

相关文章

  • HuggingFace的transformers 库中的tokenizer介绍
    在自然语言处理中,tokenizer是一个非常关键的组件,它将文本转化为模型可以理解的格式。这个过程通常包括以下几个步骤:1.文本标准化小写化:将所有文本转换为小写,以减少不同形式的单词(如"Apple"和"apple")被视为不同词的情况。去除标点符号:删除或替换标点符号,不过在某些场景下,......
  • transformer的位置编码具体是如何做的
    VisionTransformer(ViT)位置编码VisionTransformer(ViT)位置编码1.生成位置编码对于每个图像块(patch),根据其位置生成一个对应的编码向量。假设每个图像块的嵌入向量维度为D,则位置编码的维度也是D。ViT通常使用可学习的绝对位置编码,这意味着这些位置编码是在训练过程......
  • [jetson]jetson上torchvision源码下载地址汇总jetson上安装torchvision方法
    这个是jetson上使用的torchvision源码,解压后使用sudopython3setup.pyinstall即可安装,编译大约耗时30分钟完成,请耐心等待,安装这个源码之前您必须安装好由nvidia官方提供对应torchwhl文件,因此需要必须先安装好pytorch才能使用源码编译。目前我主要用这个源码给同学们安装......
  • 医学图像分割的基准:TransUnet(用于医学图像分割的Transformer编码器)器官分割
    1、TransUnet介绍TransUnet是一种用于医学图像分割的深度学习模型。它是基于Transformer模型的图像分割方法,由AI研究公司HuggingFace在2021年提出。医学图像分割是一项重要的任务,旨在将医学图像中的不同结构和区域分离出来,以便医生可以更好地诊断和治疗疾病。传统的医学......
  • HuggingFace:使用 Transformer 对 DNA 序列进行高效大规模嵌入提取
    我有一个非常大的数据框(60+百万行),我想使用转换器模型来获取这些行(DNA序列)的嵌入。基本上,这首先涉及标记化,然后我可以获得嵌入。由于RAM限制,我发现标记化然后将所有内容嵌入到一个py文件中是行不通的。这是我发现的解决方法,适用于大约3000万行的数据帧(但不适用于较大的d......
  • 大模型核心技术原理 Transformer架构详解
    在大模型发展历程中,有两个比较重要点:第一,Transformer架构。它是模型的底座,但Transformer不等于大模型,但大模型的架构可以基于Transformer;第二,GPT。严格意义上讲,GPT可能不算是一个模型,更像是一种预训练范式,它本身模型架构是基于Transformer,但GPT引入了“预测下一个词......
  • [EC Final 2021] Vision Test
    挺牛题,没做出来,但是参考了Rainbow博客之后发现这些套路自己其实都会啊QwQ。我提交的翻译:给定一个长度为\(n\)的数组\(x\),接下来你有\(q\)次询问。第\(i\)次询问给出一个区间\(l,r\),设\(k=r-l+1\),你提取出\(x\)数组下标在\(l,r\)之间的区间\(y_i=x_{i+l}(0\le......
  • Nvidia Jetson Xavier NX安装GPU版pytorch与torchvision
    前提是已经安装好了系统,并通过JetPack配置完了cuda、cudnn、conda等库。1.安装GPU版pytorch在base环境上新建环境,python版本3.8,激活并进入。condacreate-npytorch_gpupython=3.8condaactivatepytorch_gpu前往Nvidia论坛,下载JetsonNX专用的pytorch安装包。传送门:ht......
  • [Paper Reading] DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT D
    DEFORMABLEDETR:DEFORMABLETRANSFORMERSFOREND-TO-ENDOBJECTDETECTIONlink时间:2021(ICLR)机构:Sensetime&USTC&CUHKTL;DR参考2DDeformableConv,通过在ReferencePoint附近增加samplepoints,将DETR的收敛速度提升10倍,对于小目标效果也更好。Method背景知识:参考......
  • Vision Pro 3D 目标跟踪实战案例:厨房场景应用
    随着苹果公司在增强现实(AR)领域的持续投入和发展,visionOS和ARKit技术已经成为构建沉浸式交互体验的关键工具。visionOS2版本更是为开发者提供了更强大的功能集,使他们能够创造出更加复杂且引人入胜的应用程序。本文将介绍如何利用visionOS2和ARKit技术,在厨房场景中实现......