Abstract

Transformer是一种基于自我注意机制的深度神经网络,首先应用于自然语言处理领域。由于其强大的表现能力,研究人员正在寻找将Transformer应用于计算机视觉任务的方法。在各种可视化基准测试中,基于Transformer的模型的性能与其他类型的网络(如卷积和递归网络)相似,甚至更好。变压器由于其高性能和不需要人为定义的归纳偏置,越来越受到计算机视觉界的关注。本文对这些可视化转换器模型进行了分类,并分析了它们的优缺点。我们探讨的主要类别包括骨干网、高/中级视觉、低层次视觉和视频处理。我们还简要介绍了计算机视觉中的自我注意机制,因为它是变压器的基本组成部分。此外,我们还包括了有效的变压器方法,将变压器推入基于实际设备的应用程序。在本文的最后,我们讨论了视觉变形器面临的挑战,并提出了进一步研究的方向。

image-20210412160817532

1. Introduction

深度神经网络(DNNs)已经成为当今人工智能(AI)系统的基础构造。不同类型的任务通常涉及不同类型的网络。例如,多层感知(multi-layer perception, MLP)或全连接(full - connected, FC)网络是神经网络的经典类型,它是由多个线性层和非线性激活叠加而成的[128,129]。卷积神经网络(CNNs)引入了卷积层和池化层,用于处理图像等位移不变数据[83,80]。而循环神经网络(RNNs)利用循环单元来处理顺序数据或时间序列数据[130,60]。Transformer是一种新型的神经网络。它主要利用自我注意机制[6,111]来提取内在特征[152],在人工智能应用中展现广泛的应用潜力

Transformer首先被应用于自然语言处理(NLP)任务,并取得了显著的改进[152,34,11]。例如,Vaswani等人[152]首先提出了仅基于机器翻译和英语选区解析任务的注意机制的Transformer。Devlin等人[34]引入了一种新的语言表示模型,称为BERT(Bidirectional Encoder Representations from Transformers 基于Transformer的双向编码器表示),它将Transformer预先训练到未标记的文本,考虑到每个单词的上下文(它是双向的)。当BERT发表时,它在11个NLP任务中获得了最先进的性能。Brown等人[11]使用1750亿个参数,在45 TB压缩明文数据上预先训练了一个名为GPT-3(Generative Pre-trained Transformer 3 )的大型Transformer 模型。在不需要任何微调的情况下,它在不同类型的下游自然语言任务上实现了强大的性能。这些基于Transformer 的模型具有较强的表示能力,在自然语言处理领域取得了重大突破。

受Transformer体系结构在自然语言处理领域取得的巨大成功的启发,研究人员最近将Transformer应用到计算机视觉任务中。在视觉应用中,CNN曾被认为是最基本的组件[57,126],但如今Transformer显示它是CNN的一个可行的替代方案。Chen等人[21]训练了一个序列转换器来自回归预测像素,在图像分类任务上取得了与cnn相当的结果。另一种视觉Transformer模型是ViT,它将纯Transformer直接应用于图像补丁序列。最近由Dosovitskiy等人提出的[36],在多个图像识别基准上取得了最先进的性能。除了基本的图像分类,Transformer还被用于解决各种其他计算机视觉问题,包括目标检测[15,193]、语义分割、图像处理和视频理解。由于其卓越的性能,越来越多的研究人员提出了基于Transformer的模型,以改善广泛的视觉任务。

由于基于Transformer的视觉模型数量迅速增加,跟上新进度的速度越来越困难。因此,当务之急是对现有工程进行调查,这对社会有利。在本文中,我们将对视觉Transformer器的最新进展进行全面的概述,并讨论进一步改进的潜在方向。为了便于今后对不同主题的研究,我们根据其应用场景对Transformer模型进行分类,如表1所示。主要类别包括骨干网、高/中级别视觉、低级别视觉和视频处理。 **高级视觉处理的是对图像所见内容的解释和使用[150],中级视觉处理的是如何将这些信息组织成我们所体验到的物体和表面[77]。**在基于dnn的视觉系统中,高、中级视觉之间的差距越来越模糊[194,102],因此我们将其作为单一类别来对待。解决这些高/中级视觉任务的Transformer模型的一些例子包括DETR[15],用于目标检测的变形DETR[193]和用于分割的Max-DeepLab[155]。**低层次图像处理主要是从图像中提取描述(这些描述通常表示为图像本身)[43]。**低层次图像处理的典型应用包括超分辨率、图像去噪和样式转换。目前,只有少数作品[20,113]在低级视觉中使用变形器,这就产生了进一步研究的需要。另一类是视频处理,它是计算机视觉和基于图像的任务的重要组成部分。由于视频的顺序特性,Transformer天生非常适合用于视频任务[191,178],在这些任务中,它的性能开始与传统的cnn和rnn相当。在这里,我们回顾了与基于Transformer的视觉模型相关的工作,以跟踪这一领域的进展。图1显示了可视化转换器的开发时间表——毫无疑问,未来还会有更多的里程碑。

image-20210412160344752

个人笔记1

骨干网 分类

高级别视觉 处理的是对图像所见内容的解释和使用[150]

中级别视觉 如何将这些信息组织成我们所体验到的物体和表面[77]

(高、中级视觉之间的差距越来越模糊 包括识别分割姿态估计)

低级别视觉 从图像中提取描述(这些描述通常表示为图像本身)[43]。包括超分辨率、图像去噪和样式转换。

视频处理 视频修复 视频标注

本文的其余部分组织如下。

  • 第二节讨论了标准变压器的制定和自注意机制。
  • 第三部分,我们描述了在自然语言处理中变压器的方法,因为研究经验可能有助于视觉任务。
  • 第四部分是本文的主要部分,主要从主干、高/中层次、低层次和视频任务四个方面对视觉变形模型进行了总结。我们还简要描述了CV和高效Transformer方法的自我注意机制,因为它们与我们的主题密切相关。
  • 在最后一部分,我们给出了结论,并讨论了几个研究方向和面临的挑战。

2. Formulation of Transformer

Transformer[152]首次用于机器翻译任务的神经语言处理(NLP)领域。如图2所示,它由一个编码器模块和一个解码器模块组成,该模块具有多个相同架构的编码器/解码器。每个编解码器由自注意层和前馈神经网络组成,而每个解码器还包含一个编解码器注意层。在Transformer 用于翻译句子之前,句子中的每个单词都需要嵌入到dmodel= 512维的向量中。

image-20210412161311286

个人笔记2

一个编码器模块(有多个编码器,编码器的链接方式应该是级联)
一个解码器模块(有多个解码器,解码器的链接方式应该是级联)

若干编码器小组件和若干解码器小组件的对应层和非对应层之间都有着信息的传递(应该就是比较普通的feature map)

每个编码器(自注意力层,前馈神经网络FFN-feed forward network)
每个解码器(自注意力层,编解码注意力机制,前馈神经网络)

