研究背景:

1. 当前生成对抗网络在许多图像任务中取得了不错的效果,但是需要大量的训练数据;

2. 目前关于小数据集的训练存在判别器容易过拟合的问题;


创新点:

该论文主要对有限数据集训练下容易导致判别器的过拟合问题展开了研究,引入了多互补鉴别器,在训练过程中,从不同的角度提供监督信息。主要表现为:权重差异和数据差异两个方面。


网络结构:

论文网络结构主要包括了四个部分:采样、生成、权重差异共同训练和数据差异共同训练四个部分。权重差异和数据差异是文中提出的用于解决小数据集下判别器过拟合的问题。

Weight-Discrepancy Co-training(WeCo):

WeCo的目的是通过两个判别器D1和D2的参数,采用参数多样化的想法,作者定义了权重差异损失,提取两个判别器的参数计算其余旋距离,其计算公式如下所示:

Lwd计算的是两组参数的余旋夹角,值越小,夹角越大,说明两组参数的距离越远,这在一定程度上抑制了判别器的过拟合。因为当一个趋于过拟合状态时候,权重差异损失会减缓另一个判别器的过拟合。

D1和D2的损失函数计算如下所示,关于权重差异损失加在D1项和D2项都没有什么区别。

其中,Ld为判别损失:

最后,WeCo总的损失为:

论文代码关于权重差异损失Lwd的计算如下:

 W5 = NoneW6 = Nonefor (w5, w6) in zip(self.D.parameters(), self.D2.parameters()):if W5 is None and W6 is None:W5 = w5.view(-1)W6 = w6.view(-1)else:W5 = torch.cat((W5, w5.view(-1)), 0)W6 = torch.cat((W6, w6.view(-1)), 0)loss_weight = (torch.matmul(W5, W6) / (torch.norm(W5) * torch.norm(W6)) + 1) 

Data-Discrepancy Co-training(DaCo):

DaCo训练是从图像不同的视角进行协同判别,采用了D1和D3两个判别器,D1判别器和WeCo中的判别器是参数共享的,D3以原图的部分频率分量为输入(partial frequency components)。D1和D3的判别损失如下:

DaCo的总损失:

为什么GenCo是有效的?

1. GenCo在训练的过程中,即使一个判别器出现了过拟合,但是由于其他的判别器具有不同的参数和输入信息,其会去学习更加复杂的结构信息等,如下图,论文作者可视化了三个判别器学习的重点信息分布,从图中可以看出,三个判别器学习到的信息是互补的。图中,D1更多注意面部的风格,如:颜色、亮度等;D2更多注意在面部的细节,如:皱纹、面部轮廓等;D3注意在面部的表情,如:眼睛、嘴巴等。

2. 文章作者分析了,当判别器损失较小时会使生成器的损失较大,导致训练处于发散状态。如下图所示。文章的WeCo和DaCo减小了判别器的过拟合,减小了生成器的损失,缓解了训练过程中的发散问题。


 论文实验:

论文作者提供大量的实验及评价指标验证了GenCo的有效性。主要在CI-FAR,100-shot,AFHQ, FFHQ and LSUN-Cat数据集上进行了实验。

Experments on 100-shot and AFHQ

从表1可以看出,GenCo的FID分数优于现有的先进方法。

从图3的视觉结果可看出,GenCo在使用数据增强的情况下,生成结果的真实性明显由于DA的结果。

Experiments on CIFAR-10 and CIFAR-100:

 Experiments on FFHQ and LSUN-Cat:

Ablation study:


讨论:

论文不仅在不同的数据集和评价指标上进行了实验展示,用于也将GenCo的方法与正则化技术进行组合,得到了不错的效果,加入GenCo以后基线模型的效果有了很大的提升。

作者还将GenCo应用在不同的基线模型上,验证了GenCo的优越性。


总结:

1. D1、D2、D3关注的信息不同,相当于提升网络整体的判别能力;

2. 论文从不同的基线模型和数据集上验证了GenCo的有效性,实验展示丰富;

