卷积神经网络

不知道什么是卷积神经网络?没关系,大家应该用过淘宝的拍立淘吧,根据你照片识别出相似的商品,原理中就用到了卷积神经网络。它能根据你的一张图片提取特征,从而识别物体。当然卷积神经网络不仅在图像识别大有作为,接下来进入正题,揭开卷积神经网络的面纱。

 

why convolution?

1.参数相比神经网络这样的全连接少太多了!有效地避免了过拟合。

2.具有平移不变性,提取特征能力很强

 

卷积神经网络分为:卷积,池化,全连接这三个主要的部分。

 

1.卷积操作

先来个简单的,请仔细看图

卷积神经网络拓扑结构 卷积神经网络实例讲解_卷积

 

我们选择一张6*6*1(1为通道数,这里是1)的图像,让它和3*3的卷积核进行卷积操作,最后得出4*4*1的一张图像。

 

 

input image

filter

stride

output image

6*6*1

3*3*1

1

4*4*1

Q1:-5怎么得到的?

如上图,对应元素依次内积,最后相加。

Q2:怎么得到卷积后的图像?

卷积神经网络拓扑结构 卷积神经网络实例讲解_ide_02

1.1 填充(padding)

  • 保持图像不会变得太小
  • 保留图像边缘信息

将图像边缘围上一圈,p=1

input image

padding

filter

stride

output image

6*6*1

1

3*3*1

1

6*6*1

 

1.2 步长(stride)

相当于等差数列中的公差,从左到右从上至下依次走stride个步长。

 


 

举例

 

一个filter

卷积神经网络拓扑结构 卷积神经网络实例讲解_卷积神经网络拓扑结构_03

现实生活中图像的通道都不是一个的,这里我们采用一张RGB(彩色图片)这里我们采用了一个filter(卷积核),输出了图像的一个特征,如垂直特征

input image

padding

filter

stride

output image

6*6*3

0

3*3*3

1

4*4*1

 

两个filter

卷积神经网络拓扑结构 卷积神经网络实例讲解_卷积神经网络_04

两个卷积核,输出了两个特征

input image(h*w*c)

padding

filter(h*w*c)

stride

output image

6*6*3

0

3*3*3

1

4*4*2

 

3*3*3

1

卷积层

现在使用多个卷积层对数据进行训练

卷积神经网络拓扑结构 卷积神经网络实例讲解_卷积神经网络_05

卷积操作完成后进行全连接,当成神经网络处理就可以啦。

input image(h*w*c)

padding

filter(n*h*w*c)

stride

output image

39*39*3

0

10*3*3*3

1

37*37*10

37*37*10

0

20*5*5*10

2

17*17*20

17*17*20

0

40*5*5*20

2

7*7*40

2.池化操作

why pooling?

  1. 提取部分图像的最大特征
  2. 池化分为max pooling和average pooling

2.1 Max pooling

卷积神经网络拓扑结构 卷积神经网络实例讲解_卷积_06

我们取图像对应卷积大小位置的局部最大值

input image(h*w*c)

padding

filter(h*w*c)

stride

output image

4*4*1

0

2*2*1

2

2*2*1

2.2 Average pooling

卷积神经网络拓扑结构 卷积神经网络实例讲解_卷积神经网络_07

我们取图像对应卷积大小 位置的平均值

input image(h*w*c)

padding

filter(h*w*c)

stride

output image

4*4*1

0

2*2*1

2

2*2*1

 

3.完整的卷积神经网络

卷积神经网络拓扑结构 卷积神经网络实例讲解_卷积神经网络拓扑结构_08

input image(h*w*c)

padding

filter(n*h*w*c)

stride

output image

32*32*3

0

conv1 6*5*5*3

1

28*28*6

28*28*6

0

max pooling

1*2*2*6

2

14*14*6

14*14*6

0

conv2 16*5*5*6

1

10*10*16

10*10*16

0

max pooling 2*2*16

2

5*5*16

总结:

      

卷积神经网络拓扑结构 卷积神经网络实例讲解_卷积_09

参考

https://www.zhihu.com/question/52668301/answer/131573702

https://study.163.com/my#/smarts