| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 图像生成2 -> 正文阅读 |
|
[人工智能]图像生成2 |
第一部太多了所以分开了 ?要不太难看了~~?
生成模型是一种训练模型进行无监督学习的模型,即,给模型一组数据,希望从数据中学习到信息后的模型能够生成一组和训练集尽可能相近的数据。图像生成(Image generation,IG)则是指从现有数据集生成新的图像的任务。图像生成模型包括无条件生成和条件性生成两类,其中,无条件生成是指从数据集中无条件地生成样本,即p(y);条件性图像生成是指根据标签有条件地从数据集中生成样本,即p(y|x)。 图像生成也是深度学习模型应用比较广泛、研究程度比较深的一个主题,在几个著名的图像生成库中,例如CIFAR-10、ImageNet64、ImageNet32、STL-10、CelebA 256、CelebA64等等,目前公布出的最好的无条件生成模型有StyleGAN-XL、Diffusion ProjectedGAN;在ImageNet128、TinyImageNet、CIFAR10、CIFAR100等库中,效果最好的条件性生成模型则是LOGAN、ADC-GAN、StyleGAN2等。 一、条件性生成模型1.1 WGANWGAN即Wasserstein GAN。GAN网络训练的重点在于均衡生成器G与鉴别器D:若鉴别器太好,loss不再下降,则生成器就学不到东西,也就无法继续提升生成图像的质量。所以在原始GAN的(近似)最优判别器下,生成器loss面临着梯度消失、梯度不稳定、对多样性与准确性惩罚不平衡导致的mode collapse等一系列问题。问题的根源是: 1)等价优化的距离衡量(JS散度)不合理; 2)生成器随机初始化后的生成分布很难与真实分布重叠。 1)鉴别器的最后一层中去掉了sigmoid,鉴别器要拟合的是Wasserstein距离,所以不是一个0或1的分类问题,而是回归问题,取值不限于0到1; 2)生成器和鉴别器的loss不取log; 3)每次更新鉴别器的参数之后把它们的值截断到不超过一个固定常数c,即令鉴别器的函数是一个Lipschitz函数,函数的导数小于某个固定的c值; 4)不使用基于动量的优化算法(包括momentum和 Adam),推荐RMSProp。 1.2?SAGAN跟踪图像中复杂的几何轮廓需要long-range dependencies(长距离依赖),但是,卷积的特点就是局部性,受到感受野大小的限制,卷积的操作很难提取到图像中的这些长距离依赖。虽然可以通过加深网络或者扩大卷积核的尺寸的方法在一定程度上解决该问题,但是这会使卷积网络丧失了其参数和计算的效率优势。SAGAN聚焦的问题就是:如何找到一种能够利用全局信息的方法,具体的,SAGAN把 Attention 机制引入到 GANs 的图像生成当中。 图1 SAGAN的自注意力模块。?表示矩阵乘法,对每一行进行softmax操作 SAGAN的架构如图1所示,其核心就是用带有自注意力的特征图去代替传统的卷积特征图,建模像素间的远距离关系,即在一层获取远距离的依赖关系而非多层卷积操作获得依赖关系。首先,图17中的f(x)、g(x)和 h(x)都是普通的 1x1 卷积,差别只在于输出通道大小不同(这是1x1 卷积的特性,可以通过控制1x1 卷积的通道数来实现特征通道的升维和降维。然后,将 f(x)的输出转置,并和 g(x)的输出相乘,再经过 softmax 归一化得到一个 attention map。最后,将得到的 attention map 和 h(x)逐像素点相乘,得到自适应注意力的特征图: ? 其中,γ是一个可学习的标量,初始化为0。γ允许网络首先依赖局部附近的线索,然后逐渐学会为非局部线索分配更大的权重。在SAGAN中,将自适应注意力模块同时应用于生成器和鉴别器,通过最小化 hinge version of the adversarial loss 以交替的方式进行训练。? SAGAN当中提出了两种优化方式以实现稳定训练的 GANs,分别是Spectral Normalization与TTUR(Two Timescale Update Rule),前者稳定了训练和生成过程,后者平衡了D与G的训练速度。 1)Spectral Normalization。SAGAN为D和G加入了谱范数归一化的方式,让D满足了1-lipschitz限制,同时也避免了G的参数过多导致梯度异常,使得整套训练较为平稳和高效。 2)TTUR。在以前的工作中,鉴别器的正则化通常会减慢GAN学习过程。实际上,使用正则化鉴别器的方法通常在训练期间每个生成器需要多个更新步骤。本文建议专门使用TTUR来补偿正则化鉴别器中慢学习的问题,使得对于每个鉴别器步骤使用更少的生成器步骤成为可能。? 1.3?BIG-GANBIG-GAN希望应对的是从像ImageNet这样的复杂数据集成功生成高分辨率、多样化的样本的问题。BIG-GAN的基线方法是SAGAN,它使用hinge损失,类别条件BatchNorm向G提供类别信息,用投影向D提供类别信息,通过调整网络提高GAN模型生成图像的真实性和多样性,同时,保证GAN模型的稳定性。 图2. (a) BigGAN的典型架构;(b) G中的残差块(ResBlock up);c)D中的残差块(ResBlock down) 由图2,在G中使用单一的共享类别嵌入,并跳过潜在向量z的连接(skip-z)。特别是,采用分层的潜在空间,使潜在向量z沿着其通道维度被分割成大小相等的块(图18的示例中是20-D),每个块被连接到共享类别嵌入,并作为调节向量传递给相应的残差块。每个块的调节被线性投影,以产生块的BatchNorm层的每个样本的增益和偏置。偏置投影以零为中心,而增益投影以1为中心。由于残差块的数量取决于图像分辨率,128×128图像的z全维度为120,256×256为140,而512×512的图像为160。 图3. (a) BigGAN-deep的典型架构。(b) G中的一个残差块(ResBlock up)。(c)D中的一个残差块(ResBlock down) BigGAN-deep模型(图3)在几个方面与BigGAN不同。它使用了一个更简单的skip-z conditioning的变体:不是先将z分割成块,而是将整个z与类别的嵌入相连接,并通过skip connection将得到的向量传递给每个残差块。BigGAN-deep基于带有瓶颈的剩差块,其中包含两个额外的1×1卷积:第一个在3×3卷积之前将通道的数量减少了4倍;第二个产生所需的输出通道数量。在BigGAN中,每当需要改变通道数量时,都会在skip connection中使用1×1的卷积,而在BigGAN-deep中,使用了一种不同的策略,旨在保持整个skip connection的特性。在G中,如果需要减少通道的数量,只需保留第一组通道,并放弃其余的通道以产生所需的通道数量。在应该增加通道数量的D区,将输入通道不加扰动地通过,并与1×1卷积产生的剩余通道串联起来。就网络配置而言,鉴别器是发生器的精确反映。每个分辨率有两个块(BigGAN使用一个),因此BigGAN-deep比BigGAN深四倍。 1.4 ?CSGAN CSGAN是一种新的周期合成生成对抗网络,主要服务的目标是image-to-image transformation,在一个域合成图像和另一个域循环图像之间使用了一种新的目标函数循环合成损失(CS)。 图4. CSGAN的网络结构,用于图像-图像转换。本文提出的循环-合成损失是为了利用两个图像域中合成图像和循环图像之间的关系。因此,除了对抗性损失和循环一致性损失之外,还使用了循环合成损失来训练网络。对抗性损失用蓝色的矩形表示,它是在1)生成器G_AB和鉴别器D_B,以及2)生成器G_BA和鉴别器D_A之间计算的。循环一致性损失用黑色表示,为真实图像和循环图像之间的L1损失。循环-合成损失以红色显示,为合成图像和循环图像之间的L1损失 ?其中,L_CSA是A域(即S_ynA和C_ycA之间)的循环合成损失,L_CSB是B域(即S_ynB和C_ycB之间)的循环合成损失。CSGAN方法的目标函数(L)结合了所提出的Cyclic-Synthesized损失与现有的Adversarial损失和Cycle-consistency损失,如下所示: CSGAN的生成器网络由3个卷积层、9个残差块和3个去卷积层组成,使用实例归一化,而不是批量归一化。源域中256×256维的输入图像输入到网络。该网络通过一系列的下卷积和上卷积,将256×256的图像保留在另一个域中。鉴别器网络是一个70×70的PatchGAN,由4个卷积层组成,每个卷积层都是convolution-instance-norm-swing-ReLU的序列,然后是1个卷积层,产生1维的输出。鉴别器网络采用256×256维度的图像,输出为表征图像真假的概率(即0代表假,1代表真)。斜率为0.2的Leaky ReLUs被用作鉴别器网络的激活函数。? 1.5 LOGAN LOGAN是一种受CSGAN启发的潜在优化(latent optimisation),核心思想是加强鉴别器和生成器之间的交互来改善对抗性。如图5,首先,令潜在变量z通过生成器和鉴别器进行前向传播。然后,用生成器损失(红色虚线箭头)的梯度来计算改进的z’。在第二次前向传播中,使用优化后的z’。其后,引入潜在优化计算鉴别器的梯度。最后,用这些梯度来更新模型。 图5. LOGAN示意图。首先计算一个通过G和D的前向传递,有一个 sampled latent z,然后,使用来自生成器损失的梯度(红色虚线箭头)来计算一个改进的latent z’。在第二次正向传递中使用这个改进的latent后,通过latent优化计算出鉴别器的梯度,返回到模型参数θ_D、θ_G中 1.6 ?UNet-GANGANs面临的主要挑战之一是:生成全局和局部一致的图像,使得其物体形状和纹理与真实图像无法区分。UNet-GAN是一个致力于解决这一问题的基于U-Net的替代性鉴别器架构。基于U-Net的架构允许向生成器提供 per-pixel反馈,同时通过提供全局图像反馈,保持生成图像的全局一致性。在鉴别器的per-pixel 响应支持下,进一步提出了一种基于CutMix数据增强的per-pixel 一致性正则化技术,鼓励U-Net鉴别器更加关注真实和虚假图像之间的语义和结构变化。 ? 图6. U-Net GAN。U-Net鉴别器在全局和局部per-pixel层面对输入图像进行分类。由于编码器和解码器之间的skip connections(虚线),输出层的通道既包含高层次信息也包含低层次信息。解码器输出中较亮的颜色表征鉴别器对像素是真实的信任程度(颜色越暗表征越怀疑是假的) (D^U)_dec的这些per-pixel输出是基于来自高级特征的全局信息,通过瓶颈的上采样过程实现的,以及来自低级特征的更多局部信息,由编码器网络中间层的skip-connection介导的。最终生成器的目标函数为: 进一步,提出了D^U鉴别器的一致性正则化,鼓励解码器模块(D^U)_dec在真实和虚假样本的CutMix转换下输出等值预测值。图7中展示了CutMix的增强策略和D^U的预测。? 图7. CutMix增强和U-Net鉴别器对CutMix图像的预测的可视化。第一行:真实和虚假的样本。第二行和第三行:采样的真/假CutMix比率r和相应的二进制掩码M(颜色代码:白色为真,黑色为假)。第四行:从真实和虚假样本中生成的CutMix图像。第5行和第6行:相应的真/假D^U的分割图及其预测的分类分数 ? ? ? ? ? ? ? ? ? ? ? ? ? ???whaosoft aiot?http://143ai.com? 具体的,通过将x和G(z)∈RW×H×C与掩码M混合,为鉴别器D^U合成一个新的训练样本x? ?鉴于CutMix操作,训练鉴别器通过在鉴别器目标中引入一致性正则化损失项,以提供一致的per-pixel预测:? 最终生成器的目标函数为:? 1.7 IC-GANGAN 有着神经网络模型所共有的致命缺点,就是具有局限性,通常只能生成与训练数据集密切相关的物体或场景的图像。Facebook AI Research 为了解决这个问题,提出了IC-GAN,可以生成逼真的、没有见过的图像组合。研究人员从核密度估计(kernel density estimation, KDE)技术中得到启发,引入了一种非参数化方法来建模复杂数据集的分布。KDE是一种非参数密度估计器,以参数化核的混合形式对每个训练数据点周围的密度进行建模。IC-GAN可以看作是一种混合密度估计器,其中每个分量都是通过对训练实例进行条件化得到的。 图8. ?IC-GAN。(a) 生成器的目标是生成与h_i的邻域相似的现实图像,在嵌入空间中使用余弦相似度定义。图中显示了七个邻居中的五个。请注意,同一邻域的图像可能属于不同的类别(被描述为不同的形状)。(b) 以实例特征h_i和噪声z为条件,生成器产生一个合成样本x_g。生成的样本和真实样本(h_i的邻居)被送入鉴别器,鉴别器以相同的h_i为条件 在训练IC-GAN时,使用所有可用的训练数据点来微调模型。在推理时,与KDE等非参数密度估计方法一样,IC-GAN的生成器也需要实例特征,这些特征可能来自于训练分布或不同的分布。 1.8 ?ADC-GAN条件生成模型(Conditional generative models )学习数据和标签的基本联合分布,以实现条件数据的生成。其中,辅助分类器生成式对抗网络(auxiliary classifier generative adversarial network ,AC-GAN)已被广泛使用,但存在着生成样本的类内多样性低的问题。原因是AC-GAN的分类器与生成器无关,因此不能为生成器提供接近联合分布的信息指导,导致条件熵的最小化降低了类内多样性。ADC-GAN的目标是解决上述问题,具体来说,所提出的辅助判别分类器通过辨别真实数据和生成的数据的类别标签而具备生成器感知特性( generator-aware )。 图9 cGAN、AC-GAN、TAC-GAN和ADC-GAN的鉴别器/分类器的说明。符号+/-表示GAN标签(真实或虚假),y是数据x的类别标签。ADC-GAN与cGAN不同,它明确预测了标签,与AC-GAN和TAC-GAN不同的是,分类器C_d也区分真实和生成,就像鉴别器一样 其中,C_d表示数据x被判别性分类器同时归类为标签y和真假的概率。φ : X → Rd是一个特征提取器,与原始鉴别器共享(D = σ ? ψ ? φ,具有线性映射ψ : Rd → R和sigmoid函数σ : R → [0, 1]),?+ : Y → Rd和?- : Y → Rd捕获负责真实和生成数据的标签的可学习嵌入。log C_d(y+|x)的最大化鼓励生成器只生成少数标签一致的数据,促进了保真度,但失去了生成样本的多样性。另一方面,log C_d(y-|x)的最小化鼓励生成器不合成典型的标签一致的数据,增加多样性,但可能降低生成样本的保真度。? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:54:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |