摘要
给出一个来自领域A的单一图像x和一组来自领域B的图像,我们的任务是生成x在B中的类似物。我们认为,这项任务可能是一项关键的人工智能能力,它强调了认知代理在这个世界上的行动能力,并提出了经验证据,表明现有的无监督领域翻译方法在这项任务上失败。我们的方法遵循一个两步过程。首先,为领域B训练一个变异自动编码器。然后,给定新的样本x,我们通过调整接近图像的层来创建A域的变异自动编码器,以便直接适应x,而只间接适应其他层。我们的实验表明,当对一个样本x进行训练时,新方法和现有的领域转移方法一样好,当这些方法享受来自领域A的大量训练样本时。我们的代码可在https://github.com/sagiebenaim/OneShotTranslation 公开。
1、介绍
一个由智能代理积累知识的直观范式的简化如下。获得的知识被一个模型所捕获,该模型保留了以前看到的样本,也能够通过混合观察到的样本来产生新的样本。代理人通过接触一系列的对象不断学习。每当观察到一个新的样本,代理就会使用内部模型生成一个类似于观察到的样本的虚拟样本,并比较观察到的和混合的对象,以便更新。和混合的物体进行比较,以更新内部模型。
这种感知混合框架的变体[1],需要多种算法解决方案。一个主要的挑战是 "学习悖论 "的特殊情况,即,一个人如何能够学习它不知道的东西,或者,在上面的范式中,如果观察到的样本是未曾见过的,并且有可能是不存在的,那么如何能够构建类似的心理图像?如果观察到的样本是未曾见过的,并且可能与已经观察到的任何东西有很大的不同,那么如何构建类似的心理图像。
在计算上,这个生成步骤需要解决我们称之为一次性无监督跨域翻译的任务:给定一个来自未知领域A的单一样本x和许多样本 或几乎等同于领域B的模型,生成一个与x类似的样本y∈B。虽然已经有大量的研究致力于无监督领域的翻译,其中提供了许多来自领域A的样本。提供许多来自领域A的样本,但据我们所知,这些文献并没有涉及到 一次性的情况。
明确地说,由于部分文献可能将这些类型的任务称为零次学习,因此除了要映射的图像x外,我们没有给A中的任何训练图像。例如,考虑到[2]中提出的将斑马映射为马的任务。现有的方法可以很好地完成这项任务,给定许多斑马和马的训练图像。然而,即使没有看到任何其他的斑马图像,似乎也完全有可能将一个单一的斑马图像映射到类似的马的图像。
我们提出的方法被称为OST(One Shot Translation),它不对称地使用这两个领域,并采用两个步骤。首先,为领域B构建一个变异自动编码器,这使我们能够有效地对领域B的样本进行编码,并根据随机的潜在空间向量生成新的样本。为了鼓励通用性,我们进一步用轻微旋转和随机水平平移产生的样本来增加B。
在第二阶段,变异自动编码器被克隆,以创建两个共享编码器顶层和解码器底层的副本,一个用于B域的样本,一个用于A域的样本x。自动编码器被训练为重建损失以及单样本单向循环损失。领域B的样本继续训练它自己的副本,就像第一步一样,更新共享层和非共享层。来自样本x的梯度只更新非共享层,不更新共享层。这样,B的自动编码器通过圆周率损失对B域的非共享层进行调整,并通过共享层的后续适应来适应B的样本,这使得共享层能够逐渐适应新的样本x,但防止在这个单一的样本上过度。像以前一样,增强被应用于B,也被应用于x以增加稳定性。
我们进行了各种各样的实验,证明了OST在低频情况下优于现有算法。在大多数数据集上,该方法在单个训练实例中的准确度与其他方法在整个A域图像集上的准确度相当。这一成功为无监督领域翻译的潜在机制提供了新的启示,因为在单次拍摄的情况下,领域A中样本间相关性的约束并不适用。
2、之前的工作
无监督的领域转换方法接收两组样本,每组来自一个领域,并学习一个函数,在一个领域的样本和另一个领域的类似样本之间进行映射。这种方法是无监督的,因为这两组样本是完全不配对的。
领域之间的映射可以根据多个线索来恢复。首先,领域之间的共享对象可以作为监督样本。早期的无监督跨语言词典翻译方法就是这种情况,它通过考虑语言间的编辑距离来识别国际词汇("computer"、"computadora"、"kompüter")或其他具有共同词源的词汇。这些词被用作种子集来引导映射过程。
第二个线索是客体关系的线索。通常情况下,领域A中的对象之间的成对相似性在转换到领域B后会被保留下来,这一点在[5]中被利用,即使用类之间的L2距离。在无监督的词对词的翻译工作中,每种语言中的词之间的关系是由词向量编码的[18],并且翻译是由一种语言的向量与第二种语言的向量的线性转换来近似的。
第三条线索是内部对象关系的线索。如果领域A的对象是复杂的,包含多个部分,那么我们可以预期,在映射之后,领域B的对应物也会有类似的部分排列。这一点在[5]中通过检查图像两半之间的距离得到了证明,它也是无监督的NLP翻译方法的基础,在观察了不匹配的语料库之后,可以将一种语言的句子翻译成另一种语言的句子。
另一种捕捉这些内部物体关系的方法是为这两个领域构建独立的自动编码器,它们共享许多权重[6, 7]。假设低级别的图像属性,如纹理和颜色,是领域特定的,而中级和顶级的属性是两个领域共同的。 第三个线索也隐含地表现出来(在自动编码器架构和其他方法中),即用于执行跨域映射的神经网络的结构[19]。网络的容量限制了可能的解决方案的空间,所使用的相对较浅的网络,以及它们的结构决定了解决方案的形式。与确保生成的图像来自目标域的GAN[20]约束一起使用,并由循环性约束[2, 3, 4]进一步限制,映射中的大部分模糊性被消除。在一次性翻译的背景下,不可能在B中找到或生成给定x∈A的类似物,因为两个域之间的域不变距离没有被定义。人们可以尝试使用通用的距离,如感知距离,但这将使工作变得半监督化,如[21, 22](这些方法也不是一次性的)。由于领域A中没有物体间的关系,唯一可以使用的线索是第三种类型。
我们曾尝试在x内比较各种图像部分,从而概括出[5]的图像半数解决方案。然而,这并不奏效。相反,我们的工作依赖于这样的假设:域A的中层表示与域B的中层表示相似,如上所述,这也是基于自动编码器的跨域翻译工作的基本假设[6, 7]。
3、One-shot翻译
在无监督的跨域翻译问题中,学习算法被提供给来自两个领域(
和
)的无标签数据集。目标是学习一个函数
,它将领域
的样本映射到领域B的模拟样本。我们用
表示领域
的编码器,用
表示解码器。为了将
域中的样本
翻译成
域,我们采用了
域的编码器和
域的解码器,即
。
两个自动编码器之间的共享层对翻译的形式有一个强有力的约束。编码器的底层和解码器的顶层是领域特定的,不共享的。编码器的顶层和解码器的底层是共享的。这种共享使两个领域的编码具有相同的结构,对翻译的成功至关重要。具体来说,
。其中上标S和U分别表示共享和非共享部分。这个结构在图1中被描述出来。
除了参与两个自动编码器的网络外,还有一个对抗性判别器 DB在这两个阶段都被训练,以便为领域B建模。真实的例子,此外,领域A的鉴别器也不太需要,因为任务是将领域B的数据映射成一个整体。因为我们的任务是从A域映射到B域。转换T)时,鉴别器DB被用来提供一个对抗性信号。
3.1 第一阶段的训练
在第一阶段,我们采用一个来自B域的图像训练集Λ,并为该域训练一个变异自动编码器。该方法采用了一个增强算子,由图像的小幅随机旋转和水平平移组成。我们用P(Λ)表示通过随机增强每个样本s∈Λ而构建的训练集。
接下来的损失为:
其中前三个损失分别是重建损失、变异损失和生成器上的对抗损失,第四个损失是GAN的判别器的损失,在这个损失的反向传播过程中,我们用条形表示GB不被更新。`可以是二元交叉熵或最小平方损失
。在第一阶段训练EB和GB时,以下损失被最小化了:
其中
是权衡参数。同时,我们训练
以最小化
。与CycleGAN类似,
可以是PatchGAN的判别器,它可以检查图像中70×70重叠的斑块是真的还是假的。
3.2、第二阶段的训练
在第二阶段,我们利用领域A的样本x,以及集合Λ。如果我们从域A中得到一个以上的样本,我们只需将损失项添加到每个样本中。用P(x)表示x的随机增强集,跨域编码/解码为:
其中条形图和以前一样,表示在反向传播过程中不更新的分离克隆。
和
(即
和
)是用第一阶段训练的
(即
)的权重初始化的。
使用了以下额外的损失:
即x的重建损失,应用于x的单向循环损失,以及给定源样本x的B域的发生器和鉴别器损失。 在第二阶段,我们最小化以下损失:
其中
是权衡参数。不在
中的损失在编码器和解码器的非共享层中被最小化。我们强调,第二阶段中的损失
仍然在共享层和非共享层中达到最小。同时,我们训练
以最小化
和
。
请注意,
和
对
强制执行相同的结构,因为它对来自域
的样本也是如此。强制执行这一点对于使x和TAB(x)的结构一致至关重要,因为这些层通常编码域
和域
的共同结构[7, 6]。OST假设只为领域B训练一个VAE就足够了,以便
和
包含表示x和其对齐的对应物
所需的特征。考虑到这一假设,它不依赖于
的样本来训练
和
。
在反向传播过程中,
和
不仅与VAE在
域的重建损失分离,也与
的循环和GAN_AB损失分离。正如我们的实验所显示的,使这些共享部分适应
是很重要的。这一点是间接发生的:在训练期间,
的非共享层通过单次循环损失(公式11)被更新。由于这一变化,
中的所有三个损失项中的所有三个损失项都会增加,
被调整以纠正这一点。
选择性反向传播在OST中起着至关重要的作用。它的目的是使领域
的非共享层适应基于领域
的样本获得的共享表示。直观地说,只用
的样本制定的
损失可以正常地反向传播,因为由于
的样本数量,
对这个领域的其他样本有很好的概括作用。然而,根据损失
更新
和
的层(关闭选择性反向传播,就像在Tab.1的消融实验中所做的那样),将很快导致过度。1),很快就会导致对
的过度测量,因为对于每一个共享的表示,域A中的非共享层仍然可以重建这一个样本。裂解能力的增加导致了
的任意映射,我们可以看到,在这种情况下,
的映射在训练中是非常不稳定的,几乎是任意的(图2)。如果共享表征在第二阶段是完全固定的,如表1第8行。1,缺乏适应性会损害性能。这类似于[25]中在迁移学习中的适应性方面的发现。
请注意,我们没有增加反向的周期损失。考虑MNIST(领域
)到SVHN(领域
)的转换(图3)。如果我们在反方向上有循环损失,那么所有的SVHN图像(所有数字)都会被翻译成训练中出现的单一MNIST图像(单一数字)。循环损失将要求我们从单一的MNIST图像中重建原始的SVHN图像(见表1的第9行和第10行)。
3.3、网络结构和实现
我们认为x∈A和B中的样本是
的图像。我们将我们的结果与最先进的方法CycleGAN和UNIT进行比较,并将CycleGAN的架构用于编码器、解码器和鉴别器,该架构在各种数据集上都非常成功。为了进行公平的比较,在将OST与CycleGAN和UNIT的基线进行比较时,采用了相同的架构。对于我们实验中使用的数据集,与UNIT一起发布的网络架构没有超过UNIT损失和CycleGAN架构的组合。共享和非共享编码器(即解码器)都由1到2个2线卷积(即解卷积)组成。共享编码器由卷积层之后的1到3个残余块组成。共享解码器在其去卷积层之前也由1到3个残余块组成。层数的选择是为了获得最佳的CycleGAN结果,并用于所有架构。各层之间使用了批量归一化和ReLU激活。
CycleGAN采用了一些额外的技术来稳定训练,OST也借用了这些技术。首先是使用PatchGAN判别器,其次是对判别器使用最小平方损失而不是负对数似然损失。对于MNIST到SVHN的翻译和反向翻译,没有使用PatchGAN判别器,在这些实验中,输入为R3×32×32,使用了标准的DCGAN架构。
4 实验
我们将在单个样本x∈A上训练的OST与UNIT和CycleGAN进行比较,UNIT和CycleGAN都是在x上训练的,而CycleGAN则是在A的整个图像训练集上训练的。我们进行了一些定量评估,包括风格和内容损失的比较以及目标图像的分类准确性测试。对于MNIST到SVHN的转换和反转,我们进行了一项消减研究,显示了我们方法的每个组成部分的重要性。对于这项任务,我们进一步评估了我们的方法,当更多的样本出现时,表明OST能够在更大的训练集上表现良好。在所有情况下,x都是从其他方法的训练集中取样的。实验被重复多次,并报告了平均结果。
MNIST到SVHN的翻译 使用OST,我们将随机选择的MNIST[26]图像翻译成街景房号(SVHN)[27]图像。我们使用一个预先训练好的SVHN分类器来预测翻译后的图像的标签,并将其与输入的MNIST图像标签进行比较。
图3(a)显示了A中样本数量增加时的翻译准确率。准确率是指输入图像的标签与应用于翻译图像的预训练分类器给出的标签相匹配的翻译百分比。同样的随机选择的图像被用于基线比较,而且准确率是在从A到B翻译的训练图像上测量的,而不是在一个单独的测试集上。还进行了反向翻译实验,如图3(b)所示。虽然增加样本的数量,增加了准确率,但即使在整个训练集上训练,OST也优于基线。我们注意到,无监督映射的准确性低于有监督映射或使用预训练的感知损失时的准确性[21]。
在第二个实验中,进行了一个消融研究。我们考虑我们的方法,其中任何 首先,对输入图像x∈A和B的图像都进行增强。第二,单程循环损失,
。第三,解除选择性反向传播,梯度从 损失的
的梯度通过共享编码器和解码器
。结果报告在表1中。我们发现,选择性反向传播对翻译精度的影响最大。单向循环损失和增强对单次性能的贡献较小。
对齐映射
表3显示,OST实现了与在整个训练集上训练的CycleGAN和UNIT相似的感知距离和风格差异。这表明OST实现了与输入图像类似的内容相似性和与目标域的风格差异。为了进一步验证这一点,我们要求20个人对源图像是否与目标图像匹配进行评分(以随机顺序呈现方法和样本),并在表3中列出“是”答案的比例。
5、讨论
作为一种一次性技术,我们提出的方法适用于调查环境并遇到来自看不见领域的图像的代理。在第二阶段,域B的自动编码器发生变化以适应域A。这在“终身”无监督学习的背景下是可取的,在这种情况下,将依次遇到新的域。然而,第二阶段的目标是翻译x的成功,在多镜头领域改编的背景下,需要一种更保守的方法。
在这项工作中,我们将一个样本从以前看不见的域a翻译到域B。一个有趣的问题是从一个已经看到许多样本的域映射到一个新域的能力,从这个新域中给出一个训练样本。可以尝试一种模拟两相方法,其中自动编码器在源域上进行训练,在目标域上进行复制和选择性调谐。在另一个方向上增加的困难是,对抗性训练不能直接用于目标领域,因为只能看到其中的一个样本。有可能仍然可以基于熟悉的源域中存在的可变性来对该域进行建模。