我有一个有趣的问题,可以简化为这个简单的任务。考虑一个神经网络(LSTM 或其他),它将学习复制稀疏度约为 1% 的稀疏二进制矩阵。
如果我们查看只为所有条目猜测 0 的成本函数,它将是大约 100-% 的稀疏性,因此您可以通过猜测所有 0 来获得非常高的准确度。
有没有办法通过改变稀疏矩阵表示或成本函数来使神经网络脱离这个巨大的局部最小值?
谢谢!
最佳答案
我看到这已经在这里将近 3 年了,所以我的答案此时可能与您不是最相关的,但对于任何偶然发现这个问题以寻找答案的人来说:
这在很大程度上取决于使用的损失函数、优化器和激活函数的类型。我主要讲分类 因为我有更多的经验,不要误导。
如何解决这个问题可能会有所不同,因为 1% 的稀疏性可能意味着这些矩阵由 99 个元素填充,这些元素为 0 和单个 1 元素 (1.)。与 990 个零元素和 10 个值为 1 (2.) 的元素相比,可以以更高的精度解决此问题。
此处在非常高的稀疏性下的相关考虑可能是尝试以一种方式来制定您自己的损失,即在损失中考虑零值的正确预测,并按非零值的准确性进行加权。这样,神经网络不会关心零值的准确度,直到非零值的准确度很高。考虑一个非常原始的损失 A,定义为,
A=A1+A1A0,
其中 A1 是非零值的精度,A0 是零值的精度。有了这种损失,预测一个 [0,0,0,0,0,0,0] ,其中正确的值是 [0,1,0,0,0,0,0] 将使我们的准确度为 0 ,这使得以前的局部最小值相当陡峭。
关于neural-network - 具有稀疏输出的神经网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36577238/