卷积神经网络CNN背后的5个直观含义

卷积神经网络CNN相比较与MLP等其他传统神经网络的区别就是引入了至少一层的卷积操作,当然还有池化层Pooling Layer,那么卷积神经网络CNN为什么要这么做呢?这样做会有哪些好处呢?《Deep Learning with Python:A Hands-on Introduction》一书的作者Nikhil Ketkar在CNN这一章节给出了5点他认为比较重要的认识。

容量Capacity

容量的大小,代表了网络所能拟合的线性空间的大小,例如一个2阶的线性函数,最多只能拟合二元函数。相比较与由全连接层组成的传统神经网络,CNN引入了卷积层,其单层的容量是减少了,实际使用中也会影响CNN网络所能拟合的模型大小。但是,由于引入了卷积层,也降低网络训练的复杂度,增加了权值的可重用性,使得更多层的CNN实现成为了可能。

特征学习Feature Learning

传统的模式识别算法,或者计算机视觉算法,是需要人工手动的告诉计算机需要学习哪些特征点,而CNN的权值,通过训练之后,可以自己适应不同特征点,从而“学习”到这些特征点,比如线条,边缘,形状等。

局部不变性Local Invariance

在一幅输入图片中,如果我们检测到了一条直线,那么在权值网络中,总会有权值识别到这条直线,而与在哪个部位,哪个权值识别的没有太大的关系,这就引入了池化层Pooling Layer,使用更多的是最大池化操作。

分层Hierarchy

典型的CNN网络由多个卷积层+池化层的组合,最后由全连接层输出,这样一个分层架构。这样就使得在卷积层和池化层使用众多简单的权值,去识别局部的简单的特征点,而在全连接层将特征统一。

全连接层Fully-Connected Layer

在CNN的最后,都会存在全连接层,完成网络的输出,也就是分类。这也是CNN与传统神经网络的区别,不需要程序员手动指定分类标签然后送入神经网络。这些分类都是由网络通过数据集学习到的。

欢迎讨论交流

研究领域包括集成电路、无线通信等,涉及深度学习加速器、SoC设计空间探索、多核任务调度和新一代无线通信系统实现;具有65nm、40nm成功流片经验,在研项目包括28nm、16nm等。

中国科学院自动化研究所国家专用集成设计工程技术研究中心

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180119A02P1R00?refer=cp_1026

同媒体快讯

相关快讯

扫码关注云+社区