2.1. Self-Attention Layer

在自我注意层中,首先将输入向量转化为三个不同的向量:查询向量qqq、关键向量kkk和值向量vvv,其维数为dq=dk=dv=dmodel=512d_q= d_k= d_v= d_{model}= 512dq=dk=dv=dmodel=512。由不同输入导出的向量被打包成三个不同的矩阵,即QQQKKKVVV。随后,计算不同输入向量之间的注意函数如下(左图3):

  • 步骤1:计算不同输入向量之间的得分

S=Q⋅K⊤S=Q \cdot K^{\top} S=QK

  • 步骤2:将梯度稳定性得分归一化

Sn=S/dkS_{n}=S / \sqrt{d_{k}} Sn=S/dk

  • 步骤3:用softmax函数将得分转化为概率

P=softmax⁡(Sn)P=\operatorname{softmax}\left(S_{n}\right) P=softmax(Sn)

  • 步骤4:得到加权值矩阵

Z=V⋅PZ=V\cdot P Z=VP

该过程可统一为单一功能:

Attention⁡(Q,K,V)=softmax⁡(Q⋅K⊤dk)⋅V(1)\operatorname{Attention}(Q, K, V)=\operatorname{softmax}\left(\frac{Q \cdot K^{\top}}{\sqrt{d_{k}}}\right) \cdot V \tag {1} Attention(Q,K,V)=softmax(dkQK)V(1)

个人笔记3

每一个输入对应编码出三个向量

所有的输入序列在三个序列的第二维度上叠加形成宽为512,长为输入长度的三个矩阵

个人笔记4

为什么步骤一中的可以计算得到不同输入向量之间的得分

矩阵乘法

image-20210412163054048

假设共有十个输入向量
Q=(q1[0]⋯q1[511]⋮⋯⋮q10[0]⋯q10[511])=(q1⃗⋮q10⃗)Q=\left(\begin{array}{ccc} q_{1}[0] & \cdots & q_{1}[511] \\ \vdots & \cdots & \vdots \\ q_{10}[0] & \cdots & q_{10}[511] \end{array}\right) = \left(\begin{array}{c}\vec{q_{1}}\\\vdots\\ \vec{q_{10}} \end{array}\right) Q=q1[0]q10[0]q1[511]q10[511]=q1q10

K=(k1[0]⋯k1[511]⋮⋯⋮k10[0]⋯k10[511])=(k1⃗⋮k10⃗)K=\left(\begin{array}{ccc}k_{1}[0] & \cdots & k_{1}[511] \\\vdots & \cdots & \vdots \\k_{10}[0] & \cdots & k_{10}[511]\end{array}\right) = \left(\begin{array}{c}\vec{k_{1}}\\\vdots\\ \vec{k_{10}} \end{array}\right) K=k1[0]k10[0]k1[511]k10[511]=k1k10

相乘结果

公式
Q⋅KT=(q1⃗⋮q10⃗)⋅(k1⃗T⋯k10⃗T)(q1⃗⋅k1⃗T⋯q1⃗⋅k10⃗T⋮⋯⋮q10⃗⋅k1⃗T⋯q10⃗⋅k10⃗T)=(s1−1⋯s1−10⋮⋯⋮s10−1⋯s10−10)Q \cdot K^T= \left(\begin{array}{c}\vec{q_{1}}\\\vdots\\ \vec{q_{10}} \end{array}\right) \cdot \left(\vec{k_{1}}^T\cdots \vec{k_{10}}^T\right) \left(\begin{array}{ccc} \vec{q_{1}}\cdot\vec{k_{1}}^T & \cdots & \vec{q_{1}}\cdot\vec{k_{10}}^T \\\vdots & \cdots & \vdots \\\vec{q_{10}}\cdot\vec{k_{1}}^T& \cdots & \vec{q_{10}}\cdot\vec{k_{10}}^T\end{array}\right) =\left(\begin{array}{ccc}s_{1-1} & \cdots & s_{1-10} \\\vdots & \cdots & \vdots \\s_{10-1} & \cdots & s_{10-10}\end{array}\right) QKT=q1q10(k1Tk10T)q1k1Tq10k1Tq1k10Tq10k10T=s11s101s110s1010

矩阵SSS中的每一个元素都是怎么计算出来的呢

两个向量的点乘

这两个向量代表的是啥呢

不同输入时候所得到的表示向量qi⃗\vec{q_{i}}qikj⃗\vec{k_j}kj

image-20210412162122459

公式1背后的逻辑很简单。第1步计算两个不同向量之间的得分,这些得分决定了在当前位置编码单词时我们给予其他单词的关注程度。第2步将分数归一化以增强梯度稳定性以改进训练,第3步将分数转化为概率。最后,每个值向量乘以概率的和。具有较大概率的VVV形元素将从以下层获得额外的焦点。

个人笔记5

这个得分呢就是上文我的个人笔记4中所写的向量点乘得出来的结果,代表的关注程度,我们再细化一下,表示的是当前状态和所有时刻状态的关系

其实就是当前这个时刻状态高纬度编码和所有时刻状态的高纬度编码的关系(加上softmax之后就更加能有这种感觉,统一的看整个时间状态之后,在时间域上进行过归一化,总影响的重要程度是1,各个时间的影响是分别计算出来的类似于概率的感觉)

个人想法1

有没有别的方式来判断这个影响重要程度,来获取得分,这样计算全局相关性矩阵太慢了,可不可以有别的方式可以对两个矩阵的任意部分球全部求出互相的重要程度

解码器模块中的编解码器注意层与编码器模块中的自我注意层相似,但有以下几点不同:关键矩阵KKK和值矩阵VVV是从编码器模块中派生出来的,查询矩阵QQQ是从上一层派生出来的。

注意,上述编码解码过程与每个单词的位置无关,这意味着自我注意层缺乏捕捉句子中单词位置信息的能力。为了解决这个问题并获得单词的最终输入向量,在原始输入嵌入中添加了带有维度dmodeld_{model}dmodel的位置编码。具体来说,位置用以下公式编码:
PE(pos,2i)=sin⁡(pos 100002idmodel )(2)P E(p o s, 2 i) =\sin \left(\frac{\text { pos }}{10000^{\frac{2 i}{d_{\text {model }}}}}\right) \tag{2} \\ PE(pos,2i)=sin(10000dmodel 2i pos )(2)

PE(pos, 2i+1)=cos⁡(pos 100002idmodel )(3)P E(\text { pos, } 2 i+1) =\cos \left(\frac{\text { pos }}{10000^{\frac{2 i}{d_{\text {model }}}}}\right)\tag{3} PE( pos, 2i+1)=cos(10000dmodel 2i pos )(3)

其中pos表示单词在句子中的位置,iii表示位置编码的当前维度。

2.2. Multi-Head Attention

