卷积神经网络:听起来像是生物与数学还有少量计算机科学的奇怪结合,但是这些网络在计算机视觉领域已经造就了一些最有影响力的创新。2012年神经网络开始崭露头角,那一年Alex Krizhevskyj在ImageNet竞赛上(ImageNet可以算是竞赛计算机视觉领域一年一度的“奥运会”竞赛)将分类错误记录从26%降低到15%,这在当时是一个相当惊人的进步。从那时起许多公司开始将深度学习应用在他们的核心服务上,如Facebook将神经网络应用到他们的自动标注算法中,Google(谷歌)将其应用到图片搜索里,Amazon(亚马逊)将其应用到产品推荐服务,Pinterest将其应用到主页个性化信息流中,Instagram也将深度学习应用到它们的图像搜索架构中。然而最经典的,或者说最流行的神经网络使用范例是将其用于图像处理领域。提到图像处理,本文主要介绍的是如何使用卷积神经网络来进行图像分类。
问题空间
图像分类是将输入图像(猫、狗等)进行分类输出或者将其分类成最能描述图像特征的类别的任务。对于人类来说,认知是我们出生之后就学会的第一个技能,也是作为成年人来说非常自然和轻松的技能。我们可以毫不犹豫迅速识别出我们周围的环境以及物体,当我们看到一张图片或者观察周遭环境时,大部分时间我们都能马上对场景做出判断并且给每个物体都打上标识,这些甚至都不需要刻意去观察。这些技能能够迅速识别其模式,从我们以前的经验中做出推论,然后将其运用至不同的图片或者环境中——这些都是我们与机器不同的地方。
输入与输出
当计算机看到一张图片时(即输入一张图片),它所看到的是一系列的像素值。根据图片的分辨率与大小,计算机将看到的是一个32×32×3的数字阵列(3指代的是RGB—颜色值)。我们稍微将一下这个,假设我们有一张480 x 480的JPG格式图片,它的表达阵列即为480 x 480 x 3。这些数字中的每一个值都可以从0取到255,它描述了在这一点上的像素强度。这些数字虽然对于我们进行图像分类时没有任何意义,但其却是计算机在图像输入时唯一获取的数据。这个理念就是你给电脑指定相关数据排列,它将图像是一个特定的类别的可能性进行输出(如80—猫,15—狗,05—鸟等)。
我们希望电脑做什么现在我们了解到问题是在输入和输出上,让我们来考虑如何解决这个问题。我们希望电脑能做到的是在所有的给定图像中分辨出不同的类别,它能找到那些“狗之所以是狗”或者“猫之所以是猫”的特性。这个就是在我们的头脑中潜意识里进行认知识别的过程,当我们看到一张狗的图像时,我们能够将其分类因为图像上有爪子或者四条腿等明显的特征。以类似的方式计算机能够进行图像分类任务,通过寻找低层次的特征如边缘和曲线,然后运用一系列的卷积层建立一个更抽象的概念。这是卷积神经网络应用的一个总体概述,接下来我们来探讨下细节。
生物联系首先要稍微普及下一点背景知识,当你第一次听到卷积神经网络这个词时,你也许会想这是是不与神经科学或者生物学有关?恭喜你,猜对了一部分。卷积神经网络的确从生物学上的视觉皮层得到启发,视觉皮层有微小区域的细胞对于特定区域的视野是十分敏感的。
1962年,Hubel和 Wiesel发现大脑中的部分神经元只对一定的方向的边缘做出回应。例如,当暴露在垂直边缘或者一些当水平或对角线边缘时,一些神经元才会做出回应。Hubel和 Wiesel发现,所有这些神经元都被架构在一个柱状结构中,这样的架构使它们能够产生视觉感知。系统中的特定成员可以完成特定任务这种理念(神经细胞在视觉皮层中寻找特定的特征)也能很好地应用在机器学习上,这也是卷积神经网络的基础。
架构对于卷曲神经网络更详细的介绍是将图片通过一系列的卷积、非线性、池(采样)、全连接层,然后得到一个输出。正如我们前面所说的,输出是一个类或者一个图像类别的可能性概率。现在,困难的部分是了解每一层的任务。
第一层—数学
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)