循环神经网络(RNN)

RNN

卷积神经网络CNN能够很好地处理图片,但是在处理语句问题上就会出现问题,这是因为CNN没有记忆性,输入和输出的一一对应,也就是一个输入得到一个输出。不同的输入之间是没有联系的。

场景:

  • 一个人说了,我喜欢旅游,其中最喜欢的是云南。以后有机会一定去____。
  • 我肚子好____,我想吃饭。

递归神经网络RNN),是两种人工神经网络的总称:
一种是时间递归神经网络(recurrent neural network);
一种是结构递归神经网络(recursive neural network);

image-20230822103428016

RNN是一类扩展的人工神经网络,它是为了对序列数据进行建模而产生的。

RNN 跟传统神经网络最大的区别在于每次都会将前一次的输出结果,带到下一次的隐藏层中,一起训练。

image-20230822103943342 image-20230822145557229

针对对象:序列数据。例如文本,是字母和词汇的序列;语音,是音节的序列;视频,是图像的序列;气象观测数据,股票交易数据等等,也都是序列数据。

核心思想:样本间存在顺序关系,每个样本和它之前的样本存在关联。通过神经网络在时序上的展开,我们能够找到样本之间的序列相关性。

循环神经网络基本单元—Cell,激活函数为tanh

image-20230822110348042

RNN在进行反向传播的时候存在梯度爆炸和梯度消失的问题,这种问题表现在时间轴上。梯度爆炸可以设置梯度阈值直接截取,梯度消失有以下几种方法:

  • 选择其他激活函数,如ReLU
  • 引入改进网络结构的机制,如LSTM,GRU

现在在自然语言处理上广泛应用的就是LSTM。

梯度消失和梯度爆炸:

深度神经网络训练的时候,采用的反向传播方式,该方式背后其实是链式求导,计算每层梯度的时候会涉及一些连乘操作,因此如果网络过深,那么如果连乘的因子大部分小于1,最后乘积可能趋于0;

另一方面,如果连乘的因子大部分大于1,最后乘积可能趋于无穷。


word2vec

如何能将文本向量化?

我们拿人来比喻。我们把人当做一些属性的集合,如 [身高,体重] ,作为一个向量。但仅凭身高和体重并不能描述一个人的唯一性,所以需要添加更多维度来确保描述一个人的准确性。

对于一个词也是一样,我们用多维向量来描述一个词。

成功向量化后,可以通过计算来判断向量之间的相似性。比如“足球”和“篮球”的相似度应该会很高。
(上下文相似的词,其语义也相似 相近的词投影到高维空间后距离很近

word2vec就是一款将文本向量化的模型。

通常维度50~300


LSTM

LSTM:Long short-term memory,长短期记忆

RNN存在梯度爆炸和梯度消失问题,这样使得输入的文字过长,后面的将记不住文章开头的内容,是一种“短期记忆”。同时RNN对记忆的内容上没有分辨能力,可能有些需要记住的数据意义并不大。而LSTM在RNN的基础上加上了一个控制装置,可以控制记忆和遗忘。

image-20230824222523932

如上图所示,与单一的以Tanh为激活函数的循环神经网络不同的是,LSTM是一种三个“门”结构的特殊网络结构。

image-20230824222741273

遗忘门

image-20230824223533846 image-20230824223600763

只有符合算法认证的信息才会被保留,不符合的信息则通过遗忘门被遗忘。控制输入X和上一层隐藏层输出h被遗忘的程度大小,输出1代表“完全保留”,输出0代表“完全遗忘”(sigmoid激活函数)

输入门

image-20230824223944390 image-20230824224239978

决定将要在单元状态(cell)中存储哪些新的信息

输出门

image-20230824224337005 image-20230824224410796

状态向量并不会全部输出,而是在输出门的作用下有选择地输出。

参考:
参考视频
循环神经网络详解(RNN + LSTM)(一)
RNN与LSTM原理浅析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值