多头注意是一种机制,可以用来提高普通的自我注意层的性能。注意,对于一个给定的参考词,我们在阅读句子时通常会关注其他几个词。单头自我注意力层限制了我们专注于一个或多个特定位置的能力,同时也不影响对其他同等重要位置的注意力。这是通过给予注意层不同的表示子空间来实现的。具体来说,不同的头使用不同的查询、键和值矩阵,这些矩阵由于随机初始化,训练后可以将输入向量投影到不同的表示子空间中。

个人笔记6

应该是通过多个映射去建立的从同一个输入获取不同高维信息的方式,讲故事为多头,实际是获取了更多的信息,增加更多参数,实现更多的channel

修正

理解错误在后面的说明中有解释多头总长度是不变的会变成长度为64的8个小矩阵

为了更详细地说明这一点,给定一个输入向量和头的数目hhh,输入向量首先被转换成三组不同的向量:查询组、键组和值组。每组有hhh个向量,维数dq′=dk′=dv′=dmodel/h=64d_{q'} = d_{k'} = d_{v'} = d_{model/h} = 64dq=dk=dv=dmodel/h=64。由不同输入得到的向量被打包成三组不同的矩阵:{Qi}i=1h\{Q_i\}^h_{i=1}{Qi}i=1h{Ki}i=1h\{K_i\}^h_{i=1}{Ki}i=1h{Vi}i=1h\{V_i\}^h _{i=1}{Vi}i=1h。多头注意过程如下所示:
MultiHead⁡(Q′,K′,V′)=Concat⁡(head⁡1,⋯,head h)Wowhere head i=Attention⁡(Qi,Ki,Vi).(4)\begin{aligned} \operatorname{MultiHead}\left(Q^{\prime}, K^{\prime}, V^{\prime}\right) &=\operatorname{Concat}\left(\operatorname{head}_{1}, \cdots, \text { head }_{h}\right) W^{o} \\ \text { where head }_{i} &=\operatorname{Attention}\left(Q_{i}, K_{i}, V_{i}\right) . \end{aligned} \tag{4} MultiHead(Q,K,V) where head i=Concat(head1,, head h)Wo=Attention(Qi,Ki,Vi).(4)
其中,Q′Q'Q(和K′K'KV′V'V近似)是{Qi}i=1h\{Q_i\}^h_{i=1}{Qi}i=1h的拼接,Wo∈Rdmodel ×dmodel W^{o} \in \mathbb{R}^{d_{\text {model }} \times d_{\text {model }}}WoRdmodel ×dmodel 是线性投影矩阵。

2.3. Other Key Concepts in Transformer

image-20210412210718463

Residual Connection in the Encoder and Decoder .

编码器和解码器中的剩余连接。如图4所示,将一个残余连接添加到编码器和解码器的每个子层。这加强了信息的流动,以实现更高的性能。在剩余连接之后是层规范化[5]。这些操作的输出可以描述为:
LayerNorm (X+Attention (X))(5)\text { LayerNorm }(X+\text { Attention }(X)) \tag{5}  LayerNorm (X+ Attention (X))(5)
这里,XXX作为自我注意层的输入。这是因为查询矩阵QQQ,键矩阵KKK,值矩阵VVV都是从同一个输入矩阵XXX派生出来的。在每个编码器和解码器的自注意层之后

Feed-Forward Network.

应用前馈网络(FFN)。它由两个线性变换层和其中一个非线性激活函数组成,可以表示为以下函数:
FFN⁡(X)=W2σ(W1X)(6)\operatorname{FFN}(X)=W_{2} \sigma\left(W_{1} X\right) \tag{6} FFN(X)=W2σ(W1X)(6)
其中W1W_1W1W2W_2W2为两个线性变换层的两个参数矩阵,σσσ为非线性激活函数,如GELU[58]。隐含层的维数dh=2048d_h= 2048dh=2048

Final Layer in the Decoder.

解码器的最后一层。解码器的最后一层用于将向量堆栈转换回一个单词。这是通过一个线性层和一个softmax层来实现的。线性层将向量投影到一个具有dwordd_{word}dword维数的逻辑向量中,其中dwordd_{word}dword是词汇表中的单词数。softmax层然后被用来把逻辑向量转换成概率。用于CV任务时,大多数Transformer采用原转换器的编码器模块。这样的Transformer可以看作是一种新的特征选择器。与只关注局部特征的cnn相比,transformer可以捕捉到长距离特征,这意味着它可以很容易地获得全局信息。与必须连续计算隐藏状态的RNNs相比,transformer的效率更高,因为自注意层和全连接层的输出可以并行计算,并且易于加速。由此我们可以得出结论,在计算机视觉和自然语言处理中进一步研究变压器将会取得有益的结果。

个人笔记7

与只关注局部特征的cnn相比,transformer可以捕捉到长距离特征,这意味着它可以很容易地获得全局信息。

与必须连续计算隐藏状态的RNNs相比,transformer的效率更高,因为自注意层和全连接层的输出可以并行计算,并且易于加速。

2. Revisiting Transformers for NLP

在transformer被开发出来之前,添加attention的RNNs(如GRU[31]和LSTM[61])属于最先进的语言模型。然而,RNNs要求信息流从前一个隐藏状态依次处理到下一个隐藏状态。这就排除了在训练过程中使用加速和并行化的可能性,从而阻碍了rnn处理更长的序列或构建更大模型的潜力。2017年,Vaswani等人[152]提出了变压器,这是一种新的编码器-解码器结构,仅建立在多头自注意机制和前馈神经网络上。它的目的是通过获取全局依赖项来轻松解决seq-to-seq自然语言任务(如机器翻译)。transformer随后的成功证明,单独利用注意机制可以获得与注意神经网络相当的性能。此外,transformer的架构适合大规模并行计算,这使得在更大的数据集上进行训练成为可能。这导致了用于自然语言处理的大型预训练模型(PTMs pre-trained models )的激增。

BERT[34]及其变体(如SpanBERT[75]、RoBERTa[98])是建立在多层变压器编码器架构上的一系列PTMs。在BERT的预训练阶段,对图书语料库[194]和英文维基百科数据集进行了两个任务:

1)屏蔽语言建模(MLM Masked language modeling),首先随机屏蔽输入中的一些标记,然后训练模型进行预测;

2)下一句预测,使用成对的句子作为输入,预测第二句是否是文档中的原句。

