网络训练

1.1 网络运算的基本过程

神经网络的参数更新方法是基于一阶导数的梯度下降方法,网络的运算包含两个交替进行的步骤:数据的前向运算和误差的反向传播。在前向运算中,输入数据经过网络逐层变换,形成神经网络的预测值。网络的预测值和数据的真值(称为标签)进行比对,通过损失函数来刻画预测值与真值的误差。在后向运算中,损失函数对网络参数求梯度并逐层反传,各层连接权依靠反传梯度进行更新。

1.2 mini-batch梯度下降

1.3 带有动量的梯度下降

当参数点落入“山谷” ,即在某一方向比另外方向更加陡峭时,梯度下降法往往不能有效进行。参数会沿着地势更加陡峭的方向反复震荡,而在地势相对平缓的区域下降缓慢。这种情况常常出现在接近局部最优点的情况下。图2-16通过等高线展示了参数点在遇到山谷地形时的优化特点,可以看到,参数点震荡的方向几乎正交于局部最优的方向,这样的迭代无疑是非常低效的。 为了改善这种

1.4 自适应学习率的梯度下降

梯度下降的另一个主要问题是学习率的调整问题。学习率控制了梯度下降时每一步更新的步长,过大的学习率会导致收敛效果较差,参数点在最优点附近来回震荡。而过小的学习率会带来训练缓慢,容易陷入局部最优点的问题。通常,我们希望在训练一开始能够使用较大的学习率,促进网络快速收敛。而在训练的中后期使用较小的学习率,保证收敛效果。同时,我们希望对参数集θ中的不同参数,能够提供自适应的学习率。常见的自适应学习率梯度下降方法包括Adagrad [27] ,Adadelta [68] ,RMSprop À ,Adam [28] 等。其中,Adagrad对不同的参数设置不同的学习率,参数更新约频繁,其学习率越小,因此特别适合于稀疏数据。Adadelta、RMSprop和Adam均是对Adagrad的扩展,主要解决了Adagrad中学习率随训练的进行逐步减少,不可逆转的缺点.

1.5 目标函数

目标函数通常还会增加额外的正则项以对网络参数进行正则,这点在后面将会介绍。

1.6 网络参数初始化

适当的初始化策略能够帮助网络训练的更快、更深。尽管BatchNormalization的出现大大降低了网络对初始参数的敏感度,但适当的初始化策略对网络训练仍然极有帮助。权重的初始化的基本准则是,不能把所有的权重设为同样的值,因为如果权重值全部相同,则一层中所有神经元都会产生相同的输出,并获得相同的梯度,不管经过多少次训练,最后所得到的权重值仍然会相同。典型的初始化方法包括从均匀分布中生成初始参数,从正态分布中生成参数等。

简单的随机初始化往往效果较差,事实上,可以通过理论分析为不同的激活函数推导出适当的初始化方法。在假设网络内部只有线性变换的条件下(尽管该条件并不满足),通过假设网络前向产生的各层输出与后向运算产生的各层反传梯度方差均保持不变,推导出了权重应服从的均匀分布的上下边界,这种推导基于的是0均值激活函数Tanh。感兴趣的可以了解适合ReLU和PReLU激活函数的初始化方案。

1.7 迁移学习

迁移学习的基本原理根植于深度学习分层特征抽取的特点上。以图像处理为例,卷积神经网络的底层通常被认为用以提取如边缘、角点等底层特征,而高层用于提取更抽象更具有语义信息的特征。需要提取的高层特征根据具体任务的不同而有所不同,但底层和中层特征却具有较好的通用性。迁移学习的基本思想是进行网络权重的复用,通过将一个已经成熟训练的网络的一部分进行截断和微调,达到复用成熟网络以适应新问题的目的。通常迁移学习包含三个主要步骤,第一步是截取适当网络,截取的层数根据当前任务与模型原始任务的差异而确定,二者任务越相似,则可以保留越多的网络层。第二步是在截断网络后补充若干层适应于当前任务的网络,形成整体模型。第三步是进行微调,首先冻结截取到的网络的权重,仅仅更新新加入的网络层的权重,当训练到一定程度后,解封所有权重进行模型整体微调。迁移学习的一般过程示意图展示如图2-17,图中绿色矩形所代表的网络层是得到训练的层,而橙色矩形代表的网络层是权重被冻结的层。有时我们也可以略去第二步,直接对全模型进行微调。深度学习是一门工程性很强的学科,网络的训练和调参,尤其是在大型数据集上的训练,十分考验研究人员的工程能力,因此性能

出色的模型往往是学界和工业界的宝贵资源。迁移学习的出现大大加强了对预训练权重的利用能力。

1.8 处理样本不均衡问题

