本着实事求是的态度总没有错。我们的目标就是用网络模型做出更好的预测效果,所以能实现这个目标的方法都是好方法。

以下列举了一些迭代次数判断的方法:

01 当loss值收敛时结束迭代

深度学习的一个关键原理就是比较学习结果和样本标签之间的差距。理论上差距越小,表明学习的效果越好。这个差距就是loss值。

Loss值不可能变为0,只能无限逼近0。所以通过脚趾都能想到,当loss值无法变小的时候,这称为收敛,就是学习结束之时。

02 使用验证集来检验训练成果

深度学习常常会遇到一个问题——过拟合。训练的时候学习效果很好,但是拿到其它地方测试发现效果就不行了。

就是说,并不一定是学习效果最好的时候才停止。那如何来判断停止的时机呢?

有学者提出了验证集。

就是说,把训练集分为2部分,比如70%用来训练,30%用来验证。就像下面的代码。

X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.33, random_state=seed)

然后在训练时加入验证的参数,就像这样:

autoencoder.fit(train_data, train_data,

epochs=50,

batch_size=128,

shuffle=True,

validation_data=(noisy_imgs, data_test)

)

然后就是观察验证曲线,什么时候验证的loss值最小,就选那一次的训练模型进行测试应用。

03 使用测试集来检验训练成果

随着研究的广泛开展和对学习效果的极致追求,我们渐渐发现了一个问题——有时候从验证曲线看到的最优值并不是真实预测过程的最好效果。比如这种情况:对大尺度数据进行深度学习去噪。

最优方法是通过测试效果来决定迭代的次数。

首先,在训练代码中增加回调函数,如MyCallback():

autoencoder.fit(train_data, train_data,

epochs=50,

batch_size=128,

shuffle=True,

validation_data=(noisy_imgs,data_test),

callbacks=[TensorBoard(log_dir='tmp/autoencoder'),MyCallback()])

然后,自己在回调函数中写测试效果的代码,比如以PSNR来检验预测效果。

class MyCallback(Callback):

def on_epoch_end(self, epoch, logs={}):

reconstructed = autoencoder.predict(noisy_imgs)

。。。。。。

然后观察测试的曲线来决定迭代的次数。

如果喜欢请点赞,或关注我交流。

当对这样的小块进行50次训练后,曲线是这样的(上为训练loss,下为验证loss):

那第15次迭代的网络模型用来做真实数据的预测效果是这样的:

接下来,我们要写测试代码。

首先,在训练代码中增加回调函数,如MyCallback():

autoencoder.fit(train_data, train_data,

epochs=50,

batch_size=128,

shuffle=True,

validation_data=(noisy_imgs,data_test),

callbacks=[TensorBoard(log_dir='tmp/autoencoder'),MyCallback()])

然后,自己在回调函数中写测试效果的代码,比如以PSNR来检验预测效果。

class MyCallback(Callback):

def on_epoch_end(self, epoch, logs={}):

reconstructed = autoencoder.predict(noisy_imgs)

。。。。。。

这样在训练50次后,可以看到测试的曲线是这样的(PSNR值越大越好):

这样看来,学习迭代5次就足够了。效果是这样的:

