【论文阅读|浅读】Spatial Variational Auto-Encoding via Matrix-Variate Normal Distributio

767 阅读14分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第29天,点击查看活动详情

前言

Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖...已保研。 学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!   唯有努力💪  

知其然 知其所以然!

  本文仅记录自己感兴趣的内容

简介

原文链接:epubs.siam.org/doi/10.1137…

会议:Proceedings of the 2019 SIAM International Conference on Data Mining (SDM CCF-B)

年度:2019

Abstract

变分自编码(VAEs)的关键思想与传统的自编码模型相似,传统的自编码模型(AE)将空间信息显式编码在潜在空间中

然而,VAEs中的潜变量是向量,可以解释为大小为1x1的多个特征映射

当与强大的解码器结合时,这种表示只能隐式地传递空间信息


在本研究中,我们提出了利用更大尺寸的特征图作为潜在变量的空间虚函数来显式地获取空间信息

这是通过允许潜在变量从 矩阵变量正态分布(MVN) 抽样实现的,其参数是从编码器网络计算的

为了增加位置之间对潜在特征映射的依赖,减少参数的数量,我们进一步提出了通过低秩MVN分布的空间VAEs

实验结果表明,该方法在获取丰富的结构和空间信息方面优于原方法

1 Introduction

高维空间中概率分布的数学和计算建模以及从中生成样本是非常有用的,但也是非常具有挑战性的。随着深度学习方法的发展,深度生成模型在捕获高维数据空间上的概率分布并从中生成样本方面已经被证明是有效的和可扩展的[12,22,5,9,19,8,21]。其中,变分自动编码器(VAEs)[12,22,6,11]是最有前途的方法之一。

在机器学习中,自编码器架构被用于通过学习潜在表示来训练可伸缩模型。对于图像建模任务,首选将空间信息显式编码到潜在空间中。然而,VAEs中的潜变量( latent variables )是向量,可以理解为1 × 1的特征图,没有明确的空间信息

虽然这种显式空间信息的缺乏不会导致从MNIST数据集[16]生成数字等简单任务的主要性能问题,但当图像更复杂时,它极大地限制了模型的能力[13,17]

为了克服这一限制,我们提出了利用d × d (d > 1)特征映射作为潜在表示的空间虚函数。这种潜在特征映射是由矩阵变量正态分布(MVN) 产生的,其参数是由编码器网络计算的

matrix-variate normal:MVN

具体来说,MVN分布能够生成具有位置之间适当依赖关系的特征地图。为了增加位置之间对潜在特征映射的依赖,减少参数的数量,我们进一步提出了通过低秩MVN分布的空间VAEs。在这个低秩公式中,MVN分布的平均矩阵是由编码器网络计算的两个向量的外积来计算的。在图像建模任务上的实验结果证明了我们的空间视觉分析系统在复杂的图像生成任务中的能力。

值得注意的是,通过MVN分布,可以将原始的可变空间误差看作是空间可变空间误差的一种特殊情况。也就是说,如果我们将通过MVN分布生成的特征图的大小设为1 × 1,那么通过MVN分布生成的空间VAEs就会减少到原来的VAEs。更重要的是,当特征地图的尺寸大于1 × 1时,通过MVN分布将直接的结构联系构建到特征地图的元素中。因此,当特征图的尺寸大于1×1时,我们提出的空间可变价值模型与原始的空间可变价值模型有本质区别。具体来说,我们提出的空间虚函数不能通过扩大原始虚函数中潜在表征的大小来获得。

2 Background and Related Work

在本节中,我们将介绍自编码器和变分自编码器的架构

2.1 Auto-Encoder Architectures

Auto-encoder (AE)是一种用于图像分割[30,23,18]、机器翻译[2,25]和去噪重建[28,29]等任务的模型架构。它由两部分组成:一个编码器将输入数据编码为低维潜在表示,一个解码器通过解码表示产生输出。根据不同的任务,潜在表示将关注输入数据的不同属性。然而,这些任务通常要求输出具有与输入相似或完全相同的结构。因此,结构信息有望通过编码器-解码器过程得到保存

在计算机视觉任务中,结构信息通常指图像的空间信息。针对图像任务,AE中保存空间信息的方法主要有两种。一种是应用非常强大的解码器,如条件像素卷积神经网络(PixelCNNs)[20,27,24,9],逐像素生成输出图像。这样,解码器可以以像素间依赖关系的形式恢复空间信息。但是逐像素生成的速度很慢,在实际应用中存在较大的速度问题。另一种方法是让潜在表示显式地包含空间信息,并应用可以利用这些信息的解码器。将该策略应用于图像任务,通常潜在表示是像素(1 × 1)大小与输入图像大小之间的特征映射,而解码器是反卷积神经网络(DCNNs)[30]。由于大多数计算机视觉任务只需要物体的相对位置等高级空间信息,而不需要像素之间的详细关系,因此只保留粗略的空间信息就足够了,该策略被证明是有效和高效的。

