卷积神经网络(从零开始)

学习卷积神经网络的动机:

ConvNets被证明在图像识别和分类方面非常有效。Facebook需要它的标签算法,Instagram和谷歌的搜索基础设施,并且这个列表不断更新。

卷积神经网络(从零开始)

MNIST

什么是图像分类 :

输入:图像

输出:最佳描述输入图像的类或一组类

我们如何(人类)做到这一点 :

人类在图像分类上非常棒。我们毫不费力地识别出环境中存在的所有物体,但是您是否曾试图深入地挖掘我们如何学会识别图像,并在以后能够轻松地标记物体。

观察你周围的任何新出生的婴儿,他如何开始区分鸟类和狗的图像。

  • 1-首先,他将无法分辨目前的图像是否是鸟/狗

  • 2-然后他的父母向他展示了几张鸟/狗的照片,并相应地给他们贴上了鸟和狗的标签

  • 3-孩子慢慢学会从狗图片和翅膀中提取爪子和尾巴等高级特征,并从鸟类图片中啄出喙

  • 4-尽可能多的他看到的照片,他得到自信

  • 5 - 现在,当他看到Test_image时,他会检查图像中的生物是否有爪子,尾巴或翅膀和喙,并据此做出决定

同样CNN也这样做。让我们看看如何!

计算机如何做 :

卷积神经网络(从零开始)

How we see vs How computer see

计算机将每个图像视为像素值的3-D矩阵。对于尺寸为480 x 480的彩色图像,计算机将看到尺寸为480 x 480 x 3(3代表RGB值)的阵列。这些数字中的每一个都有一个从0到255的值,它描述了该点的像素强度。计算机如何实现这一点 - 计算机可以通过查找低级特征(如边缘和曲线)来执行图像分类,然后构建通过一系列卷积层提供更抽象的概念

深入挖掘:

卷积神经网络(从零开始)

简单的ConvNet

让我们把整个结构分成两部分:

  • 1-卷积部分 - 负责从输入图像中提取高级特征,我们最终输入到完全连接的部分

  • 2-完全连接部分 - 组合提取的所有特征并对输入图像进行分类

卷积由 - 1 /几层(卷积层+ Relu +池)

卷积层 -

输入 :像素值的3D阵列。

输出 :feature map

让我们试着通过类比来理解它:

你在黑暗的房间里,手里拿着一本加密的书和一个特别的手电筒,你的任务是阅读本书的一页,你将如何做:

在此之前,让我解释一下特殊手电筒中的“特殊”:从手电筒发出的光线也有一些信息

1-继续将闪光的焦点放在书上

2-在每一点上,使用手电筒的特殊功能,将书中当前光线中出现的信息与当时可用的信息“结合”

3-继续重复上述两个步骤,直到页面结束,也不要忘记继续滑动闪光灯的焦点(非常谨慎),以免错过任何东西。

额外提示:您可以一次读取的内容数量等于闪光灯焦点的大小

在这里,我们将过滤掉手电筒图像的位置,而不是页面和接受区域来代替手电筒的焦点。过滤器是一组数字(weight)

卷积神经网络(从零开始)

Test_image

卷积神经网络(从零开始)

过滤

卷积神经网络(从零开始)

卷积运算

看看卷积运算是如何发生的。过滤器在Test_image上滑动1个像素,并且对于每个感受野发生,我们通过做两个矩阵的点积来计算结果矩阵中的数字。

作为结果获得的矩阵称为“特征映射”。通过使用不同的过滤器,我们可以获得不同的“功能图

你一定在想,如何使用多个矩阵的产品来帮助我们进行特征提取

我也解释一下。

幕后发生的事情:

每个过滤器都是“Feature identifier(功能标识符)”。特征意味着边缘,颜色,曲线 - >半圆或正方形 - >面(复杂特征)。

让我们试着了解我们将在测试图像上应用的第一个滤镜(曲线检测器):

卷积神经网络(从零开始)

注意在数组中,我们根据曲线的形状有很大的数字。

卷积神经网络(从零开始)

现在让我们开始在Test_image上滑动筛选器:

卷积神经网络(从零开始)

当我们将筛选器滑动到Test_image的正确位置时,我们发现结果很高。

现在让我们将其滑动到图像中不存在此特征(曲线)的部分:

卷积神经网络(从零开始)

结果太低了!原因是Test_image中没有任何内容对过滤器做出响应,所以过滤器未被激活。因此,Test_image中后面的区域在激活图中的值较小,表明该区域具有较少特定特征的可能性。

以类似的方式,我们计算其他过滤器的特征映射,以及将会告诉Test_image的哪一部分更可能具有该特定特征

非线性(Relu):

输入:来自卷积层的特征映射

输出:在特征映射中引入非线性来映射真实世界数据

卷积神经网络(从零开始)

Pooling

输入:Feature Map with(非线性引入)

输出:减少feature map的维度。

有“n”类型的池(Max、Sum、Avg)。让我们了解最常见的“最大池”

我们从feature map的一小部分(窗口)中取出最大的元素。

卷积神经网络(从零开始)

卷积神经网络(从零开始)

现在,如果我们在网络中继续前进,我们会继续应用以上三个步骤,并在每一层尝试检测更高级别的功能

一旦获得爪子,脸部,翅膀等高级特征,我们将其馈送到全连接层。

全连接层:

输入:来自卷积层的特征图

输出:N维向量,其中N是类的数量

例如,如果用于数字分类程序的结果向量是[0.1.1.75 0 0 0 0 .05],那么这代表10%的概率,即图像是1,10%的概率,即图像是2,图像是3的概率是75%,图像是9的概率是5%

它看起来哪个高级特征图具有较高的值,如图像是狗,那么表示翼的特征图具有高值,如果表示翼的鸟特征图具有高值。

卷积神经网络(从零开始)

相关推荐