A Structured Self-Attentive Sentence Embedding

A Structured Self-Attentive Sentence Embedding

标签: 论文笔记


Abstract

本论文通过引入self-attention机制提出一种新的模型抽取一种可解释的句子嵌入向量。使用2-D矩阵,每行表示句子的不同部分的特征。本文提出self-attention机制和一种特殊的regularization term。并且能可视化地显示嵌入向量对句子每部分的表示。

Introduction

获得预训练句子的特征主要有两种方式,一是利用非监督的方式进行训练,在处理特定任务的模型中用监督方式进行训练。在一些任务中提出利用注意力机制添加额外的信息利用CNN或者LSTM进行训练。然而对于一些任务中,没有多余的信息,只有句子作为输入。面对这些情况,最常见的做法是,在所有的time steps中加入a max pooling或者averaging step。本论文认为将语义贯穿于一个循环模型的所有步骤中是相对困难的,也没有必要。本论文提出了self-attention机制,用来抽取一个句子的多个特征,好处是解决了LSTM长依赖效果不好的问题。
在这里插入图片描述

Approach

句子作为输入,每个词有一个d维向量表示,一共有n个词,所以输入矩阵维度是n-d,然后用双向LSTM学习词之间的关系,每个隐藏层cell大小是u,最后输出的隐藏层矩阵大小是n-2u,然后学习句子的特征。
a = s o f t m a x ( w s 2 t a n h ( W s 1 H T ) ) a=softmax(w_{s2}tanh(W_{s1}H_T)) a=softmax(ws2tanh(Ws1HT))
W S 1 W_{S1} WS1是权重矩阵,维度是2u- d a d_a da w s 2 w_{s2} ws2是一个 d a d_a da维的参数向量,最后得到n维的向量a,a通常表示句子的一个特征,可能映射到句子中的aspect或者句子的一个结构,但是一个句子中可能有多个结构,多个aspect,一个a向量并不能抽取出所有的关键点,因此把向量 w s 2 w_{s2} ws2改为维度为 r − d a r-d_a rda的矩阵 W s 2 W_{s2} Ws2,所以上式可以改为:
A = s o f t m a x ( W S 2 t a n h ( W s 1 H T ) ) A=softmax(W_{S2}tanh(W_{s1}H_T)) A=softmax(WS2tanh(Ws1HT))
M = A H M=AH M=AH
A的维度是n-r,得到r个不同的特征。每个特征是n维向量,就是每个词在句子中的权重。权重加和得到一个句子的向量m,维度是2u,r个不同特征,最会M维度是r-2u

penalization term

因为我们并不能保证抽取的每个向量a表示句子中的不同的特征和嵌入矩阵出现冗余问题。最好的方法评价两个向量之间的差异度是相对熵,但是在本方法中相对上是不稳定的,这里利用了另一个算法
P = ∣ ∣ ( A A T − I ) ∣ ∣ F 2 P=||(AA_T-I)||_F^2 P=(AATI)F2
P越小表示两个向量之间的差异越大,越接近我们的要求,最小化P就可以了。

penalization term

如果注意机制总是提供相似的求和权值,嵌入矩阵M就会出现冗余问题。也就是把A的每行表示句子中不同的部分。最好的方法评价两个向量之间的差异度是相对熵,但是在本方法中相对上是不稳定的,这里利用了另一个算法
P = ∣ ∣ ( A A T − I ) ∣ ∣ F 2 P=||(AA_T-I)||_F^2 P=(AATI)F2
P越小表示两个向量之间的差异越大,越接近我们的要求,最小化P就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值