ICCV 2019的一篇论文,作者在出名的SN-GAN上进行改进。
SN-GAN介绍应该还是挺多的,随便找一篇https://zhuanlan.zhihu.com/p/65549312
谱归一化约束,通过约束 GAN 的 Discriminator 的每一层网络的权重矩阵(weight matrix)的谱范数来约束 Discriminator 的 Lipschitz 常数, 从而增强 GAN 在训练过程中的稳定性。
这篇文章呢,作者自称叫做SR-GAN,Spectrual Regularization 谱正则化。
作者发现一个现象,就是如果没有mode collapse的时候,W‾SN(W)\overline{W}_{SN}(W)WSN​(W)的大量的奇异值都接近于1,其中W‾SN(W)\overline{W}_{SN}(W)WSN​(W)是谱归一化的权重矩阵;
在出现mode collapse的时候,权重矩阵的奇异值drop的很快,作者称这种现象为spectrual collapse(谱崩溃)。作者认为,只要spectrual collapse解决了,mode collapse就会一定程度的解决。

SN-GAN的谱归一化:W‾SN(W):=W/σ(W)\overline{W}_{SN}(W):=W/\sigma(W)WSN​(W):=W/σ(W),
σ(W)\sigma(W)σ(W)是权重W的奇异值的最大值。
SN-GAN通过这种方式来约束Lipschitz常数。原文中也证明了优于其他的normalization或者regularization的方法,比如gradient penalty、weight normalization和正交正则化等等。
注意:本论文关于spectrual collapse是作者在实验中观察得到的现象!
正如SN-GAN和BigGAN等类似的论文发现的,batch大小增加或者D网络的channel减小,都会导致mode collapse。因此本文中设置了若干种对照组,分别有不同的batch和channel。

如图所示,spectrual collapse的时候,奇异值会drop的很严重。

Spectrual Regularization

首先进行奇异值分解,权重矩阵W可以分解为W=U⋅Σ⋅VTW=U\cdot\Sigma\cdot V^TW=U⋅Σ⋅VT
其中的UUU和VVV都是正交矩阵,UUU, [u1,u2,⋅⋅⋅,um],[u_1, u_2, · · · , u_m],[u1​,u2​,⋅⋅⋅,um​], 被称为W矩阵的左奇异向量,VVV,[v1,v2,⋅⋅⋅,vn][v_1, v_2, · · · , v_n][v1​,v2​,⋅⋅⋅,vn​]被称为W矩阵的右奇异向量。
Σ\SigmaΣ可被表示为
Σ=[D000]\Sigma= \begin{bmatrix} D & 0\\ 0 & 0 \\ \end{bmatrix}Σ=[D0​00​]
其中的D=diag{σ1,σ2,...,σr}D=diag \{\sigma_1,\sigma_2,...,\sigma_r \}D=diag{σ1​,σ2​,...,σr​}代表着权重矩阵W的谱分布。
当出现mode collapse时,谱分布专注于最大的奇异值,而其他的奇异值drop的比较快。
为了避免spectrual collapse,SR-GAN设计了一个ΔD\Delta DΔD用于补偿D,ΔD=diag{σ1−σ1,σ1−σ2,...,σ1−σi,0,...,0}\Delta D=diag\{\sigma_1-\sigma_1,\sigma_1-\sigma_2,...,\sigma_1-\sigma_i , 0,...,0\}ΔD=diag{σ1​−σ1​,σ1​−σ2​,...,σ1​−σi​,0,...,0},其中iii是一个需要自己设定的超参数。
则DDD会变成D′=D+ΔD=diag{σ1,σ1,...,σ1,σi+1,...,σr}D' = D+\Delta D=diag \{\sigma_1,\sigma_1,...,\sigma_1, \sigma_{i+1},...,\sigma_{r}\}D′=D+ΔD=diag{σ1​,σ1​,...,σ1​,σi+1​,...,σr​}
从而ΔW=U⋅[ΔD000]⋅VT=∑k=2i(σ1−σk)ukvkT\Delta W=U\cdot\begin{bmatrix} \Delta D & 0\\ 0 & 0 \\ \end{bmatrix}\cdot V^T=\sum_{k=2}^i(\sigma_1-\sigma_k)u_kv_k^TΔW=U⋅[ΔD0​00​]⋅VT=k=2∑i​(σ1​−σk​)uk​vkT​
从而获得谱正则化的结果W‾SR(W)=W+ΔWσ(W)=W‾SN(W)+ΔWσ(W)\overline{W}_{SR}(W)=\frac{W+\Delta W}{\sigma(W)}=\overline{W}_{SN}(W)+\frac{\Delta W}{\sigma(W)}WSR​(W)=σ(W)W+ΔW​=WSN​(W)+σ(W)ΔW​

当i=1时,ΔW=0\Delta W=0ΔW=0,SN-GAN就成为SR-GAN的一种特殊的形式。
后面还有理论分析和超参选择什么的,不写了,有空再说。
源码:
https://github.com/max-liu-112/SRGANs-Spectral-Regularization-GANs-
补充:
https://github.com/Hhhhhhhhhhao/Paper-Notes/blob/7025aa2c976c3e351aac12b8a7bf9324cffba657/Spectral-Regularization-for-Combating-Mode-Collapse-in-GANs/SRGAN.md
写的不错。

