我正在尝试为 Twitter 情感分类训练一个深度网络。它由嵌入层 (word2vec)、RNN (GRU) 层、2 个卷积层和 2 个密集层组成。对所有激活函数使用 ReLU。
我刚刚开始使用 tensorboard 并注意到我的卷积层权重似乎有非常小的梯度(见图)
我相信我的梯度消失了,因为 CNN 滤波器权重的分布似乎没有改变,而且梯度相对于权重非常小(见图)。[注意:图中显示的是第 1 层,但第 2 层看起来非常相似]
我的问题是:
1)我是否正确解释了我确实有梯度消失的图,因此我的卷积层没有学习?这是否意味着它们目前基本上一文不值?
2)我能做些什么来纠正这种情况?
谢谢!
2018 年 3 月 13 日更新
几点评论:
1)我已经尝试了只有 1 层而没有层的网络(RNN--> FC),并且拥有 2 个 kayers 确实可以从经验上提高性能。
2)我已经尝试过 Xavier 初始化,但它并没有做太多(之前的默认初始化平均值 0.1 非常接近 Xander 值)
3)通过快速数学,梯度似乎在 1e-5 的数量级上发生变化,而权重本身在 1e-1 的数量级上。因此,在每次迭代中,权重都会变化 1e-5/1e-1*100% = ~.01%。这是可以预料的吗?在我们认为它们已经收敛/认为这些变化在它们不改变结果的意义上是无用的之前,权重变化的阈值是多少?
