【GAN优化】详解SNGAN(频谱归一化GAN)

谱归一化(Spectral Normalization)的理解 《Spectral Normalization for Generative Adversarial Networks》【1】是Takeru Miyato在2018年2月发表的一篇将谱理论应用于Gan上的文章,在2017年,本文的第3作者Yuichi Yoshida就发表了一篇著名的谱范数正则(Spectral Norm Regularization)的文章【2】,如有兴趣也可参看我的上一篇Blo... 阅读详情

今天将和大家一起学习具有很高知名度的SNGAN。之前提出的WGAN虽然性能优越,但是留下一个难以解决的1-Lipschitz问题,SNGAN便是解决该问题的一个优秀方案。我们将先花大量精力介绍矩阵的最大特征值、奇异值,然后给出一个简单例子来说明如何施加1-Lipschitz限制,最后一部分讲述SNGAN。

作者&编辑 | 小米粥

在GAN中,Wasserstein距离比f散度拥有更好的数学性质,它处处连续,几乎处处可导且导数不为0,所以我们更多的使用Wasserstein距离。在上一期的结尾,我们得到critic(判别器)的目标函数为:

640?wx_fmt=jpeg

本篇所讲的SNGAN便是一种“严格”地解决了判别器1-Lipshcitz约束的方法。

1 最大特征值(奇异值)

我们从矩阵的特征值、奇异值开始说起。在线性代数中,Ax=b表示对向量x做矩阵A对应的线性变换,可以得到变换后的向量b。如果x为矩阵A对应的特征向量,则有:

640?wx_fmt=jpeg

即对特征向量x做矩阵A对应的线性变换的效果是:向量方向不变,仅长度伸缩λ 倍!比如,对

640?wx_fmt=jpeg

两个特征值、特征向量分别为:

640?wx_fmt=jpeg

线性变换作用在特征向量的效果如下:

640?wx_fmt=jpeg

对于一般向量x,对其线性变换的中间运算过程可以分解为三步。例如对于计算Ax,其中x=[0,1],先将x分解到两个特征向量上:

640?wx_fmt=jpeg

640?wx_fmt=jpeg

然后在两个特征向量方向上分别进行伸缩变换,有:

640?wx_fmt=jpeg

640?wx_fmt=jpeg

最后再进行简单的向量合成,可有:

640?wx_fmt=jpeg

640?wx_fmt=jpeg

一般的,对于非奇异n阶方阵,有n个特征向量和与之对应的特征值,故n阶方阵A对应的线性变换操作其实可以分解成三步:将向量x先分解到n个特征向量对应的方向上(本质是求解x在以特征向量组成的基上的表示),分别进行伸缩变换(在特征向量组成的基上进行伸缩变换),最后进行向量合成(本质是求解得到的新向量在标准基上的表示)。这其实就是在描述熟悉的矩阵特征值分解:

640?wx_fmt=jpeg

特征值是对应于方阵的情况,将其推广至一般矩阵,便可引出奇异值。奇异值分解形式为:

640?wx_fmt=jpeg

简单说,特征值分解其实是对线性变换中旋转、缩放两种效应的归并,奇异值分解正是对线性变换的旋转、缩放和投影三种效应的一个析构(当V的维度大于U的维度时存在投影效应)。

说了这么多,其实是为了直观地解释一个问题,对于任意单位向量x,Ax的最大值(这里使用向量的2范数度量值的大小)是多少?显然,x为特征向量v2时其值最大,因为这时的x全部“投影”到伸缩系数最大的特征向量上,而其他单位向量多多少少会在v1方向上分解出一部分,在v1方向上只有2倍的伸缩,不如在v2方向上4倍伸缩的值来的更大。这样,我们可以得到一个非常重要的式子:

640?wx_fmt=jpeg

其中σ (A)表示A的最大特征值(奇异值),也称为A的谱范数。

2 Lipshcitz限制

所谓Lipshcitz限制,在最简单的一元函数中的形式即:

640?wx_fmt=jpeg

或者也可以写成:

640?wx_fmt=jpeg

直观上看,它要求f(x)任意两点之间连线的“斜率”绝对值小于Lipshcitz常数k。在WGAN中要求k=1,1-Lipshcitz限制要求保证了输入的微小变化不会导致输出产生较大变化。我们常见的函数,比如分段线性函数|x|,连续函数sin(x)都显而易见的满足该限制:

640?wx_fmt=jpeg

