这个 LSTM 层有学习什么吗?

人工智能 张量流 长短期记忆 权重
2021-11-15 09:53:16

我已经训练了一个 CNN-LSTM 模型,但结果并不令人满意,所以我查看了我的权重分布,这就是我得到的: 在此处输入图像描述

我不明白。这层有学习什么吗?或者没有?

更新:我还尝试了 LeakyReLU 激活并删除了 l2 正则化,这就是我得到的: 在此处输入图像描述 所以我猜我的层没有学习或者确实需要更多的时期来训练 LSTM 层?梯度并没有消失,因为在此之前的 CNN 层正在发生变化。

1个回答

就它是否正在学习而言,可能提供更多信息的是跟踪梯度。

通过梯度,您将能够更好地理解激活是否接收错误项以相应地调整权重。在后一种情况下,这将是梯度消失问题的特征。

您正在使用 tf.keras 进行开发,在这种情况下,您可以添加到 tensorboard 回调中: tf.keras.callbacks.TensorBoard(write_grads=True)

其他实验可能包括:

  • 尝试更短的序列并比较毕业流程
  • 尝试用tanh模型的 LSTM 层中的替代激活函数替换tf.keras.LSTM(activation=tf.keras.layers.LeakyReLu())(参见tanh鞍点问题)

在此处输入图像描述

(从d2l借来的图