2020-02-22-CNN网络学习笔记
一、神经网络
神经网络的单元模型是对生物神经元的数学建模,如下图所示:
P1,P2,……Pn是神经元的输入,a是神经元的输出,神经元将输入 P1,P2,……Pn加权求和后再加上偏置值b,最后再施加一个函数f,即:
上式最后是这个式子的向量形式,P是输入向量,W是权值,b是偏置值标量,f称作激活函数。
下图是一个三层神经网络,左侧为输入层,第一层和第二层称作隐藏层,各有5个神经元,最后一层为输出层。
二、卷积(convolution)
2维上有两个的函数f(x,y)和g(x,y),f和g的卷积就是一个新的函数的函数c(x,y)。通过下式得到:
该式的含义是:遍历从负无穷到正无穷的全部s和t值,把g在(x-s,y-t)上的值乘以f在(s,t)上的值之后再“加和”到一起(积分意义上),得到c在(x,y)上的值。说白了卷积就是一种“加权求和”:以 f 为权,以 (x, y) 为中心,把 g 距离中心 (-s, -t) 位置上的值乘上 f 在 (s, t) 的值,最后加到一起。把卷积公式写成离散形式如下:
第二个等式成立是因为每隔单位长度1进行采样,s和t都是1。
三、池化(Pooling)
池化的本质是采样,池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。常用的池化操作(图像处理场景)有取区域内的最大值、平均值等。
四、特征图(feature map)
不同卷积核(滤波器)去卷积图像得到的新的图像,称作特征图。由于滤波器的不同,因此特征图反映了图像的各式各样的特征。
五、激活函数ReLU(Rectified Linear Units)
激活函数通过给神经网络引入非线性因素,把卷积层输出结果做非线性映射,使得神经网络可以任意逼近任何非线性函数。常用的激活函数有Sigmoid函数、tanh函数、ReLU函数等。
六、深度神经网络
通过将卷积、激活函数、池化组合在一起,就变成下图:
通过加大网络的深度,增加更多的层,就得到了深度神经网络,如下图:
七、全连接层(Fully connected layers)
全连接层的每一个节点都与上一层的所有节点相连,用来把前边提取到的特征综合起来。全连接层起到分类器的作用,用于将学到的“分布式特征表示”向样本标记空间作映射。
八、卷积神经网络(Convolutional Neural Networks)
卷积神经网络主要是由两部分组成,一部分是特征提取(卷积、激活函数、池化),另一部分是分类识别(全连接层),将所有结果串起来,就形成了一个“卷积神经网络(CNN)”结构,如下图所示:
下图是著名的手写文字识别卷积神经网络结构图: