深度学习笔记(31) 迁移与增强


1. 迁移学习

如果要做一个计算机视觉的应用,相比于从头训练权重,或者说从随机初始化权重开始
如果下载别人已经训练好网络结构的权重,通常能够进展的相当快
用这个作为预训练,再转换到感兴趣的任务上
用迁移学习把公共的数据集的知识迁移到自己的问题上

举个例子,假如说要建立一个猫咪检测器,用来检测宠物猫
假如两只猫叫Tigger和Misty,还有一种情况是,两者都不是
所以现在有一个三分类问题,图片里是Tigger还是Misty,或者都不是
忽略两只猫同时出现在一张图片里的情况

在这里插入图片描述
现在可能没有Tigger或者Misty的大量的图片,所以训练集会很小
建议从网上下载一些神经网络开源的实现,不仅把代码下载下来,也把权重下载下来

举个例子,ImageNet数据集,它有1000个不同的类别
因此这个网络会有一个Softmax单元,它可以输出1000个可能类别之一
可以去掉这个Softmax层,创建自己的Softmax单元
用来输出Tigger、Misty和neither三个类别
在这里插入图片描述

就网络而言,建议把所有的层看作是冻结的,冻结网络中所有层的参数
只需要训练和Softmax层有关的参数
通过使用其他人预训练的权重,很可能得到很好的性能,即使只有一个小的数据集

事实上,取决于用的框架,它也许会有trainableParameter=0这样的参数
对于这些前面的层,可能会设置这个参数
为了不训练这些权重,有时也会有freeze=1这样的参数
不同的深度学习编程框架有不同的方式,允许指定是否训练特定层的权重
在这个例子中,只需要训练softmax层的权重,把前面这些层的权重都冻结
在这里插入图片描述
另一个技巧,也许对一些情况有用
由于前面的层都冻结了,相当于一个固定的函数,不需要改变
因为不需要改变它,也不训练它
取输入图像X,然后把它映射到这层(softmax的前一层)的激活函数
所以这个能加速训练的技巧就是,如果先计算这一层,计算特征或者激活值
然后把它们存到硬盘里,然后在此之上训练softmax分类器

在这里插入图片描述
所以,存储到硬盘或者说预计算方法的优点就是
不需要每次遍历训练集再重新计算这个激活值了
因此如果任务只有一个很小的数据集,可以这样做


2. 大训练集的迁移学习

如果要有一个更大的训练集
这种情况,应该冻结更少的层,然后训练后面的层
如果输出层的类别不同,那么需要构建自己的输出单元,Tigger、Misty或者两者都不是三个类别
有很多方式可以实现,可以取后面几层的权重,用作初始化,然后梯度下降
在这里插入图片描述
或者可以直接去掉最后几层,换成自己的隐藏单元和自己的softmax输出层,这些方法值得一试
在这里插入图片描述


3. 迁移规律

有一个规律,如果有越来越多的数据需要冻结的层数越少,能够训练的层数就越多
如果有一个更大的数据集,也许有足够多的数据,那么不要单单训练一个softmax单元
而是考虑训练中等大小的网络,包含最终要用的网络的后面几层
极端情况下,可以用下载的权重只作为初始化,用它们来代替随机初始化
接着可以用梯度下降训练,更新网络所有层的所有权重


4. 数据增强

当下在计算机视觉方面,计算机视觉的主要问题是没有办法得到充足的数据
简单的数据增强方法:

  1. 垂直镜像对称
    在这里插入图片描述
  2. 随机裁剪
    在这里插入图片描述
  3. 旋转
    在这里插入图片描述
  4. 扭曲
  5. 彩色转换
    在这里插入图片描述

常用的实现数据增强的方法是使用一个线程或者是多线程
这些可以用来加载数据,实现变形失真
然后传给其他的线程或者其他进程来训练,可以并行实现


参考:

《神经网络和深度学习》视频课程


相关推荐:

深度学习笔记(30) Inception网络
深度学习笔记(29) 1×1 卷积
深度学习笔记(28) 残差网络
深度学习笔记(27) 经典卷积网络
深度学习笔记(26) 卷积神经网络


谢谢!

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

氢键H-H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值