我们以一个最简单的例子来展示一下,如何使用谱范数施加1-Lipshcitz限制。考虑f(x)=Wx,其中

640?wx_fmt=jpeg

显然,f(x)=Wx不满足1-Lipshcitz限制,利用第一部分的结论,考虑到

640?wx_fmt=jpeg

那么若将W整体缩小4倍,

640?wx_fmt=jpeg

即可以得到:

640?wx_fmt=jpeg

可以看出,虽然线性函数f(x)=Wx不满足1-Lipshcitz限制,但是可使用谱范数将W的”缩放大小“限定为小于等于1,(有点类似于向量的归一化操作)这样处理后的f*(x)可以满足1-Lipshcitz限制。接下来,我们将对这条思路进行补充、推广,最后得到SNGAN将是显而易见的事情了。

3 SNGAN

通常在神经网络中的每一层,先进行输入乘权重的线性运算,再将其送入激活函数,由于通常选用ReLU作为激活函数,ReLu激活函数可以用对角方阵D表示,如果Wx的第i维大于0,则D的第i个对角元素为1,否则为0,需要注意D的具体形式与W,x均有关系,但是D的最大奇异值必然是1。

因此,一般而言,即使神经网络的输出是非线性的,但是在x的一个足够小的邻域内,它一个表现为线性函数Wx,W的具体形式与x有关。真实的判别器f(x)的函数图像在比较小的尺度上来看应该是类似这种形式的分段函数:

640?wx_fmt=jpeg

考虑到对于任意给定的x,均有:

640?wx_fmt=jpeg

整体标记判别器各层的权值、偏置项:

640?wx_fmt=jpeg

那么可以得到:

640?wx_fmt=jpeg

根据:

640?wx_fmt=jpeg

可得到:

640?wx_fmt=jpeg

不必像第二部分所描述办法整体求解W的谱范数,充分利用上述不等式,我们只需要计算每层的权值矩阵的最大奇异值,即可完成1-Lipshcitz限制。

640?wx_fmt=jpeg

综上,有结论:对于任意x

640?wx_fmt=jpeg

为了严格起见,需要说明,f(x)在x的任意邻域内都满足1-Lipshcitz限制,则f(x)在定义域上满足1-Lipshcitz限制。

其实这里有一个遗留的小问题,如何快速求解超大矩阵A的最大奇异值。在原论文中使用了一种幂方法(power method),随机给两个初始变量,然后令:

640?wx_fmt=jpeg

则经过数次迭代,便有

640?wx_fmt=jpeg

我们用求最大特征值的例子来辅助理解一下,A对向量x的线性变换的实质是对x在不同的特征向量方向进行伸缩,由于在不同的特征向量方向进行伸缩的幅度不同,造成的结果是:不断对x做A对应的线性变换,则x的方向不断靠近伸缩幅度最大的特征向量的方向,如下图

640?wx_fmt=jpeg

则经过足够次数的迭代,得到的新的向量方向与伸缩幅度最大的特征向量的方向重合,故每次迭代结果只差一个常数,即最大特征值。

[1] Yoshida, Yuichi , and T. Miyato . "Spectral Norm Regularization for Improving the Generalizability of Deep Learning." (2017).

[2] Miyato, Takeru , et al. "Spectral Normalization for Generative Adversarial Networks." (2018).

[3]Wasserstein GAN and the Kantorovich-Rubinstein Duality.  https://vincentherrmann.github.io/blog/wasserstein/

总结

这篇文章带领大家一起学习了SNGAN,学习了特征值和奇异值相关问题,学习如何使用谱范数解决1-Lipschitz限制,并推导了SNGAN,最后给出了一个快速求解矩阵最大奇异值的方法。下一期的内容将比较“数学”一点,介绍一个个人非常喜欢的统一理论,它将WGAN和诸多GAN纳入一个框架。

下期预告:IPM与xGAN

GAN群

640?wx_fmt=jpeg

有三AI建立了一个GAN群,便于有志者相互交流。感兴趣的同学也可以微信搜索xiaozhouguo94,备注"加入有三-GAN群"。

知识星球推荐

640?wx_fmt=jpeg

有三AI知识星球由言有三维护,内设AI知识汇总,AI书籍,网络结构,看图猜技术,数据集,项目开发,Github推荐,AI1000问八大学习板块。


有三AI知识星球官宣,BAT等大咖等你来撩

【知识星球】千奇百怪的网络结构板块更新到哪里了?

