【转】RNN、LSTM、Transformer、BERT简介与区别

几者的主要参考文章: https://blog.csdn.net/weixin_41089007/article/details/96474760

RNN与LSTM的区别参考文章: https://blog.csdn.net/hfutdog/article/details/96479716

RNN和LSTM的区别如下:

  • RNN没有细胞状态;LSTM通过细胞状态记忆信息。
  • RNN激活函数只有tanh;LSTM通过输入门、遗忘门、输出门引入sigmoid函数并结合tanh函数,添加求和操作,减少梯度消失和梯度爆炸的可能性
  • RNN只能够处理短期依赖问题;LSTM既能够处理短期依赖问题,又能够处理长期依赖问题
  • 但是LSTM相对的运行时间较长

双向RNN和BERT
双向RNN与self attention layer 的共同点在于: 输入输出都是序列,且输出每个时间节点预测的向量都与输入的所有时间节点相关联;
最大的不同点在于双向RNN输出无法并行(当前时刻的输出与上一时刻的hidden state相关),而attention可以并行

LSTM与BERT

  • LSTM
    概述:
    lstm是代表性的rnn结构,rnn提出是为了解决时序的问题;典型的例子就是NLP中的句子理解,视频的内容理解;模型结构的设计保证输入顺序按照时序顺序对结果产生影响,当前时间步的输入是当前位置和上一个时间步的输出。

  • 优点:
    解决了dnn或者是bow词袋模型的问题,不能区分时序

  • 缺点:
    处理长文本的时候耗时较长,考虑到上下文,一般还采用双向rnn结构;模型效果上,对于长依赖问题效果不好,容易理解 经过很多个step的传递,信息会减弱

  • BERT

  • 概述
    bert通过注意力机制实现时序的理解,我认为精妙之处有两点,一点是位置编码融入向量表达,另外一点是就是注意力机制中的QKV矩阵了;残差网络防止网络过于复杂带来的过拟合。
    优点

  • 注意力机制,也就是每个位置相对另一个位置的权重是可以并行计算的,在计算资源足够的前提下比lstm会快很多;通过设计预训练任务,用海量无监督数据做预训练,模型效果更好

  • 缺点
    由于网络更加复杂,计算量相对lstm更大,训练收敛更慢

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值