[论文笔记]Language Modeling with Gated Convolutional Networks

2024-04-28 18:28

本文主要是介绍[论文笔记]Language Modeling with Gated Convolutional Networks,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言

今天带来论文Language Modeling with Gated Convolutional Networks的笔记,该篇工作提出了GLU(Gated Linear Units,门控线性单元)。

注意该篇工作是2016年发表,是在Transformer论文发表之前。当时作者认为语言建模的主要方法是基于循环神经网络。它们在这个任务上的成功往往与其捕捉无限上下文的能力有关。

在本篇工作中,作者提出了一种新颖的简化门控机制。

总体介绍

统计语言模型通过建模给定前面单词的情况下下一个单词的概率来估计单词序列的概率分布,即
P ( w 0 , ⋯ , w N ) = P ( w 0 ) ∏ i = 1 N P ( w i ∣ w 0 , ⋯ , w i − 1 ) P(w_0,\cdots,w_N) = P(w_0) \prod_{i=1}^N P(w_i|w_0,\cdots,w_{i-1}) P(w0,,wN)=P(w0)i=1NP(wiw0,,wi1)
在语料库中, w i w_i wi​代表词汇表中的离散单词索引。语言模型是语音识别系统(Yu&Deng,2014)和机器翻译(Koehn,2010)中的重要组成部分。

在篇工作中,作者引入了新的门控卷积网络,并将其应用于语言建模。卷积网络可以堆叠以表示大的上下文大小,并提取越来越大的上下文中的层次化特征,具有更抽象的特征。这使得它们可以通过在大小为 N N N的上下文和内核宽度为 k k k的情况下应用 O ( N k ) O(Nk) O(Nk)​次操作来建模长期依赖关系。相比之下,循环网络将输入视为链结构,因此需要线性数量的 O ( N ) O(N) O(N)次操作。

已经证明,门控是使循环神经网络达到最先进性能的关键因素。作者的门控线性单元通过提供梯度的线性路径同时保留非线性能力来减轻深度架构中的梯度消失问题。

方法

在本篇工作中,作者介绍了一种新的神经语言模型,将循环网络中通常使用的循环连接替换为门控时间卷积。神经语言模型为每个单词 w 0 , . . . , w N w_0,...,w_N w0,...,wN生成一个上下文表示 H = [ h 0 , . . . , h N ] \pmb H = [\pmb h_0,..., \pmb h_N] H=[h0,...,hN],以预测下一个单词 P ( w i ∣ h i ) P(w_i | \pmb h_i) P(wihi)

作者提出的方法使用函数 f f f对输入进行卷积,以获得 H = f ∗ w \pmb H = f * w H=fw​​,因此没有时间依赖性,因此更容易在句子的各个单词上并行化。这个过程将根据一定数量的前面单词计算每个上下文。与循环网络相比,上下文大小是有限的,但作者证明无限上下文并不是必要的,并且可以表示足够大的上下文以在实践中表现良好)。

image-20240428150232342

图1说明了模型架构。单词由存储在查找表 D ∣ V ∣ × e \pmb D ^{| \mathcal V |× e} DV×e中的向量嵌入表示,其中 ∣ V ∣ | \mathcal V | V是词汇表中单词的数量, e e e是嵌入大小。模型的输入是一个单词序列 w 0 , . . . , w N w_0,...,w_N w0,...,wN,由单词嵌入 E = [ D w 0 , . . . , D w N ] \pmb E = [\pmb D_{w0},...,\pmb D_{w_N}] E=[Dw0,...,DwN]表示。计算隐藏层 h 0 , . . . , h L h_0,...,h_L h0,...,hL,如下:
h l ( X ) = ( X ∗ W + b ) ⊗ σ ( X ∗ V + c ) (1) h_l(X) = (X * W +\pmb b)⊗ \sigma(X * V + \pmb c) \tag 1 hl(X)=(XW+b)σ(XV+c)(1)

