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

news2024/9/20 18:35:41

引言

今天带来论文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的门控机制,让每一层的输出在线性变换的基础上乘上门控来控制信息的传递。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1631520.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

百度语音识别的springboot应用

1、pom依赖 <dependency> <groupId>com.baidu.aip</groupId> <artifactId>java-sdk</artifactId> <version>4.16.18</version> </dependency> 2、测试的demo 创建语音识别应用 百度智能云-管理中心 (baidu.com) 代码中要…

qt-C++笔记之滑动条QSlider和QProgressBar进度条

qt-C笔记之滑动条QSlider和QProgressBar进度条 —— 2024-04-28 杭州 本例来自《Qt6 C开发指南》 文章目录 qt-C笔记之滑动条QSlider和QProgressBar进度条1.运行2.阅读笔记3.文件结构4.samp4_06.pro5.main.cpp6.widget.h7.widget.cpp8.widget.ui 1.运行 2.阅读笔记 3.文件结构…

ubuntu安装Anaconda安装及conda使用

一. 安装anaconda3详细教程 1、下载镜像 清华大学开源软件镜像站下载地址&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下拉到最低端选择Linux&#xff0c;选择最新版&#xff08;32/64位&#xff09;下载。这里我下载的是版本Anaconda3-4.3.30-Linux…

《微服务设计》读书笔记

此为阅读纽曼《微服务设计》一书后总结的读书笔记&#xff0c;点此处下载PDF文档。 一、微服务的概念 微服务&#xff08;或称微服务架构&#xff09;是一种云原生架构方法&#xff0c;其核心思想在于将单个应用拆分为众多 小型、松散耦合的服务&#xff0c;服务之间均通过网…

AI视频教程下载:构建一个ChatGPT股票配对交易机器人

ChatGPT及其后续版本GPT-4已经开始改变世界。人们对新机会感到兴奋&#xff0c;同时对我们社会可能受到的影响感到恐惧。这门课程结合了两个主题&#xff1a;AI和财务&#xff08;算法交易&#xff09;。 你将会学到的&#xff1a; 使用ChatGPT构建一个Python配对交易机器人 …

车载系统的 加减串器应用示意

overview 车载系统上使用加减串器来实现camera&#xff0c; led液晶显示屏等 图像数据的远距离传输&#xff0c;将原先在短距离传输视频信号的mipi csi&#xff0c;dsi 等的TX&#xff0c;RX中间&#xff0c;插入加减串器&#xff0c;实现长距离的可靠传输。 示意图如下 往往…

认清新形势 适应新变化 明确新要求 九河云召开渠道合作沙龙座谈

为推动“聚势、合作、共赢”主题沙龙高质量开展&#xff0c;牢牢把握“守初心、担责任&#xff0c;找差距、抓落实”的总要求&#xff0c;按照九河有关部署和集团实施方案有关安排&#xff0c;连日来&#xff0c;九河云领导班子成员分别讲授专题培训&#xff0c;讲本心传递精神…

最新发布:中国移动建成全球运营商最大单体智算中心

4月28日&#xff0c;中国移动正式对外发布全球运营商最大单体智算中心——中国移动智算中心&#xff08;呼和浩特&#xff09;&#xff0c;目前已投产使用。 该智算中心填补了我国人工智能广泛应用所需算力的巨大缺口&#xff0c;快速赋能交通、医疗、教育、能源、金融等行业大…

图神经网络入门与实战:从图嵌入(GE)到图神经网络(GNN)

目录 一. 图的基本概念(Graph) 1.1 图的定义 1.2 图表示的基本概念 1.3 图的应用场景 1.4 图的分类 二. 图嵌入(Graph Embedding) 2.1 图嵌入的基本概念 2.2 图嵌入方法分类 2.3 图嵌入和图神经网络的区别 三. 图神经网络(Graph Neural Network) 3.1 图神经网络的基…

挑战一周完成Vue3项目Day2:路由配置+登录模块+layout组件+路由鉴权

