首页 > 其他分享 >[论文阅读] Replacing softmax with ReLU in Vision Transformers

[论文阅读] Replacing softmax with ReLU in Vision Transformers

时间:2023-12-12 10:55:59浏览次数:37  
标签:Transformers 缩放 Replacing attention ReLU softmax alpha 注意力

Pre

title: Replacing softmax with ReLU in Vision Transformers
accepted: Arxiv 2023
paper: https://export.arxiv.org/abs/2309.08586
code: None

关键词:attention, parallelization
阅读理由:Google Deepmind,标题挺有意思

Idea

序列缩放能缓解ReLU等激活函数在attention中替换Softmax提高并行性时导致的性能下降,但不确定为何

Motivation&Solution

  1. 注意力中的softmax很重要,但妨碍了并行计算

Background

先前的研究发现如果把注意力的softmax换成逐点激活函数ReLU,准确度会有所下降,作者认为是他们没有将其除以序列长度导致的,同时那些方法仍然依靠normalization来使注意力权重总和为1,(仍保留了无法并行的缺点)

Method(Model)

Overview

用ReLU替换,同时将值除以序列长度,能缓解性能的下降

Attention 原本的注意力权重\(\alpha_{i,j}\)计算如下:

\[\alpha_{i j}=\phi\left(\frac{1}{\sqrt{d}}\left[q_{i}^{\top}k_{1},\ldots,q_{i}^{\top}k_{L}\right]\right)_{j}, \tag{1} \]

其中 L 是序列长度, \(\phi\) 是经典的softmax,而本文就是要探索它的 point-wise 替代。

ReLU-attention 观察到 \(\phi = L^{-1}relu\) 是公式1中softmax有希望的替代,将其称为ReLU-attention

Scaled point-wise attention 本文探索更一般的形式: \(\phi = L^{-\alpha}h,\; \alpha \in [0,1],\; h \in \{relu, relu^2, gelu, softplus, identity, relu6, sigmoid\}\)

Sequence length scaling 除以序列长度这事主要是实验的结果,但作者也给了一定的理论分析:现在的Transformer用的 sotfmax 注意力都要求 \(\sum^L_{j=1}\),这实际上就隐含了 \(\mathbb{E}_j[\alpha_{ij}] = L^{-1}\)。虽然可能不必要,但 \(\phi = L^{-1}relu\) 使得 \(\mathbb{E}_j[\alpha_{ij}]\) 在初始时在 \(O(L^{-1})\) 的量级。维持该条件可能会减轻替换掉softmax后对其他超参数的调整需求。

初始时 q, k 都是 \(O(1)\),因此 \(\frac{\left \langle q_i,k_j \right \rangle }{\sqrt{d}}\) 也是 \(O(1)\)。ReLU指着激活函数能维持\(O(1)\),因此 \(L^{-1}\)对于 \(\mathbb{E}_j[\alpha_{ij}]\) 维持 \(O(L^{-1})\) 是必要的

Experiment

Settings

用了BigVision codebase的训练配置,没有修改超参数。ImageNet-21k训练30epoch,ImageNet-1k训练300epoch,二者都差不多训练了9e5个step

Dataset

ImageNet-21k, ImageNet-1k

Results

图1 将sotfmax替换为relu/seqlen或是用qk-layernorm匹敌视觉Transformer的传统注意力缩放性能。该图展示了模型从小到大训30epoch的结果。

图2 将softmax替换为 Scaled point-wise attention 那种更为一般的形式,观察到\alpha在接近1的时候结果最好,但在此情况下选不出最好的激活函数,为了速度用了ReLU

图3 注意力去掉qk-layernorm,并且使用 $L^{-\alpha}$ 缩放的影响。

图4 使用门控注意力单元加上 $L^{-\alpha}$ 缩放的影响

Main experiment. 图1展示了ReLU-attention在ImageNet-21k上训练时与softmax attention一样的缩放趋势。但看起来性能似乎是稳定地不如。

Effect of sequence length scaling. 见图2

Effect of qk-layernorm. 实验用的qk-layernorm是在计算注意力权重之前把 q,k 拿去过layernorm,据说在提升模型尺寸时能防止不稳定。图3实验了去掉它的效果,表明似乎影响不大。

Effect of adding a gate. 研究加一个门控能否替代用序列长度缩放,但图4表明仍然要缩放才有最好的效果,门不门控没差别(横轴在0的时候并非最优,而且加上门控的线也不是平的)

Conclusion

仍留下许多开放问题,例如仍不确定为何因子 \(L^{-1}\) 会有用,以及该项是否可学。而且也可能有比ReLU更好的激活函数。

