首页 > 其他分享 >深度学习-卷积神经网络-dropout-图像增强-优化器-45

深度学习-卷积神经网络-dropout-图像增强-优化器-45

时间:2024-02-24 22:55:38浏览次数:16  
标签:训练 RMSprop 梯度 dropout 45 batch 更新 Adagrad 图像增强

目录

1. dropout

使用 L1 和 L2 正则去限制神经网络连接的 weights 权重
在深度学习中,最流行的正则化技术,它被证明非常成功,即使在顶尖水准的神经网络中也可以带来 1%到 2%的准确度提升,这可能乍听起来不是特别多,但是如果模型已经有了 95%的准确率,获得 2%的准确率提升味着降低错误率大概 40%,即从 5%的错误率降低到 3%的错误率

在每一次训练 step 中,每个神经元,包括输入神经元,但是不包括输出神经元,有一个概率神经元被临时的丢掉,意味着它将被忽视在整个这次训练 step 中,但是有可能下次再被激活。

例比:公司每天投掷硬币只要一半的员工上班,或许带来的公司收入更高?公司或许因为这个被迫调整组织结构,也许员工一人会多个任务,而不是未来受制于一俩个员工的缺席,这里的员工类比到神经元

keep_prob 是保留下来的比例,1-keep_prob 是 dropout rate当训练的时候,把 is_training 设置为 True,测试的时候,设置为 False

2. 数据增强

从现有的数据产生一些新的训练样本,人工增大训练集,这将减少过拟合。
TensorFlow 提供一些图片操作算子,例如 transposing(shifting),rotating,resizing,
flipping,cropping,adjusting brightness(自适应亮度),contrast(对比度),saturation(饱和度),hue

3. 优化器

SGD stochastic gradient descent,即随机梯度下降,
对于训练数据集,我们首先将其分成 n 个 batch,每个 batch 包含 m 个样本。我们每次更新都利用一个 batch 的数据,而非整个训练集。

η为学习率,gt 为 x 在 t 时刻的梯度.
当训练数据太多时,利用整个数据集更新往往时间上不现实。batch 的方法可以减少机器的压力,并且可以更快地收敛.

Momentum
SGD 方法的一个缺点是,其更新方向完全依赖于当前的 batch,因而其更新十分不稳
定。解决这一问题的一个简单的做法便是引入 momentum,
模拟的是物体运动时的惯性,更新的时候在一定程度上保留之前更新的方向,同时利用当前 batch 的梯度微调最终的更新方向,
这样一来,可以在一定程度上增加稳定性,从而学习地更快,并且还有一定摆脱局部最优的能力,

保留一定的上一次的更新量,ρ 即 momentum,表示要在多大程度上保留原来的更新方向,

Adagrad
自适应的调整学习率


Adagrad 会累加之前所有的梯度平方,
对 g_t 从 t 进行一个递推形成一个约束项

ε用来保证分母非 0,
前期 g_t 较小的时候, regularizer 较大,能够放大梯度,
后期 g_t 较大的时候,regularizer 较小,能够约束梯度

Adadelta
Adadelta 是对 Adagrad 的扩展,最初方案依然是对学习率进行自适应约束,但是进行了计算上的简化。Adagrad 会累加之前所有的梯度平方,而 Adadelta 只累加固定大小的项,并且也不直接存储这些项,仅是近似计算对应的平均值,

上一次和本次的g_t**2根据权重v取一个平均
特点:
训练初中期,加速效果不错,很快
训练后期,反复在局部最小值附近抖动

RMSprop



特点:
其实 RMSprop 依然依赖于全局学习率
RMSprop 算是 Adagrad 的一种发展,和 Adadelta 的变体,效果趋于二者之间
适合处理非平稳目标- 对于 RNN 效果很好

Adam

Adam(Adaptive Moment Estimation)本质上是带有动量项的 RMSprop

特点
结合了 Adagrad 善于处理稀疏梯度和 RMSprop 善于处理非平稳目标的优点
对内存需求较小
为不同的参数计算不同的自适应学习率
也适用于大多非凸优化- 适用于大数据集和高维空间

标签:训练,RMSprop,梯度,dropout,45,batch,更新,Adagrad,图像增强
From: https://www.cnblogs.com/cavalier-chen/p/18031773

