我有一个有趣的问题,可以简化为这个简单的任务。考虑一个神经网络(LSTM,或其他),它将学习复制稀疏度大约为1%的稀疏二进制矩阵。
如果我们看一下仅仅为所有条目猜测0的成本函数,它将大约是100%的稀疏性,所以你只需要猜测所有的0就能获得非常高的精度。
无论如何通过改变稀疏矩阵表示或成本函数来使神经网络从这个巨大的局部最小值中突然出现?
谢谢!
答案 0 :(得分:0)
我看到这里已经有3年了,所以目前我的答案可能与您最不相关,但是对于偶然发现此问题以寻找答案的任何人来说:
这在很大程度上取决于所使用的损失函数,优化器和激活函数的类型。我将主要根据分类进行演讲,因为我在避免误导方面拥有更多经验。
解决此问题的方式可能会有所不同,因为稀疏性为1%可能意味着这些矩阵由99个为0的元素和单个1个元素(1。)组成。与说990个零元素和10个元素值为1 (2。)的情况相比,可以解决更高的精度。
如果是前者,对我而言,合理的处理方法似乎是在输出上使用 softmax 激活功能,这可以确保输出值的总和为1,伴随有分类交叉熵损失和一些现代优化程序(我更喜欢 Adam )。
在后一种情况下,我们不能使用 softmax ,因为输出上有1个有价值的元素,因此输出层元素的总和不能为1。出于同样的原因,我们不能使用分类交叉熵。在这种情况下,输出层上的 Sigmoid 激活函数,二进制交叉熵损失和 Adam 优化器应该能够轻松克服了预测全零向量的极大便利。