URL:
https://arxiv.org/pdf/1809.11096.pdf
code:
https://github.com/AaronLeong/BigGAN-pytorch
https://tfhub.dev/s?q=biggan

TL;DR

号称具有划时代意义的BigGAN,由DeepMind团队在ICLR2019上发表,将精度作出了跨越式提升。
将Inception Score (IS,越大越好) 由之前最好的52.52提升到166.3,Frechet Inception Distance (FID,越小越好) 由之前最好的18.65提升到9.6。生成图例:

Contribution

  1. 简单地使用了2-4倍参数量的参数,8倍的batchsize,就能够得到很大的性能提升。(对比于SAGAN)
  2. 通过设置truncation trick的不同阈值能够使生成器在多样性和稳定性之间作调整。
  3. 将现有的技术整合能够很好地提高模型稳定性,但是会降低性能。

Algorithm


从上面可以看到,仅提高batchsize和参数量(※处),也会有较明显的精度提升。
另外,上表中三个作者用到的能够进一步提升模型效能的方法:
① Shared:使用共享嵌入(shared embeddings ),在生成器的BN层中加入类别信息嵌入,将会大大的增加参数量,因此选择共享嵌入,也就是对每层的weighs和bias做投影,这样将会减少计算和内存的开销,将训练速度提升37%。
② Hier:使用分层的潜在空间(hierarchical latent space ),也就是在生成器网络的每一层都会被喂入噪声向量。分层空间增加了计算量和内存消耗,但是可以使得精度提升4%,训练速度加快18%。
③ Ortho:使用正交正则化(Orthogonal Regularization ),为了能够抵消过饱和问题(如下图),本文采用了约束生成器使其平滑的策略。

传统正交正则方法(Brock et al., 2017)已经被证明了有其局限性 (Miyato et al., 2018):

作者提出了另一种方法:

即把对角减1直接换成了消去,即放松了对截断的限制,提高了平滑性。实验证明在不使用该方法只有16%的模型能够适应截断,而加入了后这个数值达到了60%。

Model


上图a是模型生成器框架,其中的ResBlock如b所示。c是判别器的ResBlock。模型框架本身并没有很特殊的点。

※Negative Results (相当于发现的一些问题)

  1. double网络深度会影响精度。
  2. 在判别器上使用嵌入参数的方法,对参数的选择非常敏感,刚开始有助于训练,后续则很难优化。
  3. 使用WeightNorm替换BatchNorm会使得训练难以收敛,去掉BatchNorm只有Spectral Normalization也会使得难以收敛(BatchNorm在生成器里还是一个必要的存在)。
  4. 判别器中增加BatchNorm会使得训练难以收敛(一般用InstanceNorm)。
  5. 在128128的输入情况下,改变attention block对精度没提升,在256256输入的情况下,将attention block上移一级,会对精度有提升。
  6. 相比采用33的卷积核,采用55的卷积核会使精度有略微提升,而7*7则不会。
  7. 使用膨胀卷积会降低精度。
  8. 将生成器中的最近邻插值换为双线性插值会使得精度降低。
  9. 在共享嵌入中使用权值衰减(weight decay),当该衰减值较大(10-6 )会损失精度,较小(10-8 )会起不到作用,不能阻止梯度爆炸。
  10. 在类别嵌入中,使用多层感知机(MLP)并不比线性投影(linear projections)好。
  11. 梯度归一化截断会使得训练不平稳。

Thoughts

本文可以说是对以往关于GAN工作的一个大型总结,并提出了一些优化模型的算法(如共享嵌入等)。这些总结出来的trick都可能在未来GAN的发展中祈祷标杆的作用。
另外,能够将BatchSize随便调到2048也是需要一定实力基础才能做出来的操作,github上一些其他人的实现都是将BatchSize调回了64。

