详聊CNN的精髓

现在的深度学习发展速度已经超出每个人的想象,很大一部分人只是觉得我用他人的框架去实现自己的目的,并且效果很好就可以了,这也是现在一大部分的一个瓶颈。曾经有一个老教授来我电讲座,就说了这个问题,他还强调的说了现在的deep learning也没有准确的数学或统计理论可以完全证明,只是大家都觉得结果不错,他说他最近在用数学证明之,很期待!

今天就和大家讲讲最普通不过的一个部分吧,那就是卷积神经网络。

CNN的两大优势(降低训练参数):

局部感受野:

就是输出图像某个节点(像素点)的响应所对应的最初的输入图像的区域就是感受野。 权值共享:

比如步长为1,如果每移动一个像素就有一个新的权值对应,那么太夸张了,需要训练的参数爆炸似增长,比如从32x32的原图到28x28经过convolve的图,如果后者的每一个像素对应前面的一个参数,那参数实在是多。权值共享就是将每次覆盖区域的图像所赋给的权值都是卷积核对应的权值。就是说用了这个卷积核,则不管这个卷积核移到图像的哪个位置上,图像的被覆盖区域的所赋给的权值都是该卷积核的参数。

Restricted Boltzmann Machine到CNN:

全连接——->(全连接加上局部感受野了进化成)局部连接层———->(局部连接层加上权值共享了)卷积神经网络。

比如简单点就用2维图像,100x100 到 100x100,那么如果全连接第一层所有点都与第二层所有点相连,就有10e8个连接,加上局部感受野了。不精确的计算(不考虑边缘带来的问题),假设局部为3x3大小。那么第一层的每个点都与3x3的局部有连接,就是说,有(10e4)*3*3个连接,才能得到下一层100x100(假设加了padding)。此时局部连接网络的权值数和连接数是一样的,都是(10e4)*3*3, 如果再加上权值共享,形成卷积神经网络,那么这10e4个点不是每个都有自己独立的3x3个权值,而是这10e4共享这3x3个点。因此最终卷积网络的权值只有3x3大小!

详细讲解地址:https://prateekvjoshi.com/2016/04/12/understanding-locally-connected-layers-in-convolutional-neural-networks/

Feature Map:

同一种滤波器卷积得到的向量组合。一种滤波器提取一种特征,下图使用了6种滤波器,进行卷积操作,故有6层feature map。C1层用了6个5x5的卷积核,这里的步长为1,因此每个feature map是(32-5+1)x(32-5+1)=28x28。

CNN训练的参数:

其实就是卷积核和偏置。 比如上面的6个5x5的卷积核的训练参数是6x(5x5+1),当然咯,每个卷积核对应的偏置自然是不同的。 简单介绍:

可以看出啊,总共三层卷积网络,然后第一层第二层都是直接将输入的进行卷积,这里的Wn就是权值参数,也就是卷积核。外加一个偏置bn.当然每传入下一层要一个激活函数,这里选用的是双曲正切。

Pooling:

就是将一块区域直接变成一个像素,不经过卷积核。一般有2种,max pooling和average pooling.主要是为了防止过拟合,减少训练参数。通过卷积后得到图像的特征,这是因为图像具有一种“静态性”的属性,这也意味着一个图像区域有用的特征极有可能在另一个区域同样适用。因此对于大图像,可以用聚合统计,通过average或是max pooling,可以得到低得多的维度,同事不容易过拟合。这种聚合操作就是pooling(池化)。

stride:

这个就是下采样参数,当然了conv层,则stride=1;如果是pooling层,该pooling层的大小是2x2,那么就stride=2了。

原文发布于微信公众号 - 计算机视觉战队(ComputerVisionGzq)

原文发表时间:2017-06-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏决胜机器学习

深层神经网络参数调优(五) ——超参数调试、batch归一化、softmax回归

深层神经网络参数调优(五) ——超参数调试、batch归一化、softmax回归 (原创内容,转载请注明来源,谢谢) 一、超参数调试 1、超参数 超参数是不直...

49780
来自专栏计算机视觉战队

深度学习---反向传播的具体案例

最近遇到一位小师弟,他让我给他推导一下前向传播和反向传播过程,于是我埋头在白纸上一步一步推导,最后,小师弟特别开心,在此过程中,我也更一步认识了这个知识点,感觉...

363150
来自专栏机器学习、深度学习

跟踪算法基准--Tracking the Trackers: An Analysis of the State of the Art in Multiple Object Tracking

Tracking the Trackers: An Analysis of the State of the Art in Multiple Object Tr...

31160
来自专栏机器学习原理

梯度下降算法

最优化算法的一种,解决无约束优化问题,用递归来逼近最小偏差的模型。 关于梯度的概念可参见以前的文章: 从方向导数到梯度 梯度下降法迭代公式为: ...

350110
来自专栏贾志刚-OpenCV学堂

理解CNN卷积层与池化层计算

深度学习中CNN网络是核心,对CNN网络来说卷积层与池化层的计算至关重要,不同的步长、填充方式、卷积核大小、池化层策略等都会对最终输出模型与参数、计算复杂度产生...

26510
来自专栏杂七杂八

线性分类器损失函数与最优化(上)

使用正则化一方面的优化参数,另一方面是权衡训练损失和用于测试集的泛化损失。尽管有时候会使训练集上的效果变差,甚至是分类错误,但是对于测试集的训练效果是有很大效果...

34620
来自专栏应兆康的专栏

AdaBoost

8110
来自专栏机器学习原理

深度学习(6)——卷积神经网络cnn层级结构CNN特点卷积神经网络-参数初始化卷积神经网络过拟合解决办法

29710
来自专栏Petrichor的专栏

目标检测: RCNN系列

传统的detection主流方法: DPM(Deformable parts models), 在VOC2007上能到43%的mAP,虽然DPM和CNN看起...

16550
来自专栏专知

卷积神经网络的最佳解释!

25740

扫码关注云+社区

领取腾讯云代金券