在预培训之后,可以通过在广泛的下游任务上添加输出层来对BERT进行微调。更具体地说,在执行序列级任务(如情感分析)时,BERT使用第一个表征的表示进行分类;对于表征级任务(例如,名称实体识别),所有表征都被送入softmax层进行分类。在它发布的时候,BERT在11个NLP任务中取得了最先进的性能,在预先训练的语言模型中树立了一个里程碑。预先训练的生成式变压器模型(例如:GPT[122]、GPT-2[123]是另一种基于变压器译码架构的 PTMs,它使用了掩藏的自我注意机制。GPT系列和BERT之间的主要区别在于进行预培训的方式。与BERT不同,GPT模型是使用左-右(LTR Left-to-Right ) 语言建模预先训练的单向语言模型。此外,BERT在预训练期间学习了句子分隔符([SEP] separator)和分类标记([CLS] classifier token)嵌入,而这些嵌入仅涉及GPT的微调阶段。由于它的单向预训练策略,GPT在许多自然语言生成任务中取得了优越的性能。最近,一个名为GPT-3的巨型transformer模型被开发出来,它有惊人的1750亿个参数。GPT-3通过对45tb的压缩明文数据进行预训练,可以直接处理不同类型的下游自然语言任务,无需进行微调。结果表明,该算法在许多NLP数据集上都取得了良好的性能,包括自然语言的理解和生成。自从变压器的引入,除了前面提到的基于变压器的PTMs之外,还有许多其他的模型被提出。为了方便感兴趣的读者,我们在表2中列出了一些有代表性的模型,但这不是我们研究的重点。

表2:基于transformer的代表性语言模型列表。Transformer是标准的编码器-解码器架构。其中,变压器encl和dec分别表示编码器和解码器。解码器使用掩码自我注意来防止注意到未来的令牌。该表的数据来自[121]。

image-20210412221033160

除了在大型语料库上训练用于一般自然语言处理任务的PTMs外,基于transformer的模型还被应用于许多其他与自然语言处理相关的领域和多模态任务。

BioNLP Domain.

基于transformer的模型优于许多传统的生物医学方法。这类模型的一些例子包括BioBERT[84],它使用transformer架构进行生物医学文本挖掘任务,以及SciBERT[9],它是通过对1.14亿篇科学文章(涵盖生物医学和计算机科学领域)训练transformer而开发的,目的是更精确地在科学领域执行NLP任务。另一个例子是Huang等人提出的ClinicalBERT[66]。它利用transformer来开发和评估临床记录的连续表示。这样做的另外作用是,ClinicalBERT的attention map可以用来解释预测,从而允许不同医学内容之间的高质量联系被发现。

Multi-Modal Tasks.

多任务。由于transformer在基于文本的自然语言处理任务中的成功,许多研究都热衷于开发其处理多模态任务(如视频-文本、图像-文本和音频-文本)的潜力。一个例子是VideoBERT[141],它使用基于cnn的模块对视频进行预处理,以获得表征。然后根据这些令牌训练transformer编码器,以学习用于下游任务(如视频标题)的视频-文本表示。其他一些例子包括VisualBERT[86]和VL-BERT[140],它们采用单流统一转换器捕获视觉元素和图像-文本关系,用于下游任务,如视觉问题回答(VQA)和视觉常识推理(VCR)。此外,一些研究,如speech bert[29],探索了用transformer编码器编码音频和文本对的可能性,以处理自动文本任务,如语音问题回答(SQA)。

基于transformer的模型在各种NLP相关任务上的迅速发展,显示了其结构上的优越性和通用性,为其成为除NLP外应用于许多人工智能领域的通用模块提供了可能。本调查的以下部分主要关注在过去两年中出现的各种计算机视觉任务中transformer的应用。

4. Visual Transformer

在本节中,我们将回顾基于Transformer的模型在计算机视觉中的应用,包括图像分类、高/中级视觉、低级视觉和视频处理。简要总结了自注意机制和模型压缩方法在高效Transformer中的应用。

4.1. Backbone for Image Classification

受Transformer在自然语言处理领域取得成功的启发,一些研究人员开始探索类似的模型是否可以学习到图像的有用表示。由于与文本相比,图像涉及更多的尺寸、噪声和冗余模态,因此它们被认为更难以生成建模。

个人笔记

由于与文本相比,图像涉及更多的尺寸、噪声和冗余模态,因此它们被认为更难以生成建模。

图像与文本的关系

  • 文本是一维的表征对前后的影响;图像需要的是二维表征对于全局的影响(导致计算量剧增)
  • 图像噪声多,模态种类更加丰富需要更强的表征能力需要去学习更多的种类更多地表达,更加高维的信号提取能力才可以做到信号有价值的提取也就是足够强的抗噪声

除CNNs外,Transformer还可以作为图像分类的骨干网。Wu等[163]采用ResNet作为方便的基线,并使用视觉Transformer来替代卷积的最后阶段。具体来说,他们应用卷积层来提取低层特征,然后将其输入视觉Transformer。对于视觉Transformer,他们使用编译器将像素分组成少量的视觉标记,每个标记代表图像中的一个语义概念。这些视觉标记直接用于图像分类,Transformer用于建模标记之间的关系。纯使用Transformer进行图像分类的作品包括iGPT[21]、ViT[36]和DeiT[148]。

4.1.1 iGPT(这一篇有点看不懂)

生成式图像预训练方法已经存在很长一段时间了,Chen等人对这类方法进行了重新研究,并将其与自我监督方法相结合。这种方法包括一个预训练阶段,然后是一个微调阶段。在预训练阶段,探讨自回归和BERT(bidirectional transformers)。为了实现像素预测,采用了序列转换器结构来代替如NLP中使用的语言标记。当与早期停止结合使用时,预训练可以被认为是一个良好的初始化或正则化。在微调阶段,他们在模型上添加了一个小的分类头。这有助于优化分类目标并适应所有权重。

给定一个由高维数据x=(x1,⋯,xn)x= (x_1,\cdots,x_n)x=(x1,,xn)组成的未标记数据集XXX,他们通过最小化数据的负对数似然来训练模型:
LAR=Ex∼X[−log⁡p(x)](7)L_{A R}=\underset{x \sim X}{\mathbb{E}}[-\log p(x)] \tag{7} LAR=xXE[logp(x)](7)
其中p(X)p(X)p(X)是图像数据的密度,可以建模为:
p(x)=∏i=1np(xπi∣xπ1,⋯,xπi−1,θ)(8)p(x)=\prod_{i=1}^{n} p\left(x_{\pi_{i}} \mid x_{\pi_{1}}, \cdots, x_{\pi_{i-1}}, \theta\right) \tag{8} p(x)=i=1np(xπixπ1,,xπi1,θ)(8)
陈等人也认为BERT目标样本子序列M⊂(1,n),每个索引我独立的概率出现在0.15 M M叫做伯特面具,和模型训练通过最小化的负对数似“蒙面”元素xMconditioned“揭露”的x (1, n) \ M:LBERT= E x∼XE M xi∈M[−logp(xi|x[1,n] M)]](9)在预训练阶段,他们选择LARor LBERT,使预训练数据集上的损失最小。GPT-2[123]采用变压器解码器块的公式。特别是,层规范先于注意和多层感知器(MLP)操作,所有操作都严格在剩余路径上执行。注意力操作是唯一涉及到混合序列元素的操作。为了确保训练AR目标时得到适当的调节,Chen等人将标准上三角掩模应用于注意对数的n × n矩阵。当使用6 BERT目标时不需要注意logit屏蔽,但一旦将内容嵌入应用到输入序列中,Chen等人将位置置零。

