神经网络的即时可重复性问题?

在使用反向传播变体(如弹性反向传播)的前馈神经网络中,由于权重的随机初始化,初始位置位于误差图上的某个随机山谷中,这个山谷可能是也可能不是局部最小值。虽然有方法可以克服局部最小值,但如果这些方法没有被使用(或者在给定的地形上效果不佳),那么神经网络似乎就无法立即重复。也就是说,其中涉及到一些运气的成分。

在一个有100万个山谷且只有一个全局最小值的图表上,要找到那个唯一的全局最小值,最多需要进行100万次不重复的权重初始化(假设每次初始化都落在完全不同的山谷中)。因此,如果我偶然发现了一个全局最小值的收敛点(解决方案),但不小心丢失了权重(数据损坏或其他原因),我可能无法再次找到这个收敛点。考虑到这一点,我是否应该在同一数据集上同时运行多个神经网络,然后一旦达到我期望的误差率就停止并保存网络?我知道同时运行多个网络是一种常见的做法,但这似乎使得这种半强力技术成为必需的。


回答:

正确

你确实需要将这些计算出的权重存储在安全的地方。考虑到搜索景观的难度,你无法保证再次发现同样的(可能)最优解。

多次重启

使用随机重启并跟踪当前最佳解决方案是非常常见的做法。

关于神经网络学习的文献

请参阅这本优秀的书籍摘录:系统性介绍

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注