机器学习 | 卷积神经网络初识
Posted 数艺学苑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习 | 卷积神经网络初识相关的知识,希望对你有一定的参考价值。
Convolutional Neural Networks
什么是卷积神经网络?
简述
卷积神经网络(Convolutional Neural Network)简称CNN,CNN是所有深度学习课程、书籍必教的模型,CNN在影像识别方面的威力特别强大,许多影像识别的模型也都是以CNN的架构为基础去做延伸。另外值得一提的是CNN模型也是少数参考人的大脑视觉组织来建立的深度学习模型,学会CNN之后,对于学习其他深度学习的模型也很有帮助。
01
第一节 /CNN简介
你是否正在进行有关图像识别或对象检测的项目,但是还没有神经网络架构的基础知识呢?在本文中,我们将从基础层面了解什么是卷积神经网络体系结构。在这之前,您只需要知道卷积的计算原理即可。不要担心,这很简单!
本文将逐层进行阐述,以期望读者获得有关CNN的深刻理解,让我们来看一个简单的卷积神经网络。
首先,我们需要从第1层当中了解一些东西,即跨步和填充,我们将通过示例简要介绍其中的每个部分。
我们假设在5×5的输入矩阵和3X3的矩阵过滤器中(如果您不知道过滤器是应用于图像或矩阵以获得所需矩阵特征权重的话,那么请您自行搜索了解!)
注意:在进行卷积时,我们总是取所有值的总和或平均值。
过滤器可以是任何深度,如果过滤器的深度为d,则过滤器可以达到d层的深度并进行卷积,即对所有(权重x输入)d层求和
在使用3×3内核或者过滤器时,如果输入的大小为5×5,您将获得3×3的输出特征图。积运算就是将原始图片的与特定的Feature Detector(filter)做卷积运算(符号⊗),让我们尝试将其表示为:
因此,输出高度被规范化,并且与o / p宽度相同。Feature Detector的目的就是帮助我们萃取出图片当中的一些特征(ex:形状),就像人的大脑在判断这个图片是什么东西也是根据形状来推测的。
CNN简介
02
第二节 /CNN填充
在应用卷积时,我们有时无法获得与输入相同的输出尺寸。这是由于我们有时会在边界上丢失数据,为此,我们添加一个零边界并重新计算覆盖所有输入值的卷积。添加一层零值像素以使用零环绕输入,这样我们的要素图就不会缩小。除了在执行卷积后保持空间大小不变,填充还可以提高性能并确保内核和步幅大小适合输入。
我们尝试计算一下:
CNN填充
03
第三节 /CNN跨步
有时我们不需要捕获所有可用的数据或信息,因此我们跳过一些相邻的单元格。Stride是每次卷积滤波器移动的步长。步幅大小通常为1,意味着滤镜逐个像素地滑动。通过增加步幅大小,您的滤波器在输入上滑动的间隔更大,因此单元之间的重叠更少。
在这里,输入矩阵的尺寸为5×5,过滤器为3×3,步幅为2,因此,每当我们跳过两列并进行卷积时,我们可以将其表示为:
如果尺寸为浮动尺寸,则可以在输出中使用ceil(),即(下一个整数)。这里的H表示高度,所以输出的高度被规范化,并且与o / p宽度相同,这里的2是跨度值,因此可以在公式中将其设为S。
CNN跨步
04
第四节 /CNN池化
一般而言,池化是指一小部分矩阵而言,因此这里我们只取输入的一小部分,并尝试取平均值(称为平均池)或取最大值(称为最大池)。通过对图像进行池化,并没有取走所有的特征,而是对所有现存的特征进行汇总!池化的功能是不断降低维数,以减少网络中的参数和计算次数。这缩短了训练时间并控制过度拟合。最常见的池类型是max pooling,它在每个窗口中占用最大值。需要事先指定这些窗口大小。这会降低特征图的大小,同时保留重要信息。
这是最大池化的一个示例,跨度为2,我们采用矩阵中存在的最大值。
CNN池化
05
第五节 /CNN激活函数
激活功能可能会在一个节点,位于神经网络的末尾或中间,使用Relu函数去掉负值,更能淬炼出物体的形状。就像上图一样,我们有不同类型的激活函数,但是对于这篇文章,我的重点将放在线性单元(ReLU)上
这不是那么复杂,如果您的值是负数,此函数返回0,否则返回与您给定的值相同。还有其他一些激活函数,读者可以自行了解。就像任何其他神经网络一样,我们使用激活函数使输出非线性。在卷积神经网络的情况下,卷积的输出将通过激活函数。这就是ReLU的激活功能。
现在,我们已经学习了所需的所有基础知识,下次我们研究一个称为LeNet的基本神经网络,并进行一个利用CNN识别MNIST手写字体.
CNN激活函数
-END-
本文作者
指导老师
长按二维码关注沈浩老师
、
扫描二维码
微信号 : cucbigdatalabs原文链接:
https://www.analyticsvidhya.com/blog/2020/11/basic-concepts-object-oriented-progra
以上是关于机器学习 | 卷积神经网络初识的主要内容,如果未能解决你的问题,请参考以下文章