深度学习的应用案例

1)物体检测

物体检测是从图像中确定物体的位置,并进行分类的问题。如图8-17所示,要从图像中确定物体的种类和物体的位置。

物体检测是比物体识别更难的问题。之前介绍的物体识别是以整个图像为对象的,但是物体检测需要从图像中确定类别的位置,而且还有可能存在多个物体。

在使用CNN进行物体检测的方法中,有一个叫作R-CNN [35] 的有名的方法。图8-18显示了R-CNN的处理流。

首先(以某种方法)找出形似物体的区域,然后对提取出的区域应用CNN进行分类。

R-CNN中会将图像变形为正方形,或者在分类时使用SVM(支持向量机),实际的处理流会稍微复杂一些,不过从宏观上看,也是由刚才的两个处理(候选区域的提取和CNN特征的计算)构成的。

2)图像分割

图像分割是指在像素水平上对图像进行分类。如图8-19所示,使用以像素为单位对各个对象分别着色的监督数据进行学习。然后,在推理时,对输入图像的所有像素进行分类。

要基于神经网络进行图像分割,最简单的方法是以所有像素为对象,对每个像素执行推理处理。比如准备一个对某个矩形区域中心的像素进行分类的网络,以所有像素为对象执行推理处理。这样的方法需要按照像素数量进行相应次 forward 处理,会发生重复计算很多区域的无意义的计算。为了解决这个问题,有人提出了一个名为FCN(Fully Convolutional Network)的方法。该方法通过一次 forward 处理,对所有像素进行分类,如图8-20所示。

FCN将全连接层替换成发挥相同作用的卷积层。

在物体识别中使用的网络的全连接层中,中间数据的空间容量被作为排成一列的节点进行处理,而只由卷积层构成的网络中,空间容量可以保持原样直到最后的输出。

FCN的特征在于最后导入了扩大空间大小的处理。基于这个处理,变小了的中间数据可以一下子扩大到和输入图像一样的大小。FCN最后进行的扩大处理是基于双线性插值法的扩大(双线性插值扩大)。FCN中,这个双线性插值扩大是通过去卷积(逆卷积运算)来实现的。

3)图像标题的生成

有一项融合了计算机视觉和自然语言的有趣的研究,该研究如图8-21所示,给出一个图像后,会自动生成介绍这个图像的文字(图像的标题)。

一个基于深度学习生成图像标题的代表性方法是被称为NIC(NeuralImage Caption)的模型。如图8-22所示

NIC基于CNN从图像中提取特征,并将这个特征传给RNN。RNN以CNN提取出的特征为初始值,递归地生成文本。

我们将组合图像和自然语言等多种信息进行的处理称为多模态处理。多模态处理是近年来备受关注的一个领域。

深度学习的未来

1)图像风格变换

使用深度学习来 “绘制”带有艺术气息的画。如图8-23所示,输入两个图像后,会生成一个新的图像。两个输入图像中,一个称为“内容图像”,另一个称为“风格图像”。

在学习过程中使网络的中间数据近似内容图像的中间数据。这样一来,就可以使输入图像近似内容图像的形状。此外,为了从风格图像中吸收风格,导入了风格矩阵的概念。

2)图像的生成

刚才的图像风格变换的例子在生成新的图像时输入了两个图像。不同于这种研究,现在有一种研究是生成新的图像时不需要任何图像。(先使用大量的图像进行学习,但在“画”新图像时不需要任何图像)

从零生成“卧室”的图像

DCGAN中使用了深度学习,其技术要点是使用了Generator(生成者)和Discriminator(识别者)这两个神经网络。Generator生成近似真品的图像,Discriminator判别它是不是真图像(是Generator生成的图像还是实际拍摄的图像)。像这样,通过让两者以竞争的方式学习,Generator会学习到更加精妙的图像作假技术,Discriminator则会成长为能以更高精度辨别真假的鉴定师。两者互相切磋、共同成长,这是GAN(Generative Adversarial Network)这个技术的有趣之处。

题外话

之前我们见到的机器学习问题都是被称为监督学习(supervised learning)的问题。不过GAN这类问题并没有给出监督数据,只给了大量的图像(图像的集合),这样的问题称为无监督学习(unsupervised learning)。

3)自动驾驶

图8-25中对输入图像进行了分割(像素水平的判别)。观察结果可知,在某种程度上正确地识别了道路、建筑物、人行道、树木、车辆等。今后若能基于深度学习使这种技术进一步实现高精度化、高速化的话,自动驾驶的实用化可能也就没那么遥远了。

4)Deep Q-Network(强化学习)

就像人类通过摸索试验来学习一样(比如骑自行车),让计算机也在摸索试验的过程中自主学习,这称为强化学习(reinforcement learning)。

强化学习的基本框架是,代理(Agent)根据环境选择行动,然后通过这个行动改变环境。根据环境的变化,代理获得某种报酬。强化学习的目的是决定代理的行动方针,以获得更好的报酬。