4.2深度卷积网络

觉得有用的话,欢迎一起讨论相互学习~Follow Me

2.9迁移学习

迁移学习的基础知识已经介绍过,本篇博文将介绍提高的部分。

提高迁移学习的速度

  • 可以将迁移学习模型冻结的部分看做为一个函数,因为每次都要使用这个冻结模型的输出值来训练自己的网络层,这样从加载模型到预训练模型都会耗费一定的时间。
  • 为此,可以将目标训练集通过冻结模型的输出保存到本地,作为新的训练数据集来训练自己的网络层,这样会更加快捷。

    提高迁移学习的精度

  • 如果自身的目标数据集与冻结模型所用的数据集差异较大或者自身的数据集越大,应该使用源模型的前几层作为冻结模型并且加大自身网络的规模。
  • 极端的情况是只是用冻结模型的下载的权重作为自身模型的初始化权重用它们代替随机初始化
  • NG认为机器视觉应该是深度学习领域中运用迁移学习最广泛的课题。


2.10数据增强(Data augmentation)

数据增强与改善过拟合

  • 数据增强是一种常用的手段,来提高计算机视觉系统的表现。至少在计算机视觉方向,有更多的图像数据往往意味着更好的效果。

    常用数据增强方法

    垂直镜像对称Mirroring

    随机裁剪Random Cropping

  • 虽然随机裁剪不是一个完美的数据增强的方法,因为在随机裁剪有可能裁剪的保留的不完全是目标部分。但是实际操作中构成了数据集中真实图像的大部分。

    旋转Rotation

    局部扭曲Local warping

  • 尽管在实践中可以结合使用各种方法,但是由于过程太复杂,所以实际使用的很少。

    Color Shifting色彩转换

  • 给原始图像中R,G,B三种通道中加上不同的失真值(偏置值)
  • 例如如果同时给R和B通道中增加正偏置值,则整张图片会有偏紫的效果。
  • 在实践中,对R,G,B三个通道的变化是基于特定概率分布的
  • 这么做的原因是,可能识别的图片中阳光有一点偏黄,或者灯光照明对整张图片具有影响。

    PCA主成分分析增强Principles Components Analysis

  • 简单来说根据图中颜色的采样进行图像增强。
  • 例如:一张原始图片中有较多的蓝色和红色成分,而绿色成分较少。则在图像增强时,对蓝色和红色的增加多一点而对绿色的增加相对少一些。使图像颜色总体保持不变。

    数据增强的并行实现

  • 通常会通过创建多个线程来对数据集中的图像数据进行读取,形成一个个数据流。并且在读取数据后可以使用随机的数据增强的方法对图片数据进行数据增强。而使用其他的线程实现模型的训练和预测。模型的载入/数据增强/数据集的训练过程可以并行实现。

    数据增强超参数

  • 数据增强也会涉及到许多超参数:例如随机裁剪的比率,颜色变化的分布,旋转的角度等等。这些都可以参考别人成果中的超参数选取,从别人的成果中汲取经验往往更有效率。当然,也可以根据自己的需要进行改造与再创新。