4.1.2 ViT

4.2. High/Mid-level Vision

4.2.1 Generic Object Detection

Transformer-based Set Prediction for Detection.

Transformer-based Backbone for Detection.

4.2.2 Other Detection Tasks

Pedestrian Detection.

Lane Detection.

4.2.3 Segmentation

4.2.4 Pose Estimation

4.2.5 Discussions

4.3. Low-level Vision

很少有研究将Transformer应用于低视场,如图像的超分辨率和生成。这些任务通常以图像作为输出(例如,高分辨率或去噪图像),这比高级视觉任务更具挑战性,如分类、分割和检测,这些任务的输出是标签或框。

Parmar等[113]提出了Image Transformer,第一步是将Transformer模型推广到制定图像转换和生成任务。图像Transformer由两部分组成:用于提取图像表示的编码器和用于生成像素的解码器。对于值为0到255的每个像素,学习256×d256 × d256×d维嵌入,将每个值编码为d维向量,并将其作为输入输入编码器。编码器和解码器采用与[152]相同的架构。图8显示了在译码器每个层的结构。通过计算输入像素q′q'q与之前生成的像素m1,m2,…m_1, m_2,…m1,m2 (与位置信息嵌入p1,p2,....p_1, p_2, ....p1,p2....)之间的自我注意,得到每个输出像素qqq

对于图像条件生成,如超分辨率和修复,使用编码器-解码器架构,其中编码器的输入是低分辨率或损坏的图像。

对于无条件和类条件生成(即噪声到图像),只有解码器用于输入噪声向量。由于解码器的输入是之前生成的像素(在生成高分辨率图像时涉及到较高的计算成本),因此提出了一种局部自注意方案。该方案仅使用最接近的生成像素作为解码器的输入,使图像转换器在图像生成和翻译任务中达到与基于cnn的模型同等的性能,证明了基于转换器的模型在低层次视觉任务中的有效性。

想法对于多头的attention

合并之后再求相关性,而不是分开来求? 可不可以使用ghostnet进行一些通道或者头的压缩,或者编码向量解码时候的计算压缩

最近的一些作品避免使用每个像素作为Transformer模型的输入,而是使用补丁(像素集)作为输入。例如,yang等[167]提出了用于图像超分辨率的纹理变压器网络(Texture Transformer Network For Image superresolution, TTSR),利用了基于参考的图像超分辨率问题中的Transformer架构。它的目的是将相关的纹理从参考图像转移到低分辨率的图像。以低分辨率图像和参考图像分别为查询QQQ和键KKK,计算每个patch 在QQQqiq_iqi 和在KKKkik_iki之间的相关性如下:
ri,j=⟨qi∥qi∥,ki∥ki∥⟩(12)r_{i, j}=\left\langle\frac{q_{i}}{\left\|q_{i}\right\|}, \frac{k_{i}}{\left\|k_{i}\right\|}\right\rangle \tag{12} ri,j=qiqi,kiki(12)
提出了一种硬注意模块,根据参考图像选择高分辨率特征VVV,利用相关性对低分辨率图像进行匹配。硬注意力地图计算如下:
hi=arg⁡max⁡jri,j(13)h_{i}=\arg \max _{j} r_{i, j}\tag{13} hi=argjmaxri,j(13)
最相关的参考patch是ti=vhit_i= v_{hi}ti=vhi,其中在TTT中的tit_iti是转移过来的特征。然后使用软注意模块将VVV转移到低分辨率特征FFF上,软注意计算为:
si=max⁡jri,j(14)s_{i}=\max _{j} r_{i, j} \tag{14} si=jmaxri,j(14)
将高分辨率纹理图像转换为低分辨率纹理图像的公式为:
Fout =F+Conv⁡(Concat⁡(F,T))⊙S(15)F_{\text {out }}=F+\operatorname{Conv}(\operatorname{Concat}(F, T)) \odot S \tag{15} Fout =F+Conv(Concat(F,T))S(15)

其中,FoutF_{out}FoutFFF分别为低分辨率图像的输出特征和输入特征;SSS是柔和的注意;TTT为从高分辨率纹理图像中转移出来的特征。通过利用基于Transformer 的架构,TTSR能够在超分辨率任务中成功地将纹理信息从高分辨率参考图像转移到低分辨率图像。

image-20210413214311023

不同于之前在单个任务中使用Transformer 模型的方法,Chen等人[20]提出了图像处理变压器(Image Processing transformer, IPT),它利用了大量的预训练数据集,充分利用了变压器的优点。它在一些图像处理任务中实现了最先进的性能,包括超分辨率、去噪和去雨。

如图9所示,IPT包括多头、一个编码器、一个解码器和多尾组成。针对不同的图像处理任务,引入了多头、多尾结构和任务嵌入。特征被划分成小块,并被输入到编码器-解码器体系结构中。随后,输出被重塑为具有相同大小的特征。鉴于在大数据集上预训练变压器模型的优点,IPT使用ImageNet数据集进行预训练。具体来说,该数据集中的图像通过手动添加噪声、雨条纹或降采样来退化,从而生成损坏的图像。以退化后的图像作为IPT的输入,以原始图像作为输出的优化目标。为了提高模型的泛化能力,还引入了一种自监督方法。一旦模型得到训练,它就会通过使用相应的头、尾和任务嵌入对每个任务进行微调。IPT在很大程度上提高了图像处理任务的性能(如图像去噪任务的性能为2 dB),显示了基于变压器的模型在低层次视觉领域的巨大潜力。

除单图像生成外,Wang等[158]还提出了Scene Former,利用transformer进行室内三维场景生成。通过将场景视为一系列物体,transformer解码器可以用来预测一系列物体及其位置、类别和大小。这使得SceneFormer在用户研究中优于传统的基于cnn的方法。

综上所述,与分类和检测任务不同,图像生成和处理的输出是图像。图10演示了在低级视图中使用变压器。通过将图像作为像素序列或小块,transformer编码器使用该序列作为输入,允许transformer解码器成功地生成所需的图像。为不同的图像处理任务设计一个合适的体系结构是未来研究的一个有意义的方向。

image-20210413222105410

4.4. Video Processing

4.4.1 High-level Video Processing

Image Generation.

Activity Recognition.

Human Action Recognition.

Face Alignment.

Video Retrieval.

Video Object Detection.

Multi-task Learning.

4.4.2 Low-level Video Processing

Frame/Video Synthesis.

Video Inpainting.

4.5. Self-attention for Computer Vision

4.5.1 General Formulation of Self-attention

4.5.2 Applications on Visual Tasks

Image Classification.

Semantic Segmentation.

Object Detection.

Other Vision Tasks.

4.6. Efficient Transformer

