这款应用使用流程很简单,背后的技术却不见得那么简单。市场上已经有一些识猫狗等动物的应用,而相比于识猫识狗,花的识别更具有挑战性。狗的种类不超过300种,而对花来说,已经被发现的野生植物就有几十万种,还有大量奇形怪状的新品种在不断地涌现。而微软亚洲研究院多媒体搜索组的研究员们在精确识别技术方面有着长久的积累,他们正希望做这样一些有挑战性的事情。 这款App主要应用了深度学习技术。研究员们借助中科院植物所提供的260万张花的鉴定照片,对机器识别模型进行训练。但是在弱监督的条件下,对260万张图片进行机器学习是一个相对低效率的过程,因为人的抽象能力和想象能力是计算机很难做到的。研究员傅建龙介绍道:“传统的深度学习技术是一个自下而上的学习过程,开奖,让计算机在底层的高维数据里学习隐藏的高层语义表达。如果我们能在人工智能之外加入人类智能,对机器的深度学习进行指导,把自下而上和自上而下的学习过程相结合,会大大提升深度学习的精度和效率。”把人类的经验和人工智能相结合,才能迸发出增强智能的魔力。研究员们正是在这方面下了很大功夫。 总所周知,分类学家对种类繁多的生物界做了一个阶层划分,即制定了“界门纲目科属种”的分类系统,做精确识别也需要一层一层递进,才能提高识别的准确性。在识花方面,主要是需要机器对“科-属-种“三个基本层级有一个提前的认知。研究员先加入一个花卉本身的层级结构,将它作为一种先验的知识,来指导机器学习。研究员们考虑到层级的信息,例如,不同的科的植物之间会不会有相关性?于是他们通过捕捉这样一种相关性来训练模型。
按照“科-属-种”的层级划分,首先确定花的“科”,再通过一些细节的特征,开奖,例如花瓣的分布、形态等来确定它归于哪个“属”,最后通过花瓣的颜色、纹理等更为细微的特征来具体判断它属于哪个“种”。一朵花就是这样被计算机识别出来的,当然每一种花的识别过程也是“因花而异“的。 那么人类是如何识别出花的种类的呢?假设现在摆在我们面前的是一朵花的照片。我们首先会注意到这张图片中花出现的区域,确定这张图片上是否存在花,以及一共有几朵花,并排除旁边的草地等干扰项。接下来,你可能会将你的注意力放在花的一些关键特性上,如花的颜色、形状、大小等等。通过这些关键部位的特征,例如花是单朵顶生,颜色为黄色白色相见,形状呈杯型或碗型等特征,可以大致确定这是一朵郁金香。 研究员们基于以上人类观察物体、对物体的种类进行判断的过程,独具创新地开发了一个自动的视觉多级注意力模型,并结合深层神经网络技术,用于图像的处理与识别。第一级是物体级别的关注,即自动关注到图片中花所在的区域,而排除其他不相关的因素,如杂草等。第二级之后则是由粗到精的部位级别的关注,即关注到花的具体部位,然后对花朵的部位特征进行学习和识别。
众所周知,深层神经网络技术在处理图像问题上的效果显著。但一直以来,深层神经网络都被称之为黑盒子,大家对它了解都不算充分,深层神经网络的理论方面还有待突破。但当黑盒子打开之后,大家能从中学习到很多的东西。研究员们通过一些可视化的策略,了解这些网络究竟学到了什么样的内容,看到每个卷积模板(filter)都代表什么样的语义。其实,卷积神经网络的中间层一些部位的信息已经可以自动学出来了,我们就把这些自动学出来的的模式(pattern)自动进行归类。这些归类出来的每一个聚类都可以理解成是花的某一个部位的集合。虽然模型本身并不知道其中的某一个聚类究竟是花瓣还是叶子或是花蕊,但它已经知道这是属于某个部位的信息,这样就构建了部位检测模型。将由原始图像生成的每个候选框都经过每个部位检测器,而每个部位检测器则会自动检测出这个候选框内最接近这个部位的区域,这样就实现了第二级——部位级别的关注。 弱监督学习与大规模数据 (责任编辑:本港台直播) |