一、路由配置 经过分析&#xff0c;项目一共需要4个一级路由&#xff1a;登录&#xff08;login&#xff09;、主页&#xff08;home&#xff09;、404、任意路由&#xff08;重定向到404&#xff09;。 1、安装路由插件 pnpm install vue-router 2、创建路由组件 在src目…

237基于matlab的偏振态仿真

基于matlab的偏振态仿真&#xff0c;不同偏振态下光强计算。本仿真软件可以仿真波片对偏振光的相位调制过程。用户可以通过改变波片的类型&#xff0c;波片长轴与 X 轴的夹角&#xff0c;起偏器透光与 X 轴的夹角&#xff0c;检偏器透光轴与 X 轴的夹角等参数&#xff0c;来观察…

服务器部署教程下(线下、线上部署)

1、线下部署 1.1 前端 首先将拉代码下来&#xff0c;cd到想启动项目的目录下(控制台 cd 文件夹名称) 比如 blog-v3(cd blog-v3)要在存在package.json文件的目录才能进行依赖下载、项目启动操作 检查一下自己的node版本是否为18级以上(node -v) 博客前台blog-v3使用vite4开发…

【介绍下IDM的实用功能】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

五•一颂|广州流辰信息致敬每一个辛勤的劳动者,祝大家五一快乐!

时光飞逝&#xff0c;一年一度的五一国际劳动节如期而至。在这个竞争激烈的社会中&#xff0c;拥有勤劳品质的人儿总会在适当的时机迎来人生的高光时刻。或许你的人生经历非常丰富&#xff0c;或顺利&#xff0c;或坎坷&#xff0c;不管是哪种状态&#xff0c;勤劳的人应该是这…

大核注意力 LKA | Visual Attention Network

论文名称&#xff1a;《Visual Attention Network》 论文地址&#xff1a;2202.09741 (arxiv.org) 尽管最初是为自然语言处理任务而设计的&#xff0c;但自注意力机制最近在各个计算机视觉领域迅速崭露头角。然而&#xff0c;图像的二维特性给计算机视觉中的自注意力应用带来了…

Polyscope,一款简洁的三维可视化工具!

Polyscope是用于三维数据&#xff08;如meshes、point clouds&#xff09;的可视化工具&#xff0c;通过编程或动态GUI完成&#xff1b;支持C和Python编程&#xff1b;追求“一行代码”为数据提供有用的可视界面展示。 下面来简单介绍Polyscope使用。 Polyscope效果 Point Cl…

【数据结构】最小生成树(Prim算法、Kruskal算法)解析+完整代码

5.1 最小生成树 定义 对一个带权连通无向图 G ( V , E ) G(V,E) G(V,E)&#xff0c;生成树不同&#xff0c;每棵树的权&#xff08;即树中所有边上的权值之和&#xff09;也可能不同。 设R为G的所有生成树的集合&#xff0c;若T为R中边的权值之和最小的生成树&#xff0c;则T称…

OpenMM——教程学习(1)

如何从零开始做一个蛋白小分子动力学模拟 AmberTools将被用来生成输入文件&#xff0c;OpenMM 将被用来运行模拟&#xff0c;模拟平台为在线百度AI Stuio, 并使用GPU加速。 First thing’s first, 到PDB 蛋白数据库下载一需要模拟的靶点晶体&#xff0c;备用。 1. H web server…

告别人工校对烦恼,Kompas AI智能纠错一键搞定

在快节奏的工作环境中&#xff0c;撰写和校对公文是必不可少的环节。然而&#xff0c;传统的人工校对方式既耗时又容易出错&#xff0c;严重影响了工作效率和公文质量。在这里&#xff0c;我想向大家分享一款专业的校对助手——Kompas AI。它是一款采用先进的自然语言处理技术的…

分享:怎么做老阳分享的选品师项目比较赚钱

在当今的商业环境中&#xff0c;选品师项目逐渐成为了一个炙手可热的创业选择。老阳作为业内知名的选品师&#xff0c;其分享的经验和方法对于想要入行或提升业绩的选品师来说&#xff0c;无疑是宝贵的财富。那么&#xff0c;如何才能做好老阳分享的选品师项目&#xff0c;实现…