2.2 Variational Auto-Encoders

VAEs...

3 Spatial Variational Auto-Encoders

在本节中,我们分析了原有的可扩展空间方法存在的一个问题

  • 并在3.1节中提出了空间可扩展空间方法来克服这个问题。在此基础上,讨论了空间增值空间的几种实现方法
  • 在第3.2节中介绍和分析了一个näıve实现
  • 然后在第3.3节中介绍了一个方法,该方法合并了矩阵变量正态分布(MVN)的使用
  • 最后,我们提出了我们最终的模型,通过应用3.4节中MVN分布的一个低秩公式,通过低秩MVN分布的空间VAEs

3.1 Overview

注意,对于图像重建任务,VAEs中的pθ(xz)p_θ (x|z)qφ(zx)q_φ(z|x)分别类似于AE中的编码器和解码器,其中zz表示潜在表示

然而,在VAE中,zz通常是一个向量,可以认为是多个1×11 × 1的特征映射

个人理解:图像有多个特征,然后将其映射为一个1×11 × 1的向量,多个映射组成一个1×N1 × N的向量,融合了图像的多个特征(压缩)

虽然zz可能隐式地保留输入图像x的一些空间信息,但它提出了对更复杂的解码器的要求

空间信息在z中隐式保留,这样一来,对解码的要求就会很高了

在固定的结构下,解码器模型的假设空间是有限的。因此,最佳解码器可能不在假设空间[31]中

这一问题严重地影响了可变空间成像的性能,特别是当空间信息对X中的图像非常重要时


由上述分析可知

  • 要么为解码器提供更大的假设空间
  • 要么让z显式包含空间信息

都是有益的

注意,这两种方法对应于2.1节中介绍的两种策略

[9]遵循第一种策略,提出PixelVAEs,其解码器是有条件的PixelCNNs[27],而不是简单的DCNNs。由于有条件的PixelCNNs本身也是生成模型,所以可以把PixelVAEs当作有条件的PixelCNNs,用z代替条件。虽然它们的结果令人印象很好,但是PixelVAEs和有条件的PixelCNNs的性能是相似的,这表明有条件的PixelCNNs负责在X中捕获图像的大部分属性。在这种情况下,z对性能的贡献很小。另外,在实际应用中,使用条件PixelCNNs会导致生成过程非常缓慢

在这项工作中,我们探索了第二种策略,通过构造空间潜表示z的形式的特征地图的大小大于1 × 1。这种特征映射可以显式地包含空间信息。我们将具有空间潜表示的虚函数称为空间虚函数

空间特征映射与原始特征映射的主要区别在于潜在特征映射的大小。通过使用d × d (d > 1)特征映射而不是1 × 1个,潜在表示的总维数z显著增加。但是,空间虚函数与原来的虚函数有本质的区别,其隐含向量z是高维的。假设将向量z扩展d2倍以匹配总维数,那么解码器每一层的隐含节点数就会相应爆发。这导致了解码器参数数量的激增,从而减慢了生成过程。而在空间图像扩展算法中,解码器变得更加简单,因为d × dis更接近输出图像所需的大小。另一方面,当使用类似容量的解码器时,空间虚函数必须具有比原始虚函数更高维的潜在表示。结果表明,这对训练过程的影响很小,因为编码器需要更多的输出,而只涉及解码器的生成过程不受影响。实验结果表明,通过合理的设计,在使用类似解码器时,空间可变视距译码器的性能明显优于原有的空间可变视距译码器。

3.2 Na ̈ıve Spatial VAEs

为了实现空间VAEs,一种直接和näıve的方法是简单地将原始矢量z重新塑造成大小为d × d的N个特征图。但是这种näıve的方法是有问题的,因为采样过程没有改变。注意,在原始的VAEs中,向量z采样自qφ(z|x) =N (z;μφ(x)Σφ(x))。协方差矩阵Σφ(x)是对角线的,这意味着每个变量是不相关的。特别地,对于多元高斯分布,不相关意味着独立性。因此,z的分量是独立的随机变量,其分布的方差对应于Σφ(x)对角线上的条目。具体来说,假设z是一个c维向量,第i个分量是一个服从单变量正态分布的随机变量,其分布为zi ~ N (zi;μφ(x)i, diag(Σφ(x))i), i = 1,…, C,其中diag(·)表示矩阵对角线元素组成的向量。应用重新参数化技巧后,我们可以将2.2式改写为

在这里插入图片描述

为了在näıve空间VAEs中抽取大小为d × d的N个特征图,在设置C = d2N时进行重塑操作

然而,在两个不同的分量zij和zj之间,唯一的关系是它们各自的分布参数(μφ(x)i, diag(Σφ(x))i)和(μφ(x)j, diag(Σφ(x))j)都是从x计算出来的。这种依赖是隐式的,弱的。很明显,重构后每个feature map内的位置之间并没有直接的关系,而空间潜表示应该包含位置之间依赖关系等空间信息。为了克服这一限制,我们提出了基于矩阵变量正态分布的空间线性扩展。

