小数据集训练深度网络的小技巧

使用小数据集训练卷积神经网络时最大的缺点就是很容易导致过拟合问题。因此在这种情况下,常常会采用面几种方法:

1.per-training:微调对于没有足够训练样本时初始化深度网络参数的一个有效的方法,一般都会选取与之具有相似结构的网络模型训练结果进行微调。

2.data augmentation:使用data augmentation通过一些操作许多产生不同的训练样本防止严重的过拟合情况。这些操作包括如下几种:

2.1图像几何变换

这其中包括:

旋转 | 反射变换(Rotation/reflection): 随机旋转图像一定角度; 改变图像内容的朝向;

翻转变换(flip): 沿着水平或者垂直方向翻转图像;像做表情识别的时候,常会对表情图像做水平翻转

平移变换(shift): 在图像平面上对图像以一定方式进行平移;
可以采用随机或人为定义的方式指定平移范围和平移步长, 沿水平或竖直方向进行平移. 改变图像内容的位置;

尺度变换(scale): 对图像按照指定的尺度因子, 进行放大或缩小;

2.2角点cropping:这个具体操作其实我也不是很清楚,大致的操作就是:theextracted regions are only selected from the corners or the center of the imageto avoid implicitly focusing on the center area of an image

2.3随机(cropping)(尺度jittering):在训练的时候,对于256*256的图像。对宽度和高度进行随机cropping,随机的取值为224,192,168.最后将这些随机cropping的图像归一化带224*224.这样就可以获得多个不同尺度的训练样本。这种方法在这篇论文中有详细的讲过《ImageNetClassification with Deep Convolutional Neural Networks》

2.4噪声扰动(noise):对图像的像素值进行随机扰动,常用的噪声模式有高斯噪声和椒盐噪声。

3.regularization :数据量比较小会导致模型过拟合, 使得训练误差很小而测试误差特别大。正则化技巧用的比较多的就是BN(Batch Normalization)

和Dropout(一种正则化手段,通过随机将某层部分神经元的输出置零来实现。)。

以下是一些比较通俗易懂的讲解BN的链接:

https://zhuanlan.zhihu.com/p/24810318
http://blog.csdn.net/elaine_bao/article/details/50890491
https://www.zhihu.com/question/38102762
http://jiangqh.info/Batch-Normalization详解/

小数据集训练深度网络的小技巧相关推荐

  1. 利用celebA数据集训练MTCNN网络

    利用celebA数据集训练MTCNN网络 celebA数据集简介 训练数据的处理 网络和训练 侦测部分 结果展示 有问题可以联系我的邮箱:2487429219@qq.com 关于MTCNN网络可以看我 ...

  2. 用自建kinetics-skeleton行为识别数据集训练st-gcn网络流程记录

    用自建kinetics-skeleton行为识别数据集训练st-gcn网络流程记录 0. 准备工作 1. 下载/裁剪视频 2. 利用OpenPose提取骨骼点数据,制作kinetics-skeleto ...

  3. 2021-07-30 自己垃圾场景数据集训练Bisenet网络

    在已经训练好的模型 - 欲训练模型(cityscape)上333model_final.pth 3分类进行微调!保存成33model_final.pth(./res) 1. 修改路径train.txt ...

  4. python开发网络小工具_Python集成网络诊断小工具(含有ping,tracert,tcping等小工具)...

    之前在一家IDC公司实习,负责服务器售后方面的,经常要使用ping,tracert,tcping等命令做些初步的诊断,判断服务器问题出在哪方面.于是就想集成这些常用的命令或工具到一个GUI界面中,实现 ...

  5. python网络爬虫入门小程序_Python 实现网络爬虫小程序

    转载请注明作者和出处: http://blog.csdn.net/c406495762 运行平台: Windows Python版本: Python3.x IDE: Sublime text3 前言 ...

  6. 深度网络的训练经验总结(参数篇)

      (续我的上一篇博客)最早训练神经网络的时候完全什么技巧都不懂,能成功运行开源代码,并且看到loss下降就放心跑着了.随着对网络越来越多的接触,发现从数据集(train/val/test)的准备到训 ...

  7. 深度学习之小目标检测

    深度学习之小目标检测深度学习之小目标检测深度学习之小目标检测 百度网盘 提取码:1234 1.<小目标检测技术研究综述_梁鸿> 小目标检测是针对图像中像素占比少的目标,借助计算机视觉在图像 ...

  8. 基于Keras2《面向小数据集构建图像分类模型》——Kaggle猫狗数据集

    概述 在本文中,将使用VGG-16模型提供一种面向小数据集(几百张到几千张图片)构造高效.实用的图像分类器的方法并给出试验结果. 本文将探讨如下几种方法: 从图片中直接训练一个小网络(作为基准方法) ...

  9. 如何使用小数据集对大模型进行微调(迁移学习)-微迁移

    1.首先使用小数据集训练大模型一定要有大模型的优化器停止状态参数(没有的话尽量将学习率设置的小点),和停止时候权重参数,也就是要有预训模型 2,最好不要冻结参数,冻结虽然会节约时间但是未必能达到好的效 ...

  10. 期货股票量化软件:第三代神经网络深度网络

    简介 本文将要讨论这一课题的主要概念,诸如深度学习以及无复杂layman形式运算的深度网络. 真实数据的实验,赫兹量化软件通过定量和比较(无法定量和比较),证实(或证伪)深度神经网络的理论优势.当前的 ...

最新文章

  1. 阿里云 ECS centos java timer进程异常/混乱......的解决方法
  2. 【.NET 遇上 GraphQL】使用 Hot Chocolate 构建 GraphQL 服务
  3. 可以获得索引值码_搜索引擎优化最适合什么样子的工作?
  4. 个人项目总结----By Li Zhang
  5. pm2启动jenkins不存在tty的问题
  6. SVN仓库解决APIcloud2检出错误
  7. LATEX采坑+Win10字体采坑
  8. AI - 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
  9. java log4j 路径配置_指定log4j配置文件路径
  10. 那些开挂的人,如何打败50%的竞争者?
  11. 商用型虚拟试衣技术亮相CES Asia ,好买衣携手CA催生服装新零售变革
  12. 文件格式的幻数File Format and Magic Number
  13. 解放双手, python自动化操作电脑端微信
  14. html5+开启摄像头,双摄像头时如何通过html5选择打开哪个摄像头_沃航科技
  15. 前端应届生如何做一个职业规划?已拿offer附真题解析
  16. Ubuntu 12.04 常用三种输入法及键盘错乱的调整
  17. 基于java+SpringBoot+HTML+Mysql旅游网站设计与实现
  18. 霍常亮教你开发淘宝客app第11节:uniapp数据绑定
  19. JAVASE学习笔记 Java中的常用类--StringBuffer类、StringBuilder类
  20. 面试必问——jvm原理及优化(包括GC)

热门文章

  1. 你所不知道的Activity转场动画——ActivityOptions
  2. 已知两数的最大公因数和最小公倍数
  3. 47页数字孪生人脸识别轨迹分析电子围栏智慧工地解决方案
  4. gjs/seed相关笔记
  5. python字符串去掉最后的逗号_拼接字符串时去掉最后一个多余逗号
  6. Unity GUI 中文显示
  7. matlab|dsolve解决常微分初值与讲解(含实例使用)
  8. 6-系统管理员密码破解
  9. linux shell 内存利用率,linux上使用shell脚本查看内存使用率
  10. 超威主板关闭超线程教程