卷积神经网络超级详细讲解

卷积神经网络CNN 学习总结归纳

1.CNN的学习过程

2.相关概念的详细解析

3.卷积层,池化层,全连接层

前言

卷积神经网络结构图

CNN的学习过程:更新卷积核的值(更新提取的图像特征) 网络不断前后向的计算学习,一直在更新出合适的weights,也就是一直在更新卷积核们。卷积核在更新了,学习到的特征也就被更新了(因为卷积核的值(weights)变了,与上一层的map卷积计算的结果也就变了,得到的新map就也变了。)。对分类问题而言,目的就是:对图像提取特征,再以合适的特征来判断它所属的类别。

首先,我们先来了解一下 局部连接。

网络在处理图像这样高维度输入的时候, 让每个神经元都与它那一层中的所有神经元进行全连接是不现实的
但是图片特征有局部性, 所以只需要通过局部就能提取出相应的特征

一、feature map、卷积核、卷积核个数、filter、channel的概念解释

1.feather map 是怎么生成的?
输入层:在输入层,如果是灰度图片,那就只有一个feature map;如果是彩色图片,一般就是3个feature map(红绿蓝)。(通道)
其它层:层与层之间会有若干个卷积核(kernel)(也称为过滤器),上一层每个feature map跟每个卷积核做卷积,都会产生下一层的一个feature map,有N个卷积核,下层就会产生N个feather map。(有多少个卷积核,经过卷积就会产生多少个feature map)

特征图个数=输出通道数=卷积核个数

2.卷积核的理解 卷积核在有的文档里也称为过滤器(filter)

每个卷积核具有长宽深三个维度; 在某个卷积层中,可以有多个卷积核; 下一层需要多少个feather map,本层就需要多少个卷积核。
卷积核的深度与当前图像的深度(feather map的张数)相同,所以指定卷积核时,只需人为指定其长和宽两个参数。例如,在原始图像层 (输入层),如果图像是灰度图像,其feather map数量为1,则卷积核的深度也就是1;如果图像是grb图像,其feather map数量为3,则卷积核的深度也就是3.
卷积核的个数就对应输出的通道数(channels),这里需要说明的是对于输入的每个通道,输出每个通道上的卷积核是不一样的。比如输入是28x28x192(WxDxK,K代表通道数),然后在3x3的卷积核,卷积通道数为128,那么卷积的参数有3x3x192x128,其中前两个对应的每个卷积里面的参数,后两个对应的卷积总的个数(一般理解为,卷积核的权值共享只在每个单独通道上有效,至于通道与通道间的对应的卷积核是独立不共享的,所以这里是192x128)

卷积公式
它的物理意义大概可以理解为:系统某一时刻的输出是由多个输入共同作用(叠加)的结果。
f(x) 可以理解为原始像素点(source pixel),所有的原始像素点叠加起来,就是原始图了。
g(x)可以称为作用点,所有作用点合起来我们称为卷积核
卷积核上所有作用点依次作用于原始像素点后(即乘起来),线性叠加的输出结果,即是最终卷积的输出
output
补0(zero padding)
在这里插入图片描述补0
补0比原来没有添0 的情况下进行卷积,从左到右,从上到下都多赚了2次卷积,这样第一层卷积层输出的特征图(feature map)和输入图片的大小一致

两个卷积层或两个以上卷积层后才出现一个池化层,即卷积层串联。其实这是一种优化操作,通过增加卷积层数来缩小卷积核的尺寸,进而来减少参数,并且多层卷积层有多个非线性操作,优化前的单层卷积层只有一个非线性操作,优化后的对特征学习能力更强

经过两个331的卷积核的计算过程: 经过一个551的卷积核的计算过程:
(11-3)/1+1=9 数据尺寸此时为991 (11-5)/1+1=7 数据尺寸此时为771
(9-3)/1+1=7 数据尺寸此时为771

池化层 : 用于压缩数据和参数的量,减小过拟合。

池化层的存在,会不断提取一定范围内最强烈的特征,并且缩小张量的大小,使得大范围内的特征组合也能够捕捉到。
池化层用的方法有Max pooling 和 average pooling

全连接层:全连接层的输入是一维数组,多维数组需先进行Flatten进行一维化处理,然后连接全连接层
作用就是分类
红色的神经元表示这个特征被找到了
1*1卷积和全连接层的区别
卷积是作用在一个局部的区域,而全连接是对于整个输入而言,那么只要把卷积作用的区域扩大为整个输入,那就变成全连接了( 只需要把卷积核变成跟输入的一个map的大小一样就可以了,这样的话就相当于使得卷积跟全连接层的参数一样多)

最近的研究表明, 在进入全连接层之前, 使用全局平均池化能够有效地降低过拟合。(池化层一般用最大池化池)

总结

好了,这些就是我今天学习Googlenet网络的时候,对卷积神经网络重新的一个了解。

其中参考的文章来源有以下:
添加链接描述
添加链接描述
添加链接描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值