怎么看神经网络过早收敛_深度学习训练网络中,test loss比training loss早很多收敛,迭代次数要怎么取?...相关推荐

  1. 深度学习深度前馈网络_深度学习前馈网络中的讲义第4部分

    深度学习深度前馈网络 FAU深度学习讲义 (FAU Lecture Notes in Deep Learning) These are the lecture notes for FAU's YouT ...

  2. 深度学习深度前馈网络_深度学习前馈网络中的讲义第1部分

    深度学习深度前馈网络 FAU深度学习讲义 (FAU Lecture Notes in Deep Learning) These are the lecture notes for FAU's YouT ...

  3. Python - 深度学习训练过程使用matplotlib.pyplot实时动态显示loss和acc曲线

    1 深度学习训练过程中实时动态显示loss和acc曲线 可参考代码如下: # -*- coding: utf-8 -*-import matplotlib.pyplot as pltif __name ...

  4. bp 神经网络 优点 不足_深度学习之BP神经网络--Stata和R同步实现(附Stata数据和代码)

    说明:本文原发于"计量经济圈"公众号,在此仅展示Stata的部分.R部分请移步至本人主页的"R语言与机器学习--经济学视角"专栏,或点击下方链接卡跳转. 盲区行 ...

  5. 神经网络算法未来_“深度学习三巨头”来了俩,Hinton、LeCun预言深度学习的未来...

    当地时间 6 月 23 日,今年的 ACM 图灵奖得主."深度学习三巨头"中的 Geoffrey Hinton.Yann LeCun 在 ACM FCRC 2019上发表演讲,分享 ...

  6. 华南理工深度学习与神经网络期末考试_深度学习基础:单层神经网络之线性回归...

    3.1 线性回归 线性回归输出是一个连续值,因此适用于回归问题.回归问题在实际中很常见,如预测房屋价格.气温.销售额等连续值的问题.与回归问题不同,分类问题中模型的最终输出是一个离散值.我们所说的图像 ...

  7. 训练深度学习_深度学习训练tricks整理1

    深度学习训练tricks整理1 环境:pytorch1.4.0 + Ubuntu16.04 参考: 数据增强策略(一)​mp.weixin.qq.com https://zhuanlan.zhihu. ...

  8. 读取图像矩阵维度必须一致_深度学习在放射治疗中的应用——工具篇(二)矩阵基本操作...

    我们在这期继续为大家介绍Matlab中关于图像的一些基本概念与操作.上期我们简单介绍了矩阵的生成方式,这里详细说明矩阵的基本定义.首先矩阵大小可以用"size"函数查看,其中返回结 ...

  9. 神经网络 异或_深度学习入门笔记(2)线性神经网络

    在上一篇笔记中我们一起学习了单层感知器的原理,但针对于异或问题.我们的单层神经网络就束手无策了 *异或运算: 0 0 输出为0,0 1输出为1, 1 0输出为 1, 1 1输出为 0 即,针对以下四个 ...

  10. 华南理工深度学习与神经网络期末考试_深度学习算法地图

    原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的. 其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习-原理.算法与应用>,清华大学出版社,雷明 ...

最新文章

  1. Grid_Oracle Grid Infrastructure概念介绍(概念)
  2. 单纯形法只有两个约束条件_10分钟掌握对偶单纯形法
  3. 向一个有N个元素的顺序表中插入一个元素,平均要移动的次数为多少
  4. 流式细胞术及常见问题分析
  5. 腾讯offer-众里寻他千百度
  6. oracle yyyy和yy,Oracle PL / SQL:SYSDATE与’DD-MMM-YY’的区别?
  7. c语言二叉树构造与输出,C语言数据结构树状输出二叉树,谁能给详细的解释一下...
  8. unix文件描述符——socket
  9. wxWidgets第三课 MSWWindowProc处理窗口消息
  10. DropBox:机器学习每年可以为我们节省170万的文档预览费用
  11. ios的延迟执行方法
  12. 文献笔记(5)(2017ISSCC 14.1)
  13. 二氧化硅微球包埋羧甲基壳聚糖稀土镧离子/二氧化钛和十六烷基胺/草莓形PVAc/SiO2纳米复合微球性能
  14. R语言基础 期中考试
  15. 【2022-03-23】JS逆向之爱奇艺滑块
  16. uniapp微信小程序使用自定义字体和外部字体
  17. PTA-C理论B类题库6-3使用函数求最大公约数(辗转相除法的实现)
  18. Python金融领域人工智能教程
  19. java毕业设计二手交易系统Mybatis+系统+数据库+调试部署
  20. mmap在嵌入式中的应用

热门文章

  1. 分享md5解密站源代码,简单的代码就可以实现md5解密
  2. (HTML+CSS+JS)仿小米官网首页 含源码
  3. 使用压缩包安装mysql
  4. bzoj4134 ljw和lzr的hack比赛 trie树合并
  5. php打开EXCEL过慢,打开excel很慢,编辑某个工作表很卡
  6. MIT线性代数笔记十四讲 正交向量与正交子空间
  7. virtualbox安装mac os x雪豹
  8. 计算机网络学习笔记一
  9. 从六爻分析淘宝的发展
  10. 基于天地图的应用服务系统设计开发—以甘肃高校招生服务为例