seq2seq、attention、self-attention、transformer、bert

seq2seq

  • seq2seq:输入序列,输出序列,将输入的语言转为一个向量,最后输出再将向量转为语言
  • shortcoming:The final state is incapable of remembering a long sequence.即太长了记不住

attention

  1. 用attention可以改进seq2seq中的遗忘问题,大幅提高准确率,但是计算特别大
  2. attention会在encoder中的最后阶段s,计算s和之前的每个h计算相关性,告诉模型前面的哪些内容更重要,即计算权重,解决遗忘问题
  3. decoder每次更新状态时,都会与encoder进行对比一次,并且计算权重,下次再更新状态时,又重新对比encoder所有状态,计算权重,这样解决了遗忘问题了

self-attention

  • RNN都存在遗忘问题,self-attention每一轮更新状态时,都会重新看一遍前面的信息,防止遗忘。
  • self-attention相比attention更加广泛使用,不局限与seq2seq模型,可以用于所有rnn

transformer

  • 是seq2seq,不是rnn
  • 只有attention和dense layers
  • 刚开始有人提出过RNN,然后为了改进RNN遗忘问题,提出了ATTENTION用于解决seq2seq的遗忘问题,后来发现SELF-ATTENTION 相比Attetion应用更加广泛,可以用于任何RNN模型,最后有人提出ATTENTION 可以剔除RNN,效果更好
  • 传统的RNN网络,存在不能并行计算的问题,transformer可以并行。self-attention机制来进行并行计算,在输入和输出都相同

bert

bert是为了预训练Transformer中的encoder, bert其实就是只有编码器的transformer。
首先,训练第一个任务是,随机遮挡单词,然后通过梯度下降调参,让predict与被遮挡的单词尽量接近,所以这个训练无需人工标注,训练集自动生成,模型自动训练好参数
然后,训练第二个任务是,判断两个句子是否相连接。
bert想法简单效果好,但是计算量特别大

好处:

  • 使用预训练好的模型来抽词、句子的特征。预训练模型抽取了足够的信息
  • 不用更新预训练好的模型
  • 需要构建新的网络来抓取新任务需要的信息, 新的任务只需要增加一个简单的输出层
  • 相比于word2vec、语言模型来模型说,更加优秀,因为word2vec忽略了时序信息,语言模型只看一个方向
  • 基于微调的NLP模型

本文推荐看看shusenwang在bilibili上的课程。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值