CNN是怎么帮助进行图像分类的.doc
《CNN是怎么帮助进行图像分类的.doc》由会员分享,可在线阅读,更多相关《CNN是怎么帮助进行图像分类的.doc(7页珍藏版)》请在三一文库上搜索。
1、CNN是怎么帮助进行图像分类的编者按:最近小编在搜集CNN卷积计算方面的资料,希望能出一份清晰明了的图文列表,但即便是在CNN介绍已经泛滥的今天,一篇好的、简单易懂的博客文章都是那么稀缺。今天,小编就先编译加州大学洛杉矶分校学生Adit Deshpande的几篇入门文章,希望能给新手读者带来帮助。简介单从字面上看,卷积神经网络这个词听起来就像是生物学和数学的诡异组合,里面可能还掺了一点计算机科学的意味,但这种神经网络一直在为计算机视觉领域默默贡献着最具影响力的创新。2012年是神经网络蓬勃发展的第一年,Alex Krizhevsky利用它们在当年的ImageNet竞赛中赢得了胜利,把分类错误率
2、从原来的26%降低到了15%,这在当时简直是惊天之举。从那之后,许多公司开始把深度学习纳入自家的核心产品中:Facebook把神经网络用于自动标记算法,Google把神经网络用于图像搜索,亚马逊把它们用于商品推荐,Pinterest把它们用于主页的个性化,而Instagram则开始用神经网络改进搜索架构。而在这些神经网络中,应用最为广泛的就是今天我们要聊的CNN。以图像处理为例,我们来看看CNN是怎么帮助进行图像分类的。输入和输出图像分类指的是输入一张图像后,神经网络输出一个关于这个图像的类,或是图像属于某类的概率的任务。对于人类而言,这是我们从出生那一刻起就开始不断学习的技能之一,而且随着年
3、龄的增长,人们处理这种任务会越来越轻松自然。无需二次思考,我们就能快速无缝识别身处的环境和周围的所有物体。当看到一幅图或是观察周围环境时,我们几乎是下意识地调用以往学习的所有知识,为场景中的各个对象一一打上标签。我们看到的 vs. 计算机看到的但计算机不同。我们把图像输入计算机后,它“看”到的其实是一组像素值。这些像素值的数量会根据图像的大小和分辨率发生改变,如果输入图像是一张JPG格式的彩色图像,它的像素为480480,那么计算机得到的数组就是4804803(这里3表示RGB值)。这个数组里的每一个值都介于0225之间,描述了对应像素的强度。虽然这些值对分类任务来说毫无意义,但它们是计算机可
4、以用的唯一输入。这就带出了另一个更直白的图像分类任务描述:它其实是把像素值数组作为输入,然后输出图像属于某一类的具体概率,如80%(猫)、15%(狗)、5%(鸟)。我们想让计算机做什么既然知道了理想的输入和输出,那我们面临的下一个问题就是如何让计算机解决这个任务。我们希望它能区分所有图像,然后找出狗之所以是狗、猫之所以是猫的独特特征。这是人类的本能反应。当我们看到包含狗的图像时,如果图像里出现了一些明确的识别特征,如狗爪子和四条小短腿,我们可以迅速将其归类。同样的,计算机分辨猫狗的做法是观察边缘、曲线等低层次特征,然后把这些放进一系列卷积层中进一步提取更多抽象概念。当然,这只是CNN进行图像分
5、类的一般概述,在下一节中我们会具体说明。在开始正题前,我们先来探讨一下“卷积神经网络”这个词。当你第一次接触这个术语时,你会不会觉得这应该是神经科学或生物学方面的东西?其实这种感觉是正确的,CNN是生物学家对动物的视觉研究成果的一个衍生物。视觉皮层中存在一块对视野特定区域尤为敏感的细胞。1962年,Hubel和Wiesel对视觉神经细胞做了一个实验,实验表结果明,只有在存在特定方向边缘的情况下,大脑中的一些神经细胞个体才会响应。他们发现所有这些神经细胞都位于一个柱状结构中,而且能产生视觉感知。这种在特定任务的系统内部寻找特定组件的思想正是如今许多计算机任务的核心,它也是CNN背后的基础。让我们
6、回到CNN,简而言之,它的一般流程就是:输入图像卷积层、非线性层、池化层(下采样)、完全连接层输出分类/概率。那么这些层分别都做了什么呢?第一层 - 数学视角CNN的第一层是一个卷积层。我会假装你还记得神经网络的输入和输出分别是什么,所以在这里我们假设输入图像是一张像素为3232的彩色JPG,相应的,CNN的输入就是一个32323的像素值数组。那么作为第一层的卷积层究竟有什么用?如下图所示,我们可以把卷积层想象成一个发光的手电筒,它从左上角开始检查,光照范围是55。现在,想象一下用手电筒一块块检查完所有区域。在机器学习术语中,这个手电筒是filter(neuron/kernel),每次照亮的这
7、块55的区域是receptive field(感受野)。filter也是一个数组(权重/参数),而且深度必须和输入图像深度一致,这样才能确保计算。在我们的例子中,filter的具体尺寸就是553。随着手电筒从左上角开始逐渐照亮周围区域,图像正在卷积,这时filter的数组会与原图像像素值数组相乘(计算点积),在我们的例子中,它需要进行75次乘法运算,然后把这些乘积相加得到一个值。检查完第一块55后,让我们把手电筒往右挪一个像素继续计算点积,之后继续往右挪一个像素,以此类推。已知原输入是32323,filter尺寸553,当手电筒扫完整片区域后,最后我们在隐藏层获得的是一个28281的数组(窗口
8、逐格挪动,边界少2;3个颜色通道合并成1个)。它也被称为activation map(加激活函数)或feature map。注:如果这里我们用了两个553的filter,那最后的映射结果会是28282。filter越多,空间维度保留地越好。第一层 - 高层次的视角知道了具体的数学计算步骤后,我们似乎还是不清楚卷积层的作用,所以这里我们从高层次的视角再看一遍。每个filter都可以被看作是特征标识符( feature identifiers),这里的特征指的是直线边缘、曲线、黑白等,它们是每个图像的都具备的最简单的特征。假设我们有一个773的能检测曲线的filter,它会给带有曲线像素结构的区域
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CNN 怎么 帮助 进行 图像 分类
链接地址:https://www.31doc.com/p-3250604.html