我在这方面是新手,正在尝试一些不同的方法来逃离局部最小值。我使用了随机学习率和动量,但在小部分训练中,它会卡住并且无法学习任何东西(有时在开始时卡住,有时在中间卡住),即使使用了随机的初始权重和偏置。
我在教授XOR时尝试了几种不同的设置,例如:
1)学习速度快,但更容易陷入局部最小值。(总共少于1200次迭代即可学习) 2)学习速度慢,但能更好地避免局部最小值。(总共少于4万次迭代即可学习) 3)学习曲线非常陡峭,大约有50%的几率陷入陷阱(总共少于300次迭代即可学习)
问题: 将多个“学生”投入训练并选择最佳学习者是否值得?还是我们需要专注于单一设置达到100%的成功率?
示例:
3个学生(XOR候选者)并行学习: -第一个学生学习速度快(首先学会,告诉其他人停止以节省循环) -另外两个学生学习速度慢,以提高训练的成功率
回答:
逃离局部最小值的方法有很多。并行学习在过去已被研究过,结果各不相同,但并未达到“全球使用”的程度。一些研究者提出了使用不同参数和/或起始点的重复训练,其他人则尝试使用其他训练算法,如模拟退火,报告了良好的结果。
最新的方法包括所谓的极限学习机,其中神经网络以高度正则化的形式进行学习,并使用Moore-Penrose伪逆找到全局最小值。如果你在工作中遇到局部最小值的问题,我建议你尝试一下,因为这是一种非常新颖、强大且取得了令人惊讶的好结果的模型。
我不太明白你为什么提到XOR问题,据我所知,这个问题没有局部最小值。
我从未听说过有人称机器学习模型为“学生”,这使得问题读起来相当奇怪。有些人使用“学习者”这个词,但“学生”?