初学者必读:卷积神经网络指南(一)

初学者必读:卷积神经网络指南(一),第1张

摘要: 何为卷积神经网络,它来自何方?又要走向何处?跟着作者的节奏,一起来开始探索CNN吧。

卷积神经网络听起来像一个奇怪的生物学和数学的组合,但它是计算机视觉领域最具影响力的创新之一。2012年是卷积神经网络最流行的一年,因为Alex Krizhevsky用它赢得当年的ImageNet竞争(基本上算得上是计算机视觉的年度奥运),它将分类错误记录从26%降至15%,这是惊人的改善。从那时起,深度学习开始流行起来,Facebook使用神经网络进行自动标记算法,Google进行照片搜索,亚马逊的产品推荐,家庭饲料个性化的Pinterest,以及以搜索为基础设施的Instagram

 

今天我们来看看在图像处理中如何使用CNN进行图像分类。

1.空间问题

图像分类是输入图像并输出类(猫,狗等)的任务,或是最能描述图像的类的概率。对于人类来说,这个任务是我们从出生的那一刻开始学习的第一个技能之一。我们人类能够快速,无缝地识别我们所处的环境以及我们周围的对象。当我们看到一个图像,甚至只是看着我们周围的世界,大多数时候,我们能够立即刻画场景,并给每个对象一个标签,所有这些都没有意识到注意。能够快速识别模式的这些技能,从先前的知识推测出来,适应不同的图像环境是我们的特长。我个人觉得这是人类三维视角的独特的优势,相较于机器的二维视角。

初学者必读:卷积神经网络指南(一),初学者必读:卷积神经网络指南(一),第2张

 

2.输入和输出

当计算机看到图像(将图像作为输入)时,它将看到的是像素值的数组。根据图像的分辨率和大小,它会看到一个32 x 32 x 3的数组(3是RGB值)。我们假设我们有一个JPG形式的彩色图像,其大小是480 x 480.代表性的数组将是480 x 480 x 3。这些数字中的每一个都给出一个从0到255的值,它描述某个点的像素强度。这些数字在我们进行图像分类时对我们毫无意义,但它是计算机可用的唯一输入。所以,这在人类的潜意识中是非常困难的。

3.我们想要电脑做什么

现在我们知道了问题以及如何输入和输出,让我们考虑一下如何解决这个问题。我们希望电脑能够区分所有的图像,并找出识别狗或识别猫的独特功能。当我们看一只狗的照片时,如果图片具有可识别的特征,例如爪子或四条腿,我们可以对其进行分类。以类似的方式,计算机能够通过寻找诸如边缘和曲线的低级特征,然后通过一系列卷积层来构建更抽象的概念来执行图像分类。这是CNN功能的总体概述,我们来详细了解一下。

3.1生物连接
首先你要有一点生物学背景。当你第一次听到“卷积神经网络”一词的时候,你可能会想到与神经科学或生物学有关的东西。CNN确实从生物学中的视觉皮质获得启发,视觉皮层是具有对视野的特定区域敏感的细胞区域,而且特定区域一般很小。这个想法在1962年由Hubel和Wiesel的实验产生的。Hubel和Wiesel发现,所有这些神经元都被组织在一个柱状结构中,并且它们一起能够产生视觉感知。具有特定任务(视觉皮层中的神经元细胞寻找特定特征)的系统内的专门组件的想法也是机器使用的构思。也是我们常说的局部感受野:就是输出图像某个节点的响应所对应的最初的输入图像的区域。这也是CNN的基础。

4.结构体

接下来我们谈谈具体细节。对CNN做什么的更详细的概述将是:拍摄图像、通过一系列卷积、非线性、池(下采样)和完全连接的层,并获得输出。如我们前面所说,输出可以是单个类或最能描述图像的类的概率。现在,困难的部分是理解这些层中的每一个,首先让我们进入最重要的一个。

4.1第一层:数学 (Math)
CNN中的第一层总是卷积层。第一件事是要确保你记得是这个转换的输入,像我们之前提到的,输入是一个32 x 32 x 3的像素数组。解释转换层的最好方法是想象一下闪光在图像左上方的手电筒,这个手电筒的光线覆盖着5×5的区域。而现在,我们可以想象这个手电筒可以滑过输入图像的所有区域。在机器学习术语中,这种手电筒被称为滤波器(或有时称为神经元或内核),并且其闪烁的区域称为接收场。现在这个过滤器也是数字数组(数字称为权重或参数)。一个非常重要的注意事项是,该滤波器的深度必须与输入深度相同(这样才可以确保数学运算),因此滤波器的尺寸为5 x 5 x 3。

译者注:滤波器:filter(带着一组固定权重的神经元)对局部输入数据进行卷积计算。

现在,我们来看看滤波器的第一个位置。当滤波器在输入图像周围滑动或卷积时,它将滤波器中的值与图像的原始像素值(AKA运算单元乘法)相乘。所以你将等到一个数字,请记住,这个数字只是代表滤波器位于图像左上方的代表。现在,我们对每个位置重复此过程。(下一步是将滤镜向右移动1个单位,然后再次向右移动1个,依此类推。)每个位置都会产生一个数字,滤波器将所有位置的滑动后,你会发现剩下的是28 x 28 x 1的数字数组,我们称之为激活图或特征图。你得到一个28 x 28阵列的原因是,有784个不同的位置,一个5 x 5的过滤器可以适应32 x 32的输入图像。这些784个数字被映射到一个28×28阵列。

初学者必读:卷积神经网络指南(一),初学者必读:卷积神经网络指南(一),第3张

 

现在我们使用两个5 x 5 x 3的过滤器,而不是一个。那么我们的输出将是28 x 28 x 2.通过使用更多的滤镜,我们可以更好地保留空间维度。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2601168.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-09
下一篇 2022-08-09

发表评论

登录后才能评论

评论列表(0条)

保存