Paper Reading:BigGAN
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
- 简单地使用了2-4倍参数量的参数,8倍的batchsize,就能够得到很大的性能提升。(对比于SAGAN)
- 通过设置truncation trick的不同阈值能够使生成器在多样性和稳定性之间作调整。
- 将现有的技术整合能够很好地提高模型稳定性,但是会降低性能。
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 (相当于发现的一些问题)
- double网络深度会影响精度。
- 在判别器上使用嵌入参数的方法,对参数的选择非常敏感,刚开始有助于训练,后续则很难优化。
- 使用WeightNorm替换BatchNorm会使得训练难以收敛,去掉BatchNorm只有Spectral Normalization也会使得难以收敛(BatchNorm在生成器里还是一个必要的存在)。
- 判别器中增加BatchNorm会使得训练难以收敛(一般用InstanceNorm)。
- 在128128的输入情况下,改变attention block对精度没提升,在256256输入的情况下,将attention block上移一级,会对精度有提升。
- 相比采用33的卷积核,采用55的卷积核会使精度有略微提升,而7*7则不会。
- 使用膨胀卷积会降低精度。
- 将生成器中的最近邻插值换为双线性插值会使得精度降低。
- 在共享嵌入中使用权值衰减(weight decay),当该衰减值较大(10-6 )会损失精度,较小(10-8 )会起不到作用,不能阻止梯度爆炸。
- 在类别嵌入中,使用多层感知机(MLP)并不比线性投影(linear projections)好。
- 梯度归一化截断会使得训练不平稳。
Thoughts
本文可以说是对以往关于GAN工作的一个大型总结,并提出了一些优化模型的算法(如共享嵌入等)。这些总结出来的trick都可能在未来GAN的发展中祈祷标杆的作用。
另外,能够将BatchSize随便调到2048也是需要一定实力基础才能做出来的操作,github上一些其他人的实现都是将BatchSize调回了64。
Paper Reading:BigGAN相关推荐
- cvpr2019/cvpr2018/cvpr2017(Papers/Codes/Project/Paper reading)
cvpr2019/cvpr2018/cvpr2017(Papers/Codes/Project/Paper reading) Source:https://mp.weixin.qq.com/s/SmS ...
- 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> ...
- [paper reading] FCOS
[paper reading] FCOS GitHub:Notes of Classic Detection Papers 2020.11.09更新:更新了Use Yourself,即对于本文的理解和 ...
- [paper reading] CenterNet (Object as Points)
[paper reading] CenterNet (Object as Points) GitHub:Notes of Classic Detection Papers 2020.11.09更新:更 ...
- [paper reading] CenterNet (Triplets)
[paper reading] CenterNet (Triplets) GitHub:Notes of Classic Detection Papers 2020.11.09更新:更新了Use Yo ...
- [paper reading] CornerNet
[paper reading] CornerNet GitHub:Notes of Classic Detection Papers 本来想放到GitHub的,结果GitHub不支持公式. 没办法只能 ...
- [paper reading] RetinaNet
[paper reading] RetinaNet GitHub:Notes of Classic Detection Papers 本来想放到GitHub的,结果GitHub不支持公式. 没办法只能 ...
- [paper reading] SSD
[paper reading] SSD GitHub:Notes of Classic Detection Papers 本来想放到GitHub的,结果GitHub不支持公式. 没办法只能放到CSDN ...
- [paper reading] YOLO v1
[paper reading] YOLO v1 GitHub:Notes of Classic Detection Papers 本来想放到GitHub的,结果GitHub不支持公式. 没办法只能放到 ...
- [paper reading] Faster RCNN
[paper reading] Faster RCNN GitHub:Notes of Classic Detection Papers 本来想放到GitHub的,结果GitHub不支持公式. 没办法 ...
最新文章
- Tungsten Fabric SDN — 零宕机(ZIU)自动化运维
- PLSQL:[1]plsql中文乱码,显示问号
- 『设计模式』再谈麦当劳的点单模式--命令模式(Command)
- VMware虚拟机软件
- Leetcode每日一题:111.minimum-depth-of-binary-tree(二叉树的最小深度)
- 力扣--122. 买卖股票的最佳时机 II
- 【Maclean Liu技术分享】拨开Oracle优化器迷雾探究Histogram之秘
- json-lib javabean转换为首字母大写的json串
- mysql 日期时间运算函数(转)
- 适合女孩子的高颜值蓝牙耳机推荐?2020新款高人气蓝牙耳机
- Linux中c语言strcmp,c语言常用函数strcmp函数和strcpy函数
- excel函数交叉定位查找内容+根据内容查找行列号(反向查找)
- Vue 做调查问卷简单实例
- 一个高效的积分兑换商城系统怎么搭建
- java拆弹,CSAPP lab2 二进制拆弹 binary bombs phase_2
- SystemUI之通知图标控制
- 计算机房精密空调术语,机房精密空调参数及含义
- 销售凭证、客户主数据
- Android 11.0 12.0在系统app安装第三方app弹出 解析安装包出现问题 的解决方案
- references column 'xxx' which is not in SELECT list