从零开始深度学习0506——CNN基本知识

0506   

 

卷积神经网络

 

传统神经网络与卷积神经网络的对比

 

 

 

组成

Input –conv –relu – pool – FC

输入层

卷积层

激活函数

池化层

全连接层

卷积核 即  滤波器  也就是权重参数

32-5+1=28

卷积核的大小必须要与输入层的通道数相同  32*32*3  卷积核就是5*5*3 使用6个卷积核  得到结果就是 28*28*6  所以 第二次卷积时 卷积核就是5*5*6   使用10个卷积核  结果就是24*24*10

 

基本刚开始的卷积操作只能提取一些简单的特征,边缘,线条,等等

 

 

卷积核在输入层上进行滑动

卷积核就是w 对应 x 也是有三通道

F11X11)=W11X11 = 0

F12X12)=W12X12 = 2

F13X13)=W13X13 = 0

F=F11+F12+F13+b0 = 0+2+0+1=3   即提取出的第一个特征值

然后开始滑动

可以看到输入层是5*5*3,有2个卷积核,每个卷积核为3*3*3,所以卷积完可以得到如图绿色框图  3*3*2

 

 

步长  stride

 

谨慎选择 不能太大不能太小

小了,特征提取更丰富,但是效率不高

大了,会漏掉某些特征点

 

 

Padding

 

可以看到在卷积过程中,随着步长stride设定,最左上角的边缘点只利用了一次,但是标记的2号位置,却被利用了2次,所以为了让边缘点利用率更高,多次利用,选择在外围加一层0,使得边缘点不再是边缘点

 

Pad 通常选取就是 (filter_size-1)/2   filter_size就是滑动窗口的大小,也就是卷积核的h或w

 

 

 

计算输出的shape

假设

输入(h,w) 7*7

Filter(卷积核)   3*3

Padding  1    没有设置时padding为0

Stride  1

W也是一样

深度为Filter的个数

 

参数共享,权值共享

 

 

pooling层

下采样,降采样操作

也需要指定filter大小 和 步长

对卷积层提取到的特征图feature map 进行压缩,降维

Pooloing 中没有权重参数参与

Mean pooling  平均池化  

Max pooling  最大池化  

 

 

 

基本上每次卷积完都要加上非线性的变换 conv+relu ,也就是激活函数,现在常用relu函数

 

 

 

一般实际中,输入x 格式是 X[N,C,H,W]

N 就是batch 的编号

C 就是chnnal 通道

H 就是高

W 就是宽

 

python区别之[:j]和[:,j]或者双冒号[::],python冒号在数组和矩阵使用

https://blog.csdn.net/xinjieyuan/article/details/81429048

比较详细

保留第一个维度所有元素,第二维度元素保留到j”这句话不容易理解 建议换个通俗易懂的,比如: X[:,0]就是取矩阵X的所有行的第0列的元素,X[:,1] 就是取所有行的第1列的元素。 X[:,m:n]即取矩阵X的所有行中的的第m到n-1列数据,含左不含右。 X[0,:]就是取矩阵X的第0行的所有元素,X[1,:]取矩阵X的第一行的所有元素。

 

 

卷积神经网络的前向传播

这里的 :3 :3  意思是从边缘开始,从0开始到3 取了3*3 的一块 进行卷积

卷积完之后,根据步长stride为2 ,可以知道,先是横向滑动了2个位置,所以(0+2):(3+2),:3即 2:5 , :3   意思就是横着从第2个位置到第5个位置,竖着因为还没开始上下滑动,所以还是从0到3   还是3*3 的卷积

Out[0,0,0]   第一个0是第一个卷积核 卷积出来的意思,就是feature map的第一个通道,也可以理解为第一个卷积出来的feature map   第二个0 第三个0 就是第一行第一列的意思

如 Out[2,0,1]   就是第三个feature map 的第一行第二列

 

反向传播原理

 

 

 

Pooling的反向传播

 

 

存在权重参数的地方

 

 

Python3中// 和/区别

 

 " / "表示浮点数除法,返回浮点float结果;" // "表示整数除法,返回一个不大于" / "计算结果的最大整数int,特别注意如果其中一个操作数位负数,则结果必为负数。
如:

a = 5/3
b = 5//3
c = -5/3
d = -5//3
print(a,b,c,d,sep=",")

输出结果:1.6666666666666667,1,-1.6666666666666667,-2

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值