虽然transformer模型在各种任务中都取得了成功,但它们对内存和计算资源的高要求阻碍了它们在资源有限的设备(如手机)上的实现。在本节中,我们回顾了为了有效实施而压缩和加速变压器模型的研究。这包括网络剪枝、低秩分解、知识精馏、网络量化和紧凑架构设计。表5列出了基于变压器的模型压缩的一些代表性工作。

image-20210413233149803

4.6.1 Pruning and Decomposition

在基于transformer的预训练模型(如BERT)中,多重注意操作是并行进行的,以独立建模不同表征之间的关系[152,34]。然而,特定任务并不要求使用所有的磁头。

个人猜测

应该是不需要所有的都去求相互关系

好像猜测错误他说的是多头注意力机制

例如,Michel等人[103]提出的经验证据表明,在测试时可以去掉很大比例的注意头,而不会显著影响性能。头的数量在不同的层不同-有些层甚至可能只需要一个头。考虑到注意头的冗余性,[103]定义了重要性分数来估计每个头对最终输出的影响,不重要的头可以被删除,以便有效部署。Dalvi等[117]从两个角度分析了预训练Transformer模型中的冗余:通用冗余和特定任务冗余。遵循抽签假设[44],Prasanna等[117]对BERT中的抽签进行了分析,表明在基于transformer的模型中也存在良好的子网,减少了FFN层和注意力头,以实现较高的压缩率。

除了transformer模型的宽度外,还可以减少深度(即层的数量),以加速推理过程[39]。不同于transformer模型中不同的注意头可以并行计算的概念,不同的层必须顺序计算,因为下一层的输入依赖于前一层的输出。Fan等人[39]提出了一种基于层的减少策略来规范模型的训练,然后在测试阶段将整个层一起去除。考虑到不同设备中可用的资源可能不同,Hou等人[62]提出了自适应地减小预定义transformer模型的宽度和深度。该方法同时获得多个不同大小的模型,并通过重链接机制在不同的子网络中共享重要的注意头和神经元。

除了直接丢弃transformer模型中的模块的剪枝方法之外,矩阵分解的目标是基于低秩假设,用多个小矩阵来近似大矩阵。如Wang等[161]对transformer模型中的标准矩阵乘法进行了分解,提高了推理效率。

4.6.2 Knowledge Distillation

知识蒸馏的目的是通过从大型教师网络转移知识来训练学生网络[59,13,3]。与教师网络相比,学生网络的架构通常更薄、更浅,更容易在资源有限的资源上部署。神经网络的输出特征和中间特征也可以用来将有效的信息从教师传递给学生。慕克吉等人[106]专注于transformer模型,使用预先训练的BERT[34]作为教师,利用大量未标记的数据来指导小模型的训练。Wang等人[156]训练学生网络模仿预先训练的教师模型中的自我注意层的输出。关于值的点积作为一种新的知识形式被引入,以指导学生。在[156]中还引入了教师助理[104],减少了大型预训练transformer模型和紧凑的学生网络之间的差距,从而促进了模仿。由于transformer模型中存在不同类型的层(即自我注意层、嵌入层和预测层),Jiao等[73]设计了不同的目标函数来将知识从教师传递给学生。例如,学生模型的嵌入层的输出通过MSE损耗模拟教师的输出。一个可学习的线性变换也被施加到映射不同的特征到同一空间。对于预测层的输出,采用KL散度来度量不同模型之间的差异。

4.6.3 Quantization

量化的目的是减少表示网络权值或中间特征所需的比特数[151,170]。一般神经网络的量化方法已经详细讨论过,并取得了与原始网络相当的性能[112,45,7]。最近,人们对如何对变压器模型进行特殊量化越来越感兴趣[10,40]。例如,Shridhar等人[137]建议将输入嵌入到二进制高维向量中,然后使用二进制输入训练二值神经网络。Cheong等人的[26]用低位(例如4位)表示变压器模型中的权值。Zhao等[188]实证研究了各种量化方法,k-means量化有巨大的发展潜力。Prato等人[118]针对机器翻译任务提出了一种完全量化的transformer,如论文所言,这是第一个翻译质量不受任何损失的8位模型

4.6.4 Compact Architecture Design

除了将预定义的transformer模型压缩成更小的模型之外,有些作品还试图直接设计紧凑的模型[164,72]。Jiang等[72]提出了一种将全连接层和卷积层结合起来的名为跨层动态卷积的新模块,简化了自我注意的计算,如图11所示。通过卷积运算计算不同令牌表示之间的局部依赖性,这比标准变压器中密集的全连接层的效率高得多。深度卷积也被用于进一步降低计算成本。在[2]中提出了有趣的“汉堡包”层,使用矩阵分解代替原来的自我注意层。与标准的自我注意运算相比,矩阵分解能够更有效地计算出不同标记之间的依赖性。高效transformer体系结构的设计也可以通过神经体系结构搜索(neural architecture search, NAS)[52,138]实现自动化。神经体系结构搜索可以自动搜索如何组合不同的组件。

transformer模型中的自我注意运算是计算给定序列(图像识别任务[37]中的patches)中不同输入令牌表示之间的点积,复杂度为O(N),其中N为序列的长度。最近,有一个目标是将大型方法的复杂度降低到O(N),以便变压器模型可以扩展到长序列。例如,Katharopoulos等人[76]将自我注意近似为核特征映射的线性点积,并通过RNNs揭示了令牌之间的关系。Zaheer等人[177]将每个令牌视为图中的一个顶点,并将两个令牌之间的内积计算定义为边。受图论的启发[139,30],将各种稀疏图结合起来近似transformer模型中的稠密图,可以达到O(N)复杂度。Y un等[175]从理论角度证明了复杂度为O(N)的稀疏变压器足以反映token之间的任何一种关系,并且可以进行普遍逼近,为进一步研究复杂度为O(N)的transformer提供了理论保证。

Discussion.

上述方法在试图识别transformer模型中的冗余方面采取了不同的方法(参见图12)。

image-20210414100041814

剪枝和分解方法通常需要预定义的具有冗余的模型。具体来说,剪枝侧重于减少变压器模型中的组件(如层、头)数量,而分解则用多个小矩阵表示原始矩阵。紧凑的模型也可以直接手动设计(需要足够的专业知识)或自动设计(例如,通过Neural Architecture Search NAS)。得到的紧凑模型可以通过量化方法进一步用低比特表示,以便在资源有限的设备上有效部署

5. Conclusions and Discussions

与Transformer相比,Transformer以其优异的性能和巨大的潜力成为计算机视觉领域的研究热点。为了发现和利用Transformer的能力,正如本研究中所总结的,近年来有许多方法被提出。这些方法在广泛的视觉任务,包括骨干,高/中级视觉,低层次视觉,和视频处理方面表现出色。然而,计算机视觉变压器的潜力还没有得到充分的探索,这意味着仍有一些挑战需要解决。在本节中,我们将讨论这些挑战,并对未来的前景提供见解。

