18  神经图像字幕生成

字幕图像涉及在给定图像(例如照片)的情况下生成人类可读的文本描述,这对于人来说是一个简单的问题,但对于机器来说非常具有挑战性,因为它既涉及理解图像的内容,又涉及如何将这种理解转化为自然语言。最近,深度学习方法取代了传统方法,并且在自动生成图像描述(称为标题)的问题实现好于以往的结果。在本章中,您将了解如何使用深度神经网络模型自动生成图像描述,例如照片。完成本章后,您将了解:

  • 生成图像的文本描述的挑战以及将计算机视觉和自然语言处理结合起来的必要
  • 构成神经特征字幕模型的元素:特征提取器和语言模型。
  • 在使用注意机制的情形下如何将模型的元素排列成编码器-解码器

18.1 概述

本教程分为以下几部分:

  1. 用文本描述图像
  2. 神经字幕模型
  3. 编码器 - 解码器架构

18.2 用文本描述图像

描述图像是生成图像的人类可读文本描述的问题,例如对象或场景的照片,该问题有时被称为自动图像注释或图像标记。对于人来说这是一个简单的问题,但对机器来说却非常具有挑战性。

快速浏览一下图像就足以让人指出并描述有关视觉场景中的大量细节。然而,对于我们的视觉识别模型而言,这种卓越的能力已被证明是一项难以捉摸的任务

  • Deep Visual-Semantic Alignments for Generating Image Descriptions, 2015.

解决方案需要做到两个方面:理解图像的内容并将其翻译成有意义单词,并且单词放在一起必须能被人理解。它结合了计算机视觉和自然语言处理,在更广泛的人工智能中是一个真正的挑战性问题

图像内容的自动描述是连接计算机视觉和自然语言处理的人工智能中的一个基本问题。

  • Show and Tell: A Neural Image Caption Generator, 2015.

此外,全面讨论这类问题的范围是困难的;在本书中我们仅讨论如下三类图像文本描述问题。

  • 图像类。在众多图像分类中为图像分配类标签。
  • 述图像。生成图像内容的文本描述。
  • 释图像。为图像上的特定区域生成文本描述。

这类问题还可以扩展到在视频中随时间描述图像内容。在本章中,我们将把注意力集中在描述图像上,称之为图像字幕。

18.3 神经字幕模型

神经网络模型已成为自动字幕生成领域的主导这主要是因为这些方法获得了比传统方法更好的指标。在端到端神经网络模型之前,有两种主要方法用于生成和修改图像字幕:模板法和邻接法。

在使用神经网络生成字幕之前,两种主要方法占主导地位。第一个生成标题模板,这些模板根据对象检测和属性发现的结果填写。第二种方法首先从大型数据库中检索类似的字幕图像,然后修改这些检索到的字幕以匹配当前图像。[...]这两种方法的流行成都已经远低于现在占主导地位的神经网络方法。

    • Show, Attend and Tell: Neural Image Caption Generation with Visual Attention, 2015.

字幕的神经网络模型涉及两个主要元素:

  1. 特征提取。
  2. 语言模型。

18.3.1 特征提取模型

特征提取模型是一种神经网络模型它可以以固定长度向量的形式提取给定图像的显著特征,提取的特征是图像的内部表示,通常无法直接理解,深度卷积神经网络或CNN一般用作特征提取子模型。可以直接在图像字幕数据集中的图像上训练该网络,或者,可以使用预训练模型:用于图像分类的良好技术模型,或者使用预先训练的模型并针对自己问题进行微调的一些混合模型,例如最常见的是在ILSVRC挑战赛上使用性能最佳的模型来挑战ImageNet数据集就是这个思路,例如使用 Oxford Vision Geometry Group模型,简称为VGG

[...]我们探索了几种处理过度拟合的技术。避免过拟合的最明显的方法是将我们系统的CNN组件的权重初始化为预训练模型(例如,在ImageNet上)

  • Show, Attend and Tell: Neural Image Caption Generation with Visual Attention, 2015.

 

 

 
 

18.1:特征提取器

18.3.2 语言模型

通常,语言模型可以在输入种子文本或单词序列的情况下预测序列中下一个单词的概率。对于图像字幕,语言模型是一种神经网络,给定从图像网络中提取的特征能够预测描述中的单词序列,并以已经生成的单词为条件建立描述。使用循环神经网络(例如长短期记忆网络或LSTM)作为语言模型是很流行的,每个输出时间步骤在序列中生成一个新单词,然后使用字嵌入(例如Word2Vec)对生成的每个字进行编码,并将其作为输入传递给解码器以生成后续字。

对该模型的改进包括为输出序列收集词汇表中单词的概率分布,并对其进行搜索以生成多个可能的描述,对这些描述进行评分,并按可能性排序。通常使用Beam Search进行此搜索。可以使用从图像数据集中提取的预先计算的特征独立地训练语言模型也可以与特征提取网络或某种组合共同训练。

 

 

 

 

 

18.2:语言模型

 

18.4 编码器 - 解码器架构

构建子模型的流行方法是使用编码器 - 解码器(Encoder-Decoder)架构,其中两个模型被联合训练。

[该模型]基于卷积神经网络,其将图像编码为紧凑表示,随后是生成相应句子的递归神经网络。该模型经过训练,使给定图像的生成句子的可能性最大化。

  • Show and Tell: A Neural Image Caption Generator, 2015.

这是为机器翻译开发的体系结构,其中输入序列(例如法语)由编码器网络编码为固定长度的向量,然后,一个单独的解码器网络读取编码并生成新语言的输出序列,比如英语。除了该方法的令人印象深刻的性能之外,这种方法的好处是可以针对该问题训练单个端到端模型,当适用于图像字幕时,编码器网络是深度卷积神经网络,并且解码器网络是LSTM层的堆栈。

[机器翻译]编码器RNN读取源句子并将其转换为丰富的固定长度向量表示,其又用作生成目标句子的解码器RNN的初始隐藏状态。在这里,我们建议遵循这个优雅的调配,用深度卷积神经网络(CNN)代替编码器RNN

Show and Tell: A Neural Image Caption Generator, 2015.

18.4.1 带注意力的字幕模型

编码器 - 解码器架构的限制是使用单个固定长度表示来保持提取的特征,这在机器翻译中是通过开发更丰富的编码来解决的,翻译每个单词生成时它允许解码器知道将注意力放在什么样的位置。注意力的方法也被用来提高图像字幕的编码器-解码器架构的性能,它允许解码器在生成描述中的每个单词时,知道在图像中把注意力放在哪里。

最近在字幕生成方面的进步,以及机器翻译和对象识别中使用注意力的成功的启示,我们开发模型时可以在生成图像字幕时重点关注其的显着部分。

Show, Attend and Tell: Neural Image Caption Generation with Visual Attention, 2015.

这种方法的一个好处是,在生成描述中的每个单词时,可以准确地可视化注意力放在哪里。

我们还通过可视化展示了该模型如何能够在输出序列中生成相应单词的同时,自动学习将注意力固定在突出的对象上。

Show, Attend and Tell: Neural Image Caption Generation with Visual Attention, 2015.


0 条 查看最新 评论

没有评论
暂时无法发表评论