据我了解(如果我错了,请原谅我)神经网络中的激活函数经过以下转换:
- 乘以常数(权重)到 x (,是激活函数)。
- 递归替换.
现在通过上述转换,ReLU 激活函数应该永远无法拟合 x² 曲线。它可以近似,但随着输入的增长,该近似函数的误差也会呈指数增长,对吧?
现在 x² 是一条简单的曲线。ReLU 如何才能更好地处理比 x² 复杂得多的真实数据?
我是机器学习的新手。因此,如果我的假设有任何错误,请原谅我。
据我了解(如果我错了,请原谅我)神经网络中的激活函数经过以下转换:
现在通过上述转换,ReLU 激活函数应该永远无法拟合 x² 曲线。它可以近似,但随着输入的增长,该近似函数的误差也会呈指数增长,对吧?
现在 x² 是一条简单的曲线。ReLU 如何才能更好地处理比 x² 复杂得多的真实数据?
我是机器学习的新手。因此,如果我的假设有任何错误,请原谅我。
它可以近似,但随着输入的增长,该近似函数的误差也会呈指数增长,对吧?
你是对的,神经网络使用 ReLu 函数来逼近输出并且发生了一些错误,但是您忘记了
非线性函数也可以进行近似,因为我们只使用了激活函数的一些子集,并且会产生一些误差,这些误差可能与 ReLus 一样大
还有许多神经元需要考虑。你拥有的神经元/层越多 - 近似值就越好(因为更小的间隔 ReLus 适合更好地接近)。如果您的输入大小增加,您还应该考虑增加神经元/层的数量,这样近似值将始终足够接近。
现在 x² 是一条简单的曲线。ReLU 如何才能更好地处理比 x² 复杂得多的真实数据?
主要原因是即使其他激活函数可以近似或者其他更好的东西,它们的优化速度没有那么快。一般来说,非线性激活函数决策面比 ReLus 创建的损失更复杂,并且可以包含更好的全局最小值,但这个最小值更难找到,因此,对于 ReLus 创建的不太复杂的损失,我们可以找到一个使用一些梯度下降程序获得更好的优化,它会更快。