Raki的读paper小记:Star-Transformer

82 篇文章 10 订阅

Reference:arXiv:1902.09113v2 [cs.CL] 28 Feb 2019

摘要

为了减少transformer的模型复杂度,提出了一种名为star-transformer的模型,可以在大幅减少参数的同时效果跟transformer相接近

在四个任务(22个数据集)上的实验表明,对于中等大小的数据集,star-transformer比标准transformer有显著的改进

模型

在这里插入图片描述

Radical Connections

每个star-transformer网络有n个外围节点和一个根节点,并且根节点跟所有外围节点相连接,如之前的图所示,任意两个不相邻的节点通过根节点经过两步的更新可以捕捉非局部信息
在这里插入图片描述

Ring Connections

环形的结构加入的归纳偏置(或许这就是在小数据集上比标准transformer效果更好的原因),可以捕捉到局部成分的关系,就像RNN和CNN一样。

在根连接和环连接的结构下,star-transformer可以同时捕捉局部和非局部成分的信息
在这里插入图片描述
在这里插入图片描述

Implementation

Multi-head Attention

跟标准transformer一样使用了多头注意力机制,但是这里不同的是 q 并没有经过矩阵投影成 Q
在这里插入图片描述

Update

首先定义一些符号
在这里插入图片描述
更新分为两个部分
第一部分:每个外围节点都由其相邻的节点,和自己前一时刻的状态更新, C i t C^t_i Cit代表第 i i i个节点在第 t t t时刻的上下文信息,再丢到一个LN层里面
在这里插入图片描述
第二部分:根节点总结所有的外围节点的信息,使用多头注意力,经过ReLu后再丢到LN层里面
在这里插入图片描述

Position Embeddings

为了加入序列信息,采用了一个可学习的位置编码embeddings,跟词向量concat在一起,并且在所有的时刻都共享
在这里插入图片描述

Output

对于不同的下游任务使用不用的输出层

如果是文本分类的话,映射到一个固定长度的语句级别的向量表示,并在最后一层使用最大汇聚,并与 s T s^T sT混合到一起,再丢到多层感知机分类器里面。
在这里插入图片描述

整体训练的步骤伪代码:
在这里插入图片描述

Comparison to the standard Transformer

对比跟标准transformer的复杂度:

标准transformer: O ( n 2 d ) O(n^2d) O(n2d)

star-transformer: O ( 6 n d ) O(6nd) O(6nd)

可以看到,把复杂度从立方减少到了平方,算是非常的显著的提高

训练数据展示:
在这里插入图片描述
可以看到除了MTL-16之外,全都是非常小的数据集(然而这个MTL-16是16个数据集组成的大数据集,最大仅有28k,所以还是都是超级小数据集)

实验

Masked Summation

在这里插入图片描述

文本分类

在这里插入图片描述

NLI

在这里插入图片描述

序列标注

在这里插入图片描述

评价

总的来说,star-transformer由于它结构引入的归纳偏置,在小的数据集上有非常不错的表现,在几个任务上都超越了标准transformer(因为标准transformer需要更多的数据来学到一些模式)

结构非常清新简单,这种相对轻量级的框架也许在工业界能有些作为?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值