3.3 Spatial VAEs via Matrix-Variate Normal Distributions

我们提出从矩阵变量正态分布[10]中直接采样d × d矩阵作为特征映射,而不是先从多元正态分布中采样一个d2N维向量,然后重构得到大小为d × d的N个特征映射,从而得到一个改进的基于MVN分布的空间VAEs模型。具体来说,我们修改了原VAEs中的qφ(z|x),其他部分保持不变。正如下面解释的那样,MVN分布可以对行和列之间的依赖关系建模在一个矩阵。通过这种方式,建立了特征图中位置之间的依赖性。我们提供了MVN分布的定义。

定义:一个随机矩阵A∈Rm×n遵循一个变量矩阵的正态分布nm,n(A;M, Ω⊗Ψ)的均值矩阵M∈Rm×n,协方差矩阵Ω⊗Ψ,其中Ω∈Rm×m > 0, Ψ∈Rn×n > 0,如果vec(AT)服从多元正态分布N (vec(AT);vec(M T), Ω⊗Ψ)。在这里,⊗表示克罗内克乘积,vec(·)表示通过连接列将Rm×n矩阵转换为mn维向量。

在MVN分布中,Ω和Ψ分别捕获矩阵的行和列之间的关系。通过这两个矩阵的克罗内克积构造协方差矩阵,矩阵中值之间的依赖性可以被建模。在空间VAEs中,特征映射F可以被认为是一个Rd×d矩阵,它遵循MVN分布Nd,d(F;M, Ω⊗Ψ),其中Ω∈Rd×d和Ψ∈Rd×d是对角矩阵。虽然在F中,每个位置对应的随机变量仍然是独立的,因为Ω⊗Ψ是对角线,但MVN分布能够通过它们的方差在位置之间添加直接的结构联系。例如,对于F中的两个位置(i1, j1)和(i2, j2),

在这里插入图片描述

这里,F(i1,j1)和F(i2,j2)分别从两个一元高斯分布中独立采样。然而,diag(Ω⊗Ψ)i1∗j1和diag(Ω⊗Ψ)i2∗j2通过Kronecker产品建立了直接的相互作用。在此基础上,我们提出了基于MVN分布的空间VAEs,它从N个独立的MVN分布中抽取N个大小为d × d的特征映射作为

在这里插入图片描述

其中,Mkφ(x)、Ωkφ(x)和Ψkφ(x)通过编码器计算。与原vae相比,qφ(z|x)被替换,pθ (z)保持不变。由于MVN分布是基于多元高斯分布定义的,所以式2.1中的DKL[qφ(z|x)|pθ (z)]也可以用类似的方法计算。

在这里插入图片描述

为了说明与näıve空间虚函数的区别,我们重新检查原始虚函数。请注意,näıve spatial VAEs与原始的VAEs具有相同的采样过程。原始VAE从qφ(z|x) = N (z;μφ(x), Σφ(x))其中μφ(x)为c维向量,Σφ(x)为RC×C对角矩阵。因为Σφ(x)是对角线,所以它可以用c维向量diag(Σφ(x))表示。总之,原始vae的编码器输出2C = 2d2N值,这些值被解释为μφ(x)和diag(Σφ(x))。

...

4 Experimental Studies

在这里插入图片描述

在这里插入图片描述

5 Conclusion

在这项工作中,我们提出了用于图像生成任务的空间虚关联算法,该算法改进了虚关联算法,通过要求隐表示明确地包含图像的空间信息。具体来说,在空间VAEs中,与向量相比,d × d (d > 1)特征映射被采样作为空间潜在表示。这是通过从MVN分布中抽样潜在特征映射来实现的,它可以对矩阵中行和列之间的依赖性建模。

我们进一步建议采用MVN分布的低秩公式来建立更强的依赖性。在不同数据集上的定性结果表明,通过低秩MVN分布进行的空间可拓性分析大大优于原始可拓性分析

读后总结

2022/08/11 第一次阅读

本文只是浅读了一下 没有过于深究

大概意思就是 常规VAEs隐式表示潜在向量(嵌入)

但是没有利用好原来图像的一个结构信息

本文则是在VAE的基础之上更好的利用了一下结构信息

这里开始有点疑惑了

  • 使用编码器就是起到一个对多维特征进行一个编码的作用吗?
  • 比如在使用GCN/GAT的时候 对图像的结构编码是怎样的呢?
  • 可以同时对角色、结构进行编码吗
  • ....

虽然从本文中没有学到什么,但是引发了自己的一些思考,继续学习!

结语

文章仅作为个人学习笔记记录,记录从0到1的一个过程

希望对您有一点点帮助,如有错误欢迎小伙伴指正

在这里插入图片描述