目录

Miyato T., Kataoka T., Koyama M & Yoshida Y. SPECTRAL NORMALIZATION FOR GENERATIVE ADVERSARIAL NETWORKS. ICLR, 2018.

概

通过限制谱范数来限制Lipschitz常数, 但又不像weight normalization 或者其它的正则化方法一样, 本文提出的方法不会丧失过多的灵活性且保持高效.

主要内容

经过WGAN之后, 有许多方法是探讨如何限制Lipschitz常数的, 即

\[\min_G \max_{\|f\|_{Lip} \le K} V(G, D),
\]

其中\(f\)为

\[f(x,\theta) = W^{L+1}a_L (W^L(a_{L-1}(W^{L-1}(\cdots a_1(W^1x)\cdots)))),
\]
\[D(x,\theta) = \mathcal{A}(f(x,\theta)).
\]

实际上,

\[\|f\|_{Lip} \le \prod_{i=1}^{L+1} \sigma(W^l),
\]

其中\(\sigma\)为谱范数. 故本文的思想是, 实际使用下面的权重矩阵

\[\bar{W}_{SN} (W) := W/\sigma(W),
\]

此时\(\|f\|_{Lip} \le 1\).

但是, 由于\(W\)在训练过程中是变化的, 所以, 作者并不是精确求解\(\sigma(W)\), 采用了一种类似running average的方式, 既然

\[\sigma(W) = u_1^T Wv_1,
\]

其中\(u_1, v_1\)分别为\(\sigma(W)\)所对应的左特征向量和右特征向量.

作者进一步分析, 经过标准化后的\(W\)的梯度的变化

\[\frac{\partial V(G, D)}{\partial W} = \frac{1}{\sigma(W)} (\hat{\mathbb{E}}[\delta h^T] - \lambda u_1v_1^T),
\]

其中\(\lambda:= \hat{\mathbb{E}}[\delta^T (\bar{W}_{SN}h)]\), \(\delta:= (\partial V(G,D) / \partial (\bar{W}_{SN}h))^T\) . 与原来的梯度仅仅差了后面的一项, 这相当于阻止整个网络仅仅往一个方向学习而产生mode collapse.

实际上, 已经有很多类似的方法了, 一些是在损失函数后面加正则化项, 一些是直接要求多个奇异值的和等于某一个值(WN), 作者认为这些方法会让网络的能力下降, 在某种程度上会迫使权重的奇异值集中在一个维度之上. 还有像正交化的约束, 是能够避免集中在一个维度之上的, 但是这假设所以维度的意义是同等重要, 这个并不合适, 因为谱不一致是有意义的.

SNGAN的更多相关文章

  1. GANS 资料

    https://blog.csdn.net/a312863063/article/details/83512870 目 录第一章 初步了解GANs 3 1. 生成模型与判别模型. 3 2. 对抗网络思 ...

  2. 你的GAN训练得如何--GAN 的召回率(多样性)和精确率(图像质量)方法评估

    生成对抗网络(GAN)是当今最流行的图像生成方法之一,但评估和比较 GAN 产生的图像却极具挑战性.之前许多针对 GAN 合成图像的研究都只用了主观视觉评估,一些定量标准直到最近才开始出现.本文认为现 ...

  3. 2019 ICCV、CVPR、ICLR之视频预测读书笔记

    2019 ICCV.CVPR.ICLR之视频预测读书笔记 作者 | 文永亮 学校 | 哈尔滨工业大学(深圳) 研究方向 | 视频预测.时空序列预测 ICCV 2019 CVP github地址:htt ...

  4. 软件工程第一次作业:Warm Up

    Warm Up 项目 内容 作业所属课程 2021春季软件工程(罗杰 任健) 作业要求 第一次阅读作业 课程目标 培养通过团队协作使用软件开发工具按照软件工程方法开发高质量并且可用的复杂软件系统的能力 ...

随机推荐

  1. 日常Java 2021/10/26

    HashSet基于HashMap来实现的,是一个不允许有重复元素的集合.HashSet 允许有null 值. HashSet是无序的,即不会记录插入的顺序. HashSet不是线程安全的,如果多个线程 ...

  2. cephfs文件系统场景

    创建cephfs文件系统: [cephfsd@ceph-admin ceph]$ cd /etc/ceph [cephfsd@ceph-admin ceph]$ ceph fs ls No files ...

  3. vue项目windows环境初始化

    下载nodejs zip包并加载到环境变量 nodejs的版本最好使用12版,而不是最新版 npm install webpack -gnpm install -g yarnyarn config s ...

  4. ORACLE dba_objects

    dba_objects OWNER 对象所有者 OBJECT_NAME 对象名称 SUBOBJECT_NAME 子对象名称 OBJECT_ID 对象id DATA_OBJECT_ID 包含该对象的se ...

  5. 详解 java 异常

    Throwable 可以用来表示任何可以作为异常抛出的类(注意,是类不是接口),分为两种: Error(注意!error也是可以throw的,但是不建议) 和 Exception. 其中 Error ...

  6. ANTLR 相关术语

    下面介绍很多重要的与语言识别相关的术语. 语言(Language) A language is a set of valid sentences 一门语言是一个有效语句的集合. Sentences a ...

  7. 一个超好用的 Python 标准库,彻底玩透路径操作

    pathlib 学习 Python 时,尤其是在进行文件操作和数据处理时,经常会处理路径问题.最常用和常见的是 os.path 模块,它将路径当做字符串进行处理,如果使用不当可能导致难以察觉的错误,而 ...

  8. 深入分析 Java ZGC

    传统的垃圾回收 CMS 与 G1 停顿时间瓶颈 ZGC 概览 深入 ZGC 原理 标记 Marking 着色指针 Reference Coloring Relocation 重映射和读屏障 Remap ...

  9. 小迪安全 Web安全 基础入门 - 第十天 - 信息打点-APP&小程序篇&抓包封包&XP框架&反编译&资产提取

    一.本节知识点思维导图 二.APP-外在资产收集 1.将APP安装在模拟器中,修改模拟器代理设置,使用Fiddler.Burpsuite.Charles等抓包工具抓取APP访问的http协议数据包,抓 ...

  10. CF1291A Even But Not Even 题解

    Content 有 \(t\) 组数据,每组数据给定一个整数 \(n\),接着给出一个长度为 \(n\) 的数字串.请从中删除一些数,使得剩下的数字串不是偶数,但是其和为偶数,或者不存在这样的方案. ...