【李宏毅】机器学习-RNN

RNN(Recurrent Neural Network)

为什么需要RNN呢?
举例来说,有一个任务需要识别每个单词代表的含义。在下面的句子中,taipei分别表示目的地和出发地,我们希望神经网络能够在不同的句子中,识别出不同的语义,但是对于之前的前馈神经网络来说,输入相同的单词,输出也会是相同的,它不能在不同的情况下说taipei是目的地的几率更大,或者是出发地的几率更大。
但是我们判断的话,是通过arrive和leave知道taipei的语义的,所以也希望我们的神经网络能够记住前一个单词是什么,以此来识别同一个单词的不同语义。
比如输入第一个句子的时候,我们输入Taipei的时候知道前一个词是arrive。第二句同理
在这里插入图片描述

这时候就引入了RNN,我们的神经元是有记忆力的
对于每一层的神经元,当神经网络有输入的时候,每层神经元会保存当前计算的值(也就是输出给下一层神经元的值),当再有输入的时候。每层神经元已经有了前一次的计算值,用该值计算下一个神经元。(对于第一个输出,每个神经元有一个初始值)
举例:

下图所示的一个全连接的神经网络,input序列有三个,假设权值都是1,没有bias,对于第一次的序列[1,1]和第二次的序列[1,1]的output是不一样的,因为第一次输入的时候,隐藏层神经元保存的是初始值0,但是第二次输入神经元的值是第一次计算的值,也就是[2,2],所以即使是相同的输入,也会得到不同的结果
并且我们还可以发现,调换输入的顺序,他们的output也会改变,所以RNN是会考虑输入的顺序的
在这里插入图片描述

所以,对于之前的句子,也是一样的,虽然都是输入Taipei,但是因为隐藏层保存的值是不同的,所以同样输入Taipei,输出也是不同的。
在这里插入图片描述
关于GRU可以参考我们这篇博客(吴恩达)——深度学习——GRU单元
关于LSTM可以参考我们这篇博客(韦恩达)——深度学习——LSTM

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值