赞
踩
Attention是模拟人脑的注意力机制。人在看到一些东西,往往只关注重要的信息,而忽略其他信息。自然语言处理中的attention是对文本分配注意力权重,Attention的本质就是从关注全部变为关注重点。
Attention的计算过程:
如上图,按不同的方式,可将attention分为不同类型。
attention通俗来讲是用两个向量(query,key)计算得到一个得分score。从数学角度看,就是两个向量得到一个数值。一般有以下计算方式:
(1)点乘: s ( q , k ) = q ⋅ k s(q,k)=q\cdot k s(q,k)=q⋅k
(2)余弦相似度: s ( q , k ) = q ⋅ k ∣ q ∣ ∣ k ∣ s(q,k)=\frac{q\cdot k}{|q||k|} s(q,k)=∣q∣∣k∣q⋅k
还有引入学习参数的方式
(3)矩阵相乘: s ( q , k ) = q T W k s(q,k)=q^TWk s(q,k)=qTWk
(4)小网络学习(多层感知机):输入两个向量,输出一个数值
如篇章级别的任务,这类型任务输入的信息过多,使用attention捕获关键信息。
可能需要对两端内容进行对齐,如机器翻译,翻译时当前词与原文的信息对齐。阅读理解,问题与原文信息的对齐。
某些任务只依赖与部分强特征词。
引用自:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。