【学习笔记】卷积神经网络--一文读懂卷积神经网络

来源:互联网 发布:门板雕刻软件 编辑:程序博客网 时间:2024/04/30 06:29

《一文读懂卷积神经网络》原文:http://www.36dsj.com/archives/24006

本文为一文读懂卷积神经网络》读书笔记



图中公式:对输入项x 进行加权求和 最后加上偏移量  

在图像处理方面相当于 图像矩阵A 与 权值矩阵B(卷积核)进行 ΣΣaij*bij+偏移量 得到一个数值


2 卷积神经网络 

(为什么要进行卷积)

    如果照片像素大小是1000*1000,隐含层神经元的数量若与输入层相同 即1000000,即每个神经元对应1000*1000个像素,总共1000000个神经元 。那么中间数据则有1000000*1000000个。


1,局部感知,由于距离近的像素之间的练习非常紧密,距离远的像素之间的相关性非常小。

假如将10*10的像素与一个神经元相连,即每个神经元对应10*10个像素,总共有1000000个神经元,那么中间数据的数量变为1000000*100。大大减少了中间参数的个数。

此图中所对应的公式:

a1=f(W11*x1+W12*x2+W13*x3)

a2=f(W21*x2+W22*x3+W23*x4)

a3=f(W31*x3+W32*x4+W33*x5)


2,权值共享

如果要提取一张图片的一种特征 例如直角特征,不管这个特征出现在图像中的什么位置,都可以用同一种卷积核进行提取,所以如果要提取一张图像中的直角特征,只需对全图若干个10*10的区域与相同的权值(卷积核)进行计算。

即上方公式中W11=W21=W31,W12=W22=W32,W13=W23=W33

    参数数量进一步减少。

所以卷积可以减少参数数量

3,多核卷积

   对一张图像的处理,只提取一种特征肯定是不够的。增加卷积核的数量即使增加提取的特征数。

此时 参数数量=原图像通道数*卷积核数量*卷积核尺寸

其中,原图像的通道数=卷积核通道数(例如一般图像为RGB三通道,灰度图为单通道)

卷积核数量即卷积的次数,即上文说到的提取的特征数。

卷积尺寸即上文局部感知中的10*10


4,池化

对于一个 96X96 像素的图像,假设我们已经学习得到了400个定义在8X8输入上的特征,每一个特征和图像卷积都会得到一个 (96 − 8 + 1) × (96 − 8 + 1) = 7921 维的卷积特征,由于有 400 个特征,所以每个样例 (example) 都会得到一个 7921 × 400 = 3,168,400 维的卷积特征向量。

学习一个拥有超过 3 百万特征输入的分类器十分不便,并且容易出现过拟合 (over-fitting)。

在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图像,一个很自然的想法就是对不同位置的特征进行聚合统计。例如,人们可以计算图像一个区域上的某个特定特征的平均值 (或最大值)。这些概要统计特征不仅具有低得多的维度 (相比使用所有提取得到的特征),同时还会改善结果(不容易过拟合)。这种聚合的操作就叫做池化 (pooling),有时也称为平均池化或者最大池化 (取决于计算池化的方法)


5 多层卷积

在实际应用中,往往使用多层卷积,然后再使用全连接层进行训练,多层卷积的目的是一层卷积学到的特征往往是局部的,层数越高,学到的特征就越全局化。