神经网络通常使用基于梯度的学习算法进行训练,例如反向传播算法或其一些变体,但您可以使用全局优化算法,例如遗传算法、Nelder-Mead 多面体算法和粒子群优化算法来训练网络?
由于训练神经网络归结为最小化多变量成本函数,我认为使用全局优化方法应该很容易做到这一点,但我自己尝试过,但我得到了非常糟糕的结果.
GA 算法将我的成本函数从大约 250(当它输入随机突触权重时)减少到仅大约 170。Nelder-Mead 算法显然需要数年时间,我还没有尝试过 PSO,因为没有内置的 MATLAB 函数为了它。
那么,基于梯度的算法最适合训练神经网络是不是就被接受了?如果是这样,有人可以向我指出此信息的来源吗?这将非常有帮助,因为我可以参考项目中的源代码来解释为什么我放弃尝试使用全局优化方法来训练网络。
谢谢!