转载文章请后台联系

侵权必究

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

往期精选

Multi-objective training of Generative Adversarial Networks with multiple discriminators-论文翻译 生成对抗性网络(GANs)(Goodfellow et al.,2014)提供了一种新的生成建模方法,使用博弈论训练方案隐式学习给定的概率密度。在GAN架构出现之前,逼真的生成建模仍然难以捉摸。尽管提供了前所未有的现实主义,但GAN培训仍然充满了稳定性问题。通常报道的缺点包括鉴别器提供的有用梯度信号的缺乏,以及模式崩溃,即发生器样本缺乏多样性。近年来,为了在GAN框架内克服训练不稳定性1,人们投入了大量的研究工作。 阅读详情

相关推荐

Spectrally Normalized Generative Adversarial Networks (SN-GAN)谱归一化在GAN中的运用。

《Spectral Normalization for Generative Adversarial Networks》是Takeru Miyato在2018年发表的一篇将谱理论应用于GAN的论文。 SN-GAN将鉴别器中的权重矩阵归一化为对应的谱范数,有助于控制鉴别器的Lipschitz常数。说明了参数矩阵的谱范数对多层神经网络泛化的影响。 利普希茨连续(Lipschitz连续),要求函数图像的曲线上任意两点连线的斜率一致有界,就是任意的斜率都小于同一个常数,这个常数就是Lipschitz常数。Lipsc

sun的博客 1961

【GANs学习笔记】(十)SNGAN