样本分布不均衡问题指的是在分类等问题中,各个类别的样本数目相差较大。不均衡的训练集对模型的学习有负面影响,模型将偏向于样本数量占优的类别。在极端情况下,少数样本的类别可能会被当作数据的离群点而被忽略。处理样本不均衡的主要手段包括对多数样本进行欠采样,对少数样本进行重采样,配置类别权重,或生成少数样本等多种手段。

网络训练 (总结5)相关推荐

  1. Wide Deep的OneFlow网络训练

    Wide & Deep的OneFlow网络训练 HugeCTR是英伟达提供的一种高效的GPU框架,专为点击率(CTR)估计训练而设计. OneFlow对标HugeCTR搭建了Wide & ...

  2. 二值网络训练--A Empirical Study of Binary Neural Networks' Optimisation

    A Empirical Study of Binary Neural Networks' Optimisation ICLR2019 https://github.com/mi-lad/studyin ...

  3. 【深度学习】快照集成等网络训练优化算法系列

    [深度学习]快照集成等网络训练优化算法系列 文章目录 1 什么是快照集成? 2 什么是余弦退火学习率? 3 权重空间中的解决方案 4 局部与全局最优解 5 特别数据增强 6 机器学习中解决数据不平衡问 ...

  4. 图像识别python cnn_MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(一)...

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 全连接神经网络是深度学习的基础,理解它就可以掌握深度学习的核心概念:前向传播.反向误差传递.权重.学习 ...

  5. DL之AlexNet:AlexNet算法的架构详解、损失函数、网络训练和学习之详细攻略

    DL之AlexNet:AlexNet算法的架构详解.损失函数.网络训练和学习之详细攻略 相关文章 Dataset:数据集集合(CV方向数据集)--常见的计算机视觉图像数据集大集合(建议收藏,持续更新) ...

  6. 如何绘制caffe网络训练曲线

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51774966 当我们设计好网络结构后, ...

  7. MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(三)...

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 在前两篇文章MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网 ...

  8. [深度学习-实践]Tensorflow 2.x应用ResNet SeNet网络训练cifar10数据集的模型在测试集上准确率 86%-87%,含完整代码

    环境 tensorflow 2.1 最好用GPU Cifar10数据集 CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题.任务的目标对一组32x32 RGB的图像进行分类,这个数据集涵 ...

  9. 设置随机种子之后,网络训练结果仍然不同的解决方法(针对随机采样的数据集)torch设置随机种子,num_worker对数据采样的影响。

    网络训练结果无法复现 设置随机种子 应该为torch, numpy,以及Python设置随机种子,并提高torch卷积精度. def set_seed(seed):random.seed(seed)n ...

  10. Faster-Rcnn 网络训练医学乳腺DDSM图像不能预测到定位框问题及其训练问题

    在faster-rcnn 网络训练中,不同的数据集所带来的问题是不同的,首先明确医学数据集以及常见的RGB数据的区别: 1.医学数据集是超分辨率数据集(DDSM), 其长宽值较高, 而常用的RGB图像 ...

最新文章

  1. 从官网下载的python包如何使用-如何使用Python从需要登录信息的网站下载文件?...
  2. hdu1799 循环多少次?(组合递推公式的使用)
  3. java模拟数据库压测_写并发压测 java 脚本你必须会的 3 个类
  4. 初始化方法中非方阵的维度平均策略思考
  5. hive cli启动判断hadoop version的问题
  6. python3知识点汇总_35个高级Python知识点总结
  7. dw中html颜色的设置颜色代码,Dreamweaver 如何编辑字体大小颜色
  8. 036、JVM实战总结:糟糕!运行着的线上系统突然卡死无法访问,万恶的JVM GC!
  9. tensorflow代码中的一个bug
  10. list numpy array tensor转换
  11. 记一次DNS运维排错
  12. 2.TCP/IP 详解卷1 --- 链路层
  13. 手机app测试用例考虑测试点
  14. 【电子发票】电子发票OFD如何打开?OFD版式阅读器
  15. typecho插件编写教程6 - 调用接口
  16. 【论文写作】投稿心路
  17. Shopee卖家如何布局产品合理定价,新手必知的定价策略
  18. IIS:CS0016: 未能写入输出文件
  19. Windows XP 电脑桌面图标后面有蓝色阴影怎么去除
  20. 微信 日志服务器 并发大,微信高性能线上日志系统xlog剖析

热门文章

  1. 用Java swing写的一个音乐播放器的个性化界面实现作业(只有界面!)
  2. 如何无需开发集成易快报、招行CBS等第三方应用
  3. 监听通知栏内容,获取通知栏消息,安卓原生SDK扩展
  4. 六大原则之迪米特法则
  5. HDU - 2859 Phalanx (DP)
  6. S7-1200添加CALCULATE 指令
  7. 学生信息管理系统之 查询学籍信息流程
  8. 大数据时代的Serverless工作负载预测赛后总结
  9. 大一就开始参加电赛?看学长是咋学的!
  10. 计算机组成原理实验箱教程,计算机组成原理实验箱的技术参数和性能指标