0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用Pytorch实现频谱归一化生成对抗网络(SN-***)

冬至子 来源:思否AI 作者:思否AI 2023-10-18 10:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

自从扩散模型发布以来,GAN的关注度和论文是越来越少了,但是它们里面的一些思路还是值得我们了解和学习。所以本文我们来使用Pytorch 来实现SN-GAN

谱归一化生成对抗网络是一种生成对抗网络,它使用谱归一化技术来稳定鉴别器的训练。谱归一化是一种权值归一化技术,它约束了鉴别器中每一层的谱范数。这有助于防止鉴别器变得过于强大,从而导致不稳定和糟糕的结果。

SN-GAN由Miyato等人(2018)在论文“生成对抗网络的谱归一化”中提出,作者证明了sn - gan在各种图像生成任务上比其他gan具有更好的性能。

SN-GAN的训练方式与其他gan相同。生成器网络学习生成与真实图像无法区分的图像,而鉴别器网络学习区分真实图像和生成图像。这两个网络以竞争的方式进行训练,它们最终达到一个点,即生成器能够产生逼真的图像,从而欺骗鉴别器。

以下是SN-GAN相对于其他gan的优势总结:

  • 更稳定,更容易训练
  • 可以生成更高质量的图像
  • 更通用,可以用来生成更广泛的内容。

模式崩溃

模式崩溃是生成对抗网络(GANs)训练中常见的问题。当GAN的生成器网络无法产生多样化的输出,而是陷入特定的模式时,就会发生模式崩溃。这会导致生成的输出出现重复,缺乏多样性和细节,有时甚至与训练数据完全无关。

GAN中发生模式崩溃有几个原因。一个原因是生成器网络可能对训练数据过拟合。如果训练数据不够多样化,或者生成器网络太复杂,就会发生这种情况。另一个原因是生成器网络可能陷入损失函数的局部最小值。如果学习率太高,或者损失函数定义不明确,就会发生这种情况。

以前有许多技术可以用来防止模式崩溃。比如使用更多样化的训练数据集。或者使用正则化技术,例如dropout或批处理归一化,使用合适的学习率和损失函数也很重要。

Wassersteian损失

Wasserstein损失,也称为Earth Mover’s Distance(EMD)或Wasserstein GAN (WGAN)损失,是一种用于生成对抗网络(GAN)的损失函数。引入它是为了解决与传统GAN损失函数相关的一些问题,例如Jensen-Shannon散度和Kullback-Leibler散度。

Wasserstein损失测量真实数据和生成数据的概率分布之间的差异,同时确保它具有一定的数学性质。他的思想是最小化这两个分布之间的Wassersteian距离(也称为地球移动者距离)。Wasserstein距离可以被认为是将一个分布转换为另一个分布所需的最小“成本”,其中“成本”被定义为将概率质量从一个位置移动到另一个位置所需的“工作量”。

Wasserstein损失的数学定义如下:

对于生成器G和鉴别器D, Wasserstein损失(Wasserstein距离)可以表示为:

Jensen-Shannon散度(JSD): Jensen-Shannon散度是一种对称度量,用于量化两个概率分布之间的差异

对于概率分布P和Q, JSD定义如下:

JSD(P∥Q)=1/2(KL(P∥M)+KL(Q∥M))

M为平均分布,KL为Kullback-Leibler散度,P∥Q为分布P与分布Q之间的JSD。

JSD总是非负的,在0和1之间有界,并且对称(JSD(P|Q) = JSD(Q|P))。它可以被解释为KL散度的“平滑”版本。

Kullback-Leibler散度(KL散度):Kullback-Leibler散度,通常被称为KL散度或相对熵,通过量化“额外信息”来测量两个概率分布之间的差异,这些“额外信息”需要使用另一个分布作为参考来编码一个分布。

对于两个概率分布P和Q,从Q到P的KL散度定义为:KL(P∥Q)=∑x P(x)log(Q(x)/P(x))。KL散度是非负非对称的,即KL(P∥Q)≠KL(Q∥P)。当且仅当P和Q相等时它为零。KL散度是无界的,可以用来衡量分布之间的不相似性。

