深度学习-第四章 LSTM面试题(大厂必问,历经半年整理)

1.NN

神经网络最全面面试题

2.CNN

卷积神经网络最全面面试题

3.RNN

循环神经网络最全面面试题

4.LSTM

长短期记忆网络(Long Short-Term Memory)是一种时间循环神经网络,是为了解决一般的RNN存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。
三个门(遗忘门输入门输出门),两个状态(Ct,ht)
在这里插入图片描述

遗忘门

在这里插入图片描述
作用对象:细胞状态 。
作用:将细胞状态中的信息选择性的遗忘
Ft和Ct-1做点积操作,Ft确保Ct-1有哪些东西需要被遗忘调

输入层门

在这里插入图片描述
作用对象:细胞状态
​ 作用:将新的信息选择性的记录到细胞状态中。
​ 操作步骤:
​ 步骤一:sigmoid 层称 “输入门层” 决定什么值我们将要更新
​ 步骤二,tanh 层创建一个候选值向量加入到状态中

输出层门

在这里插入图片描述
​ 作用对象:隐层ht 作用:确定输出什么值。
​ 操作步骤:
​ 步骤一:通过sigmoid 层来确定细胞状态的哪个部分将输出。
​ 步骤二:把细胞状态通过 tanh 进行处理,并将它和 sigmoid 门的输出相乘,最终我们仅仅会输出我们确定输出的那部分。

4.1 LSTM结构推导,为什么比RNN好?

推导forget gate,input gate,cell state, hidden information等的变化;因为LSTM有进有出且当前的cell informaton是通过input gate控制之后叠加的,RNN是叠乘,因此LSTM可以防止梯度消失或者爆炸。

4.2 为什么LSTM模型中既存在sigmoid又存在tanh两种激活函数,而不是选择统一一种sigmoid或者tanh?

sigmoid用在了各种gate上,产生0~1之间的值,一般只有sigmoid最直接了;
tanh用在了状态输出上,是对数据的处理,这个用其他激活函数或许也可以。

4.3 LSTM中为什么经常是两层双向LSTM?

有些时候预测需要由前面若干输入后面若干输入共同决定,这样会更加准确。

4.4 RNN扩展改进

4.4.1 Bidirectional RNNs

​ 将两层RNNs叠加在一起,当前时刻输出(第t步的输出)不仅仅与之前序列有关,还与之后序列有关。例如:为了预测一个语句中的缺失词语,就需要该词汇的上下文信息。Bidirectional RNNs是一个相对较简单的RNNs,是由两个RNNs上下叠加在一起组成的。输出由前向RNNs后向RNNs共同决定。

4.4.2 CNN-LSTMs

该模型中,CNN用于提取对象特征,LSTMs用于预测。CNN由于卷积特性,其能够快速而且准确地捕捉对象特征。LSTMs的优点:能够捕捉数据间的长时依赖性。

4.4.3 Bidirectional LSTMs

两层LSTMs。 一层处理过去的训练信息,另一层处理将来的训练信息。
通过前向LSTMs获得前向隐藏状态,后向LSTMs获得后向隐藏状态,当前隐藏状态是前向隐藏状态与后向隐藏状态的组合。

4.4.4 GRU

门控循环单元, GRU是RNN的另一类演化变种,与LSTM非常相似。GRU结构中去除了单元状态,而使用隐藏状态来传输信息。它只有两个门结构,分别是更新门和重置门。
更新门:用于控制前一时刻的状态信息被代入到当前状态的程,更新门的值越大说明前一时刻的状态信息带入越多
重置门:用于控制忽略前一时刻的状态信息的程度,重置门的值越小说明忽略得越多
在这里插入图片描述
在这里插入图片描述

4.5 LSTM、RNN、GRU区别?

在这里插入图片描述
与LSTM相比,GRU内部少了一个”门控“,参数比LSTM少,但是却也能够达到与LSTM相当的功能。
GRU 使用了一个门控z 就可以进行遗忘选择记忆,而 LSTM 要使用多个门控。
考虑到硬件的计算能力和时间成本,因而很多时候我们也就会选择更加实用的GRU

4.6 LSTM是如何实现长短期记忆功能的?

4.7 LSTM的原理、写LSTM的公式、手推LSTM的梯度反向传播

猜你喜欢

转载自blog.csdn.net/cc13186851239/article/details/114225909