4

我最近一直在研究人脸检测,很多文献都指出他们的输出有一个范围。这怎么可能?我创建了自己的网络,它似乎只输出 -1 或 1。这是因为我使用的是 Tanh 激活函数吗?我希望这些值从一个范围内的 0 到 1 输出,而不是二进制输出,所以我可以看到它认为输出实际上是一张脸有多“强”。谢谢。

4

3 回答 3

2

您的问题可能是 tanh 的输入范围。请注意,sigmoid 的工作原理与 tanh 很相似——它很容易被一个大数字超载。sigmoid(20) 几乎 = 1 且 sigmoid(-20) 为 0 尝试首先对输入层的输入进行归一化,以便在隐藏层和输出层中具有更小的数字。

于 2010-04-22T16:35:08.760 回答
0

是的...您的激活功能决定了您的价值观。如果您不在我们的输出神经元上放置激活函数,那么它只会输出值的总和......这种情况会给您提供非均匀输出和非均匀预期值之间的实际误差。

当然,如果你标准化你的期望值,那么你可以保留你的激活函数。

于 2010-04-22T10:24:21.600 回答
0

好的,所以我认为发生的事情是 Tanh 函数过早地达到 1。我现在在输出层上更改为 Sigmoid 激活函数,我得到了更多不同的答案!:) 伟大的。谢谢。

于 2010-04-22T16:18:40.377 回答