RNN与LSTM网络

本文介绍了RNN在网络中的应用,如情感分析,以及其在处理序列数据时存在的问题,包括参数过多和上下文信息丢失。为解决这些问题,文章详细讲解了LSTM(长短期记忆网络)的原理,包括其结构、门控单元的作用,以及如何通过门控机制保存和遗忘信息,以更好地捕捉长期依赖。LSTM通过其独特的设计,能够有效地解决传统RNN的梯度消失问题,提高了在长序列任务中的表现。
摘要由CSDN通过智能技术生成

目录

前言

 改进

RNN升级--LSTM网络


前言

RNN网络可以用于情感分析,与语言相关的工作,比如一个例子一个电影的评论,系统分析它是好评还是差评。

 假设每个单词可以用[100]表示(这种序列表示方法简单地说就是有100个单词,[1,0,...],[0,1,0...]这些表示一个单词),上图的五个单词就是输入,也就是一个[5,100]的数据。

 分别将5个单词输入线性层,得出5个Linear[2],也就是一个[5,2]数据,最后输出概率,判断是差评还是好评。

 改进

但是这种方法存在两个问题

1.输入单词很多,每个单词都有一个参数[w,b],参数过于庞大

2.上下语境信息怎么表示

为了解决参数过大问题,我们将所有输入单词,输入到同一个线性层,也就是w和b共享

 对于上下语境信息,

 用一个h单元表示记忆,也就是这时间t的输出不仅跟当前输入xt有关,还跟上一个单元ht-1有关,最开始的h0就为0向量,展开表示

公式表示如下,里面用到的激活函数为tanh

 最终表示以及梯度的公式。

RNN升级--LSTM网络

RNN网络当预测点与依赖的相关信息距离比较远的时候,就难以学到该相关信息。例如在句子”我出生在法国,……,我会说法语“中,若要预测末尾”法语“,但是由于这两句话相距太远,导致RNN很有可能无法预测,

从原理上也很好理解,当前单元跟上一个单元有关,上一个单元跟上上一个单元有关,也就是当前单元跟之前的单元有关,但是它跟之前的相关性相当于每过一个单元就削弱一次。

具体结构如下

这里写图片描述

 里面图形符号表示意思

这里写图片描述

下面的矩形方框,被称为memory block(记忆块),主要包含了三个门(forget gate、input gate、output gate)与一个记忆单元(cell)。方框内上方的那条水平线,被称为cell state(单元状态),它就像一个传送带,可以控制信息传递给下一时刻。

这里写图片描述

LSTM可以通过门控单元可以对cell添加和删除信息。通过门可以有选择地决定信息是否通过,它有一个sigmoid神经网络层和一个成对乘法操作组成,如下: 

这里写图片描述

LSTM第一步是用来决定什么信息可以通过cell state。这个决定由“forget gate”层通过sigmoid来控制,它会根据上一时刻的输出通过或部分通过。如下:

这里写图片描述

第二步是产生我们需要更新的新信息。这一步包含两部分,第一个是一个“input gate”层通过sigmoid来决定哪些值用来更新,第二个是一个tanh层用来生成新的候选值相加,得到了候选值。

这里写图片描述

最后一步是决定模型的输出,首先是通过sigmoid层来得到一个初始输出,然后使用tanh将
值缩放到-1到1间,再与sigmoid得到的输出逐对相乘,从而得到模型的输出。
这里写图片描述 这显然可以理解,首先sigmoid函数的输出是不考虑先前时刻学到的信息的输出,tanh函数是对先前学到信息的压缩处理,起到稳定数值的作用,两者的结合学习就是递归神经网络的学习思想。至于模型是如何学习的,那就是后向传播误差学习权重的一个过程了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值