A Beginner's Guide To Understanding Convolutional Neural Networks Part One (CNN)笔记
原文链接:https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner's-Guide-To-Understanding-Convolutional-Neural-Networks/
借这篇文章进行卷积神经网络的初步理解(Convolutional Nerual Networks)
Image Classification
Image classification(图像分类) is the task of taking an input image and outputting a class(a dog, a cat, ect.) or a probablity of classes that best describes the image.
Inputs and Outputs
When a computer sees an image, it will see an array of pixel values, e.g. 32*32*3, RGB(red,green,blue) values.
/****补充****/
单通道图:俗称灰度图,每个像素点只能有一个值表示颜色,像素值在0-255之间(0是黑色,255是白色,中间值是一些不同等级的灰色)。
三通道图(RGB):每个像素点有三个值表示,对红、绿、蓝三个颜色的通道值变化以及它们之间的相互叠加来得到各种各样的颜色。三通道灰度图指的是三个通道的值相同。
Biological Connection
某些神经元只对特定方向的边缘做出响应,一些神经元只对垂直方向做出响应,一些只对水平方向等。这些神经元都在一个柱状组织里(人眼中的光感受器:柱状体,对事物有一个总体感知),是卷积神经网络的基础。
First Layer - Math Part(Convolutional Layer aka conv layer)
The filter(or a neuron神经元/kernel核) has an array of numbers,called weights or parameters. The filter is convolving, next step(stride) is moving to the right by 1 unit.
The depth of this filter has to be the same as the depth of the input, so the filter is 5*5*3. If we use two filters(5*5*3), the output would be 28*28*2.
First Layer - High Level Perspective
Each of these filters can be thought of as feature identifiers(straight edges, colors, curves ect.).
E.g. a curve detector
The filter will have a pixel structure in which there will be higher numerical values along the area that is a shape of a curve.
So we take this image as example.
(可见第一幅图匹配度高,第二幅匹配度低)
Going Deeper Through the Network
A classic CNN architecture would look like this:
Input -> Conv -> ReLU -> Conv -> ReLU -> Pool -> ReLU -> Conv -> ReLU -> Pool -> Fully Connected Layer
(ReLU:激活函数,Pool:池化层)
There're other layers that are interspersed(点缀,散布) between these conv layers, they provide nonlinearities (ReLU) and preservation(维度保护) of dimension(Pool) that help to improve the robustness(鲁棒性) of the network and control overfitting.
As you go through more and more conv layers,(i).you get activation maps that represent more and more complex features;(ii).the filters begin to have a larger and larger receptive field.
Fully Connected Layer(FC)
全连接层在整个网络中起到分类器的作用,可用卷积实现。
目前全连接由于参数冗余(仅全连接层参数就可占整个网络参数80%左右),近期有使用全局平均池化(global average pooling,GAP),通常有较好的预测性能。