深度学习(4)--卷积神经网络小总结(Inception及其超好用的百度云链接,CNN,LeNet,AlexNet,vgg,ResNet,1×1卷积核,扩充数据)

网易云课堂吴恩达深度学习微专业相关感受和总结。因为深度学习较机器学习更深一步,所以记录机器学习中没有学到或者温故知新的内容。从总体架构的角度思路来看待机器学习问题

也做了不少CNN相关的项目内容,结合已知进行思考总结。


上一篇:深度学习(3)--小总结(评估指标,查准查全率,正交化思想,划分数据集,贝叶斯最优误差,解决数据不匹配,多任务学习,端到端架构)https://blog.csdn.net/qq_36187544/article/details/92564198

下一篇:深度学习(5)--目标检测小总结(目标检测,人脸识别,目标识别与定位,YOLO算法,bounding box,边框回归)https://blog.csdn.net/qq_36187544/article/details/92795952


目录

卷积神经网络基础知识

卷积:

池化

典型网络

优势

经典网络

LeNet-5

AlexNet

VGG网络

残差网络ResNet

1×1卷积核

Inception

一个巨好用的代码链接:

扩充数据


卷积神经网络基础知识

卷积:

filter:卷积核,也叫过滤器。常用奇数的理由:有一个中心像素点,进行padding时可以对称,若为偶数进行padding需要进行非对称处理。
padding:会缩小图像,会削弱边缘特征(中间的像素点被多次重复计算,边缘没有)。若初始n*n大小图片,卷积核f*f,valid即不进行扩展,得到(n-f+1)*(n-f+1)大小结果,same即进行扩充padding使输入输出图片大小一致,扩充p圈,得到(n+2p-f+1)*(n+2p-f+1)大小图像
stride:步长s,若初始n*n大小图片,卷积核f*f,扩充p圈,得到[(n+2p-f)/s+1]*[(n+2p-f)/s+1]大小图片,若非整数,向下取整。

立体卷积同理,当多个输出对应多个卷积核,就能得到不同数量输出通道:

理解:每一个卷积核对应输出一个通道,实现权值共享,可理解为获取到一个特征。所以权重大小==前一层通道数×后一层通道数×卷积核大小(忽略bias偏差,也就是几个实数)。比如上图,6×6×3的输入图像通过2个卷积核(过滤器)得到两个通道输出,认为获取了2个特征。图像越复杂需要特征越多,结果越准确。

池化

池化可以增强鲁棒性。如下图,最大池化的过滤器为2×2,f=2,步长s=2,得到2×2的输出结果。计算方法同卷积。

最大池化的直观理解:如果得到了该特征,就进行最大池化保存好该特征,如果没有该特征,那么数值较小。

典型网络

一个典型CNN举例如下,首先只有卷积层和FC层需要参数,比如conv1,卷积核为5×5,输出通道为8,加上偏置5×5×8+8=208。激活尺寸要慢慢收缩,越来越小,大多数CNN网络都是如此。

如果得到超参数:用别人的

优势

参数共享:如果一个卷积核适用于图片一个地方,也可能适用于其他地方。如一个垂直检测边缘的卷积核输出一个通道,得到一种垂直特征,适用于同一图片多个地方。

稀疏连接:一个输出仅依赖与部分参数,称为稀疏连接。如下图,绿色只依赖于绿色的9个参数,红色亦然。


经典网络

LeNet-5

LeNet-5(1998年)如下:

AlexNet

AlexNet采用了reLU作为激活函数,两个GPU并行计算(当时GPU水平低,还需要写方法将GPU数据进行交流采集),采用局部响应归一化层(Local Response Normalization,LRN层,就是将部分通道进行归一化,减少参数数量,现在基本已经不用):

VGG网络

VGG网络已经比较熟悉了。提两点,VGG的亮点在于网络结构非常规整,conv*n+pool式结构,另一个亮点在于参数非常规整,逐步2倍扩大,效果也很好。规律性的参数值得研究。


残差网络ResNet

利用跳远连接(近路连接)的方式构造残差块(如下图),可以有效避免梯度消失,梯度爆炸问题


1×1卷积核

对于单通道的输入效果一般,就是单纯的乘积:

但是对于多通道,可以直观理解为运用了全连接网络,比如下图为单个过滤器得到的结果,若为n个过滤器,即实现了32×n的全连接:

实现了压缩或增加维度,压缩或增加通道数。(池化实现压缩长宽,未涉及通道)如果过滤器和输入通道数一致,则实现添加非线性函数,也可以搭建瓶颈层以减少计算(如Inception)


Inception

最近也实现了这个网络,该网络核心就是inception模块,就是对同一输入利用不同大小感受野卷积输出,然后融合拼接实现不需要人为控制各种超参数。代价是计算成本(为了节约成本,先采用1×1卷积核构建瓶颈层,再做卷积)

同时,还采用额外两条中间预测防止过拟合,确保中间过程也能进行预测。(其实网络小也并不需要)

在最近项目中确实发现Inception实现图片分类比VGG和LSTM效果好太多了。

一个巨好用的代码链接:

https://pan.baidu.com/s/1MAjNCF7e7_reJYcuZl7DKQ 
提取码:3ldj 
这个代码是别人开源的,不仅包括InceptionV1,V2,V3等还包括ResNet等,但是后来实在找不到github原网址了,致歉,致敬!


扩充数据

对于CV而言,数据基本都是不够的,所以迁移学习运用广泛。可参考:Tensorflow入门七-迁移学习实现VGG16微调猫狗分类(迁移学习源1000分类权重文件百度云可直接再学习,线程)https://blog.csdn.net/qq_36187544/article/details/89885247

还有其他数据增强方法来扩展数据集,比如图片镜像,随机剪裁(随机剪裁有时会失败,注意甄别),用的较少的也有旋转,扭曲等:

色彩转换,增加失真,通过这种方法增加色彩的鲁棒性,在算法可通过PCA进行色彩增强即实现颜色的平均分布(若RG多,B少,更多的减少RG,增强B,减少色彩分布的影响):

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值