Critique

好短。看着google还以为有好东西,结论就是序列缩放有用但不知为何,而且说是提高并行性,不得比较一下吞吐和训练时间?图1有些太笼统了。

标签:Transformers,缩放,Replacing,attention,ReLU,softmax,alpha,注意力
From: https://www.cnblogs.com/Stareven233/p/17894811.html

相关文章

  • Retentive Networks Meet Vision Transformers, 视觉RetNet
    alias:Fan2023tags:RetNetrating:⭐share:falseptype:articleRMT:RetentiveNetworksMeetVisionTransformers初读印象comment::(RMT)RetentiveNetwork(RetNet)因其显式衰减机制而在自然语言处理中受到关注,但它不适合基于图像的任务。本文提出了保留性自我注意力......
  • LLM 学习笔记-transformers库的 PreTrainedModel 和 ModelOutput 到底是什么?
    闲言碎语我在刚开始接触huggingface(后简称hf)的transformers库时候感觉很冗杂,比如就模型而言,有PretrainedModel,AutoModel,还有各种ModelForClassification,ModelForCausalLM,AutoModelForPreTraining,AutoModelForCausalLM等等;不仅如此,还设计了多到让人头皮发麻的各......
  • Google Colab 现已支持直接使用 transformers 库
    GoogleColab,全称Colaboratory,是GoogleResearch团队开发的一款产品。在Colab中,任何人都可以通过浏览器编写和执行任意Python代码。它尤其适合机器学习、数据分析和教育目的。从技术上来说,Colab是一种托管式Jupyter笔记本服务。用户无需设置,就可以直接使用,同时还能获得......
  • 无依赖安装sentence-transformers
    安装pipinstall--no-cache-dirtorch==1.8.0+cpu-fhttps://download.pytorch.org/whl/torch_stable.htmlpipinstalltransformerstqdmnumpyscikit-learnscipynltksentencepiecepipinstall--no-depssentence-transformers可以使用pipdeptree查看依赖......
  • [945] Replacing a string in all cells of a Pandas DataFrame
    ToreplaceastringinallcellsofaPandasDataFrame,wecanusethe str.replace()method,whichallowsustoperformstringreplacementsoneachelementofacolumn. Hereisanexample:importpandasaspd#CreateasampleDataFramedata={'Co......
  • 自然语言处理预训练—— 来自Transformers的双向编码器表示(BERT)
    我们已经介绍了几种用于自然语言理解的词嵌入模型。在预训练之后,输出可以被认为是一个矩阵,其中每一行都是一个表示预定义词表中词的向量。事实上,这些词嵌入模型都是与上下文无关的。让我们先来说明这个性质。 从上下文无关到上下文敏感ELMo(EmbeddingsfromLanguageModels)是......
  • 梯度消失和梯度爆炸——从本质上说残差、LSTM遗忘门(依赖cell state)解决思路都是一样的
    在深度学习中,梯度消失和梯度爆炸是两个常见的问题。梯度消失是指在进行反向传播时,梯度会随着层数的增加而指数级地减小,直到几乎消失,导致深层的神经网络参数无法有效更新。这主要是因为使用了像sigmoid和tanh这样的激活函数,它们在输入值较大或较小的情况下,梯度值接近于0。    梯......
  • Cost Aggregation with Transformers for Sparse Correspondence-读书笔记
    CostAggregationwithTransformersforSparseCorrespondence:2022背景:该论文结合了SuperGlue和CATs,将里面所有手工制作的部分都代替了。将CATs引入该模型,用Transformer取代手工制作的成本聚合方法,用于具有自关注层全局接受域的可学习成本聚合。(PS:成本聚合:成本聚合是指在立......
  • 论文阅读:Point-BERT: Pre-training 3D Point Cloud Transformers with Masked Point M
    Point-BERT:Pre-training3DPointCloudTransformerswith MaskedPointModelingPoint-BERT:基于掩码建模的点云自注意力模型预训练摘要我们提出了Point-BERT,一个学习自注意力的新范式,将BERT[8]的概念推广到三维点云。受BERT的启发,我们设计了一个掩蔽点建模(MPM)任务来预训练点云......
  • 2023CVPR_Efficient Frequency Domain-based Transformers for High-Quality Image De
    一.Motivation1.Transformer在解决全局表现很好,但是复杂度很高,主要体现在QK的乘积:(Wenotethatthescaleddot-productattentioncomputationisactuallytoestimatethecorrelationofonetokenfromthequeryandallthetokensfromthekey)在self-attention中......