2022李宏毅机器学习深度学习学习笔记第十七周


前言

了解LSTM的结构图,以及三个门分别影响什么,学习LSTM前向传播和反向传播的具体计算过程。


一、长短时记忆网络 LSTM

LSTM是RNN的变体,可以解决RNN无法处理长距离依赖的问题,RNN每个时间点都在传递一个hidden state,LSTM在每个时间点除了传递hidden state之外,还传递一个memory cell。
放大一个基本LSTM cell:
在这里插入图片描述
LSTM有三个门来做三个决定,forget gate和上一个memory cell进行运算,选出哪些信息是想要留下的,哪些信息是想要忘记;input gate和candidate state进行运算,选出输入信息哪些是重要的,output gate和当前cell的状态进行运算,选出哪些信息是想要输出的,三个门加candidate state都是简单的linear layer。

公式:
在这里插入图片描述
需要更新的参数有:Wy(最后一层连接softmax的参数) Wf Vf Wi Vi Wg Vg Wo Vo
i下标是input gate的参数,f下标是forget gate的参数,g下标是candidate state 的参数,o下标是output state的参数,W对应hidden state的参数,V对应x的参数。
先要初始化参数,初始化C0和H0都为1。
假设输入时好字,词向量为234。

二、正向运算

1.遗忘门公式,计算矩阵点乘,将权重和放进sigmoid函数中。
2.算输入门值,计算矩阵点乘,将权重和放进sigmoid函数中。
3.算candidate state,1x5矩阵点乘5x2矩阵,权重和放进tanh函数中。
4.算cell state。
5.算hidden state。
6.算输出。
在这里插入图片描述
在这里插入图片描述

三、 反向传播

sigmoid 函数:f(z)=1/(1+exp(-z))
导数:f(z)‘=f(z)(1-f(z))
tanh函数:f(z)=tanh(z)
导数:f(z)’=1-(f(z))2
1.算loss对ht求导,loss对wy求导,算出要更新的第一组参数。
2.算loss对ct求导,loss对ot求导,loss对wo求导,算出要更新的第二组参数。
3.算loss对gt求导,loss对it求导,loss对wi求导,算出要更新的第三组参数,loss对wg求导,算出要更新的第四组参数。
4.算loss对ft求导,loss对wf求导,算出要更新的第五组参数。
在这里插入图片描述
参数更新:
在这里插入图片描述


总结

结合之前学习的LSTM的知识,LSTM主要是通过门控状态来控制传播,记住要长时间记住的信息,忘记不重要的信息;本周通过学习了解了LSTM的简单运算过程。
遗忘门:前面描述forget gate和上一个memory cell进行运算,选出哪些信息是想要留下的,哪些信息是想要忘记;sigmoid函数的输出在0-1之间,通过sigmoid运算得到ft ,ft逐位与Ct-1相乘,ft为0时Ct-1对应的那一位信息就丢掉,其余的值被保留了下来,从而进行信息筛选。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值