Star-Transformer

【精简Transformer】Star-Transformer 

本文是复旦大学发表于NAACL 2019的工作。文章的主要贡献在于精简transformer,增强了在modestly size datasets上的表现。精简思路非常清晰且具有可解释性质,消解实验和对比实验也很有针对性。

 

摘要

虽然transformer在很多NLP任务上都取得了很大的成功,但是它的结构很重,注意力连接是完全连接的,这导致了它对大量训练数据的依赖。为了降低模型的复杂性,我们用星型拓扑结构代替了全连通结构。其中每两个相邻节点通过一个共享中继节点进行连接。因此,复杂性从二次降低到线性,同时保留捕获局部成分和长期依赖关系的能力。

 

介绍

star-transformer核心思想是通过将完全连接的拓扑结构移动到星型结构中来简化体系结构
在全连通网络中,基连接保持了非本地通信,消除了冗余。环形连接体现了局域性优先,与CNNs/RNNs具有相同的作用。该方法的一个内在优点是,该方法不能有效地降低局部和非局部成分的无偏差学习负担,提高了模型的泛化能力。有待测试的是,一个共享中继节点是否能够捕获长期依赖关系。我们设计了一个模拟任务“掩蔽求和”来探测处理长期依赖关系的能力。通过引入虚拟中继节点,实现了星形变压器的图形结构。根治性连接和环状连接在局部性和非局部性之间提供了更好的平衡。星型转换的实现完全基于与标准transformer相似的注意力机制,它更简单,更适合并行计算。由于其较好的并行能力和较低的复杂度,星变换器比RNNs或变压器速度快,特别是在长序列建模方面

模型model

星变压器由一个中继节点和n个卫星节点组成。第i个卫星节点的状态表示文本序列中第i个token的特征。中继节点充当虚拟的集线器,在所有卫星节点之间收集和散布信息.星形变压器是一种星形结构,其内部有径向连接和环形连接两种连接方式.

       (1) Radical connections 对于一个有n个卫星节点的网络,有n个基本连接。每个连接都将一个卫星节点链接到共享中继节点。在基连接中,每两个不相邻的卫星节点都是两跳邻居,可以通过两步更新接收非本地信息。
Ring connections 由于文本输入是一个序列,所以我们将这种先验称为归纳偏差.因此,我们连接相邻的卫星节点去捕捉局部成分之间的关系。第一个节点和最后一个节点也连接起来。请注意,环形连接允许每个卫星节点从其邻居处收集信息,并对CNNs或双向rns起相同的作用。
       (2) star-transformer 可以同时捕捉局部和非局部的成分,radical 连接捕捉非局部成分,ring 连接捕捉局部成分。

 

多头注意力

给定一个向量H∈Rn×d的序列,我们可以使用查询向量q∈R1×d,使用注意力软选择相关信息。

为了从h中收集更多有用的信息,就像CNNs中的多通道一样,我们可以使用k个头部的多头注意力。### 更新
令st∈R1×d, Ht∈Rn×d表示第t步中继节点和所有n个卫星节点的状态。:当使用StarTransformer编码长度为n的文本序列时,我们从其嵌入E = [e1;···;en]开始,其中ei∈R1×d为第i个令牌的嵌入。我们用H0 = E和s0 = average(E)初始化状态。star - transformeratstep的更新可分为两个阶段:(1)卫星节点的更新(2)中继节点的更新。在第一阶段,卫星节点的状态码hi会从相邻的节点更新,包括相邻节点的hi - 1、hi+1,中继节点st、它的前一状态及其对应的token嵌入。

其中Ct i表示第i个卫星节点的上下文信息。:信息交换后,使用层归一化操作 - 在第二阶段,中继节点st总结了所有卫星节点的信息及其之前的状态

       (1) 通过交替更新卫星和中继节点,星形变压器最终捕获输入文本序列的所有局部和非局部成分

 

位置编码

为了合并序列信息,我们还添加了可学习的位置嵌入,它与token嵌入连接在一起,并在所有时间步骤中共享。### 输出经过T轮更新,HT和sT的最终状态可以用于序列标记和分类等各种任务。对于分类,我们通过在最后一层应用一个最大池并将其与sT混合,生成固定长度的句子级向量表示,该向量被送入一个多层感知器(MLP)分类器。对于序列标记任务,HT提供了与所有输入标记对应的特性。

 

转载自:https://blog.csdn.net/qq_40210472/article/details/89816528

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FT-Transformer是一种基于Transformer结构的神经网络模型。它在自然语言处理任务中取得了很好的效果。FT-Transformer的全称是Fine-Tuned Transformer,它是通过在预训练的Transformer模型上进行微调来实现的。 FT-Transformer的训练过程可以分为两个阶段。首先,使用大规模的语料库对Transformer模型进行预训练。预训练的目标是通过自监督学习来学习语言的表示。在预训练过程中,模型通过掩码语言模型任务和下一句预测任务来学习语言的上下文信息。 在预训练完成后,FT-Transformer进入微调阶段。微调是指在特定任务上对预训练模型进行进一步训练,以适应该任务的特定要求。在微调阶段,FT-Transformer使用有标签的数据集进行训练,并通过最小化任务特定的损失函数来优化模型参数。微调的目标是使模型能够更好地适应特定任务的特征和要求。 FT-Transformer相比于传统的MLP(多层感知机)和ResNet(残差网络)结构,在某些任务上表现更好。然而,根据引用中的描述,通过实验发现类似ResNet结构的网络在效果上明显优于FT-Transformer。这可能是由于超参数设置不当导致FT-Transformer无法超越ResNet的结果。 总结来说,FT-Transformer是一种基于Transformer结构的神经网络模型,通过预训练和微调来实现。它在自然语言处理任务中具有一定的优势,但在某些情况下可能不如其他结构的网络效果好。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值