卷积神经网络(cnn)学习笔记1:入门

转载 2016年08月30日 20:03:36

卷积神经网络


       卷积神经网络(Convolutional Neural Network,CNN)是深度学习技术中极具代表的网络结构之一,在图像处理领域取得了很大的成功,在国际标准的ImageNet数据集上,许多成功的模型都是基于CNN 的。CNN相较于传统的图像处理算法的优点之一在于,避免了对图像复杂的前期预处理过程(提取人工特征等),可以直接输入原始图像。
       图像处理中,往往会将图像看成是一个或多个的二维向量(黑白图片,只有一个颜色通道;如果是RGB表示的彩色图片则有三个颜色通道,可表示为三张二维向量)。传统的神经网络都是采用全连接的方式,即输入层到隐藏层的神经元都是全部连接的,这样做将导致参数巨大,使得网络训练耗时甚至难以训练,而CNN则通过局部连接,权值共享等方法避免这一困难,有趣的是这些方法都是受到现代生物神经网络相关研究的启发(感兴趣可以阅读以下部分)


下面重点介绍下CNN中的局部连接(Sparse Connectivity)和权值共享(Shared Weights)方法,理解它们很重要。

局部连接与权值共享

下图是一个很经典的图示,左边是全连接,右边是局部连接。














    对于一个1000 × 1000的输入图像而言,如果下一个隐藏层的神经元数目为10^6个,采用全连接则有1000 × 1000 × 10^6 = 10^12个权值参数,如此数目巨大的参数几乎难以训练;而采用局部连接,隐藏层的每个神经元仅与图像中10 × 10的局部图像相连接,那么此时的权值参数数量为10 × 10 × 10^6 = 10^8,将直接减少4个数量级。

      尽管减少了几个数量级,但参数数量依然较多。能不能再进一步减少呢?能!方法就是权值共享。具体做法是,在局部连接中隐藏层的每一个神经元连接的是一个10 × 10的局部图像,因此有10 × 10个权值参数,将这10 × 10个权值参数共享给剩下的神经元,也就是说隐藏层中10^6个神经元的权值参数相同,那么此时不管隐藏层神经元的数目是多少,需要训练的参数就是这 10 × 10个权值参数(也就是卷积核(也称滤波器)的大小),如下图。


      这大概就是CNN的一个神奇之处,尽管只有这么少的参数,依旧有出色的性能。但是,这样仅提取了图像的一种特征,如果要多提取出一些特征,可以增加多个卷积核,不同的卷积核能够得到图像的不同映射下的特征,称之为Feature Map。如果有100个卷积核,最终的权值参数也仅为100(每个卷积核需要的参数数目) × 100 (卷积核数)= 10^4个而已。另外,偏置参数也是共享的,同一种滤波器共享一个。

      此外,隐藏层的参数个数和隐藏层的神经元个数无关,只和滤波器的大小和滤波器种类的的多少有关。那么隐藏层的神经元个数怎么确定呢?它和原图像,也就是输入的大小,滤波器的大小和滤波器在图像中的滑动步长都有关!例如,我的图像是1000*1000像素,而滤波器的大小是10*10,假设滤波器没有重叠,也就是补偿为10,这样隐藏层的神经元个数就是(1000*1000)/(10*10)=100*100个神经元。

    需要注意的一点是,上面的讨论都没有考虑每个神经元的偏置部分。所以权值个数需要加1 。这个也是同一种滤波器共享的。

      卷积神经网络的核心思想是:局部感受野(local field),权值共享以及时间或空间亚采样这三种思想结合起来,获得了某种程度的位移、尺度、形变不变性。

转载来源:http://www.jeyzhang.com/cnn-learning-notes-1.html


转载——卷积神经网络(CNN)基础入门介绍

该篇写得很详细并且很清楚,转自:http://www.jeyzhang.com/cnn-learning-notes-1.html 概述 卷积神经网络(Convolutional Neur...
  • Chrls_Wang
  • Chrls_Wang
  • 2016年06月18日 16:15
  • 7873

【DL--13】CNN 两大特性(局部连接、权重共享)

在多层感知器模型中,神经元通常是全部连接,参数较多。而卷积层的参数较少,这也是由卷积层的主要特性即局部连接和共享权重所决定。局部连接:每个神经元仅与输入神经元的一块区域连接,这块局部区域称作感受野(r...
  • u013421629
  • u013421629
  • 2017年08月02日 11:04
  • 1133

卷积神经网络CNN

参考资料:CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别? https://www.zhihu.com/question/34681168 一、神经...
  • iamrichardwhite
  • iamrichardwhite
  • 2016年04月07日 20:42
  • 1002

CNN:(局部感知+权共享机制:让一组神经元使用相同的连接权)

提出:全连接的结构下会引起参数数量的膨胀,容易过拟合且局部最优。图像中有固有的局部模式可以利用,所以,提出了CNN,并不是所有上下层神经元都能直接相连,而是通过“卷积核”作为中介。同一个卷积核在所有图...
  • qq_27923041
  • qq_27923041
  • 2017年10月31日 19:53
  • 293

多通道(比如RGB三通道)卷积过程

今天一个同学问 卷积过程好像是对 一个通道的图像进行卷积, 比如10个卷积核,得到10个feature map, 那么输入图像为RGB三个通道呢,输出就为 30个feature map 吗, 答案肯定...
  • u014114990
  • u014114990
  • 2016年04月11日 22:04
  • 23609

CNN通道数的一般规律

一般CNN网络中会有多个卷积层和全连接层(FC层)。通常卷积层的通道数单调递增,而FC层的通道数单调递减。 卷积层通道数单调递增,是从VGGNet开始确定下来的,后续的GoogLeNet和Resne...
  • Jing_xian
  • Jing_xian
  • 2018年01月06日 20:13
  • 80

卷积神经网络(CNN)

 卷积神经网络(CNN) Apr 6th, 2013 | Comments 1. 概述 卷积神经网络是一种特殊的深层的神经网络模型,它的特殊性体现在两个方面,一方面它的神经元间的...
  • starzhou
  • starzhou
  • 2015年08月22日 16:02
  • 1156

DL04-卷积神经网络CNN图解[转]

来源:http://xilinx.eetrend.com/article/10827卷积神经网络CNN图解 作者: Sanjay Chan [ http://blog.csdn.net/ch...
  • ld326
  • ld326
  • 2017年12月29日 17:14
  • 104

再看CNN中的卷积

这两天在看CS231n的课程笔记,结合着原版英文和知乎上中文版翻译在看,确实Andrej Karpathy写的很棒,很多都是些实践经验不仅仅是理论知识. 我结合着自己的理解和Karpathy的介绍,重...
  • Gavin__Zhou
  • Gavin__Zhou
  • 2017年05月25日 11:03
  • 2811

七月算法深度学习笔记6--CNN推展案例:图像检测、NeuralStyle

这套笔记是跟着七月算法五月深度学习班的学习而记录的,主要记一下我再学习机器学习的时候一些概念比较模糊的地方,具体课程参考七月算法官网: http://www.julyedu.com/  图...
  • thystar
  • thystar
  • 2016年06月10日 17:24
  • 2809
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:卷积神经网络(cnn)学习笔记1:入门
举报原因:
原因补充:

(最多只允许输入30个字)