经典CNN的基础

经典的CNN(卷积神经网络)如何工作?

经典的CNN架构。

卷积神经网络。听起来像是生物学和数学的怪异组合,并撒了一点点CS,但这些网络已经成为计算机视觉和图像处理领域中最具影响力的一些创新。

卷积神经网络是多层感知器(MLP)的正规化版本。它们是基于动物视觉皮层神经元的工作而开发的。

通过计算机可视化图像

二进制图像可视化。

假设我们有一个JPG格式的彩色图像,其大小为480 x480。代表性的数组为480 x 480 x3。这些数字中的每一个都被赋予一个从0到255的值,该值描述了该点的像素强度。图像的RGB强度值通过计算机可视化以进行处理。

使用CNN的目的是:

这个想法是,您给计算机提供这个数字数组,它将输出描述图像属于特定类别的概率的数字(猫为0.80,狗为.15,鸟为.05等) 。它的工作方式类似于我们的大脑工作方式。当我们查看狗的图片时,如果图片具有可识别的特征(例如爪子或4条腿),则可以将其分类。以类似的方式,计算机能够通过查找低级特征(例如边缘和曲线)然后通过一系列卷积层构建更多抽象概念来执行图像分类。计算机使用在初始级别获得的低级特征来生成诸如爪子或眼睛之类的高级特征以识别对象。

经典CNN:

经典卷积神经网络的内容:-

1,卷积层

2.每个卷积层之后的激活操作。

3.Pooling层,尤其是Max Pooling层,以及根据需要的其他层。

4.最终完全连接层。

卷积运算
第一层:

1.输入卷积层

将图像调整为最佳大小,并作为输入输入到卷积层。

让我们将输入视为像素值的32x32x3数组

2.存在一个过滤器,神经元或内核,它们取决于内核大小的尺寸而位于输入图像的某些像素上。

令过滤器的内核尺寸为5x5x3。

3.内核实际上在输入图像上滑动,因此它会将过滤器中的值与图像的原始像素值相乘(也称为计算逐元素乘法)。

将乘法相加得出该特定接收场的单个数字,因此,为了滑动内核,将总共784个数字映射到称为特征图的 28x28数组

**现在,如果我们考虑两个相同维数的内核,则获得的第一层特征图将为(28x28x2)。

高层视角

•让我们以大小为(7x7x3)的内核进行理解。每个内核都被视为特征标识符,因此可以说我们的滤波器将是曲线检测器。

  • 原始图像和图像上内核的可视化。

生成的乘法值的总和= 4 *(50 * 30)+(20 * 30)= 6600(大数)

  • 现在,当内核移至图像的另一部分时。

生成的乘法值的总和= 0(小数)。

使用小而大的价值。

1.该值低得多!这是因为图像部分中没有任何响应曲线检测器过滤器的东西。请记住,该卷积层的输出是激活图。因此,在一个滤波器卷积的简单情况下(如果该滤波器是曲线检测器),激活图将显示图片中最有可能弯曲的区域。

2.在前面的示例中,我们的26 x 26 x 1激活图的左上角值为6600(因为7x7滤镜而不是5x5,所以为26)。此高值意味着可能存在某种导致过滤器激活的输入体积中的曲线。我们的激活图中右上角的值为0,因为在输入体积中没有任何东西导致过滤器激活。这仅用于一个过滤器。

3.这只是一个过滤器,它将检测向外弯曲和向右弯曲的线。我们可以为向左弯曲的直线或直边设置其他过滤器。过滤器越多,激活图的深度就越大,我们掌握的有关输入量的信息也就越多。

在图片中,我们可以看到第一个转换的过滤器实际可视化的一些示例。受过训练的网络的层。但是,主要论点保持不变。第一层上的滤镜围绕输入图像进行卷积,并在其寻找的特定特征在输入体积中时“激活”(或计算高值)。

顺序转换 在第一个之后。

1.当我们经历另一个转换时 层,第一个转化的输出。图层成为第二次转化的输入。层。

