神经网络,逃避局部最小值的技术

我在这方面是新手,正在尝试一些不同的方法来逃离局部最小值。我使用了随机学习率和动量,但在小部分训练中,它会卡住并且无法学习任何东西(有时在开始时卡住,有时在中间卡住),即使使用了随机的初始权重和偏置。

我在教授XOR时尝试了几种不同的设置,例如:

 1)学习速度快,但更容易陷入局部最小值。(总共少于1200次迭代即可学习) 2)学习速度慢,但能更好地避免局部最小值。(总共少于4万次迭代即可学习) 3)学习曲线非常陡峭,大约有50%的几率陷入陷阱(总共少于300次迭代即可学习)

问题: 将多个“学生”投入训练并选择最佳学习者是否值得?还是我们需要专注于单一设置达到100%的成功率?

示例:

 3个学生(XOR候选者)并行学习: -第一个学生学习速度快(首先学会,告诉其他人停止以节省循环) -另外两个学生学习速度慢,以提高训练的成功率

回答:

逃离局部最小值的方法有很多。并行学习在过去已被研究过,结果各不相同,但并未达到“全球使用”的程度。一些研究者提出了使用不同参数和/或起始点的重复训练,其他人则尝试使用其他训练算法,如模拟退火,报告了良好的结果。

最新的方法包括所谓的极限学习机,其中神经网络以高度正则化的形式进行学习,并使用Moore-Penrose伪逆找到全局最小值。如果你在工作中遇到局部最小值的问题,我建议你尝试一下,因为这是一种非常新颖、强大且取得了令人惊讶的好结果的模型。

我不太明白你为什么提到XOR问题,据我所知,这个问题没有局部最小值

我从未听说过有人称机器学习模型为“学生”,这使得问题读起来相当奇怪。有些人使用“学习者”这个词,但“学生”?

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中创建了一个多类分类项目。该项目可以对…

发表回复

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