您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
cnna cn哪个国家缩写
卷积,神经网络,操作cnna cn哪个国家缩写
发布时间:2019-02-08加入收藏来源:互联网点击:
很多朋友想了解关于cnna的一些资料信息,下面是小编整理的与cnna相关的内容分享给大家,一起来看看吧。
摘要: CNN基础知识介绍及TensorFlow具体实现,对于初学者或者求职者而言是一份不可多得的资料。
定义:简而言之,卷积神经网络(Convolutional Neural Networks)是一种深度学习模型或类似于人工神经网络的多层感知器,常用来分析视觉图像。卷积神经网络的创始人是着名的计算机科学家Yann LeCun,目前在Facebook工作,他是第一个通过卷积神经网络在MNIST数据集上解决手写数字问题的人。
Yann LeCunn
卷积神经网络的出现是受到了生物处理过程的启发,因为神经元之间的连接模式类似于动物的视觉皮层组织。
人脑的视觉结构
个体皮层神经元仅在被称为感受野的视野受限区域中对刺激作出反应,不同神经元的感受野部分重叠,使得它们能够覆盖整个视野。
计算机视觉与人类视觉
正如上图所示,我们在谈论任何类型的神经网络时,都不可能不提及一点神经科学以及人体(特别是大脑)及其功能相关的知识,这些知识成为创建各种深度学习模型的主要灵感的来源。
卷积神经网络的架构:卷积神经网络架构
如上图所示,卷积神经网络架构与常规人工神经网络架构非常相似,特别是在网络的最后一层,即全连接。此外,还注意到卷积神经网络能够接受多个特征图作为输入,而不是向量。
下面让我们探索构成卷积神经网络的基本构件及相关的数学运算过程,并根据在训练过程中学到的特征和属对图像进行可视化和分类。
输入层|Input Layer:输入层主要是n×m×3 RGB图像,这不同于人工神经网络,人工神经网络的输入是n×1维的矢量。
RGB图像
卷积层|Convolution Layer:在卷积层中,计算输入图像的区域和滤波器的权重矩阵之间的点积,并将其结果作为该层的输出。滤波器将滑过整个图像,重复相同的点积运算。这里注意两件事:
滤波器必须具有与输入图像相同数量的通道;网络越深,使用的滤波器就越多;拥有的滤波器越多,获得的边缘和特征检测就越多;前向卷积运算
卷积层输出的尺寸:
输出宽度:
输出高度:
其中:
W :输入图像的宽度H :输入图像的高度Fw :滤波器或内核的宽度Fh :滤波器的高度P :填充S :移动步幅卷积层输出的通道数等于卷积操作期间使用的滤波器的个数。
为什么选择卷积?有时候可能会问自己,为什么要首先使用卷积操作?为什么不从一开始就展开输入图像矩阵?在这里给出答案,如果这样做,我们最终会得到大量需要训练的参数,而且大多数人都没有能够以最快的方式解决计算成本高昂任务的能力。此外,由于卷积神经网络具有的参数会更少,因此就可以避免出现过拟合现象。
池化层|Pooling Layer:目前,有两种广泛使用的池化操作——平均池化(average pooling)和最大池化(max pooling),其中最大池化是两者中使用最多的一个操作,其效果一般要优于平均池化。池化层用于在卷积神经网络上减小特征空间维度,但不会减小深度。当使用最大池化层时,采用输入区域的最大数量,而当使用平均池化时,采用输入区域的平均值。
最大池化
为什么要池化?池化层的核心目标之一是提供空间方差,这意味着你或机器将能够将对象识别出来,即使它的外观以某种方式发生改变,更多关于池化层的内容可以查看Yann LeCunn的文章。
非线层|Non-linearity Layer:在非线层中,一般使用ReLU激活函数,而不是使用传统的Sigmoid或Tan-H激活函数。对于输入图像中的每个负值,ReLU激活函数都返回0值,而对于输入图像中的每个正值,它返回相同的值(有关激活函数的更深入说明,请查看这篇文章)。
ReLU激活函数
全连接层}Fully Connected Layer:在全连接层中,我们将最后一个卷积层的输出展平,并将当前层的每个节点与下一层的另一个节点连接起来。全连接层只是人工神经网络的另一种说法,如下图所示。全连接层中的操作与一般的人工神经网络中的操作完全相同:
卷积层展开
全连接层
上面讨论的层和操作都是每个卷积神经网络的核心组件,现在已经讨论了卷积神经网络在前向传播中经历的操作,下面让我们跳转到卷积神经网络在反向传播中经历的操作。
反向传播|Backpropagation:全连接层:在全连接层中,反向传播与任何常规人工神经网络完全相同,在反向传播中(使用梯度下降作为优化算法),使用损失函数的偏导数即损失函数关于权重的导数来更新参数,其中我们将损失函数的导数与激活输出相乘,激活输出的导数与非激活输出相乘,导数为未激活的输出与权重相对应。
数学表达式如下:
反向传播说明图
在计算梯度之后,我们从初始权重中减去它以得到新的优化:
其中:
θi+ 1 :优化的权重θi:初始权重α :学习率∇J(θi):损失函数的梯度梯度下降
在下面的动态图中,是将梯度下降应用于线回归的结果。从图中可以清楚地看到代价函数越小,线模型越适合数据。
梯度下降应用于线回归
此外,请注意一点,应该谨慎地选择学习率的取值,学习率太高可能会导致梯度超过目标最小值, 学习率太低可能导致网络模型收敛速度变慢。
小学习率与大学习率
在所有优化任务中,无论是在物理学、经济学还是计算机科学中,偏导数都被大量使用。偏导数主要用于计算因变量f(x, y, z)相对于其独立变量之一的变化率。例如,假设你拥有一个公司的股份,后者的股票会根据多种因素(证券、政治、销售收入等)上涨或下跌,在这种情况下通过偏导数,你会计算多少股票受到影响而其他因素保持不变,股票发生变化,则公司的价格也会发生变化。
池化层|Pooling Layer:在最大池化特征图层中,梯度仅通过最大值反向传播,因此稍微更改它们并不会影响输出。在此过程中,我们将最大池化操作之前的最大值替换为1,并将所有非最大值设置为零,然后使用链式法则将渐变量乘以先前量以得到新的参数值。
池化层反向传播
与最大池化层不同,在平均池化层中,梯度是通过所有的输入(在平均合并之前)进行传播。
卷积层|Convolution Layer:你可能现在问自己,如果卷积层的前向传播是卷积,那么它的反向传播是什么?幸运的是,它的向后传播也是一个卷积,所以你不必担心学习新的难以掌握的数学运算。
卷积层反向传播
其中:
∂hij:损失函数的导数简而言之,上图表明了反向传播是如何在卷积层中起作用的。现在假设你已经对卷积神经网络有了深刻的理论理解,下面让我们用TensorFlow构建的第一个卷积神经网络吧。
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |