赞
踩
之前疫情网民情绪识别的模型用到了LSTM,最近面试被问到具体细节,感觉被拎出来羞辱,经过认(cha)真(yue)思(wen)考(xian),总结了一下RNN、LSTM、GRN的一些知识。为了更加易懂,本文会采用疫情网民情绪识别这篇文章里的例子。
说到LSTM,还是要先从RNN(循环神经网络)开始描述,算是LSTM的基础。RNN经典的模型分解可以用如下图片解释,这也是我在大部分文章中看到的解释,感兴趣的可以到RNN详解这篇文章中看看。
左侧部分,x、s、o都是向量,分别表示输入层、隐藏层和输出层的值。U是输入层到隐藏层的权重矩阵,V是隐藏层到输出层的权重矩阵,W是上一时刻的隐藏层s作为下一时刻输入的权重矩阵。把W去掉这其实就是一个简单的全连接神经网络。
右半部分是左侧图按时刻展开的图,看起来更直观。相较于全连接神经网络,隐藏层的值 s t s_{t} st 不仅取决于 x t x_{t} xt,还取决于上一时刻的隐藏值 s t − 1 s_{t-1} st−1
根据我的理解上图左半部分表示一个简单的网络加上了自己的输出对自己的输入的影响,x表示输入层,s表示隐藏层,o表示输出层,而w是自身不同状态对自己的影响,而右半部分则是展开了自己对自己影响的机制。
虽然确实对RNN有了一定了解,但本人对状态时刻t的意义非常迷惑,对这一时刻的传播没有什么认知。
找了几个解释,感觉吴恩达DeepLearning第五课中的结构图示意是比较清晰的,RNN网络外部的连接如下,RNN-cell之间是相互连接的:
而每个RNN内部结构则如下图所示:
‘’
下面是RNN的计算公式:
a t = f ( W a x x t + W a a a t − 1 + b a ) a_{t}=f(W_{ax}x_{t}+W_{aa}a_{t−1}+b_{a}) a
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。