Advertisement

论文阅读笔记-Self-Attention

阅读量:

前言

通过Self-注意力机制(Self-attention),每个输入序列中的每一个位置都能够与其他所有位置进行对比分析,在此过程中确定出具有最高相关性的上下文信息。

本文则对比了卷操操作与自注意力架构间的差异及其适用场景

所采用的技术基础包括非可分型留池池型池池型池池型池池型池池型池型池型池式残差式残差式残差式残差式残差式残差式残差式残差式残差式残差式残差式残差式的使用

不清楚深度可分隔滤波器的小伙伴可以参考这篇文章:深度可分隔滤波器

在这里插入图片描述

Content-based self-attention is defined as, as shown in Figure A, where the computation of attention weights involves comparing the current state against all elements in the context, demonstrating that this computation mechanism is not constrained by the size of the context and is considered a key feature of self-attention. However, this capability comes with a cost; specifically, its computational complexity is proportional to the square of the input length, making it particularly burdensome for longer texts.

基于lightweight convolutions构建了动态卷积(Dynamic Convolutions)的方法,在每个时间段内预测不同的卷积核以捕捉时序特征;换句话说,在此方法中设计出一个可学习的时间权重模块来影响不同时间步的数据融合过程;通过引入这样一个模块使得每个卷积核不仅关注当前时间步的信息还能从历史数据中提取全局特征;进一步地在轻量化的基础之上增加了这样的特性使得整个模型既保持了高效性又具有更强的学习能力

结构细节

这篇文章对几种卷积的关联进行了可视化的阐述。

在这里插入图片描述

此GLU架构可借鉴该文章中的相关内容。LightConv架构通过深度可分离卷积技术实现,请推导其在输出通道为c的情况下,在序列第i个位置上的计算过程如下:
DepthwiseConv(X, W, i, c) = \sum_{j=1}^k W_{c,j} \cdot X_{(i+j-\lceil (k+1)/2\rceil), c}
LightConv(X,W_{\lceil cH/d\rceil,:}, i,c)= DepthwiseConv(X,Softmax(W_{\lceil cH/d\rceil,:}), i,c)

Lightweight Convolutions

  • Weight sharing:通过将多个通道的参数进行共享(weight sharing),我们能够有效降低模型参数数量。具体而言,在常规卷积网络中,则需要d^2 \times k个权重,在深度可分离卷积中则只需要d \times k个权重(其中d表示输入通道的数量)。通过这种轻量设计方法,则可将模型参数减少至H \times k个权重(其中H为通道数量),较之常规结构能显著降低计算复杂度与存储需求。
  • Softmax-normalization:对于时间维度上的权重矩阵W\in\mathbb{R}^{H\times k}, 本节采用softmax函数进行归一化处理:

\text{softmax}(W)_{h,j} = \frac{\exp(W_{h,j})}{\sum_{j'=1}^{k}\exp(W_{h,j'})}

这与自注意力机制相比更加精细地归一化了每个词向量的不同维度的重要性。

  • Module:图2b展示了集成LightConv模块的网络结构,在输入端通过Linear层将数据从维度d映射到2d的空间中(经由门控线性单元)。随后应用门控线性单元(GLU),该过程通过sigmoid单元将输入的一半用于门控作用与另一半进行逐点乘积运算,并对LightConv的输出施加一个大小为W^O\in \mathbb{R}^{d\times d}的输出投影。
  • Regularization:DropConnect是一种适用于LightConv模块的有效正则化方法。具体而言,在训练过程中以概率p随机丢弃归一化权重\texttt{softmax}(W)中的每一个元素值,并对这些被丢弃的权重进行归一化处理(即将其除以1-p)。这等价于减少通道内时序信息的传播。
  • 实现细节:为了更好地适应原始CUDA计算环境,在归一化的权重W\in\mathbb{R}^{H\times k}基础上复制并扩展其空间维度至大小为(BH)\times n\times n的带状矩阵(其中B表示批量大小)。随后将输入数据重塑并转置为(BH)\times n\times \frac{d}{H}形状以便执行批处理矩阵乘法操作以生成最终输出。

Dynamic Convolutions

为了适应时序变化的需求,在LightConv架构中实现了可变尺寸的空间滤波器设计。这种设计使得滤波器的空间分布特征会因不同学习阶段的学习情况而有所调整。考虑到现代高性能计算设备(如GPU)通常对内存资源有较高的需求;单纯采用固定结构的标准convolution难以满足动态网络的需求。基于现有硬件架构限制;单纯采用固定结构的标准convolution难以满足动态网络的需求。为了克服这一局限性;我们在此基础上设计了一种基于LightConv的新架构

该动态卷积(DynamicConv)架构与轻量卷积(LightConv)结构相似,在时间维度上进行了优化设计,在每一时刻都采用了基于时间变化的卷积核。该卷积核通过函数f:\mathbb{R}^d\rightarrow\mathbb{R}^{H\times k}将输入特征映射到新的表示空间中:
DynamicConv(X,i,c)=LightConv(X,f(X_i)_{h,:},i,c)
其中我们引入了一个带有可学习权重矩阵W^Q\in\mathbb{R}^{H\times k\times d} 的线性模块来建模函数f的具体变换过程:即f(X_i)=\sum_{c=1}^d W_{h,j,c}^Q X_{i,c}。类似于自注意力机制,在计算注意力权重时需进行二次运算以确定每个位置的重要性系数;然而,在本设计中与自注意力不同之处在于,DynamicConv架构中的权重参数仅受当前时刻信息所限,并不依赖于整个序列的历史信息累积效应,因此其计算复杂度随序列长度呈现线性增长趋势。

实验结果

在这里插入图片描述

总结

这项研究的价值不容小觑,在某种程度上证实了即使不依赖自注意力机制(如Transformer架构),机器翻译仍能达成较高精度的结果。尽管近年来自注意力机制被视为机器翻译的关键技术之一,在这一发现面前依然发挥着重要作用。此外,论文提出的方法相对简洁,在计算效率方面表现突出,并且在多个应用场景中均展现了优异的表现。这篇论文不仅提供了一个新的视角,在相关领域的进一步发展都将产生积极影响。

全部评论 (0)

还没有任何评论哟~