循环神经网络(RNN)

1.为什么需要循环神经网络

普通神经网络适合固定长度的数据

对于长度不固定的输入问题,即序列式问题,需要循环神经网络

循环神经网络可以解决的问题:

  • 1对多:输入图片生成不定长的文字描述
  • 多对1:输入不定长的文本分类(文本情感分析)
  • 多对多:机器翻译
  • 实时多对多:视频解说,实时翻译
普通神经网络

 

1对多
多对1
多对多
实时多对多

 

 

 

 

 

 

 

 

 

 

 

2.循环神经网络

  • 维护一个中间状态包含上下文信息,作为下一步的额外输入
  • 每一步使用同样的激活函数和参数

  • 最简单的循环神经网络

  • 字符语言模型(根据当前字符预测下一个字符)
    • 训练阶段:词典:[j,e,p],样本:jeep
    • 测试阶段:上一步的输出作为下一步的输入

 循环神经网络的正向传播:

循环神经网络的反向传播:

 

反向传播特点:

  • 激活函数:tanh输出在-1和1之间
  • 容易发生梯度消失:输出值接近-1和1时,梯度很小;序列很长时,从末端往回传梯度,每次乘上-1和1之间的数,容易发生梯度消失,使得较远的步骤对当前步骤的贡献很小
  • 切换其他激活函数后,可能导致梯度爆炸

多层网络与双向网络

 

3.LSTM(长短期记忆网络)

对于普通的循环神经网络,所有隐藏层单元共享一个参数矩阵W,该参数承载了太多的任务,当一个序列过长时,W无法记住过多的信息,因此,实际上W只能记住最近的一些信息,LSTM网络解决了该问题。

LSTM引入选择性输入,输出,和遗忘机制,用门实现:在某个位置计算一个[0,1]之间的数控制需要记住或需要遗忘的程度,减少没有用的输入,当前不需要输出的信息不进行输出,选择性遗忘之前的状态信息。

 

 

 

 

 

4. 基于LSTM的文本分类模型(TextRNN与HAN)

网络识别输入文本,判断文本类别。

 对本文分词,对每个词用embedding的形式进行编码,编码成一个向量,将向量输入到LSTM中,最后一个词输入后拿到输出该输出向量编码了句子中所有信息,输出向量经过一个普通的神经网络得到分类结果。

embedding编码:

对每一次进行长度为5的编码,embedding变量是可训练的。

 双向LSTM,组合每一步的输出,避免例最终输出较远的信息无法保存下来。

attention(注意力机制) :给与一些关键词更高的关注,分词的输出编码与参数u_{w}计算,得到的注意力值\alpha\alpha对编码加权,所有分词编码加权平均值作为句子的编码,上层再对所有句子加权编码作为段落的编码。

5.基于CNN的文本分类模型(TextCNN)

由于CNN不能解决忽长忽短的序列问题,可以将所有句子变成固定长度的句子(扩充/截断)。

 

 将句子每个词对应的每一列看做是这个句子的一个通道,使用若干不同尺寸的卷积核进行卷积,得到多个不同和长度的结果,对卷积结果做池化操作,将多个结果拼接作为这个句子的表示,最后送入到全连接计算类别。

 

6.RNN与CNN融合解决文本分类

R-CNN左边是一个双向的LSTM网络,提取当前词的输出向量和上下文对应的向量,进行组合作为当前词的输出信息,对改向量进行1维卷积得到输出,在经过最大池化层,输出层得到分类结果。该模型同时利用了双向RNN提取信息的能力和一维卷积去做信息抽象的能力

 

为了避免embedding层次参数量过大造成过拟合和无法使用的问题,需要对embedding进行压缩:普通的embedding层,使用固定长度(embed_size)的向量表示每一个词,参数个数为:\left | V \right |*embed\_size,使用共享压缩方法进行压缩:使用2个长度为embed\_size/2子向量组合表示一个词,将所有词排列为一个矩形,矩形为正方形时,子向量个数最小为2\sqrt{V},因此,压缩后参数个数为\sqrt{V}*embed\_size.

7.数据预处理之分词

8.

9.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值