用深度学习每次得到的结果都不一样,怎么办?

  1. 云栖社区>
  2. 雷锋网>
  3. 博客>
  4. 正文

用深度学习每次得到的结果都不一样,怎么办?

玄学酱 2017-08-03 14:01:00 浏览1606
展开阅读全文

神经网络算法利用了随机性,比如初始化随机权重,因此用同样的数据训练同一个网络会得到不同的结果。

初学者可能会有些懵圈,因为算法表现得不太稳定。但实际上它们就是这么设计的。随机初始化可以让网络通过学习,得到一个所学函数的很好的近似。

然而, 有时候用同样的数据训练同一个网络,你需要每次都得到完全相同的结果。例如在教学和产品上。

在这个教程中,你会学到怎样设置随机数生成器,才能每次用同样的数据训练同一网络时,都能得到同样的结果。

我们开始。

教程概览

这个教程分为六部分:

  1. 为啥我每次得到的结果都不一样?

  2. 不同结果的演示

  3. 解决方法

  4. 用Theano 后端设置随机数种子

  5. 用TensorFlow 后端设置随机数种子

  6. 得到的结果还是不同,咋办?

运行环境

  • 该教程需要你安装了Python SciPy。你能用Python2或3来演示这个例子

  • 需要你安装Keras (v2.0.3

网友评论

登录后评论
0/500
评论
玄学酱
+ 关注
所属云栖号: 雷锋网