Paper Reading:BigGAN相关推荐

  1. cvpr2019/cvpr2018/cvpr2017(Papers/Codes/Project/Paper reading)

    cvpr2019/cvpr2018/cvpr2017(Papers/Codes/Project/Paper reading) Source:https://mp.weixin.qq.com/s/SmS ...

  2. Paper之BigGAN:ICLR 2019最新论文《LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS》(未完待续)

    Paper之BigGAN:ICLR 2019最新论文<LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS> ...

  3. [paper reading] FCOS

    [paper reading] FCOS GitHub:Notes of Classic Detection Papers 2020.11.09更新:更新了Use Yourself,即对于本文的理解和 ...

  4. [paper reading] CenterNet (Object as Points)

    [paper reading] CenterNet (Object as Points) GitHub:Notes of Classic Detection Papers 2020.11.09更新:更 ...

  5. [paper reading] CenterNet (Triplets)

    [paper reading] CenterNet (Triplets) GitHub:Notes of Classic Detection Papers 2020.11.09更新:更新了Use Yo ...

  6. [paper reading] CornerNet

    [paper reading] CornerNet GitHub:Notes of Classic Detection Papers 本来想放到GitHub的,结果GitHub不支持公式. 没办法只能 ...

  7. [paper reading] RetinaNet

    [paper reading] RetinaNet GitHub:Notes of Classic Detection Papers 本来想放到GitHub的,结果GitHub不支持公式. 没办法只能 ...

  8. [paper reading] SSD

    [paper reading] SSD GitHub:Notes of Classic Detection Papers 本来想放到GitHub的,结果GitHub不支持公式. 没办法只能放到CSDN ...

  9. [paper reading] YOLO v1

    [paper reading] YOLO v1 GitHub:Notes of Classic Detection Papers 本来想放到GitHub的,结果GitHub不支持公式. 没办法只能放到 ...

  10. [paper reading] Faster RCNN

    [paper reading] Faster RCNN GitHub:Notes of Classic Detection Papers 本来想放到GitHub的,结果GitHub不支持公式. 没办法 ...

最新文章

  1. Tungsten Fabric SDN — 零宕机(ZIU)自动化运维
  2. PLSQL:[1]plsql中文乱码,显示问号
  3. 『设计模式』再谈麦当劳的点单模式--命令模式(Command)
  4. VMware虚拟机软件
  5. Leetcode每日一题:111.minimum-depth-of-binary-tree(二叉树的最小深度)
  6. 力扣--122. 买卖股票的最佳时机 II
  7. 【Maclean Liu技术分享】拨开Oracle优化器迷雾探究Histogram之秘
  8. json-lib javabean转换为首字母大写的json串
  9. mysql 日期时间运算函数(转)
  10. 适合女孩子的高颜值蓝牙耳机推荐?2020新款高人气蓝牙耳机
  11. Linux中c语言strcmp,c语言常用函数strcmp函数和strcpy函数
  12. excel函数交叉定位查找内容+根据内容查找行列号(反向查找)
  13. Vue 做调查问卷简单实例
  14. 一个高效的积分兑换商城系统怎么搭建
  15. java拆弹,CSAPP lab2 二进制拆弹 binary bombs phase_2
  16. SystemUI之通知图标控制
  17. 计算机房精密空调术语,机房精密空调参数及含义
  18. 销售凭证、客户主数据
  19. Android 11.0 12.0在系统app安装第三方app弹出 解析安装包出现问题 的解决方案
  20. references column 'xxx' which is not in SELECT list

热门文章

  1. 超级搜索术1-信息搜索/资源搜索
  2. freeSWITCH之安装
  3. HTML与CSS案例——人物简介
  4. win10或11非华为电脑安装最新的电脑管家(支持移动应用引擎)安装方法及问题解决
  5. python 分词及语义识别
  6. “一键淘宝”将淘宝网店免费转移到手机客户端android教程
  7. Oracle 函数大全
  8. python复制、移动文件到指定文件夹
  9. PYTHON简单的16进制转字符串
  10. metabase开源BI