立方根函数是否适合作为激活函数?

人工智能 神经网络 激活函数
2021-10-19 08:31:03

我正在尝试在 Python 上设计一个神经网络。

我正在考虑使用具有下图的立方根函数,而不是具有有限范围的 sigmoid 函数: 立方根函数图

这合适吗?

1个回答

希望激活函数具有一些特征,并且立方根评价为 OK-ish:

  • 非线性- 检查。

  • 连续可微分——不。有问题X=0. 与 ReLU 等其他不连续函数不同,虽然梯度可以在接近零的情况下计算,但在接近时它可以任意高X=0, 因为ddXX13=13X23

  • 范围考虑——有限范围函数更稳定,大/无限范围函数更有效。与例如 tanh 相比,您可能需要降低学习率。

  • 单调- 检查。

  • 单调导数- 没有。

  • 在原点附近近似同一性- 不,原点附近的近似值很差。

如果您查看当前成功的激活函数列表,您会看到一些也未能提供一个或多个理想特征,但仍被常规使用。

我会担心附近的高梯度X=0,但除此之外,我认为该功能可以正常工作。在学习过程中有时可能会不稳定,因为接近零的小变化会导致输出的大变化。在实践中,您可以通过剪裁它们来解决高梯度问题。如果原始计算返回的值大于1(或小于-1) 然后将梯度视为1(或者-1) 用于其余的反向传播。

找出该函数是否与其他更标准的激活函数竞争的唯一方法是在一些标准数据集上进行尝试并进行比较。