1-Lipschitz Contiunity

1- lipschitz函数是斜率的绝对值以1为界的函数。这意味着对于任意两个输入x和y,函数输出之间的差不超过输入之间的差。

数学上函数f是1-Lipschitz,如果对于f定义域内的所有x和y,以下不等式成立:

|f(x) — f(y)| <= |x — y|

在生成对抗网络(GANs)中强制Lipschitz连续性是一种用于稳定训练和防止与传统GANs相关的一些问题的技术,例如模式崩溃和训练不稳定。在GAN中实现Lipschitz连续性的主要方法是通过使用Lipschitz约束或正则化,一种常用的方法是Wasserstein GAN (WGAN)。

在标准gan中,鉴别器(也称为WGAN中的批评家)被训练来区分真实和虚假数据。为了加强Lipschitz连续性,WGAN增加了一个约束,即鉴别器函数应该是Lipschitz连续的,这意味着函数的梯度不应该增长得太大。在数学上,它被限制为:

∥∣D(x)D(y)∣≤K⋅∥xy

其中D(x)是评论家对数据点x的输出,D(y)是y的输出,K是Lipschitz 常数。

WGAN的权重裁剪:在原始的WGAN中,通过在每个训练步骤后将鉴别器网络的权重裁剪到一个小范围(例如,[-0.01,0.01])来强制执行该约束。权重裁剪确保了鉴别器的梯度保持在一定范围内,并加强了利普希茨连续性。

WGAN的梯度惩罚: WGAN的一种变体,称为WGAN-GP,它使用梯度惩罚而不是权值裁剪来强制Lipschitz约束。WGAN-GP基于鉴别器的输出相对于真实和虚假数据之间的随机点的梯度,在损失函数中添加了一个惩罚项。这种惩罚鼓励了Lipschitz约束,而不需要权重裁剪。

谱范数

