查看原文
其他

哼!你凭什么说这是梵高?| 跨模态感知专栏

大大大大铮 iBrand人物 and Mixlab 2022-06-06


上一期:大脑感知物体的过程伴随着复杂的语义认知

这一期我们一起来了解:计算机是如何认识物体的,又是怎么理解语言的,最后这两者是如何结合到一起?




我们都知道,一张图像是由成千上万个像素点组成,不同位置的像素点呈现出不一样的颜色。当这些像素以一定的规则组织在一起的时候,你站在远处看这些单个看来没有含义的颜色,突然就认出来这是一幅梵高的自画像。

这仍然是你看到的事物,要让计算机理解它看到的是什么,就需要学习一些计算机视觉的相关知识。

计算机视觉解决的基本问题是,计算机怎么样辨别出图像中哪些像素组织在一起是有意义的。这里就产生一个最简单的语言概念——类别(class)。

当我们尝试去认识一个事物时,我们通常会用一个名词来指代它,同类型的一事物往往具有相似的外表,或者类似的功能,当然很有可能也是由同样的化学成分组成的。有了类别这个语言概念,计算机就有了目标:把图像展现的物体归类到具体的类别中去,这个过程被称为“分类”(classification)。

为了完成分类任务,研究计算机视觉的科学家们定制了一套特征工程的方法:特征提取和特征分类。一幅图像中可以提取的特征:颜色特征、形状特征、纹理特征、空间关系特征,分别从不同的角度来表示图像的特性。

在同类别的事物身上,这些特征往往具有一些统计特性,通过一些特征提取的方法,计算机可以提取到视觉上稍有不同的同类事物相似的特征,这些特征经过一个分类器就可以得到特定的类别。经过这个过程,图像最基础的语言概念就诞生了。

深度学习统一了机器学习“特征提出,特征分类”两步走的特征工程方法

而想要得到更丰富的语义概念,比如让计算机去讲述一幅图像中的内容,我们就不得不借助更强大的工具来实现 —— 深度神经网络(现在也被笼统地称为人工智能)的普及,也是计算机的语义理解能力真正“类人”的开始。

我们都知道笛卡尔坐标系是一个三维空间,也可以用一个三维的向量来表示。我们分别用这三个纬度来代表脸型,耳朵,和尾巴。现在我们假设深度神经网络总可以将图像抽象成这样一个三维向量(事实上这也是可以的),那么剩下的事情就交给神经网络中的分类器:长脸、耳朵耷拉着的,尾巴短的,通常被认为是狗,而短脸,耳朵竖起来的,尾巴长的,通常更像是一只猫。

反应在三维向量上,就是每一个分量的数值大小,假设向量的最大数值是1,那么一个越接近(1,0,0)的图片更可能是狗,而特征是(0,1,1)的图片更可能是猫。
神经网络进行特征分类

事实上,特征向量的维度至少有几百维,每一个特征分量的含义并没有我们上面讲的例子那么明显,但神经网络总可以通过权重学习的方法将同类型的图片抽象成近似的特征向量,神经网络的最后一层分类层又能将向量分类成上百个类别。

同类物体用深度神经网络提取的特征在特征空间中更接近(t-SNE可视化)

现在我们将情况拓展一下,计算机看到的图像不再是简单的一张猫或者狗的图像,而是一个复杂的场景,神经网络一样能够抽象出一个上百维的向量,来代表图片的含义

图片来自coco(common objects in context)数据集

计算机又是如何看着上面这张猫片讲出“一只白色的猫正在点击,显示着一只喘气黑狗的电脑屏幕”的?这就涉及到另一门叫做自然语言理解的技术(natural language understanding)。


设计:朱柏丞
编辑:chunfang

- END -

下一期预告
如何让计算机生成描述图像内容的自然语言?





“我想去未来看看”

专栏作者:大铮
复旦大学 | 计算机应用技术在读博士
研究:机器学习、深度学习、媒体大数据分析



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存