【每日论文】GenCo: Generative Co-training for Generative Adversarial Networks with Limited Data相关推荐

  1. Training generative adversarial networks with limited data.

    Karras, Tero, et al.Training generative adversarial networks with limited data.(2020). 用有限的数据生成对抗式网络 ...

  2. StyleGan2-ADA: Training Generative Adversarial Networks with Limited Data

    训练一个GAN模型,通常需要比较多的数据(ffhq是7万),数据量少的话会导致判别器过拟合,回传的梯度无意义,从而导致生成器停止学习或崩掉.GAN本质上就是通过判别器找到生成图与真实图差异的部分,通过 ...

  3. Training Generative Adversarial Networks with Limited Data

    Profile 四大生成模型之一的 GAN 由一对生成器 G 和鉴别器 D 构成. 以图像生成为

  4. [论文笔记]:Image-to-Image Translation with Conditional Adversarial Networks

    Image-to-Image Translation with Conditional Adversarial Networks 论文翻译 摘要 1. 介绍 2. 相关工作 3. 方法 3.1 评估 ...

  5. #论文阅读CTG The Use of Convolutional Neural Networks in Biomedical Data Processing

    DOI 10.1007/978-3-319-64265-9_9 所属期刊 ITBAM 2017 论文发表时间 2017年07月26日 记录时间 2023年01月03日 记录人 Troye Jcan T ...

  6. 《每日论文》ImageNet Classification with Deep Convolutional Neural Networks

    这篇论文是剖析 CNN 领域的经典之作,也是入门 CNN 的必读论文.作者训练了一个面向数量为 1.2 百万的高分辨率的图像数据集 ImageNet, 图像的种类为 1000 种的深度卷积神经网络. ...

  7. 论文笔记:Limited Data Rolling Bearing Fault Diagnosis With Few Shot Learning

    论文:基于少样本学习的小样本滚动轴承故障诊断 Limited Data Rolling Bearing Fault Diagnosis With Few Shot Learning **摘要:**这篇 ...

  8. 论文笔记 Communication-Efficient Learning of Deep Networks from Decentralized Data

    论文题目:<Communication-Efficient Learning of Deep Networks from Decentralized Data> 时间:联邦学习由谷歌在20 ...

  9. Communication-Efficient Learning of Deep Networks from Decentralized Data 论文笔记

      本文出自论文Communication-Efficient Learning of Deep Networks from Decentralized Data,本文提出了一种基于迭代模型平均的深层网 ...

最新文章

  1. window下使用nw.js开发桌面应用程序环境的搭建
  2. [poj] 2318 TOYS || 判断点在多边形内
  3. virtualbox调试linux内核,virtualbox+kgdbt调试linux内核
  4. hana::detail::variadic::reverse_apply用法的测试程序
  5. 27 行代码开发一个最简单的 SAP ALV 报表
  6. struts 2 配置通配符
  7. linux ppp漏洞,Linux下ppp拨号的实现(Arm)
  8. 视觉SLAM十四讲学习笔记-第六讲-非线性优化的状态估计问题
  9. 取消vs2013在代码中的Reference数量功能
  10. 关于php正则表达式得选择题,经典PHP笔试题
  11. VSFTP服务的日常应用及疑难问题解析
  12. 190306每日一句
  13. bindZip下载地址
  14. javascript 构造函数方式定义对象 (转载)
  15. AJP:斯坦福加速智能神经调控疗法治疗难治性抑郁症
  16. gentoo 下Local time zone must be set--see zic manual page解决办法[原创]
  17. 中国移动云MAS平台发送普通短信
  18. PHP获取Opcode及C源码
  19. Unity3D教程:手游开发常用排序算法 -下
  20. 线程竞争导致的EOFException解决 ---  一次线上问题解决流程

热门文章

  1. 解析 xinetd.conf
  2. java 操作execl添加边框
  3. 什么是构造方法,为什么要使用构造方法
  4. 结构体类型的定义及所占内存的字节数
  5. 2019-详细Android Studio开发百度地图(4)—百度地图_路线规划的实现
  6. 惠勒延迟选择实验_肯·惠勒(Ken Wheeler)与开源软件的兴衰
  7. 知识点 - 割点与割边
  8. 『WEB』web学习
  9. 数学建模语言AMPL及其应用
  10. Python 讲堂 parse_args()详解