什么是cnn(大众对CNN的分析)

/ 0评 / 0

什么是cnn(大众对CNN的分析)

CNN基础知识的介绍和TensorFlow的具体实现,对于初学者或求职者来说都是不可多得的素材。

定义:

简而言之,卷积神经网络是一种类似于人工神经网络的深度学习模型或多层感知器,常用于分析视觉图像。卷积神经网络的创始(www.isoyu.com原创版权)人是著名的计算机科学家Yann LeCun,他目前正在研究脸书。他是第一个通过卷积神经网络解决MNIST数据集上手写数字问题的人。

Yann LeCunn

卷积神经网络的灵感来源于生物加工,因为神经元之间的连接方式类似于动物的视觉皮层。

人脑的视觉结构

单个皮层神经元只在称为感受野的有限视野内对刺激作出反应,不同神经元的感受野部分重叠,从而可以覆盖整个视野。

计算机视觉和人类视觉

如上图所示,当我们谈论任何类型的神经网络时,都不可能提到关于神经科学和人体(尤其是大脑)及其功能的一点知识,这已经成为创造各种深度学习模型的主要灵感来源。

卷积神经网络的体系结构:

卷积神经网络体系结构

如上图所示,卷积神经网络架构与常规人工神经网络架构非常相似,尤其是在网络的最后一层,即全连接。此外,还注意到卷积神经网络可以接受多个特征图作为输入,而不是向量。

让我们探索卷积神经网络的基本组成和相关的数学运算过程,并根据训练过程中学习到的特征和属性对图像进行可视化和分类。

输入层|输入层:

输入层主要是nm3 RGB图像,与人工神经网络不同。人工神经网络的输入是n1维向量。

RGB图像

卷积层|卷积层:

在卷积层,计算输入图像的面积与滤波器的权重矩阵之间的点积,并将结果作为该层的输出。过滤器将在整个图像上滑动,并重复相同的点积操作。这里要注意两件事:

过滤器的通道数必须与输入图像的通道数相同;

网络越深,使用的过滤器就越多。过滤器越多,边缘和特征检测就越多。

正向卷积运算

卷积层输出的大小:

输出宽度:

输出高度:

其中:

w:输入图像的宽度

输入图像的高度

Fw:过滤器或滤芯的宽度

Fh:过滤器的高度

p:填充

学生:移动步幅

卷积层输出的通道数等于卷积运算期间使用的滤波器数。

为什么选择卷积?

有时候你可能会问自己,为什么要先用卷积运算?为什么不从头开始扩展输入图像矩阵?在这里给出答案,如果我们这样做,最终会得到很多需要训练的参数,大多数人无法以最快的方式解决计算成本高的任务。另外,卷积神经网络参数少,可以避免过拟合。

汇集层|汇集层:

目前广泛使用的池化操作有两种——平均池化和最大池化,其中使用最多的是最大池化,其效果普遍优于平均池化。在卷积神经网络上,使用汇聚层来降低特征空间的维数,但并不降低深度。使用最大池层时,采用最大输入区域数,使用平均池时,采用输入区域平均值。

最大池

为什么是泳池?

池层的核心目标之一是提供空间差异,这意味着即使对象的外观以某种方式发生变化,您或机器也能够识别该对象。关于池层的更多信息,请参考Yann LeCunn的文章。

非线性层|非线性层:

在非线性层,一般采用ReLU激活函数代替传统的Sigmoid或Tan-H激活函数。ReLU激活函数对输入图像中的每个负值都返回值0,而对输入图像中的每个正值都返回相同的值(有关激活函数的更深入描述,请参见本文)。

ReLU激活功能

}全连接层:

在完全连接层中,我们展平最后一个卷积层的输出,并将当前层的每个节点与下一层的另一个节点连接起来。全连接层只是人工神经网络的另一种说法,如下图所示。全连接层的操作与一般人工神经网络完全相同: