首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >神经计算-无反向传播训练MLP

神经计算-无反向传播训练MLP
EN

Stack Overflow用户
提问于 2013-03-21 21:01:06
回答 4查看 1.2K关注 0票数 0

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

EN

回答 4

Stack Overflow用户

发布于 2013-03-21 23:11:27

代码语言:javascript
复制
can you train an MLP without back-propagation to fit a function?

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

示例包括

  • Genetic Algorithms
  • Simulated Annealing
  • Particle Swarm Optimization
  • ...
票数 2
EN

Stack Overflow用户

发布于 2013-03-21 21:15:39

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

然而,还有许多其他机器学习算法,它们使用不同的代价函数或体系结构,例如Particle Swarm OptimisationEvolutionary optimisation

票数 0
EN

Stack Overflow用户

发布于 2013-03-22 05:00:29

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

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

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

让我告诉你一件事。sin函数是一个特别有趣的例子,有时它需要一段时间才能收敛。然而,它可以通过组合backpropagation+gradient下降来训练。我很久以前就这么做了。你必须确保你的隐藏层有足够的神经元(如果你在0,2pi的间隔内训练NN,通常需要有5个具有激活函数tanh的神经元)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15548329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档