[DeeplearningAI笔记]卷积神经网络2.9-2.10迁移学习与数据增强的更多相关文章

  1. [DeeplearningAI笔记]卷积神经网络3.10候选区域region proposals与R-CNN

    4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.10 region proposals候选区域与R-CNN 基于滑动窗口的目标检测算法将原始图片分割成小的样本图片,并传入分 ...

  2. [DeeplearningAI笔记]卷积神经网络4.6-4.10神经网络风格迁移

    4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.6什么是神经网络风格转换neural style transfer 将原图片作为内容图片Cont ...

  3. [DeeplearningAI笔记]卷积神经网络3.1-3.5目标定位/特征点检测/目标检测/滑动窗口的卷积神经网络实现/YOLO算法

    4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.1目标定位 对象定位localization和目标检测detection 判断图像中的对象是不是汽车--Image clas ...

  4. [DeeplearningAI笔记]卷积神经网络1.9-1.11池化层/卷积神经网络示例/优点

    4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.9池化层 优点 池化层可以缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性. 池化层操作 池化操作与卷积操作类似 ...

  5. [DeeplearningAI笔记]卷积神经网络1.6-1.7构造多通道卷积神经网络

    4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.6多通道卷积 原理 对于一个多通道的卷积操作,可以将卷积核设置为一个立方体,则其从左上角开始向右移动然后向下移动,这里设 ...

  6. [DeeplearningAI笔记]卷积神经网络4.1-4.5 人脸识别/one-shot learning/Siamase网络/Triplet损失/将面部识别转化为二分类问题

    4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.1什么是人脸识别 Face verification人脸验证 VS face recogniti ...

  7. [DeeplearningAI笔记]卷积神经网络1.4-1.5Padding与卷积步长

    4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4Padding 一张\(6*6\)大小的图片,使用\(3*3\)的卷积核设定步长为1,经过卷积操作后得到一个\(4*4 ...

  8. [DeeplearningAI笔记]卷积神经网络1.2-1.3边缘检测

    4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.2边缘检测示例 边缘检测可以视为横向边缘检测和纵向边缘检测如下图所示: 边缘检测的原理是通过一个特定构造的卷积核对原始图 ...

  9. [DeeplearningAI笔记]卷积神经网络4.11一维和三维卷积

    4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.11一维和三维卷积 二维和一维卷积 对于2D卷积来说,假设原始图像为\(14*14*3\)的三通 ...

随机推荐

  1. 20170928-3 四则运算psp

    1.本周psp: 2.本周进度条: 3.累计进度图(折线图): 4.psp饼状图:

  2. C#高级编程 (第六版) 学习 第一章:.Net体系结构

    第一章 .Net体系结构 1,公共语言运行库(Common Language Runtime, CLR) .Net Framework的核心是其运行库的执行环境,称为公共语言运行库,或.Net运行库. ...

  3. Spring – 缓存注解

    Spring缓存抽象概述 Spring框架自身并没有实现缓存解决方案,但是从3.1开始定义了org.springframework.cache.Cache和org.springframework.ca ...

  4. 201621123037 《Java程序设计》第1周学习总结

    #作业01-Java基本概念 1. 本周学习总结 本周学习内容JDK JVM JRE 跨平台 .java .class 关键概念之间的联系: 总的来讲JDK是给开发人员们提供专门用来开发的环境,并且包 ...

  5. Struts2拦截器配置和使用

    拦截器是Struts2最强大的特性之一,它是一种可以让用户在Action执行之前和Result执行之后进行一些功能处理的机制. 说到拦截器interceptor,就会想到过滤器filter: 过滤器f ...

  6. 使用fabric1.14.0和fabric2.4.0

    fabric1.14.0(支持Python2.5-2.7版本): from  fabric.api import * env.gateway = '192.168.181.2'            ...

  7. javascript 排序

    // 插入排序 将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列. 从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置.(如果待插入的元素与有序 ...

  8. smokping的部署使用

    本文是介绍如何的使用smokeping来监控idc机房的网络质量情况,从监控图上的延时与丢包能分辨出你机房的网络是否稳定,是否为多线,是否为BGP机房,到各城市的3个运行商网络各是什么情况,如果出现问 ...

  9. 在DbGrid中,不按下Ctrl,单击鼠标如何实现多选?谢谢

    解决方案 »   有了dbgrid1.options.dgmultiselect:=true;必须按下Ctrl键,才能实现多选, 修改源代码,把以下内容if Select and (ssShift i ...

  10. iOS pch文件的创建

    3.iso pch头文件的创建  输入文件名的时候记得打钩 3.1.在Build Settings 里搜索pref就能找到preflx, 点击设置相对路径 $(SRCROOT) +路径:成功了就会显示 ...