首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用混合神经网络

使用混合神经网络
EN

Stack Overflow用户
提问于 2014-07-13 05:49:19
回答 1查看 249关注 0票数 1

当达到局部最小值时,将模拟退火与前馈神经网络结合使用,与简单地重置权重(并将隐藏层放置在一个新的误差谷)有何不同?将模拟退火作为一种更系统的权值移动方法,以求全局最小值,因此每次验证误差相对于训练误差增加时,只执行一次迭代。在错误函数中缓慢移动当前位置?在这种情况下,模拟退火与前馈网络无关,前馈网络依赖于模拟退火输出。如果没有,并且模拟退火直接依赖于FFNN的结果,我不知道模拟退火训练器将如何从如何更新自己的权重(如果这是有意义的话)方面接收到这些信息。其中一个例子提到了一个循环(多次迭代),这不符合我的第一个假设。

我看过不同的exmaples,其中使用了network.fromArray()和network.toArray(),但我只看到了network.encodeToArray()和network.decodeFromArray()。从一种网络向另一种网络传递权重的最新方法(v3.2)是什么?使用遗传算法等也是一样的吗?

EN

回答 1

Stack Overflow用户

发布于 2014-08-23 22:05:41

对模拟退火等神经网络训练算法进行了本质上的搜索。神经网络的权值本质上是矢量坐标,它指定高维空间中的位置。

考虑爬山,可能是最简单的训练算法。你调整一个重量,从而在一维移动,看看它是否提高了你的分数。如果分数提高了,那么很好,留在那里,并尝试一个不同的维度下一次迭代。如果你的分数没有提高,退一次试一次不同的维度。想象一下,一个人看到他们能一步一步到达的每一个点,并选择最能提高他们海拔的一步。如果没有任何一步能提高海拔(你站在山谷的中央),那么你就卡住了。这是当地的最低要求。

模拟退火增加了爬山的一个关键成分.我们可能会搬到一个较小的地方,一个更糟的地方。(而不是贪婪的)我们移动到较小位置的概率取决于温度的下降。

如果您查看NeuralSimulatedAnnealing类的内部,就会看到对NetworkCODEC.NetworkToArray()和NetworkCODEC.ArrayToNetwork()的调用。这就是直接更新权重向量的方法。

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

https://stackoverflow.com/questions/24719936

复制
相关文章

相似问题

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