从符号上看矩阵

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    45

    文章

    3904

    浏览量

    141451
  • 生成器
    +关注

    关注

    7

    文章

    322

    浏览量

    22505
  • 频谱仪
    +关注

    关注

    7

    文章

    372

    浏览量

    37441
  • pytorch
    +关注

    关注

    2

    文章

    813

    浏览量

    14699
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电能质量在线监测装置能生成谐波频谱对比图吗?

    电能质量在线监测装置 普遍包含谐波频谱图功能 ,但 谐波频谱对比图 的实现方式与能力因设备等级和配套系统而异:基础装置通常仅提供实时频谱图,中高端装置配合上位机软件可
    的头像 发表于 12-05 17:41 2571次阅读
    电能质量在线监测装置能<b class='flag-5'>生成</b>谐波<b class='flag-5'>频谱</b>对比图吗?

    电能质量在线监测装置远程能看实时频谱图吗?

    是的,现代电能质量在线监测装置 普遍支持远程实时查看频谱图 ,其核心实现路径包括 前端实时分析 + 网络传输 + 云端 / 本地平台可视化 。以下是技术细节与典型应用场景的解析:
    的头像 发表于 11-05 15:12 198次阅读

    Alif Semiconductor的Ensemble MCU新增对ExecuTorch Runtime的支持,助力其推动边缘生成式AI发展

    · Ensemble E4/E6/E8是业界首个为Transformer网络提供硬件加速的MCU系列,可在边缘设备及终端设备上实现本地生成式AI推理 · Alif与Arm合作,在PyTorch
    的头像 发表于 11-04 11:44 1189次阅读
    Alif Semiconductor的Ensemble MCU新增对ExecuTorch Runtime的支持,助力其推动边缘<b class='flag-5'>生成</b>式AI发展

    构建CNN网络模型并优化的般化建议

    的尺寸不宜过大,3*3或者1*1等小尺寸的卷积核(滤波器)对于实现轻量级模型是十分必要的。 3)添加归一化层和验证检查点:归一化层可以调整模型的概率分布得到标准化分布,从而提升迭代和梯度流效果
    发表于 10-28 08:02

    如何通过地址生成实现神经网络特征图的padding?

    ,从而使卷积输出特征图结果满足我们的需求,这种补零的操作称之为padding,如下图所示。 关于padding的实现般有两种操作,第种是使用稀疏地址生成器,寻找padding数
    发表于 10-22 08:15

    硅无光束肖特基二极管 - 成对和四成对 skyworksinc

    电子发烧友网为你提供()硅无光束肖特基二极管 - 成对和四成对相关产品参数、数据手册,更有硅无光束肖特基二极管 - 成对和四成对的引脚图、接线图、封装手册、中文资料、英文资料,硅无光束
    发表于 07-14 18:33
    硅无光束肖特基二极管 - <b class='flag-5'>成对</b>和四<b class='flag-5'>成对</b> skyworksinc

    基于RV1126开发板网络配置方法

    描述网卡的工作方式,然后Netplan工具就会根据yaml文件中的描述去自动生成对应的网络配置。        网络管理工具[NetworkManager]或者[Systemd-network]就会根据
    的头像 发表于 04-15 14:57 706次阅读
    基于RV1126开发板<b class='flag-5'>网络</b>配置方法

    智能光学计算成像技术与应用

    是智能光学计算成像的些关键进展和应用: 1.  光纤成像: 深度学习在光纤成像中的应用进展显著,包括通过条件生成对抗网络实现高速多模光纤成像系统 2.  光谱成像: 当前的光谱成像技
    的头像 发表于 03-07 17:18 1179次阅读
    智能光学计算成像技术与应用

    归一化在电机控制中究竟有什么用?(可下载)

    大家好,今天我们来了解归一化在电机控制中的作用,那么首先我们需要先了解下归 化的概念,这样才能更好的了解电机控制中为什么会经常用到归一化
    发表于 02-28 14:14 0次下载

    扫频式频谱分析仪的技术原理和应用场景

    扫频式频谱分析仪的技术原理 扫频式频谱分析仪(SSA)是种具有显示装置的扫频超外差接收机,它使用调谐元件沿所需的频率范围进行扫描,将时域输入信号转换为频域信号。其工作原理可以归纳为以下几点
    发表于 02-14 14:16

    操作指南:pytorch云服务器怎么设置?

    GPU加速和并行计算优化。完成后,定期监测资源使用情况以优化配置。设置PyTorch云服务器需要系列步骤,以下是UU云小编整理的操作指南:
    的头像 发表于 02-08 10:33 606次阅读

    #新年新气象,大家新年快乐!#AIGC入门及鸿蒙入门

    Generated Content,即人工智能生成内容。它利用人工智能技术自动生成或辅助生成文本、图像、音频、视频等内容。 AIGC的核心技术包括自然语言处理(NLP)、计算机视觉、生成对抗
    发表于 01-13 10:46

    AIGC入门及鸿蒙入门

    Generated Content,即人工智能生成内容。它利用人工智能技术自动生成或辅助生成文本、图像、音频、视频等内容。 AIGC的核心技术包括自然语言处理(NLP)、计算机视觉、生成对抗
    发表于 01-13 10:32

    利用Arm Kleidi技术实现PyTorch优化

    PyTorch个广泛应用的开源机器学习 (ML) 库。近年来,Arm 与合作伙伴通力协作,持续改进 PyTorch 的推理性能。本文将详细介绍如何利用 Arm Kleidi 技术提升 Arm
    的头像 发表于 12-23 09:19 1620次阅读
    利用Arm Kleidi技术<b class='flag-5'>实现</b><b class='flag-5'>PyTorch</b>优化

    巨人网络发布“千影QianYing”有声游戏生成大模型

    近日,在2024年度中国游戏产业年会上,巨人网络正式推出了其自主研发的“千影QianYing”有声游戏生成大模型。这款创新模型由两大核心组件构成,分别为游戏视频生成大模型YingGame和视频配音
    的头像 发表于 12-13 09:59 1108次阅读