最近,生成模型的快速发展引起了广泛的关注,尤其是由goodfellow等人发明的生成对抗网络(gans),其所建立的学习框架就像老顽童的“左右互搏术”,由生成器g和判别器d组成,两者在博弈过程中扮演着不同角色。
对于给定训练数据dt,生成器g的目的就是创建与训练数据dt具有相同概率分布的样本。判别器d属于常见的二分类器,主要负责两个工作。 首先,它要判别输入究竟是来自真实的数据分布(dt)还是生成器;此外,判别器通过反传梯度指导生成器g创造更逼真的样本,这也是生成器g优化其模型参数的唯一途径。在博弈过程中,生成器g将随机噪声作为输入并生成样本图像gsample,要使判别器d以为这是来自真实训练集dt的判断概率最大化。
训练期间,判别器d的一半时间将训练集dt的图像作为输入,另一半时间将生成器得到的图像gsample作为输入。训练判别器d要能最大化分类正确的概率,能够区分来自训练集的真实图像和来自生成器的假样本。最后,希望博弈最终能达到平衡——纳什均衡。
所以,生成器g要能使得生成的概率分布和真实数据分布尽量接近,这样判别器d就无法区分真实或假冒的样本。
在过去的几年中,gans已经被用于许多不同的应用,包括:生成合成数据,图像素描,半监督学习,超分辨率和文本到图像生成。然而,大部分关于gans的工作都集中在开发稳定的训练技术上。的确,我们都知道gans在训练期间是不稳定的,并且对超参数的选择十分敏感。本文将简要介绍目前gans前沿技术,关于如何提高生成器g样本质量的新方法。
卷积生成对抗网络
深度卷积生成对抗网络(dcgan)为gans能够成功用于图像生成迈进了一大步。它属于convnets家族的一员,利用一些结构约束使得gans的训练更稳定。在dcgan中,生成器g由一系列转置卷积算子组成,对于输入的随机噪声向量z,通过逐渐增加和减少特征的空间维度,对其进行变换。
使用dcnns进行无监督表示学习的网络结构示意图
dcgan引入了一系列网络结构来帮助gan训练更稳定,它使用带步幅的卷积而不是池化层。此外,它对生成器和判别器都使用batchnorm,生成器中使用的是relu和tanh激活函数,而判别器中使用leaky relu激活函数。下面,我们来具体看一下:
batchnorm是为了将层输入的特征进行规范化,使其具备零均值和单位方差的特性。batchnorm对于网络训练是至关重要的,它可以让层数更深的模型工作正常而不会发生模式崩塌。模式崩塌是指生成器g创建的样本具有非常低的多样性,换句话说就是生成器g对于不同的输入信号都返回相同的样本。此外,batchnorm有助于处理由于参数初始化不良引起的问题。
此外,dcgan在判别器网络中使用leaky relu激活函数。与常规relu函数不同,leaky relu不会把所有的负值都置零,而是除以一个比例,这样就能传递一些很小的负的梯度信号,从而使判别器中更多的非零梯度进入生成器。
relu函数(左),leaky relu(右),与relu不同,leaky relu函数对于x轴左侧的负值导数不为零。
dcgan这样的网络结构目前仍被广泛应用,但大部分的工作都集中在如何使gan训练更加稳定。
1.基于自注意力的生成对抗网络
自注意力生成对抗网络(self-attention for generative adversarial networks,sagan)是这种类型的网络之一。近来,基于注意力的方法已经被成功用于机器翻译等问题上。 自注意力gans具有特殊的网络结构,使得生成器g能够建模长程依赖关系,核心思想是使生成器g能够生成具有全局细节信息的样本。
如果我们看一下dcgan模型会发现常规的gans模型主要基于卷积,使用局部感受野(卷积核)来学习表征。 卷积具有很多非常好的属性,比如参数共享和平移不变性。
典型的深度卷积网络(deep convnets)通过层级递进的方式来学习表征。 用于图像分类的常规convnets前几层中只会学到边缘和角点等简单的特征。然而convnets却能够使用这些简单的表征来学习到更为复杂的表征。 简而言之,convnets的表征学习是基于简单的特征表示,很难学习到长程依赖关系。
实际上,它可能只适用于低分辨率特征向量。问题在于,在这种粒度下,信号的损失量难以对长程细节进行建模。下面我们看一些样本图像:
使用dcnns进行无监督表示学习的生成样本示意图
这些图像是使用dcgan模型基于imagenet数据集训练而生成得到的。正如自注意力gans文章中所指出的,对于含有较少结构约束的类别,比如海洋、天空等,得到结果较好;而对于含有较多几何或结构约束的类别则容易失败,比如合成图像中狗(四足动物)的毛看起来很真实但手脚很难辨认。这是因为复杂的几何轮廓需要长程细节,卷积本身不具备这种能力,这也是注意力能发挥很好作用的地方。
所以解决这一问题的核心想法在于不局限于卷积核,要为生成器提供来自更广泛的特征空间中的信息,这样生成器g就可以生成具有可靠细节的样本。
实现
给定卷积层l一个特征输入,首先用三种不同的表示来对l进行变换。这里使用了1x1卷积对l进行卷积以获得三个特征空间:f,g和h。这一方法使用矩阵乘法来线性组合f和g计算得到注意力,并将其送入softmax层。
自注意力gans网络示意图
最后得到的张量o是与h的线性组合,由尺度因子gamma控制缩放。 要注意,gamma从0开始,因此在训练刚开始时,gamma为零相当于把注意力层去掉了,此时网络仅依赖于常规卷积层的局部表示。然而,随着gamma接收梯度下降的更新,网络逐渐允许来自非局部域的信号通过。此外要注意的是特征向量f和g具有与h不同的维度。事实上f和g使用的卷积滤波器大小要比h小8倍。
2.谱范数(l2范数)归一化
此前,miyato等人提出了一种称为谱范数归一化(spectral normalization ,简称sn)的方法。 简而言之,sn可约束卷积滤波器的lipschitz常数,作者使用它来稳定判别器d网络训练。实践证明的确很有效。
然而,在训练归一化判别器d的时候存在一个基本问题。先前的工作表明,正则化判别器d会使得gan的训练变慢。一些已有变通方法往往通过调整生成器g和判别器d之间的更新速率,使得在更新生成器g之前多更新判别器d几次。这样在更新生成器g之前,正则化判别器d可能需要五次或更多次更新。
有一种简单而有效的方法可以解决学习缓慢和更新率不平衡的问题。我们知道在gan框架中,生成器g和判别器d是一起训练的。 基于这点,heusel等人在gan训练中引入了两个时间尺度的更新规则(two-timescale update rule,简称ttur),对生成器g和判别器d使用不同的学习率。在这里,设置判别器d训练的学习率是生成器g 的四倍,分别为0.004和0.001。 较大的学习率意味着判别器d将吸收梯度信号的较大部分。较高的学习速度可以减轻正则化判别器d学习速度慢的问题。此外,这种方法也可以使得生成器g和判别器d能以相同的速率更新。事实上,我们在生成器g和判别器d之间使用的是1:1的更新间隔。
此外,文章还表明,生成器状态的好坏与gan性能有着因果关系。鉴于此,自注意力gan使用sn来稳定生成器网络的训练必然有助于提高gan网络的整体性能。对于生成器g而言,谱范数归一化既可防止参数变得非常大,也可以避免多余的梯度。
实现
值得注意的是,miyato等人引入的sn算法是迭代近似。 它定义了对于每个层w,用w的最大奇异值来对每个卷积层w正则化。但是,在每一步都用奇异值分解那就计算量太大了。所以miyato等人使用一种被称作power iteration的方法来获得近似的最大奇异值的解。
要注意的是在训练期间,在power iteration中计算得到的ũ值会在下一次迭代中被用作u的初始值。这种策略允许算法仅经过一轮power iteration就获得非常好的估计。此外,为了归一化核权重,将它们除以当前的sn估计。
训练细节
在实验中生成器g输入随机向量z并生成128x128大小的rgb图像。所有层(包括全连接层)都使用了sn。生成器g使用batchnorm和relu激活函数,在中层到高层的特征图中使用了自注意力模型。与原作者实现方法一样,我们将注意力层放置在32x32大小的特征图上。
判别器d还使用谱范数归一化(所有层)。它将大小为128x128的rgb图像样本作为输入,并输出无标度的概率。它使用leaky relu激活函数,alpha参数设置为0.02。与生成器g一样,它在32x32大小的特征图上上也有一个自注意力层。
最终的结果如下图所示:
通过自注意力和谱归一化的方式可以实现更好的生成效果,如果你想了解更多,下面的两篇论文是不错的选择:
sagan: https://arxiv.org/abs/1805.08318
spectral normalization: https://arxiv.org/pdf/1802.05957.pdf https://openreview.net/pdf?id=b1qrgzit-
国外研究团队开发出一种新型过滤方法 锂提取率可高达90%
机器视觉和深度学习在自动检查领域的应用
满足未来车辆要求的PCB新材料应具备哪些性质
爱立信网络技术如何为终端节能
NS-BZ中性点接地电阻柜的类型
如何提高生成器G样本质量的新方法
华虹半导体:8寸晶圆代工企业龙头
通信接口主要的5种类型
基于FPGA和DSP的喷油器雾化粒径测量系统的设计
魔鹰显卡拥有次世代主机可免费升级至次世代版本
台湾半导体还能再造一个台积电吗?
高端接口IP互连协议和最佳技术节点
华为回应允许美企与其合作制定5G网络标准
XR虚拟制作只能用在影视制作上吗?它还能做什么?
MRAM是一种全新的技术,它将有望改变PC的应用方式
T-Systems公司正在建构一种安全高性能的边缘计算平台EdgAIR
电子应用万花筒 2012年天价电子设备盘点
5G能力将进一步增强,实现更大的综合效益
T3S2-20W自组网电台速率测试方案
联迪商用M系列移动支付终端的新品M37Q手持POS终端