乐读窝

深度学习

乐读窝 > 文学理论 > 深度学习

9.6 结构化输出

书籍名:《深度学习》    作者:伊恩.古德费洛



卷积神经网络可以用于输出高维的结构化对象,而不仅仅是预测分类任务的类标签或回归任务的实数值。通常这个对象只是一个张量,由标准卷积层产生。例如,模型可以产生张量S,其中Si,j,k是网络的输入像素(j,k)属于类i的概率。这允许模型标记图像中的每个像素,并绘制沿着单个对象轮廓的精确掩模。

经常出现的一个问题是输出平面可能比输入平面要小,如图9.13所示。用于对图像中单个对象分类的常用结构中,网络空间维数的最大减少来源于使用大步幅的池化层。为了产生与输入大小相似的输出映射,我们可以避免把池化放在一起(Jain  et  al.,2007)。另一种策略是单纯地产生一张低分辨率的标签网格(Pinheiro  and  Collobert,2014,2015)。最后,原则上可以使用具有单位步幅的池化操作。

对图像逐个像素标记的一种策略是先产生图像标签的原始猜测,然后使用相邻像素之间的交互来修正该原始猜测。重复这个修正步骤数次对应于在每一步使用相同的卷积,该卷积在深层网络的最后几层之间共享权重(Jain  et  al.,2007)。这使得在层之间共享参数的连续的卷积层所执行的一系列运算,形成了一种特殊的循环神经网络(Pinheiro  and  Collobert,2014,2015)。图9.17给出了这样一个循环卷积网络的结构。

图9.17 用于像素标记的循环卷积网络的示例。输入是图像张量X,它的轴对应图像的行、列和通道(红、绿、蓝)。目标是输出标签,它遵循每个像素的标签的概率分布。该张量的轴对应图像的行、列和不同类别。循环网络通过使用的先前估计作为创建新估计的输入,来迭代地改善其估计,而不是单次输出。每个更新的估计使用相同的参数,并且估计可以如我们所愿地被改善任意多次。每一步使用的卷积核张量U,是用来计算给定输入图像的隐藏表示的。核张量V用于产生给定隐藏值时标签的估计。除了第一步之外,核W都对进行卷积来提供隐藏层的输入。在第一步中,此项由零代替。因为每一步使用相同的参数,所以这是一个循环网络的例子,如第10章所述

一旦对每个像素都进行了预测,我们就可以使用各种方法来进一步处理这些预测,以便获得图像在区域上的分割(Briggman  et  al.,2009;Turaga  et  al.,2010;Farabet  et  al.,2013)。一般的想法是假设大片相连的像素倾向于对应着相同的标签。图模型可以描述相邻像素间的概率关系。或者,卷积网络可以被训练来最大化地近似图模型的训练目标(Ning  et  al.,2005;Thompson  et  al.,2014)。