5.1. Challenges

尽管研究人员已经提出了许多基于Transformer的模型来处理计算机视觉任务,但这些工作只是这个领域的第一步,还有很多改进的空间。例如,ViT[36]中的Transformer架构遵循了NLP的标准变压器[152],但专门为CV设计的改进版本仍有待探索。此外,有必要将transformer应用于上述任务以外的更多任务。

计算机视觉transformer的泛化和鲁棒性也具有挑战性。与cnn相比,纯transformer缺乏一些归纳偏差,并且严重依赖于大量数据集进行大规模的[36]训练。因此,数据的质量对变压器的泛化和鲁棒性有重要的影响。虽然ViT在CIFAR[79]、VTAB[179]等下游图像分类任务中表现出色,但直接将ViT骨干应用于对象检测并没有达到比CNNs[8]更好的效果。以更一般化的预训练transformer去完成一般化的视觉任务还有很长的路要走。

个人想法 几个点如下

1、怎么样让它高效,速度快(提出新的求解相对关系的方法)

2、怎么样让他在小数据上是可以被训练的(提出新的训练方法)

尽管有许多工作解释了transformer在自然语言处理中的使用[134,162],但要清楚地解释为什么transformer在视觉任务中工作得很好仍然是一个具有挑战性的课题。归纳偏差,包括平移均衡性和局部性,归因于CNN的成功,transformer没有任何归纳偏差。目前的文献通常采用直观的方法来分析效果[36,19]。例如,Dosovitskiy等人[36]声称大规模的训练可以超越归纳偏差。在图像补丁中加入位置嵌入来保留位置信息,这在计算机视觉任务中非常重要。受transformer中大量使用参数的启发,过度参数化[100,107]可能是视觉transformer可解释性的一个潜在点。

个人想法

可解释性怎么说明他是很有价值的

是否可以实现可视化的任务

比如说当前点对全图其他关系的这种图形式的值的表达

最后但并非最不重要的是,为CV开发高效的transformer模型仍然是一个开放的问题。transformer模型通常体积巨大,计算成本昂贵。例如,基本的ViT模型[36]需要180亿次运算才能处理一张图像。相比之下,轻量级的CNN模型GhostNet[54,55]只需约6亿次FLOPs就能实现类似的性能。虽然已经提出了几种压缩transformer的方法,但它们仍然非常复杂。而这些方法原本是为自然语言处理设计的,可能并不适用于CV。因此,迫切需要高效的变压器模型,以便在资源有限的设备上部署可视transformer。

个人想法

可能需要更加适合CV领域的高效的Transformer

5.2. Future Prospects

为了推动视觉Transformer的发展,我们提出了未来研究的几个潜在方向。

一个方向是提高Transformer在计算机视觉中的有效性和效率。目标是开发高效的视觉变形器;具体来说,就是高性能、低资源成本的变压器。性能决定了模型是否可以应用到实际应用中,而资源成本则影响在设备上的部署。效果通常与效率相关,如何在两者之间取得更好的平衡是未来研究的一个有意义的课题。

现有的大多数视觉转换器模型都被设计成只处理单一任务。许多NLP模型,如GPT-3[11],已经演示了transformer如何在一个模型中处理多个任务。在CV领域,IPT[20]还能够处理多个低分辨率的视觉任务,如超分辨率、图像去噪、去噪等。我们认为,更多的任务可以包含在一种模型里面。在一个transformer(即大统一模型)中统一所有视觉任务甚至其他任务是一个令人兴奋的主题。

神经网络有各种类型,如CNN、RNN和transformer。在CV领域,cnn曾经是主流选择[57,146],但现在transformer正变得越来越流行。cnn可以捕获归纳偏差,如转换的空间不变性和局部性,而ViT使用大规模训练来超越归纳偏差[36]。从目前可用的[36]证据来看,cnn在小数据集上表现良好,而transformer在大数据集上表现更好。未来的问题是使用CNN还是transformer。

通过使用大数据集进行训练,transformer可以在NLP[11,34]和CV基准[36]上实现最先进的性能。神经网络可能需要大数据,而不是诱导偏差。最后,我们给您留下一个问题:transformer 能够通过非常简单的计算范式(例如,仅使用完全连接的层)和大量数据训练获得令人满意的结果吗?

个人想法有没有办法用别的方式来进行分数的计算而不是通过两个很大矩阵向量相乘的方式