2.但是,当我们谈论第二次转化时。层,输入是从第一层得到的激活图。因此,输入的每一层基本上都描述了原始图像中某些低级特征出现的位置。

3.现在,当您在该过滤器之上应用一组过滤器(使其通过第二个转换层)时,输出将是代表更高级别功能的激活。这些特征的类型可以是半圆形(曲线和直边的组合)或正方形(几个直边的组合)。当您通过网络并进行更多转化时。图层,您将获得代表越来越复杂的功能的激活图。

4.在网络的末端,您可能具有一些过滤器,这些过滤器在图像中有笔迹时会激活,过滤器在看到粉红色物体时会激活,等等。

池化操作。
最大池化示例。

考虑步幅= 2(最大值)的2x2滤波器
考虑步幅= 1(最大值)的3x3滤镜
考虑步幅= 2(最大值)的3x3滤镜

完全连接的层。

1.此完全连接的层的工作方式是,它查看上一层的输出(我们记得它应该代表高级功能的激活图)和类数N(数字分类为10)。

2.例如,如果程序预测某些图像是狗,则它将在激活图中具有较高的值,这些值代表诸如爪子或4条腿等高级特征。基本上,FC层会查看级别特征与特定类之间的关联度最高,并且具有特定权重,因此当您计算权重与上一层之间的乘积时,您将获得不同类的正确概率。

3.全连接层的输出如下[0 .1 .1 .75 0 0 0 0 0 .05],则表示图像为1的概率为10%,图像为1的概率为10%对于数字分类,是2,表示图像为3的概率为75%,表示图像为9的概率为5(Softmax方法)为5%。

训练。

§我们知道内核,也称为特征标识符,用于识别特定特征。但是如何使用特定的权重初始化内核,或者过滤器如何知道要具有的值。

因此,这是培训的重要步骤。训练过程也称为反向传播,它进一步分为4个不同的部分或过程。

•前进通行证

•损失功能

•倒退通行证

•体重更新

前向通行证:

对于训练的第一个时期或迭代,第一个转换的初始内核。层使用随机值初始化。因此,在第一次迭代之后,输出将类似于[.1.1.1.1.1.1.1.1.1.1],由于内核没有特定的权重,因此它不会优先考虑任何类。

损失函数:

训练涉及图像和标签,因此数字3的标签将为[0 0 0 1 0 0 0 0 0 0 0],而第一个时期之后的输出则非常不同,因此我们将计算损失(MSE-均值平方误差

目的是使损失最小化,这是微积分中的优化问题。它涉及尝试调整权重以减少损失。

后退通行证:

它涉及确定哪些权重是造成损失的最大因素,并找到调整权重以减少损失的方法。它使用dL / dW计算,其中L是损耗,W是相应内核的权重。

重量更新:

这是使用以下公式更新内核权重的地方。

在这里,学习率由程序员选择。学习率的值越大,表示朝着逐步优化的方向迈出的步伐就越大,向卷积优化的权重所花费的时间也就越大。

测试。

最后,要查看我们的CNN是否有效,我们有一组不同的图像和标签(不能在训练和测试之间加倍使用!),然后将图像通过CNN。我们将输出与基本事实进行比较,看看我们的网络是否有效!

走向数据科学

中型出版物,共享概念,思想和代码。

钱德拉·库尔·查特吉

撰写者

卡纳塔克邦国立技术学院的面向音频数据分析的深度学习和机器学习实习生

走向数据科学

中型出版物,共享概念,思想和代码。

更多来自中型

来自面向数据科学的更多内容

来自面向数据科学的更多内容

欢迎来到话语重要的地方。Medium上,聪明的声音和原始想法成为中心焦点-看不到广告。
关注您关心的所有主题,我们将为您提供最佳故事到您的主页和收件箱。探索
无限制地访问Medium 上的最佳故事-并在写作过程中为作家提供支持。每月只需​​$ 5。升级