Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。
1、如何解决RNN梯度爆炸和消失的问题?
梯度爆炸:当梯度大于一定阈值时,将它截断为一个较小的数。
梯度消失:激活函数选择Relu函数。
2、RNN的经典结构?
1对1:输入和输出一致,
1对多:有1对N或N对1,1对N的场景有负荷分解,图像生成文字,类别生成语音或音乐等,N对1针对于序列分类。
多对多:有N对N或N对M,N对N的场景有语音处理,时间序列,N对M的场景是机器翻译,文本摘要,阅读理解等,常见模型是encoder-decoder模型。
3、为什么LSTM模型中既存在sigmoid又存在tanh两种激活函数,而不是选择统一一种sigmoid或者tanh?这样做的目的是什么?
sigmoid函数被用作各个门上,产生0~1之间的值,来判断是对信息进行记住还是遗忘。
tanh用在了状态和输出上,是对数据的处理,可以替换成其他激活函数。
4、LSTM为什么能保留长期记忆?
LSTM的第一步是决定我们会从细胞状态中丢弃什么信息。这个通过遗忘门进行判断,具体结构如图:
下一步是确定什么样的新信息被保存在细胞状态C中,包含两个部分:sigmoid决定什么值我们将要更新,一个tanh层创建一个新的候选值向量,并加入到状态中。
更新细胞状态,即():
最后,我们需要确定输出的值,这个输出会基于细胞状态。
5、GRU和LSTM的区别?
GRU是Gated Recurrent Units,是循环神经网络的一种。
GRU只有两个门(update和reset),LSTM有三个门(input,output,forget),GRU直接将hidden state传给下一单元,LSTM通过记忆单元将hidden state包装起来。