LSTM两个激活函数不能一样

这里写自定义目录标题

  • 关于LSTM两个激活函数的问题

关于LSTM两个激活函数的问题

LSTM中有两个激活函数:activation 和recurrent_activation
recurrent_activation是针对三个门机制(遗忘门、输入门、输出门)的激活函数,而activation是针对输入信息(默认tanh)和当前隐状态输出(默认tanh)的激活函数。
LSTM两个激活函数不能一样_第1张图片
理论上,两个激活函数都可以修改的。但是,有一点很有趣的现象
----如果两个激活函数相同,结果loss出现nan(楼主损失函数为mse)
注意,如果是可能出现,我就不写这篇了。主要是,必然出现。
LSTM两个激活函数不能一样_第2张图片
以上是部分统计结果截图。楼主做的是探索不同国家的新冠数据使用LSTM的超参数及预测情况。结果出现了一大堆NAN。在超参数组合不多的时候,还以为是随机性出现NAN。后面组合增加到100个之后,对不同国家分别跑了以下,结果发现NAN实在太多。于是准备用条件概率计算独立性,结果发现不需要条件概率,联合概率就可以发现了。

结论:
P(a1=a2,s=nan) = P(s=nan) = P(a1=a2)
==》
P(a1=a2 | s=nan)
= P(s=nan | a1=a2 )
= P(a1=a2,s=nan)/P(s=nan)
=P(a1=a2,s=nan)/P(a1=a2)
=1

  • a1:activation,
  • a2:recurrent_activation,
  • s:loss mse

楼主水平有限,如果是因为很简单的原因,欢迎大佬来diss,顺便给我科普一波。
如果楼主后面的研究中发现原因,会再修改帖子的。

你可能感兴趣的:(lstm,深度学习,tensorflow,神经网络,机器学习)