对人类来说,描述我们眼睛所看到的事物,即“视觉世界”,看起来太微不足道了,以至于我们根本没有意识到那正是我们时时刻刻在做的事情。在看到某件事物时,开奖,不管是汽车、大树,还是一个人,我们通常都不需要过多的思考就能立刻叫出名字。然而对于一台计算机来说,区分识别“人类对象”(比如:在小狗、椅子或是闹钟这些“非人类对象”中识别出奶奶这一“人类对象”)却是相当困难的。 能解决这一问题可以带来非常高的收益。“图像识别”技术,更宽泛地说是“计算机视觉”技术,是许多新兴技术的基础。从无人驾驶汽车和面部识别软件到那些看似简单但十分重要的发展成果——能够监测流水线缺陷和违规的“智能工厂”,以及保险公司用来处理和分类索赔照片的自动化软件。这些新兴科技是离不开“图像识别”的。 在接下来的内容里,我们将要探究“图像识别”所面临的问题和挑战,并分析科学家是如何用一种特殊的神经网络来解决这一挑战的。 学会“看”是一项高难度、高成本的任务 着手解决这个难题,我们可以首先将元数据应用于非结构化数据。在之前的文章里,atv直播,我们曾描述过在元数据稀缺或元数据不存在的情况下,进行文本内容分类和搜索遇到的一些问题和挑战。让专人来对电影和音乐进行人工分类和标记,确实是一项艰巨的任务。但有些任务不仅艰巨,甚至是几乎不可能完成的。比如训练无人驾驶汽车里的导航系统,让其能够将其他车辆与正在过马路的行人区分开来;或者是每天对社交网站上用户上传的千千万万张的照片和视频进行标记、分类和筛查。 唯一能够解决这一难题的方法就是神经网络。理论上我们可以用常规的神经网络来进行图像分析,但在实际操作中,从计算角度看,使用这种方法的成本非常高。举例来说,一个常规的神经网络,就算是处理一个非常小的图像,假设是30*30像素图像,仍需要900个数据输入和五十多万个参数。这样的处理加工对一个相对强大的机器来说还是可行的;但是,如果需要处理更大的图像,假设是500*500像素的图像,那么机器所需的数据输入和参数数量就会大大增加,增加到难以想象的地步。 除此之外,将神经网络用于“图像识别”还可能会导致另一个问题——过度拟合。简单来说,过度拟合指的是系统训练的数据过于接近定制的数据模型的现象。这不仅会在大体上导致参数数量的增加(也就是进一步计算支出的增加),还将削弱“图像识别”在面临新数据时其他常规功能的正常发挥。 真正的解决方案——卷积 幸运的是,我们发现,只要在神经网络的结构方式上做一个小小的改变,就能使大图像的处理更具可操作性。改造后的神经网络被称作“卷积神经网络”,也叫CNNs或ConvNets。 神经网络的优势之一在于它的普遍适应性。但是,就像我们刚刚看到的,神经网络的这一优势在图像处理上实际上是一种不利因素。而“卷积神经网络”能够对此作出一种有意识的权衡——为了得到一个更可行的解决方案,我们牺牲了神经网络的其他普遍性功能,设计出了一个专门用于图像处理的网络。 在任何一张图像中,接近度与相似度的关联性都是非常强的。准确地说,“卷积神经网络”就是利用了这一原理。具体而言就是,在一张图像中的两个相邻像素,比图像中两个分开的像素更具有关联性。但是,在一个常规的神经网络中,每个像素都被连接到了单独的神经元。这样一来,计算负担自然加重了,而加重的计算负担实际上是在削弱网络的准确程度。 卷积网络通过削减许多不必要的连接来解决这一问题。运用科技术语来说就是,“卷积网络”按照关联程度筛选不必要的连接,进而使图像处理过程在计算上更具有可操作性。“卷积网络”有意地限制了连接,让一个神经元只接受来自之前图层的小分段的输入(假设是3×3或5×5像素),避免了过重的计算负担。因此,每一个神经元只需要负责处理图像的一小部分(这与我们人类大脑皮质层的工作原理十分相似——大脑中的每一个神经元只需要回应整体视觉领域中的一小部分)。 “卷积神经网络”的内在秘密 “卷积神经网络”究竟是如何筛选出不必要的连接的呢?秘密就在于两个新添的新型图层——卷积层和汇聚层。我们接下来将会通过一个实操案例:让网络判断照片中是否有“奶奶”这一对象,把“卷积神经网络”的操作进行分解,逐一描述。 第一步,“卷积层”。“卷积层”本身实际上也包含了几个步骤: 1.首先,我们会将奶奶的照片分解成一些3×3像素的、重叠着的拼接图块。 (责任编辑:本港台直播) |