本篇文章3561字,读完约9分钟

据雷锋说。网站:9月23日,谷歌大脑宣布在tensorflow上推出最新版本的自动图像描述系统“显示与讲述”,该系统采用编解码神经网络架构,能够根据新场景生成准确的新图像。作者是图普科技工程师。这篇文章将分析机器如何“看图片和说话”。为什么谷歌想要开放它的系统?雷锋的独家文章。com(搜索“雷锋。com "公共号码)。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

电影“她”中机器萨曼莎的图像字幕功能是一个基于人工智能的操作系统。基于对西奥多手机信息和图像内容的理解,“她”可以为他处理日常事务,与他交谈,甚至进行虚拟性行为。她还可以阅读所有的书籍,与哲学家交流。她做的每件事都像一场血战。但是萨曼莎比人类更好。她可以同时和8316个用户聊天,同时和641个用户做爱。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

电影《她》是人类想象中的一个强大的人工智能。“她”有思维,比人有更强的智力和计算能力。虽然目前的人工智能不如“她”强大,但近年来,人工智能技术的发展使机器越来越像人类,计算机也开始理解更高级的图像内容。“看图说话”似乎不再是人类独有的专利。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

在人工智能领域,这是机器的图像字幕能力。

从性能的角度来看,机器不仅需要能够知道哪些对象包含在图像中,还需要描述对象之间的关系、它们的属性和活动,这显然是机器的一种更高级的智能形式。下图:

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

图1。自动图像字幕示例

原则上,它依赖于智能的两个部分:“看”和“语言表达”,它们分别对应于人工智能的两个最重要的子领域:机器视觉和自然语言处理。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

机器视觉和自然语言处理从来没有分开过,它们在技术上有很长的相互借鉴的历史。更重要的是,从一个完整的智能系统来看,多模式的整合是必然的要求,视觉和语言的理解和表达都是不可或缺的,它们相互帮助,共同产生高级智能。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

因此,作为连接两个智能领域的关键环节,图像自动描述能力必将成为人工智能领域顶尖研究者关注的课题之一。虽然自动图像描述不是一个新的任务,并且在这个领域已经积累了大量的研究工作,但是这个任务直到2015年才得到颠覆性的突破。机器自动图像描述的性能在某些情况下会给人一种强烈的人工智能即将实现的错觉。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

9月23日,谷歌大脑宣布在tensorflow上开发了最新版本的自动图像描述系统“显示和讲述”,成功地将机器在这一领域的能力提升到了一个新的水平。在以前的版本中,更多的人被告知图像中的内容或人类在训练模型时使用的描述语言总是重复的,但是图像中的对象之间以及对象和环境之间的关系和意义不能被满意地描述。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

当“展示与讲述”遇到一个全新的场景时,它可以根据图像中物体与环境之间的相互作用自动生成一个更加准确的图像描述,所使用的自然语言更加流畅,这几乎与人类的表达一样。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

那么谷歌是如何达到这一效果的呢?为了理解这一原理,我们需要理解在当今深度学习时代导致机器视觉和自然语言处理突破的两个最重要的技术,即DCNN(深度卷积神经网络)和lstm(长短期记忆)。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

在自然语言处理领域,许多困难的任务都可以归结为序列对序列的框架。

例如,从表面上看,机器翻译的任务是将一种语言转换成另一种语言,但实质上,它是将一个不定序列转换成另一个不定序列。目前,实现seq2seq最有效的方法是lstm,这是一种带门的递归神经网络(RNN),它可以将源语言编码成一个具有固定长度和丰富语义的向量,然后生成目标语言作为解码网络的隐藏状态。图像字幕生成器的灵感来自seq2seq在机器翻译方面的进展:为什么不用图像信号代替源语言信号,这样机器翻译的任务就可以转换,即图像可以转换成自然语言,即图像自然语言描述。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

然而,简单地将图像信号作为输入不能达到良好的效果,因为原始图像信号不是紧凑的表示并且包含太多的噪声。因此,有必要介绍机器视觉中深度学习的核心部分:卷积神经网络。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

dcnn中高级神经元的输出可以表示图像的紧凑高级语义信息。如今,许多成功的机器视觉应用都从中受益。例如,prisma(“人工智能润饰艺术:Prisma背后的奇妙算法”),其纹理转移算法巧妙地利用了具有高级语义的图像表示。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

因此,这种图像文本描述方法的基本思想是利用dcnn生成图像的高层抽象语义向量,并将其作为语言生成模型lstm的输入,将序列转换为序列。其结构图如下:

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

图2。系统结构

这种方法的独创性在于将视觉和自然语言处理领域的两个最先进的网络连接起来,负责它们自己的好部分,同时进行端到端的培训和学习。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

图像字幕的神经网络学习可以概括为:

其中I是图片,S是生成的句子,θ是网络需要学习的参数。该公式的含义是,学习最佳网络参数θ最大化了在给定图片下生成正确描述的概率。同时,由于一个语言句子的长度是不确定的,它的概率一般是由链式法则写成的:

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

其中n是句子的长度,s_i是句子的每个单词。更具体的网络形式如下:

图2。语言模型lstm、图像模型cnn和单词嵌入模型

在上图中,lstm的循环连接以更直观的展开形式绘制。在网络培训过程中,目标可以写成如下损失函数:

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

目标是更新lstm、cnn和单词嵌入模型的参数,以最大化每个正确单词的概率,即使损失函数变小。除了lstm,cnn的模式选择和单词嵌入模式也会对最终效果产生很大影响。当这种方法首次被发明时,最好的dcnn是2014年imagenet竞赛的冠军网络googlenet。然后,随着更强大的cnn网络初始版本v1到v3系列的出现,作者发现在这个框架下的图像字幕效果也变得更好了。这是不可避免的,因为更强的cnn网络意味着输出向量表示可以实现更好的图像高级语义表示。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

在他的开源tensorflow项目中,作者呼吁每个人尝试最强的cnn分类网络,盗梦空间-resnet-v2,看看它是否会继续有效地改进。对于单词嵌入模型,最简单的方法是一热编码(向量中代表单词的维数为1,其余为0),该方法使用更复杂的单词嵌入模型,因此单词嵌入模型也可以与其他两个网络一起训练。经过训练的单词嵌入模型表明,可以获得自然语言的一些统计特征,如下面的单词learned/き だ

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

图4。一些类似的词嵌在空

在最早的版本中,cnn模型使用了在imagenet数据库上预先训练好的分类模型,其参数在图像字幕的训练过程中没有更新。在最新的方法中,作者声称在训练过程中更新cnn顶层的权重可以产生更好的结果,但是这些参数只有在lstm稳定更新后才能更新,否则lstm的噪声会对cnn模型造成不可逆的影响。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

视觉模型和语言生成模型的端到端联合训练有利于提高彼此的效果。例如,在cnn模型中,图像中更有利于“描述”而不是“分类”的信息可以迁移到语言模型中。由于imagenet训练数据的空类别中缺少颜色信息,在2015 cvpr版本的不使用联合训练的cnn模型中,它不会在联合训练后生成类似“蓝黄列车”的东西,字幕模型可以生成更准确更详细的句子,如下图所示:

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

图5。初始模型和最新模型生成的句子的比较

这让人们怀疑当前的模型是否真的学会了生成从未在图片中出现过的情境和互动的新描述,或者只是复述训练数据中的句子。这个问题与算法是否真正理解对象及其交互的核心问题有关。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

科学家给出了一个激动人心的答案:是的。

今天的图像语言描述系统确实发展了独立生成新句子的能力。例如,下图中的粗体描述被标记为不在数据库中的句子:

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

图6。生成的语言描述(粗体句子是不在训练数据中的全新句子)

下图很好地说明了生成全新描述的过程:

图7。该模型根据训练数据提供的概念生成新的描述

这一领域的突破也得益于注释数据的增长。作者通过实验证明,图像描述样本越多,图像描述算法就越有效。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

与今天最大的标注数据库imagenet相比,图像描述数据库要差几个数量级,因此我们有理由期望一旦我们有了更多的标注数据,图像描述算法就可以在今天的基础上得到很大的改进。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

这也是为什么谷歌研究人员开放他们的系统,希望让更多的人参与这个领域的研究。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

视觉信息解释了人类从外界获得的信息?因此,机器视觉的重要性不言而喻;语言是人类的象征,所以自然语言处理被称为人工智能皇冠上最闪亮的明珠。图像字幕作为连接这两个领域的一个问题,已经取得了突破,其更深层次的意义在于标志着人工智能的整体进步。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

俗话说,“一幅图胜过千言万语”,长期以来,计算机视觉领域更加关注一些基本的视觉任务,如分类、检测和分割。图像字幕领域最近的突破使计算机能够用自然语言描述图片,从而实现真正的“千言万语说图片”。也许我们真的正在进入一个新的智能时代,当强大的人工智能真正出现时,一切都将不可逆转地走向技术奇点。

解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

图8。取自她的电影结尾。

我想,如果有一天,“她”真的来了,看到这种情况。

“她”可能会说:一个穿红色衣服的女孩在屋顶上依偎着一个穿白色衣服的男孩,在她面前是一排排上海夜景。他们似乎都有点心事重重。

来源:罗盘报中文网

标题:解析:Google开源的“Show and Tell” 是如何让机器“看图说话”的?

地址:http://www.lzn4.com/lpbxw/12118.html