前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >深度学习算法原理——Attention-Based BiLSTM

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

作者头像
felixzhao
发布2022-03-04 17:40:49
发布2022-03-04 17:40:49
2.2K0
举报
文章被收录于专栏:null的专栏null的专栏

1. 概述

随着神经网络,尤其是深度学习算法的发展,神经网络在文本分类任务中取得了很大的发展,提出了各种解决方案,如CNN在文本分类中的应用,RNN,LSTM等等,相比较于CNN以及RNN方法,LSTM可以学习长距离的语义信息。Attention-Based BiLSTM结合双向的LSTM(Bidirectional LSTM)以及Attention机制处理文本分类的相关问题,通过attention机制,该方法可以聚焦到最重要的词,从而捕获到句子中最重要的语义信息。

2. 算法思想

2.1 算法的组成部分

Attention-Based BiLSTM算法的网络结构如下所示:

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

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

注意点

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

2.2. BiLSTM层的输出

假设句子通过分词算法后,得到的T 个词为:\left \{ x_1,x_2,\cdots ,x_T \right \} ,每一个词x_i 经过词向量的映射得到对应的词向量e_i ,假设经过LSTM后正向的输出为\underset{h_i}{\rightarrow} ,逆向的输出为\underset{h_i}{\leftarrow} ,则第i 个词经过BiLSTM后得到的向量为:h_i=\left [ \underset{h_i}{\rightarrow}\bigoplus \underset{h_i}{\leftarrow} \right ] 其中,\bigoplus 表示的是对应元素相加。

2.3. Attention机制

假设H 是所有T 个词经过BiLSTM后得到的向量的集合:\left [ h_1,h_2,\cdots h_T \right ] ,那么Attention的计算方法如下:M=tanh\left ( H \right ) 其中,H\in \mathbb{R}^{d^w\times T}d^w 表示的是向量的维度,对应的,M 的维度为:d^w\times T\alpha =softmax\left ( w^TM \right ) 其中,w^T 表示的是需要学习的参数,w 的维度为d^w\times 1\alpha 的维度为1\times Tr=H\alpha ^T

其中,r 的维度为d^w\times 1 。 最终用于分类的向量表示为:h^{\ast }=tanh\left ( r \right )

2.4. 分类

针对句子S ,通过上述的BiLSTM以及Attention机制,得到了对应的表示矩阵:h^{\ast } ,其维度为d^w\times 1 。分类器以h^{\ast } 为输入:\hat{p}\left ( y\mid S \right )=softmax\left ( W^{\left ( S \right )}h^{\ast }+b^{\left ( S \right )} \right )

参考文献

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 概述
  • 2. 算法思想
    • 2.1 算法的组成部分
    • 2.2. BiLSTM层的输出
    • 2.3. Attention机制
    • 2.4. 分类
  • 参考文献
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档