Softsign(又名 ElliotSig)激活函数非常简单:
它是有界的, 具有一阶导数,它是单调的,并且在计算上非常简单(例如,对于 GPU 来说很容易)。
为什么它在神经网络中没有被广泛使用?是因为它不是无限可导出的吗?
Softsign(又名 ElliotSig)激活函数非常简单:
它是有界的, 具有一阶导数,它是单调的,并且在计算上非常简单(例如,对于 GPU 来说很容易)。
为什么它在神经网络中没有被广泛使用?是因为它不是无限可导出的吗?
我不能代表个别研究人员发言,但我可以猜到为什么整个社区没有采用这种激活功能。
ReLU实在是太便宜了。随着网络的深入,这种好处会继续增长。此外,它们工作得相当好。正如搜索激活函数中所指出的,
其他激活函数的性能改进在不同的模型和数据集之间往往不一致。
即使一个新的激活函数确实在整体性能方面提供了微不足道的改进,如果 ReLU 仍然被普遍使用,我也不会感到惊讶。它已经是许多机器学习软件的默认设置。
此外,研究通常不是为了在特定任务上再提高一个百分点的准确性。如果我参加比赛,我可能会尝试激活函数。但即便如此,我还是宁愿使用 ReLU 并在构建架构原型时节省一点时间。
正如@DuttaA 在评论中指出的那样,在需要有界输出的情况下,softsign 可能会取代 sigmoid 和 tanh。我以前没有见过任何人比较它们,但 softsign 至少会快得多。我猜由于传统和曝光度,这种替换并没有发生。不是因为 softsign 缺乏无限导数。我不知道发生这种情况是否会使softsign“被广泛使用”,但它会有所作为。