其中, m m m n n n分别是输入和输出特征图的数量, k k k是补丁(patch)的大小 , X ∈ R N × m ,X ∈ \R^{N×m} XRN×m是层 h l h_l hl 的输入(可以是单词嵌入或前一层的输出), W ∈ R k × m × n W ∈ \R^{k×m×n} WRk×m×n b ∈ R n b ∈ \R^n bRn V ∈ R k × m × n V ∈ \R^{k×m×n} VRk×m×n c ∈ R n c ∈ \R^n cRn 是学习的参数, σ σ σ是sigmoid函数, ⊗ ⊗ ​是矩阵之间的逐元素乘积。

每一层的输出是线性投影 X ∗ W + b X ∗ W +\pmb b XW+b 乘门控 σ ( X ∗ V + c ) σ(X ∗ V + \pmb c) σ(XV+c)。类似于LSTM,这些门控对矩阵 X ∗ W + b X∗W+\pmb b XW+b​ 的每个元素进行乘法,并控制在层次结构中传递的信息。作者称这种门控机制为门控线性单元(GLU)。

在输入 E \pmb E E的顶部堆叠多层,可以为每个单词提供上下文表示 H = h L ◦ ⋯ ◦ h 0 ( E ) \pmb H = h_L◦ \cdots ◦h_0(\pmb E) H=hLh0(E)​。

作将卷积和门控线性单元包装在一个预激活残差块中,将块的输入添加到输出中。

门控机制

门控机制控制信息在网络中流动的路径,已被证明对于循环神经网络非常有用。LSTM通过由输入门和遗忘门控制的单独单元实现了长期记忆。这使得信息可以在潜在的多个时间步中自由流动。如果没有这些门控,信息很容易在每个时间步的转换中消失。

相比之下,卷积网络不会遭受相同类型的梯度消失问题,作者通过实验证明它们不需要遗忘门。因此,考虑仅具有输出门的模型,这允许网络控制哪些信息应在层次结构中传播。作者证明这种机制在语言建模中非常有用,因为它允许模型选择哪些单词或特征对于预测下一个单词是相关的。

门控线性单元是一种简化的门控机制,基于Dauphin&Grangier的非确定性门控机制,通过将线性单元与门耦合来减少梯度消失问题。这保留了层的非线性能力,同时允许梯度在线性单元中传播而不进行缩放。具有LSTM风格的门控tanh单元(GTU)的梯度是
∇ [ tanh ⁡ ( X ) ⊗ σ ( X ) ] = tanh ⁡ ′ ( X ) ∇ X ⊗ σ ( X ) + σ ′ ( X ) ∇ X ⊗ tanh ⁡ ( X ) (2) \nabla [\tanh(X) ⊗ \sigma(X)] = \tanh^\prime (X)\nabla X ⊗ \sigma(X) + \sigma^\prime (X) \nabla X ⊗ \tanh (X) \tag 2 [tanh(X)σ(X)]=tanh(X)Xσ(X)+σ(X)Xtanh(X)(2)
注意,由于缩放因子 tanh ⁡ ′ ( X ) \tanh^\prime(X) tanh(X) σ ′ ( X ) σ^\prime(X) σ(X),它在堆叠层时逐渐消失。相比之下,门控线性单元的梯度:
∇ [ X ⊗ σ ( X ) ] = ∇ X ⊗ σ ( X ) + X ⊗ σ ′ ( X ) ∇ X (3) \nabla [X ⊗ \sigma(X)] =\nabla X ⊗ \sigma(X) + X ⊗ \sigma^\prime(X) \nabla X \tag 3 [Xσ(X)]=Xσ(X)+Xσ(X)X(3)
对于激活门控单元 σ ( X ) σ(X) σ(X)的梯度,门控线性单元具有路径 ∇ X ⊗ σ ( X ) ∇X ⊗ σ(X) Xσ(X),而没有缩放因子。这可以看作是一种乘法跳跃连接(multiplicative skip connection),有助于梯度在层之间流动。

结论

作者引入了一种具有新颖门控机制的卷积神经网络用于语言建模。与循环神经网络相比,作者的方法构建了输入单词的分层表示,更容易捕捉长距离的依赖关系。

总结

⭐ 作者提出了门控线性单元,通过类似LSTM的门控机制,让每一层的输出在线性变换的基础上乘上门控来控制信息的传递。

这篇关于[论文笔记]Language Modeling with Gated Convolutional Networks的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/943940

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi