我最近看到一篇关于使用(相当简单的)LSTM 进行情绪分类的论文,它将其网络设置描述为:
我们随机化均匀分布的参数 U(-0.003, 0.003),设置 softmax 层的裁剪阈值为 200,学习率设置为 0.01。
我正在尝试用我用 Tensorflow 编写的代码来重现他们的结果。不得不说,“将softmax层的裁剪阈值设置为200”的含义我觉得有点混乱。200???
有人可以向我解释一下,以便我知道如何使用 Tensorflow 来实现吗?非常感谢!!!
更新,好的,所以我找到了他们的代码,下面是他们如何使用这个 softmax 层的裁剪阈值:
for(int k = 0; k < softmax.outputG.length; k++)
softmax.outputG[k] = 0.0;
softmax.outputG[goldPol] = 1.0 / softmax.output[goldPol];
// if ||g|| >= threshold, then g <- g * threshold / ||g||
if(Math.abs(softmax.outputG[goldPol]) > clippingThreshold)
{
if(softmax.outputG[goldPol] > 0)
softmax.outputG[goldPol] = clippingThreshold;
else
softmax.outputG[goldPol] = -1.0 * clippingThreshold;
}
我仍然不能说我完全理解这个阈值的使用..