神经网络的结果保存

年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。

最近十多年来,人工神经网络的研究工作不断深入,已经取得了很大的进展,其在模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。

人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统。它是在现代神经科学研究成果的基础上提出的,试图通过

其实这个问题本质就是,如果我们使用机器学习算法在数据集上训练一次数据模型,保存模型,然后使用相同的算法和相同的数据集和数据排序再次训练它,第一个模型是否与第二个模型相同?

这可能是因为在神经网络使用增益或权重的随机值进行初始化,然后在训练阶段每个模拟都有不同的起点。 如果想要始终保持相同的初始权重,可尝试为初始权重固定种子,即可消除该问题。

如果我们深入研究这个问题,我们可以从它们的“确定性”对ML算法进行分类,当从同一数据集训练时:

  • 一类是始终产生相同模型,并且记录以相同顺序呈现;

  • 二类是始终产生不一样模型,并且记录顺序不同。

在实际情况中,一般情况下是“不确定性”居多,产生模型变化的原因可能是在机器学习算法本身中可能存在随机游走,权重随机初始化不同,或概率分布的采样以分配优化函数的分量不同。

虽然模型“不确定性”可能对单次训练结果造成干扰,但我们也可以利用该“不确定性”来确认模型的稳定性,例如决策树、支持向量机(SVM)、神经网络等,可通过多次迭代来最终确认模型的稳定性。




超参数动了吗,如果参数完全一样。这是不可能的。




神经网络训练,说白了,就是随机蒙。

蒙出来一堆参数,刚好对上了数据。

但是,这堆参数对很准,

对将来不一定准。因为这堆数据不是唯一。

仅仅可能是几亿种数据集合的一个罢了。




weight在初始化的时候会随机生成,这就造成梯度搜索的时候会产生不同的推演过程,这种情况下如果排除优化器的问题,主要原因是由于数据量不够,如果希望产生可重现的结果,那么可以用seed产生随机种子,保证每次使用的随机数是一样的,并且使用单线程训练,但是这样可能会引起泛化效果不好,也就是说其实是过拟合的!




初始权重随机,dropout随机,你还想每次结果一致,说明基本的东西都不清楚,还是先看看原理吧




神经网络,其实就是一个高级差值软件,是对变量与自变量组的关系的差值。对本质的研究还是要分析科学规律,而不是差值。热力学领域,还是利用热力学第二定律分析可靠。




一是算法模型,二是数据源。如果是科研数据,曲线会相对平滑。如果是商业数据,金融数据,那有可能就是跳动的心脏




不用怎么分析了,就一个原因,训练的数据集太少了。




第一个问题:每次训练结果不同,这要看要求解的问题,如果该问题输入与输出之间有明确的唯一的解析关系,如y=sinx,那么,只要网络模型复杂度够,训练过程没有错误,训练代数或精度够,那么结果应该是一致的,不应该差太大;如果输入输出之间没有明确的解析关系,那么结果可能会有差异,这来源于两个随机:一是随机初始化,这样避免结果受初始值的影响;二是迭代过程中,为了避免陷入局部极值,能找到最优解,往往要加上随机扰动。这样的话结果可能不一样。

对第二个问题:准确率由于随机数的存在会不一样,但是如果差别太大,那么一要看网络模型和训练算法是否合适,二要检查数据集中是否坏点,即有某一数据中有突变或者某些数据明显跟其它数据不能分到一类的情况。




因为初始权重是随机的,抓去批次也是随机的,所以结果也是随机的

我要回帖

更多关于 深度神经网络有哪些 的文章

 

随机推荐