当使用反向传播算法训练神经网络时,使用梯度下降法确定权重更新。我的问题是:与其使用梯度下降法相对于某个权重缓慢地定位最小点,不如我们只设置导数,并找到将误差最小化的权重的值?
另外,为什么我们可以确定反向传播中的误差函数将是最小的?难道不是错误函数是最大值?压扁函数是否具有特定的特性,可以保证具有任意数量的具有任意权重和输入矢量的隐藏节点的网络将始终提供具有某些最小值的误差函数?
当使用反向传播算法训练神经网络时,使用梯度下降法确定权重更新。我的问题是:与其使用梯度下降法相对于某个权重缓慢地定位最小点,不如我们只设置导数,并找到将误差最小化的权重的值?
另外,为什么我们可以确定反向传播中的误差函数将是最小的?难道不是错误函数是最大值?压扁函数是否具有特定的特性,可以保证具有任意数量的具有任意权重和输入矢量的隐藏节点的网络将始终提供具有某些最小值的误差函数?
Answers:
因为我们不能。作为权重的函数的优化曲面是非线性的,对于。
根据定义,梯度下降是下降的。如果下降后到达静止点,则它必须是(局部)最小值或鞍点,但绝不能是局部最大值。
关于马克·克莱森(Marc Claesen)的答案,我相信在您初始化为局部最大值或由于运气不好或速率参数错误而恰好结束时,梯度下降可能会在局部最大值处停止。局部最大值将具有零梯度,并且算法将认为它已经收敛。这就是为什么我经常从不同的起点运行多次迭代并一直跟踪值的原因。
在牛顿类型的方法中,每一步都将求解为线性或近似版本的问题。然后,将问题围绕新点线性化,然后重复该过程,直到收敛为止。有人为神经网络做过,但是它有以下缺点,
如果一个人使用Krylov方法进行Hessian求解,而一个人没有使用好的预处理器进行Hessian求解,则成本将大致平衡-牛顿迭代花费更长的时间,但取得了更大的进步,总时间约为与梯度下降相同或更慢。另一方面,如果一个人拥有良好的Hessian前置条件,那么牛顿的方法将大获成功。
就是说,信任区域的Newton-Krylov方法是现代大规模优化中的金标准,而且我只希望在未来几年中随着人们想要解决越来越大的问题,它们在神经网络中的使用会增加。(而且随着越来越多的数值优化人员对机器学习产生兴趣)