0

我是神经计算的新手,可以理解反向传播的概念。我的问题是,你能在没有反向传播的情况下训练 MLP 来拟合函数吗?说,我需要拟合一个正弦函数。在不使用反向传播分配权重的情况下如何做到这一点?

4

4 回答 4

2
can you train an MLP without back-propagation to fit a function?

是的。反向传播是一种寻找神经元权重的优化算法。您可以使用任意数量的不同算法来找到这些权重,从而训练您的神经网络。

例子包括

于 2013-03-21T15:11:26.797 回答
0

有一个训练神经网络的最佳选择,它是粒子群优化,因为 pso 提供全局最佳值,并且与其他算法相比,它的空间复杂度最好。有很多研究论文,你可以搜索并与BP算法进行比较。

于 2014-09-25T21:44:22.153 回答
0

我不相信它们是在没有反向传播(维基百科)的情况下训练 MLP 的常用方法,它只是一种应用于权重的直接梯度方法。有一些修改使用例如动量项,或者在不同点进行训练。

但是,还有许多其他机器学习算法,它们使用不同的成本函数或架构,例如粒子群优化进化优化

于 2013-03-21T13:15:39.393 回答
0

使用反向传播训练神经网络的想法特别有趣,因为它允许您更新中间权重,而无需这些权重的直接输出。所以这是一个有用的想法!大多数时候,人们将反向传播算法与梯度下降算法结合起来。但是,梯度下降算法有时很慢,但您可以用另一种“聪明”算法(例如 levenberg-marquardt 或扩展卡尔曼滤波器)替换梯度下降算法(仅使用误差导数的信息)......有其中很多。在这些情况下,您仍在使用反向传播算法和另一种优化算法。

有时,神经网络的收敛问题不是由于优化算法质量不好,而是由于初始化,“起始权重”。有大量文献可以帮助您如何“巧妙地”初始化神经网络的权重。

正如您所问的并且@Atilla_Ozgur 得到了适当的回答,您可以使用其他算法来处理这个问题。例如,您可以创建一组神经网络,并尝试使用一种遗传算法通过变异和复制等操作来选择最佳网络。

让我告诉你一些事情。sin 函数是一个特别有趣的例子,有时它需要一段时间才能收敛。然而,它可以通过组合反向传播+梯度下降来训练。我很久以前做过这个。您必须确保隐藏层中有足够的神经元(如果您在 [0,2pi] 区间内训练 NN,通常需要 5 个具有激活函数 tanh 的神经元)。

于 2013-03-21T21:00:28.810 回答