首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >深度学习算法原理——Attention BiLSTM

深度学习算法原理——Attention BiLSTM

作者头像
felixzhao
发布2019-07-03 11:36:54
发布2019-07-03 11:36:54
6.9K0
举报
文章被收录于专栏:null的专栏null的专栏

论文地址:Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification

文章中提到使用双向的LSTM(Bidirectional LSTM)加上Attention的机制处理文本分类的相关问题,以解决CNN模型不适合学习长距离的语义信息的问题。

1. 网络结构

在Attention BiLSTM网络中,主要由5个部分组成:

  • 输入层(Input layer):指的是输入的句子,对于中文,指的是对句子分好的词;
  • Embedding层:将句子中的每一个词映射成固定长度的向量;
  • LSTM层:利用双向的LSTM对embedding向量计算,实际上是双向LSTM通过对词向量的计算,从而得到更高级别的句子的向量;
  • Attention层:对双向LSTM的结果使用Attention加权;
  • 输出层(Output layer):输出层,输出具体的结果。

注意点

  • embedding通常有两种处理方法,一个是静态embedding,即通过事先训练好的词向量,另一种是动态embedding,即伴随着网络一起训练;
  • 双向LSTM,这个网络在其他的文章中都已重点介绍,这里就不详细展开。

2. 双向LSTM的输出

假设正向的输出为→hi\underset{h_i}{\rightarrow}hi​→​,逆向的输出为←hi\underset{h_i}{\leftarrow}hi​←​,则第iii个词的向量为:

hi=[→hi⨁←hi]h_i=\left [ \underset{h_i}{\rightarrow}\bigoplus \underset{h_i}{\leftarrow} \right ] hi​=[hi​→​⨁hi​←​]

其中,⨁\bigoplus⨁表示的是对应元素相加。

3. Attention机制

假设HHH是所有词向量的集合:[h1,h2,⋯hT]\left [ h_1,h_2,\cdots h_T \right ][h1​,h2​,⋯hT​],那么Attention的计算方法如下:

M=tanh(H)M=tanh\left ( H \right )M=tanh(H) α=softmax(wTM)\alpha =softmax\left ( w^TM \right )α=softmax(wTM) r=HαTr=H\alpha ^Tr=HαT

最终用于分类的向量表示为:h∗=tanh(r)h^{\ast }=tanh\left ( r \right )h∗=tanh(r)。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年07月01日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 网络结构
  • 2. 双向LSTM的输出
  • 3. Attention机制
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档