相关文章

  • P4569 [BJWC2011] 禁忌 题解
    题目传送门前置知识AC自动机|矩阵加速递推解法对于一段固定的文本串,由于重叠的模式串不对伤害产生贡献,故考虑贪心,每碰到出现一个模式串将其分为一段,最终这个文本串的伤害就是划分次数。类似luoguP3193[HNOI2008]GT考试,令\(f_{i,j}\)表示前\(i\)个字符,当前运行到......
  • FMC子卡设计资料原理图450-基于ADRV9009的双收双发射频FMC子卡 数字信号处理卡 射频收
    FMCJ450-基于ADRV9009的双收双发射频FMC子卡   一、板卡概述       ADRV9009是一款高集成度射频(RF)、捷变收发器,提供双通道发射器和接收器、集成式频率合成器以及数字信号处理功能。这款IC具备多样化的高性能和低功耗组合,FMC子卡为2路输入,2路输......
  • CF1845F Swimmers in the Pool 题解
    思路考虑两个人什么时候会相遇。根据小学的相遇追及问题,两人会相遇的条件为:\[2\timesk\timesl=t\times(v1+v2)\]\[2\timesk\timesl=t\times(v1-v2)\]那么对于一个速度\(v\)。它可一相遇的次数即为:\[\frac{t\timesv}{2\timesl}\]当然,这样有可能会算重,也就是在相同......
  • Go 100 mistakes - #45: Returning a nil receiver
        We’veseeninthissectionthatinGo,havinganilreceiverisallowed,andaninterfaceconvertedfromanilpointerisn’tanilinterface.Forthatreason,whenwehave toreturnaninterface,weshouldreturnnotanilpointerbuta......
  • P4555 [国家集训队] 最长双回文串
    题目链接:https://www.luogu.com.cn/problem/P4555题解:要找一个由两个回文组成字符串,一定有一个分割的位置,将两个回文串分开,设分割x,x+1,可能成为最后答案的值一定是左边的最长回文串和右边的最长的回文串长度之和。   回文中心一个<x,一个>x+1且一定包含x和x+1。如果最......
  • 2045:【例5.13】蛇形填数
    1#include<bits/stdc++.h>2usingnamespacestd;3intmain(){4intn;5cin>>n;6inta[n][n],i=0,j=n-1,t=1;7memset(a,0,sizeof(a));8a[i][j]=1;9while(t!=n*n){10while(a[i+1][j]==0&&i+1&l......
  • AT7456E一颗集成EEPROM的单通道单色随屏显示器芯片
    AT7456E是一款集成了EEPROM的单通道、单色随屏显示发生器,集成了视频驱动器、同步分离器、视频分离开关以及EEPROM,提高了系统的集成度,有效降低了系统成本。优势1.采用符合NTSC和PAL制式的512个用户可编程字符,适合于全球市场。2.能够方便地以任意字符、尺寸显示各种信息,......
  • 算法学习笔记(45): 快速沃尔什变换 FWT
    遗憾的是math里面一直没有很好的讲这个东西……所以这次细致说说。FWT的本质类似于多项式卷积中,利用ntt变换使得卷积\(\to\)点乘,fwt也是类似的应用。定义某种位运算\(\oplus\),那么fwt处理的位运算卷积形如:\[H=F*G\impliesH_k=\sum_{i\oplusj=k}F_iG_......
  • 代码随想录算法训练营第二十二天|235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树
    二叉搜索树的最近公共祖先 题目链接:235.二叉搜索树的最近公共祖先-力扣(LeetCode)思路:只要利用二叉搜索树特性,只要当前节点的值位于要求的两个节点之间,就必定是我们要找的节点。最简单的一集。classSolution{public:TreeNode*lowestCommonAncestor(TreeNode*root,......
  • 2045:【例5.13】蛇形填数
    #include<iostream>usingnamespacestd;intmain(){ intn; cin>>n; intb=1,i=0,j=n-1,a[n][n]; for(inti=0;i<n;i++){ for(intj=0;j<n;j++){ a[i][j]=0; } } a[i][j]=1; while(b<n*n){ while(a[i+1][j]==0&&i+1<n){......