论文阅读笔记- Language Modeling with Gated Convolutional Networks

前言

统计语言模型本质上是在给定前面若干个单词的条件下,通过概率建模来估计单词序列的概率分布,即:
P ( w 0 , . . . , W N ) = P ( w 0 ) ∏ i = 1 N P ( w i ∣ w 0 , . . . , w i − 1 ) P(w_0,...,W_N)=P(w_0)\prod_{i=1}^NP(w_i|w_0,...,w_{i-1}) P(w0,...,WN)=P(w0)i=1NP(wiw0,...,wi1)
比较典型的方法是N-gram语言模型,即当前位置只和前面N个位置的单词相关,但是这样也会带来问题即,N若小了,语言模型的表达能力不够,N若大了,遇到稀疏性问题时,无法有效的表征上下文。LSTM模型一般会将单词embedding到连续空间,然后输入进LSTM,从而有效的表征上下文,但LSTM的问题在于,作为递归模型,当前状态依赖于上一状态,并行化受到限制,导致运行速度非常慢。

既然RNNs很难通过硬件的并行化进行加速,那么自然而言会尝试使用卷积,卷积网络非常适合这种计算范式,因为所有输入词的计算可以同时进行。所以这篇文章吸收了LSTM的门控机制,将其应用在了卷积结构中,从而使得卷积模型保留非线性能力的同时,能够一定程度上减少梯度消失问题,而使其拥有更加深的结构。

结构细节

在这里插入图片描述
首先使用一个lookup table D ∣ v ∣ × e D^{|v|\times e} Dv×e 对输入序列进行embedding,其中 ∣ v ∣ |v| v 表示单词表中的单词数量, e e e 表示嵌入大小,每个单词 w i w_i wi 在词嵌入查找表中都能找到一个向量表示 E = D w i E=D_{w_i} E=Dwi,然后将序列表示E作为卷积层的输入,输入表示为 X X X
h l ( X ) = ( X ∗ W + b ) ⊗ σ ( X ∗ V + c ) h_l(X)=(X*W+b)\otimes \sigma(X*V+c) hl(X)=(XW+b)σ(XV+c)
其主要结构跟原始的CNN并无很大差异,只不过在卷积层引入了门控机制,将卷积层的输出变成了一个没有非线性函数的卷积层输出*经过sigmod非线性激活函数的卷积层输出。其中 W W W V V V 是不同的卷积核,卷积核宽度为 k k k,输出通道数为 n n n b b b c c c 是偏置参数。 σ ( X ∗ V + c ) \sigma(X*V+c) σ(XV+c) 这一部分就是所谓的门控机制GLU,它控制着哪些信息可以传入下一层,这也使得卷积模型可以进行堆叠,以捕获Long Term Memory。

当然,除了GLU,还有一种被称为LSTM-style的门控机制,即GTU:
h l ( X ) = t a n h ( X ∗ W + b ) ⊗ σ ( X ∗ V + c ) h_l(X)=tanh(X*W+b)\otimes \sigma(X*V+c) hl(X)=tanh(XW+b)σ(XV+c)
不过从梯度的角度对两种门控单元进行分析,会发现GTU理论上会衰减的比较快,因为其梯度公式中包含两个衰减项,而GLU只有一个衰减项,可以较好地减轻梯度弥散,如下:

  • GLU: ▽ [ X ⊗ σ ( X ) ] = ▽ X ⊗ σ ( X ) + X ⊗ σ ′ ( X ) ▽ X \triangledown[X\otimes \sigma(X)]=\triangledown X\otimes \sigma(X)+X\otimes\sigma^{'}(X)\triangledown X [Xσ(X)]=Xσ(X)+Xσ(X)X
  • GTU: ▽ [ t a n h ( X ) ⊗ σ ( X ) ] = t a n h ′ ( X ) ▽ X ⊗ σ ( X ) + σ ′ ( X ) ▽ X ⊗ t a n h ( X ) \triangledown[tanh(X)\otimes \sigma(X)]=tanh^{'}(X)\triangledown X\otimes \sigma(X)+\sigma^{'}(X)\triangledown X\otimes tanh(X) [tanh(X)σ(X)]=tanh(X)Xσ(X)+σ(X)Xtanh(X)

在模型预测时最简单的方法是使用一个 s o f t m a x softmax softmax 层进行预测,但对于词量大的词表来说,在计算上显然不够有效率,本文中采用 a d a p t i v e s o f t m a x adaptive softmax adaptivesoftmax ,其为高频词提供更高的容量,为低频词提供更低的容量。这在训练和测试时降低了内存需求以及提供了更快的计算速度。

在这里插入图片描述

实验结果

在这里插入图片描述
Tanh是GTU去掉输出门部分后的模型,将其和GTU比较研究门限影响和贡献,从实验中对比可以看到GLU取得了最优的结果,如下:
在这里插入图片描述

总结

这里有几个小细节:

  • 论文使用的是宽卷积

Specifically, we zero-pad the beginning of the sequence with k−1 elements, assuming the first input element is the beginning of sequence marker which we do not predict and k is the width of the kernel

  • 对于文本长度更大的数据集而言,论文使用了更深的网络结构以获取其Long-Term记忆。

本篇论文做出的贡献如下:

  • 提出一种基于线性门控单元(Gated Linear Units)的卷积网络并将其运用于语言建模。GLU在保持一定非线性能力的同时通过为梯度提供线性的传播路径使得在深度架构中能够有效减少“梯度消失”的问题。
  • 在GBW数据集上证明了该卷积网络性能优于其他语言模型:如LSTMs,并在段落数据集WikiText-103上验证了该模型处理长距离依赖(long-range depenencies)的能力。
  • 证明了GLU比LSTM-style门控具有更高的准确度和更快的收敛速度。
bi-vldoc是一种用于视觉丰富文档的双向视觉-语言建模方法。 bi-vldoc通过将视觉信息与语言信息结合起来,能够有效地处理视觉丰富的文档。传统的自然语言处理方法通常只处理文本信息,忽视了文档中的视觉元素。而bi-vldoc能够同时考虑文本和图像,并将它们作为输入进行建模,从而更全面地理解和分析文档内容。 bi-vldoc的关键思想是利用双向建模技术。它使用了两个模型:一个是基于视觉的模型,另一个是基于语言的模型。这两个模型相互配合,通过互相补充的方式提高了整体的建模效果。 基于视觉的模型主要用于从图像中提取视觉特征,并将其编码为向量表示。这些向量表示包含了图像的语义信息,能够用于理解图像中的内容。 基于语言的模型主要用于处理文本信息。它能够将文本编码为向量表示,并用于生成关于文本的预测。 在训练时,bi-vldoc使用了大量的带有标注的视觉丰富文档数据集。通过最大化真实标注的概率来训练模型,使其能够根据给定的文档内容生成正确的视觉和语言输出。 bi-vldoc在实际应用中具有广泛的应用前景。例如,在图像描述生成中,它可以根据图像内容生成相关的文本描述。在问答系统中,它可以回答关于图像内容的问题。此外,bi-vldoc还可以应用于文档分类、信息检索等领域,提供更准确和全面的分析和理解能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨痕_777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值