反向传播算法如何处理非差异性激活功能



在挖掘神经网络的主题以及如何有效训练它们时,我遇到了使用非常简单的激活功能的方法,例如校正线性relu),而不是经典的平滑 sigmoids 。恢复功能在原点上是无可分割的,因此根据我的理解,反向传播算法(BPA)不适合训练具有依赖的神经网络,因为多变量计算的链规则仅是指平滑功能。但是,我阅读的关于使用Relus的论文都没有解决此问题。RES似乎非常有效,并且似乎无处不在,而不会引起任何意外行为。有人可以向我解释为什么可以通过反向传播算法对Relus进行培训?

要了解诸如relu之类的函数如何进行反向传播,您需要了解什么是衍生物的最重要属性,它使反向传播算法效果很好。此属性是:

f(x) ~ f(x0) + f'(x0)(x - x0)

如果当时将x0视为参数的实际值,则可以告诉(了解成本函数的值,并且是派生函数的值)当您稍微更改参数时,成本函数将如何行为。这是反向传播中最关键的事情。

由于计算成本函数对于成本计算至关重要 - 您将需要成本功能来满足上述属性。很容易检查Relu是否可以满足除0的小社区以外的任何地方。这是Relu的唯一问题 - 当我们靠近0时,我们无法使用此属性。

要克服您可以选择0中Relu衍生物的值为10。另一方面,大多数研究人员并不是因为事实而将这个问题视为严重的问题,即在relu计算过程中与0接近相对较少。

从上面的角度来看 - 从纯数学角度来看,将relu与反向传播算法使用是不合理的。另一方面 - 实际上,它通常没有任何区别,因为它在0.

上具有这种怪异的行为

最新更新