7. SNGAN 7.1 SNGAN设计思路        现在我们的目的,是要保证对于每一个位置的x,梯度的模都小于等于1。在神经网络中,将梯度的模限制在一个范围内,抽象地来说就是让产生的函数更平滑一些,最常见的做法便是正则化。SNGAN(频谱归一化GA

a312863063的博客 8530

GAN:SNGAN-谱归一化GANs

的观点:WGAN-GP中使用gradient penalty 的方法来限制判别器,但这种放法只能对生成数据分布与真实分布之间的分布空间的数据做梯度惩罚,无法对整个空间的数据做惩罚。因为谱归一化事实上要求网络的每一层都满足 L 约束,但这个条件太死了,也许这一层可以不满足 L 约束,下一层则满足更强的 L 约束,两者抵消,整体就满足 L 约束,但谱归一化不能适应这种情况。谱归一化是一种“事前”的处理方案,它直接将每一层的权重都谱归一化后才进行运算,谱归一化作为了模型的一部分,更加合理一些。

微风❤水墨 1362

05.SNGAN(Spectral Normalization for Generative Adversarial Networks)

参考链接 SNGANintroducemethod频谱范数实现奇异值conclusion introduce 现在我们的目的,是要保证对于每一个位置的 x,梯度的模都小于等于 1。在神经网络中,将梯度的模限制在一个范围内,抽象地来说就是让产生的函数更平滑一些,最常见的做法便是正则化。SNGAN(频谱归一化 GAN)为了让正则化产生更明确地限制,提出了用谱范数标准化神经网络的参数矩阵 W,从而让神经网络的梯度被限制在一个范围内。 method 频谱范数 Lipschitz: 我们的目的就是为了满足Li

weixin_44177594的博客 1610

9、结合Transformer生成器与卷积判别器的混合模型研究

本文研究了一种结合Transformer生成器与卷积判别器的混合模型,旨在利用Transformer的宽松归纳偏置和卷积的有效特征提取能力。实验表明,该方法在多个常用数据集上取得了有竞争力的结果,且无需数据增强、辅助任务或掩码先验。同时,该模型保留了基于Transformer生成器的良好频谱特性,为未来的高分辨率图像生成和归纳偏置研究提供了新思路。

c6d7e8f9g的博客 69

SNGAN:Pytorch实现的“生成对抗网络的谱归一化”

SN-GAN与CIFAR10的Pytorch实现 要求 nsml 纸 运行示例 nsml run -d cifar10_python -a "--sn" # Spectralnorm nsml run -d cifar10_python # No SN nsml run -d cifar10_python -a "--sn --inception_score" # Calculate Inception score 当然,如果为nsml创建空函数,则执行python main.py会很好。 建筑学 GAN架构从CIFAR10的论文附录B.4中采用 结果 生成的图像 失利

SNGAN

【GAN优化】详解SNGAN(频谱归一化GAN) https://arxiv.org/pdf/1802.05957.pdf

weixin_37958272的博客 291

C#国产化技术路线(全栈落地指南,适配信创场景)

本文详细介绍了C#语言在信创产业中的国产化适配方案。核心方案基于.NET8框架,通过硬件架构适配、基础软件替换和打包部署优化三个层面进行改造,无需更换开发语言即可适配国产CPU和操作系统。文章系统讲解了开发工具选择、全栈适配层改造、数据库替换等技术要点,并提供了桌面应用和服务端应用的具体开发流程。针对政务、金融、能源等典型场景给出了可直接套用的技术组合,同时总结了10个关键避坑点。该方案可复用C#开发特性,实现低成本迁移,已在多个行业成功落地。

weilinc的专栏 1205

【完结】12篇GAN的优化文章大盘点,浓浓的数学味儿

专栏《GAN的优化》(第一季)正式完结啦! 在这一季里,我们从生成模型出发,讲述了GAN的基本理论,包括工作原理,更具有普适性的f散度度量和Wasserstein距离,以及IPM框架并顺带给出了一个处理WGAN的莱布尼茨限制的优雅解决方法;接着介绍了GAN训练困难的原因以及几个训练技巧;然后从动力学视角出发探索GAN的训练,将GAN与动力学方程联系在一起,讲述了一致优化,并总结了各...

hacker_long的专栏 2442

STM32_WS2811驱动

STM32的WS2811驱动

健身房 2842

交换芯片数据通路四大核心微架构深度解析

数据通路是交换芯片性能的物理根基,决定着低延迟、高吞吐与突发承载能力。其本质是在硅片约束下对带宽、时序、功耗与统计复用的系统性权衡。Crossbar提供确定性低延迟但受RC延迟与功耗制约;VOQ通过虚拟队列隔离输出争抢,却引入仲裁复杂度与内存开销;Shared Buffer依托统计复用提升缓存利用率,但面临碎片化与管理策略挑战;Cell Fabric以固定长度cell重构交换粒度,在AI与金融等小包敏感场景实现尾延迟稳定。这些架构并非替代关系,而是面向不同网络不确定性(如流量不对称性、突发强度、包长分布)的

weixin_32667955的博客 189

【GAN模型结构】从最简单的全卷积GAN一起开始玩转GAN

大家好,今天开设新专栏《GAN模型结构》。在这个专栏中,我们会讲述各种各样的GAN的网络结构及其在各类任务中的应用。作者&编辑 | 言有三三年前GAN刚出来的时候...

hacker_long的专栏 5878

iOS In-App Purchase 自动续订订阅完整实现指南

本文摘要: 自动续订订阅是iOS应用变现的核心模式,适用于流媒体、云存储等持续服务场景。文章系统讲解了从配置到实现的完整流程:首先对比各类订阅模式特点,解析订阅生命周期和关键术语;然后详细说明App Store Connect中的订阅组创建、产品配置和服务器通知设置;最后展示客户端StoreKit实现方案,包括产品标识符定义、订阅管理器封装和支付队列观察机制。全文提供可落地的代码示例和技术细节,帮助开发者掌握自动续订订阅的全链路实现。

Sheffi 1764

【GAN 01】初识GAN

本文是对http://www.seeprettyface.com/research_notes.html的学习笔记 评价指标:Inception Score评价图片质量。真实图片是233分,越高越好;FID反应生成图片的多样性,越低越好。 一、初识GANs 生成器旨在学习已知分布到未知分布的映射关系,拟合真实数据的分布。同时可证最大似然等价于最小化两分布的KL散度。 判别器旨判别图片归属于生成或真实数据。同时可证最大化判别器等价于求两分布的JS散度。因此,求解的生成器可转换为: 具..

qq_40731332的博客 670

从PLC到机械臂:揭秘工业自动化中的信号交互与控制逻辑

本文深入解析了PLC与机械臂在工业自动化中的信号交互与控制逻辑,详细介绍了硬件连接方案、通信机制及控制逻辑设计。通过西门子PLC与六轴机械臂的实战案例,展示了从信号采集到动作执行的完整流程,并探讨了高级控制策略与行业应用前景,为工程师提供了一套完整的实践框架。

weixin_29304985的博客 388

【音视频处理】MP4、FLV、HLS适用范围,在线视频播放哪个更好

本期我们讨论在线点播的视频格式,对比这些视频格式的优劣以及原因 1、封装格式的作用 2、MP4 3、FLV 4、HLS

池鱼 - YiiGaa 2万+

五大经典AI算法实战选型指南:CNN、RNN、GAN、LSTM、Transformer核心原理与应用场景解析

在深度学习领域,理解算法的核心原理与适用场景是解决实际问题的关键。从基础概念出发,卷积神经网络(CNN)通过卷积核和参数共享,高效捕捉图像等数据的空间局部相关性,其设计哲学源于人类从局部到全局的视觉认知模式。循环神经网络(RNN)及其变体LSTM则通过引入门控机制管理记忆单元,专门处理时间序列和文本等具有顺序依赖关系的数据,解决了长程依赖的挑战。生成对抗网络(GAN)开创性地通过生成器与判别器的对抗博弈来学习复杂数据分布,实现了从判别到生成的能力跃迁。而Transformer模型凭借自注意力机制,彻底革新了

weixin_30555515的博客 420

【OS】AUTOSAR OS系统调用产生Trap的过程详解

AUTOSAR OS系统调用产生Trap的过程详解

qq_36056498的博客 2441

将近400篇原创后,有三AI喊你正式加入来不来?

文/编辑 | 言有三我们已经有将近400篇标注原创的文章了,有三AI持续开始更新内容也就是一年多一点点,差不多一天一篇原创文章的节奏,这是邀请帖。你想正式加入有三AI吗?...

hacker_long的专栏 622

基于SC、SCL、BP、SCAN和SSC的译码算法及Matlab代码

本文将介绍几种常见的译码算法,包括SC(Successive Cancellation)、SCL(Successive Cancellation List)、BP(Belief Propagation)、SCAN(Soft-Input Soft-Output Successive Cancellation)、SSC(Stacked Successive Cancellation)的原理,并提供相应的Matlab代码实现。以上是基于SC、SCL、BP、SCAN和SSC的译码算法的Matlab代码示例。

ByteWhisper的博客 947

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

365篇原创后,有三AI喊你正式加入来不来?

文/编辑 | 言有三这是我们第366篇标注原创的文章,有三AI持续开始更新内容也就是一年多一点点,差不多一天一篇原创文章的节奏,所以今天来问大家一个很正式的问题。你想正式...

hacker_long的专栏 538

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

(七)SN-GAN论文笔记与实战

(七)SN-GAN论文笔记与实战一、论文笔记 一、论文笔记 在WGAN-GP中使用gradient penalty 的方法来限制判别器,但这种放法只能对生成数据分布与真实分布之间的分布空间的数据做梯度惩罚,无法对整个空间的数据做惩罚。这会导致随着训练的进行,生成数据分布与真实数据分布之间的空间会逐渐变化,从而导致gradient penalty 正则化方式不稳定。此外,WGAN-GP涉及比较多的运算,所以训练WGAN-GP的网络也比较耗时。 SN-GAN提出使用Spectral Normalization(

SCU-JJkinging的博客 3812

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

谱归一化(SNGAN)实现

SNGAN学习笔记及谱归一化的pytorch实现

科研小白的博客 3425

SNGAN: Spectrum Normalization for GANs

目录Spectral Norm Regularization (SNR)MotivationSpectral Norm RegularizationGeneral ideaDetails of spectral norm regularizationSpectrum Normalization for GANsIntroductionBackgroundSpectrum Normalization Spectral Norm Regularization (SNR) paper: Spectral Nor

连理o的博客 1024

【转】生成对抗网络(DCGAN, LSGAN, WGAN, WGAN-GP, SNGAN, RSGAN)TensorFlow实现

生成对抗网络(DCGAN, LSGAN, WGAN, WGAN-GP, SNGAN, RSGAN)TensorFlow实现【转载】 MarTin Guo Paper: DCGAN: Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks WGAN: Wa...

u014546828的博客 1011

人工智能左右互搏自己生成数据的...GAN

其实吧,这不是个新概念,GAN,全称是生成对抗网络(Generative Adversarial Network),是人工智能领域的一种技术,用来生成和现有数据类似的新数据。在2017年左右那会儿简直火呆了,它的原理可以用一个简单的比喻来解释:想象有一个艺术家和一个鉴赏家,他们在进行一场比赛。1.艺术家(生成器,Generator):艺术家的任务是画出尽可能逼真的画作,让人觉得它们...

dotNET跨平台 298
上一篇: 【NLP】经典分类模型朴素贝叶斯解读
下一篇: 【知识星球】做作业还能赢奖金,传统图像/机器学习/深度学习尽在不言中
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值