GAN相关论文《Spectral Regularization for Combating Mode Collapse in GANs》相关推荐

  1. 2018 CVPR GAN 相关论文调研 (自己分了下类,附地址哦)

    2018 CVPR GAN 相关论文调研 风格迁移 1. PairedCycleGAN: Asymmetric Style Transfer for Applying and Removing Mak ...

  2. 2018 CVPR GAN 相关论文调研

    2018 CVPR GAN 相关论文调研 风格迁移 1. PairedCycleGAN: Asymmetric Style Transfer for Applying and Removing Mak ...

  3. 2018 CVPR GAN 相关论文

    https://blog.csdn.net/qq_26499769/article/details/84400294 风格迁移 1. PairedCycleGAN: Asymmetric Style ...

  4. 供参考的the-gan-zoo,列出的GAN相关模型和论文

    想学习,更多的GAN相关的模型和论文,可参考https://github.com/hindupuravinash/the-gan-zoo 以下是来自该作者的 github上 整理的部分论文, 如果需要 ...

  5. GAN原始论文翻译及相关推导

    参考博客:https://blog.csdn.net/stalbo/article/details/79283399 0.摘要 GAN提出了一个通过对抗过程估计生成模型的新框架,在新框架中同时训练两个 ...

  6. 图上的对抗与攻击精选论文列表(​2021相关论文一览)

    来源:深度学习与图网络本文约1400字,建议阅读5分钟本文为你分享图上的对抗与攻击精选论文. 2021相关论文一览 大规模攻击图神经网络 图神经网络的黑盒梯度攻击: 更深入洞察图的攻击和防御 增强多路 ...

  7. 必读的10篇关于GAN的论文

    前言 上次写的文章-- 一文了解下 GANs可以做到的事情,如果想进一步了解 GAN,学习研究 GAN,可以先从这 10 篇论文开始. 本文翻译自: https://towardsdatascienc ...

  8. ICCV2021|底层视觉(图像生成,图像编辑,超分辨率等)相关论文汇总(附论文链接/代码)[持续更新]

    ICCV2021|底层视觉和图像生成相关论文汇总(如果觉得有帮助,欢迎点赞和收藏) 1.图像生成(Image Generation) Multiple Heads are Better than On ...

  9. SIGIR 2022 | 推荐系统相关论文分类整理

    大家好,我是对白. ACM SIGIR 2022是CCF A类会议,人工智能领域智能信息检索( Information Retrieval,IR)方向最权威的国际会议.会议专注于信息的存储.检索和传播 ...

  10. 2021年9月80篇GAN/对抗论文汇总

    等你着陆![GAN生成对抗网络]知识星球! 超100篇!CVPR 2020最全GAN论文梳理!   2021年8月60篇GAN/对抗论文汇总 2021年7月100篇GAN/对抗论文汇总 2021年6月 ...

最新文章

  1. 关于在学校锻炼的思考
  2. vue 创建项目的命令
  3. php获取python的变量,PHPPython变量交换
  4. javascript 栈 Stack
  5. l4d2服务器修改武器伤害,辐射4武器伤害及护甲修改图文教程_快吧单机游戏
  6. 2017级C语言大作业 - 元气骑士
  7. matlab中 mcc、mbuild和mex命令详解
  8. 2.3 利用FTP服务器下载和上传文件
  9. es6-3.webpack应用
  10. Hadoop运行原理总结
  11. 浪曦_Struts2应用开发系列_第2讲.Struts2的类型转换-学习笔记
  12. spss多元线性回归散点图_SPSS19.0实战之多元线性回归分析
  13. 8月书讯(上)| 这些新书不可错过
  14. NX/UG二次开发—建模—批量创建重复特征方案优化
  15. 【附源码】计算机毕业设计java医院人事及科室病区管理设计与实现
  16. 数字图像处理 - 投影重建图像(一)雷登变换和傅里叶切片
  17. 【渝粤教育】电大中专电子商务网站建设与维护 (28)作业 题库
  18. 数据库查询+数据库备份+数据库恢复
  19. Android 不分区使用link2sd(app2ext APP2SD)
  20. matlab程序作分形蕨,matlab学习第一天笔记

热门文章

  1. 一场别开生面的黑客面基大会
  2. JavaScript 学习笔记 - 5 窗口与框架
  3. pdf转换器免费版安装和使用
  4. 贪吃蛇小游戏(HTML+CSS+JS)
  5. python爬取百度首页源代码并存储到HTML文件里
  6. sox处理mp3,使用SoX将mp3文件拆分为TIME秒
  7. 特稿 | 纳德拉成长史 x 微软重生之路
  8. 蓝牙电话之PBAP协议分析
  9. shimo的学习之MySQL 学习
  10. python3代码-【Python】Python3纯代码极简教程