RNN及其改进

RNN(Recurrent Neural Networks)

原理

图一:在这里插入图片描述

图二:在这里插入图片描述

全连接和卷积只关注的是数据输入到模型中得到输出,并不关注输入数据之间的序列问题。如我爱天安门和天安门爱我这是一个文字序列表达了不同的含义。Xt表示输入到神经元的输入序列。A表示同一神经元在不同时刻的状态,ht为最后输出。将图二展开就变成了图一,将序列X0输入经过运算神经元的状态变为A,h0作为这一个时刻的输出。下一个序列X1和上一时刻的状态A输入进来神状态变为A‘,h1为这一时刻的输出。依次输入序列得到输出。最总的输出ht包含了前面的所有序列的信息。RNN本质上就是一个感知机只有一个神经元,不过内部多了一个权重。感知机模型是f(x)=XW+b,输入和权重进行运算得到输出。RNN多了一个内部神经元的循环状态。

存在的问题

由于只有一个神经元,他对信息的存储容量是不够的,而且对之前时刻的输入全部接收没有经过取舍筛选,所以当序列过长的时候会出现遗忘问题(长期记忆问题,把之前的信息遗忘掉了)此外,对于一句话来说只能处理较短的序列问题。当另外还容易出现梯度问题。

RNN循环网络公式如下:

在这里插入图片描述
输出使用tanh函数作为激活函数。当训练的时候前向过程为ht*(ht-1)*(ht-2)…连乘容易出现梯度问题。ReLu作为激活函数容易出现梯度爆炸问题。

LSTM(Long Short Term)

针对RNN的长期依赖问题,提出了LSTM,经过改进后LSTM利用门来衡量序列之间的相关性。

图一:在这里插入图片描述

图二:
在这里插入图片描述

图三:在这里插入图片描述

图一为原始的RNN内部上一时刻的神经元状态A和这一时刻的序列输入计算通过tanh激活得到输出ht和这一时刻的神经元状态A。

图二为LSTM的结构,LSTM通过门结构来限制信息的流入情况。由于sigmoid的值域为0-1之间刚好可以用来控制信息流动的比例。所以门结构是通过sigmoid来激活的。LSTM有三个门结构分别为忘记门,更新门和输出门分别用来控制上一时刻信息的流入和这一时刻的信息以及最后输出的信息比例。
在这里插入图片描述
上图在LSTM中叫做传输带信息在传输带上进行流通。

门结构示意图:
在这里插入图片描述

忘记门:
在这里插入图片描述

更新门:在这里插入图片描述
输出门:
在这里插入图片描述
在LSTM中一个结构就称为一个细胞(cell)下图为细胞的展开图在这里插入图片描述

前向过程
在这里插入图片描述

GRU

忘记门和输出门都是控制的记忆部分,GRU是将LSTM的忘记门和输出门进行了合并。
在这里插入图片描述

前向过程:在这里插入图片描述
使用rnn来进行验证码识别GitHub连接

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RNN编码器可以通过以下几种方式进行改进: 1. 使用更强大的RNN结构:传统的RNN结构如基本RNN、LSTM和GRU等,可以尝试使用更复杂的变体,如深层RNN、双向RNN、堆叠RNN等。这些结构可以提供更强大的建模能力,更好地捕捉序列中的长期依赖关系。 2. 添加注意力机制:注意力机制可以使编码器在处理输入序列时更加关注重要的部分。通过学习对输入序列中不同位置的加权注意力,编码器可以更好地捕捉到输入序列中的重要信息。常见的注意力机制有Bahdanau注意力和Luong注意力等。 3. 使用预训练模型进行初始化:可以使用预训练的语言模型作为RNN编码器的初始参数。通过在大规模语料库上进行预训练,模型可以学习到丰富的语义和语法知识。在特定任务上微调预训练模型,可以加速模型收敛并提升性能。 4. 引入残差连接和规范化:使用残差连接和规范化技术(如层归一化或批归一化)可以帮助缓解梯度消失和梯度爆炸问题,并加速模型的训练和收敛。 5. 使用更大的数据集进行训练:增加训练数据量可以提升模型的泛化能力和表达能力。可以通过数据增强、迁移学习或使用外部数据源等方式来扩充训练数据集。 这些改进方法并不是互斥的,可以结合使用以进一步提升RNN编码器的性能。具体选择哪种改进方法取决于特定任务和数据集的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值