Convolutional Neural Network 卷积神经网络(CNN)

convolution and the first two step

story one

  • based on neuron

simplification1

problem

some patterns are much smaller than the whole image ,so we have receptive field

Untitled

receptive field

Untitled

每一个neuron只看对应的receptive field ,receptive field的选择随意,人为随意设定

  • typical setting

    Untitled

    Kernel size(核心大小)一般为3X3 超出区域为padding,空白的可以用其他数据填充


simplification2

problem

the same patterns appear in different regions

Untitled

parameter sharing

人为决定如何实现参数共享

  • typical setting

    Untitled

    每一个receptive field有一组neuron,而图中两个receptive field共用同一组参数,即receptive field1中每个neuron的参数和receptive field中的每个对应的neuron的参数相同,这些参数称为filter


benefit of convolutional layer 卷积层的优点

Untitled

经历上述两种简化后就是应用了卷积层,而使用这种技术的神经网络就是卷积神经网络

  • 虽然有很大的模型偏差,但是在图像识别上有着巨大的优势

story two

  • based on filter

Untitled

  1. 每一个convolutional layer 有很多filter ,每一个filter都会去detect 一个小的pattern(3x3xchannel)

channel=3 彩色 有rgb三个通道

channel=1黑白 只有一个通道

每个filter的不同channel参数不一定相同,每个filter的不同channel得到的图进行相加,最终变成一个channel

  1. 当filter的参数确定后,会和原数据进行矩阵乘法,(每次与3x3的范围相乘,结果会形成新的数据图,为 feature map ,同样的操作要对每一个filter进行
    • filter扫过整张图片的过程就是convolution

Untitled

Untitled

Untitled

  1. 因为原来有64个filter,所以有64个feature map,所有的map堆叠在一起形成一张新的图片,新图片有64个channel,新的filter有64个channel
    • 注意新图的3x3对应原来9x9大小的数据

simplification3

problem

subsampling the pixels will not change the object,偶数像素的拿掉,奇数的抽掉不会改变图像

Untitled

pooling

有很多pooling的方法,比如 max pooling ,mean pooling

max pooling

Untitled

上图是根据filter1 和2 写出的两个feature map,现在将4个分成一组,max poling是只取一组中最大的拿一个,其余的全部舍弃。

Untitled

Untitled

the whole CNN

Untitled

flatten是把图像上矩阵拉直成一个一个向量,然后进行fully connected layers,然后可能需要过softmax,获得最终的模型

不能处理图像放大缩小,旋转的识别,所以需要进行data augmentation(对数据进行放大缩小旋转)

other applications

  1. playing go( alpha go (没用pooling))
  2. speech 语音
  3. natural language processing