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

文章目录

  • 前言
  • 一、长短时记忆网络 LSTM
  • 二、正向运算
  • 三、 反向传播
  • 总结


前言

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


一、长短时记忆网络 LSTM

LSTM是RNN的变体,可以解决RNN无法处理长距离依赖的问题,RNN每个时间点都在传递一个hidden state,LSTM在每个时间点除了传递hidden state之外,还传递一个memory cell。
放大一个基本LSTM cell:
2022李宏毅机器学习深度学习学习笔记第十七周_第1张图片
LSTM有三个门来做三个决定,forget gate和上一个memory cell进行运算,选出哪些信息是想要留下的,哪些信息是想要忘记;input gate和candidate state进行运算,选出输入信息哪些是重要的,output gate和当前cell的状态进行运算,选出哪些信息是想要输出的,三个门加candidate state都是简单的linear layer。

公式:
2022李宏毅机器学习深度学习学习笔记第十七周_第2张图片
需要更新的参数有: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.算输出。
2022李宏毅机器学习深度学习学习笔记第十七周_第3张图片
2022李宏毅机器学习深度学习学习笔记第十七周_第4张图片

三、 反向传播

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求导,算出要更新的第五组参数。
2022李宏毅机器学习深度学习学习笔记第十七周_第5张图片
参数更新:
2022李宏毅机器学习深度学习学习笔记第十七周_第6张图片


总结

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

你可能感兴趣的:(深度学习,机器学习,学习)