用别的方式是否可以获得这个相互关系比如全连接

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 远程访问服务器JupyterLab的配置方法

    其实就是在服务器运行JupyterLab,然后在本地浏览器访问 环境及工具 服务器:Ubuntu 16.04本机:Mac OS Catalina 10.15.3Royal TSX 基本步骤 服务器安装JupyterLab 这里推荐直接安装Anaconda,安装好后可以通过命令jupyter lab打开…...

    2024/4/20 20:44:56
  2. Ubuntu 18.04 安装NVIDIA显卡驱动教程

    写在前面 (2019-07-01更新) Ubuntu安装NVIDIA显卡驱动时遇到了一个比较大的问题,参考了几位博主的成果,成功安装好了驱动(只能说这独显没有浪费哈哈哈)。 下面就把整个过程记述下来,以供大家…...

    2024/4/20 20:44:56
  3. Ubuntu Mate 开机自动登录

    如果使用Ubuntu Mate想直接开机自动登录,那么可以尝试 先打开 60-lightdm-gtk-greeter.conf 文件 sudo nano /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf可以看到 [Seat:*] greeter-sessionlightdm-gtk-greeter在[Seat:*]节点下修改或添加以…...

    2024/5/6 20:22:25
  4. Ubuntu18.04 下载与安装

    下载镜像安装系统 ubuntu18.04出来了,抱着试一试的心态,尝试着启用vmbox虚拟化工具安装了ubuntu系统,接下来的时间就要好好学习使用ubuntu下的开发环境了。 下载镜像 阿里云上面有很多镜像,直接去下载就行了。 阿里云镜像 然…...

    2024/4/20 20:44:53
  5. Win10 Ubuntu16.04/Ubuntu18.04双系统完美安装

    按照网上博客的安装教程安装的Win10Ubuntu16.04双系统安装了好几遍都不成功?启动Ubuntu左上一直有个光标在闪?如果你的电脑也是双硬盘(装Windows系统的固态硬盘机械硬盘),在安装Win10Ubuntu16.04双系统前一定要提前了解…...

    2024/4/21 1:22:49
  6. ubuntu docker遇到的一些问题

    启动进入docker mysql容器控制台 mysql not found 使用docker exec命令进入容器内部执行操作 #root #Docker exec 命令 docker run -itd --name mysql2020 -p 3306:3306 -e MYSQL_ROOT_PASSWORDroot mysql #进入容器 docker exec -it mysql2020 bashroot(container的id):/#…...

    2024/5/6 22:47:26
  7. 安装Ubuntu18.04虚拟机

    安装Ubuntu18.04虚拟机 1. 虚拟机选择VMware:请自行在官网下载:https://www.vmware.com/此文中使用的是Vmware Workstation 14 pro之前用过oracle VM virtualBox ,比VMware轻量,但是说实话,不是很好用。优点是在Mac中可以使用 2.下…...

    2024/4/26 7:14:41
  8. ubuntu下训练自己的yolov3数据集

    看到网上写的yolov3训练自己的的数据集,心中被一万头草泥马践踏过,费了九牛二虎的劲,查看不下20篇别人写的博客,特此总结写下详细的过程.此方法只适合VOC格式的数据集!!! 数据集制作 制作数据集,将图片制作成VOC2007格式把数据集放在darknet/script中,数…...

    2024/4/21 1:22:46
  9. Ubuntu无法联网解决方案

    问题描述: 使用的是台式机,使用校园网通过有线的方式上网,测试过64位Ubuntu14.04.4、Ubuntu14.04.5和Ubuntu16.04.3均出现了如下问题: 网络显示已经连接,但是无法上网: 这种情况经常出现在一些需要登录网…...

    2024/4/21 1:22:45
  10. Git 教程 - Git 基本用法

    Git 是当前最流行的版本控制程序之一,文本包含了 Git 的一些基本用法 创建 git 仓库 初始化 git 仓库 mkdir project # 创建项目目录 cd project # 进入到项目目录 git init # 初始化 git 仓库。此命令会在当前目录新建一个 .git 目录,用于存储 git 仓库的相关信息 初始化…...

    2024/4/21 1:22:45
  11. Ubuntu 20.04使用必装工具软件

    使用20.04一段时间了,在此环境下进行机器人开发环境的测试。 ros1最终版即将推出了: http://packages.ros.org/ros/ubuntu focal InRelease 请注意如下功能包命名规则: 已经不需要加版本号了,这应该是ros1终结版了。 安装完成后…...

    2024/4/20 3:39:20
  12. Ubuntu 18.04配置及美化 (20.04 基本相同)

    2021-03-31更新: 更新有道词典和zsh的安装添加截图录屏软件Capturer的下载链接添加搜狗输入法官网安装指南链接添加安装终端监控软件htop 首先,将软件源更换为国内源(可跳过),安装升级速度更快。 左下打开软件列表搜索并打开Softwares & Updates, 在…...

    2024/4/21 1:22:43
  13. ubuntu16.04搭建jdk1.8运行环境

    目录 首先下载linux对应的安装包 解压安装包jdk-8u171-linux-x64.tar.gz 将解压后的文件夹移到/usr/lib目录下 配置java环境变量 配置软连接 测试安装是否成功 在终端输入,出现版本号则表示安装成功 搭建环境:Ubuntu 16.04 64 JDK :jdk-8u171-l…...

    2024/4/26 14:23:59
  14. 在Ubuntu中配置中文输入法

    找到设置 选择区域和语言 点击Manage Installed Languagees,提示安装的话安装即可 4.点击图示内容。 5.将Chinese(simplified)勾选上 右键点击住,将汉语拖到第一位 重启Ubuntu 6. 在输入源中点击号,选中里面的汉语&#xff0…...

    2024/4/21 1:22:41
  15. Ubuntu16.04版安装及卸载VMwareTools的步骤

    Ubuntu16.04版安装及卸载VMwareTools的步骤 Ubuntu16.04版安装VMwareTools的步骤: 参考: Ubuntu16.04版安装VMwareTools的步骤和没法挂载目录问题的解决方法 Ubuntu16.04版卸载VMwareTools的步骤: 1,进入到/usr/bin目录&#…...

    2024/4/21 1:22:39
  16. Ubuntu 20.04中文输入法支持

    如果选用英文环境安装Ubuntu20.04,默认不会有拼音输入,如果不安装第三方输入法,使用内部中文输入法,方法如下: 中文输入首先,到设置中,选择区域与语言,对应为英文: 管理已…...

    2024/4/21 1:22:38
  17. DeepLab_V3+图像分割理解到亲手训练

    图像分割算法deeplab_v3,基于tensorflow,中文注释,摄像头可用 deeplab_v3_plus简介 图像分割是主要功能是将输入图片的每个像素都分好类别,也相当于分类过程。举例来说就是将大小为[h,w,c]的图像输出成[h,w,1],每个像素…...

    2024/4/20 8:41:27
  18. Deeplab V3+调试过程

    本次调试代码来源谷歌Deeplab开源代码 首先是model_test过程: 1、按照官方文档 在 # From tensorflow/models/research/ 下添加路径,由于我是Windows环境下,所以$ SET PYTHONPATH%cd%;%cd%\slim linux环境下 $ export PYTHONPATH$PYTHONPAT…...

    2024/4/21 1:22:37
  19. Ubuntu如何开启root账户登录

    写在前面 本教程不适用于20及以上版本。 Ubuntu默认不开启root账户是一种保护机制,尤其保护小白用户。在非root账户里,至少你用sudo激情删库之前,系统还要你输个密码冷静一下;如果登入了root账户,删系统关键文件的前后…...

    2024/4/23 15:14:21
  20. 图像语义分割 —利用Deeplab v3+训练VOC2012数据集

    前言: 配置:windows10 Tensorflow1.6.0 Python3.6.4(笔记本无GPU) 源码:https://github.com/tensorflow/models/tree/master/research/deeplab 权重下载地址:https://github.com/tensorflow/models/blob/…...

    2024/5/3 18:16:36

最新文章

  1. OpenSSL实现AES-CBC加解密,可一次性加解密任意长度的明文字符串或字节流(QT C++环境)

    本篇博文讲述如何在Qt C的环境中使用OpenSSL实现AES-CBC-Pkcs7加/解密,可以一次性加解密一个任意长度的明文字符串或者字节流,但不适合分段读取加解密的(例如,一个4GB的大型文件需要加解密,要分段读取,每次…...

    2024/5/7 5:04:24
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/6 9:38:23
  3. 分享一个Python爬虫入门实例(有源码,学习使用)

    一、爬虫基础知识 Python爬虫是一种使用Python编程语言实现的自动化获取网页数据的技术。它广泛应用于数据采集、数据分析、网络监测等领域。以下是对Python爬虫的详细介绍: 架构和组成:下载器:负责根据指定的URL下载网页内容,常用的库有Requests和urllib。解析器:用于解…...

    2024/5/6 20:11:28
  4. ChatGPT 初学者指南

    原文:ChatGPT for Beginners 译者:飞龙 协议:CC BY-NC-SA 4.0 介绍 如果您一直关注新闻和趋势,您可能已经在某个地方读到或听到过,Sam Altman 的生成式人工智能平台 ChatGPT 已经将人工智能推向了一个新的高度 - 许多…...

    2024/5/7 2:14:21
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/6 9:21:00
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/6 21:42:42
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57