【人工智能笔记】第三十二节:TF2实现VITGAN对抗生成网络,网络结构简介

stylegan2-tf-2.x:stylegan2,tensorflow 2,硬子类化 stylegan2-tf-2.x 这是官方基于tensorflow 2.0的keras子类重实现 从官方权重推断 请检查 官方回购结果 此回购复制的官方重量结果 在256x256上训练 批次大小32 约30万步 d_loss g_loss 结果样本 使用自定义数据 创建返回的数据集(tf.data.Dataset)加载器 形状: [None, 3, res, res]其中res期望的图像分辨率 图像值范围: [-1, +1] 等等 与pycharm一起使用 如果.bashrc文件的路径在pycharm环境中不起作用(例如nvcc -h ),请使用以下nvcc -h打开pycharm # move to pycharm installed location (location may vary) moono@moono-ubuntu: ~ $ cd .local/share/Je 立即下载

网络结构图
该系列一共分成N篇文章,对照论文实现每个细节,并附上源码,该系列完成最后会附上github地址。

目录(文章发布后会补上链接):

  1. 网络结构简介
  2. Mapping NetWork 实现
  3. PositionalEmbedding 实现
  4. MLP 实现
  5. MSA多头注意力 实现
  6. SLN自调制 实现
  7. CoordinatesPositionalEmbedding 实现
  8. ModulatedLinear 实现
  9. Siren 实现
  10. Generator生成器 实现
  11. PatchEmbedding 实现
  12. ISN 实现
  13. Discriminator鉴别器 实现
  14. VITGAN 实现

注:CoordinatesPositionalEmbedding 与 ModulatedLinear 实现可能存在问题,这是图中Fourier Embedding部分,导致一直没训练成功,其他模块确认过,应该没问题,有大佬如果知道请留言,谢谢!

摘要

最近,视觉转换器 (ViTs) 在图像识别方面表现出具有竞争力的性能,同时需要较少的视觉特定归纳偏差。在本文中,我们研究了这种观察是否可以扩展到图像生成。为此,我们将 ViT 架构集成到生成对抗网络 (GAN) 中。我们观察到,现有的 GAN 正则化方法与自我注意的相互作用很差,导致训练过程中严重的不稳定。为了解决这个问题,我们引入了新的正则化技术来训练带有 ViT 的 GAN。根据经验,我们的方法名为 ViTGAN,在 CIFAR-10、CelebA 和 LSUN 卧室数据集上实现了与最先进的基于 CNN 的 StyleGAN2 相当的性能。

简介

卷积神经网络 (CNN) [31] 凭借其强大的卷积(权重共享和局部连接)和池化(平移等效性)能力,如今在计算机视觉领域占据主导地位。然而,最近,Transformer 架构 [55] 开始在图像 [9, 15, 51] 和视频 [5, 3] 识别任务中与 CNN 相媲美。特别是,Dosovitskiy 等人已经展示了 Vision Transformers (ViTs) [15],它将图像解释为一系列标记(类似于自然语言中的单词)。在 ImageNet 基准上以更小的计算预算(即更少的 FLOP)实现可比的分类精度。与 CNN 中的局部连接不同,ViT 依赖于全局上下文表示,其中每个补丁都涉及同一图像的所有补丁。 ViT 及其变体 [51, 50] 虽然仍处于起步阶段,但在建模非本地上下文依赖项 [42, 48] 以及出色的效率和可扩展性方面已显示出可喜的优势。自最近成立以来,ViT 已被用于各种其他任务,例如对象检测 [4]、视频识别 [5、3]、多任务预训练 [8] 等。

在本文中,我们感兴趣的是检查视觉转换器是否可以在不使用卷积或池化的情况下完成图像生成任务,更具体地说,是否可以使用 ViT 来训练具有竞争力的生成对抗网络 (GAN)研究了基于 CNN 的 GAN。为此,我们按照原始 ViT [15] 的设计使用 Vanilla-ViT 训练 GAN(如图 2 (A) 所示)。挑战在于 GAN 训练在与 ViT 结合时变得非常不稳定,并且在鉴别器训练的后期阶段,对抗性训练经常受到高方差梯度(或尖峰梯度)的阻碍。此外,传统的正则化方法,如梯度惩罚 [19, 33]、谱归一化 [35] 无法解决不稳定性问题,即使它们被证明对基于 CNN 的 GAN 模型有效(如图 4 所示)。由于在具有适当正则化的基于 CNN 的 GAN 训练中不稳定的训练并不常见,这对基于 ViT 的 GAN 的设计提出了独特的挑战。

因此,在本文中,我们提出了一些必要的修改来稳定训练动态并促进基于 ViT 的 GAN 的收敛。在鉴别器中,我们重新审视了自注意力 [28] 的 Lipschitz 属性,并进一步设计了一种改进的谱归一化,以强制执行Lipschitz 连续性。与无法解决不稳定性问题的传统光谱归一化不同,这些技术在稳定基于 ViT 的鉴别器的训练动态方面表现出高效。我们进行了消融研究(图 4 和表 3b),以验证所提出技术的必要性及其在实现稳定和卓越的图像生成性能方面的核心作用。对于基于 ViT 的生成器,我们研究了各种架构设计,并发现了对层规范化和输出映射层的两个关键修改。实验表明,改进的基于 ViT 的生成器可以更好地促进基于 ViT 和基于 CNN 的鉴别器的对抗性训练。

我们在三个标准图像合成基准上进行实验。结果表明,我们的模型,名为 ViTGAN,大大优于之前基于 Transformer 的 GAN 模型 [23],并且即使不使用卷积或汇集。据我们所知,所提出的 ViTGAN 模型是最早在 GAN 中利用 Vision Transformer 的方法之一,更重要的是,第一个展示了这种 Transformer 在最先进的卷积架构上的可比性能 [27, 6 ] 在标准图像生成基准上,包括 CIFAR、CelebA 和 LSUN 卧室数据集。

结果

模型结果
模型结果2
模型结果3
模型结果4
参考资料:

Dify插件实战:实时渲染AI生成的HTML/SVG/Canvas代码 在现代Web开发与AI应用集成中,前端渲染技术是实现动态内容展示的核心。其原理在于浏览器引擎解析HTML、CSS、JavaScript等代码,并将其转换为可视化的用户界面。这项技术的价值在于极大提升了开发效率与用户体验,允许开发者快速构建和迭代交互式应用。在AI应用开发领域,尤其是大语言模型(LLM)集成场景,如何将模型生成的**结构化代码**(如描述UI的HTML或数据图表的SVG)实时转化为可视化组件,成为一个关键需求。这直接关系到**Dify**等低代码AI平台能否提供流畅的、所见即所得的交互体验。本 阅读详情

相关推荐

DevExpress学习之GridControl导入导出至EXCEL

导出: private void EXCELout_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Title = "导出Excel"; saveFileDialog.Filter = "Excel文件(*.xls)|*.xls";

I Can -Jiang 2754

【读点论文】ViTGAN: Training GANs with Vision Transformers 将视觉transformer和gan结合起来

ViTGAN: Training GANs with Vision Transformers Abstract 最近,Vision Transformers(vits)在图像识别方面表现出了具有竞争力的性能,需要较少的视觉特定的归纳偏差。 在本文中,研究这种观察是否可以扩展到图像生成。将ViT整合到生成式对抗网络(GANs)中。本文观察到,现有的GANs正则化方法与自注意力的交互作用很差,导致训练过程中严重的不稳定性。 为了解决这个问题,引入了新的正则化技术来训练具有vit的gan。根据经验,

白水空空 8667

【open judge】【程设】魔兽世界三开战!

#程设 魔兽世界三---开战!--------原以为会很容易ac,没想到写了好久,看来自己的水平还是亟待提高啊!有几个比较有趣的点:1. typeid(#include<typeinfo>)还是比较好用的,特别是本题当战士为wolf,iceman, dragon, ninja时有特殊技能,那么用typeid判断一下就很方便了。2. 对于这种输出很复杂的问题,往往通过使用文件的输入输出再...

weixin_40841416的博客 6073

论文笔记:ViTGAN: Training GANs with Vision Transformers

ViT+GAN

qq_40206371的博客 1173

开源实战 | 基于SolidWorks与Matlab的并联索驱机器人轨迹规划全流程

本文详细介绍了基于SolidWorks与Matlab的并联索驱机器人轨迹规划全流程,涵盖从基础概念到实战技巧的各个环节。通过SolidWorks建模、Matlab运动学实现及轨迹优化策略,展示了如何实现高精度轨迹规划,适用于摄影、医疗等领域的机器人应用。

weixin_28331555的博客 403

Mumax3代码模板:从基础设置到材料参数优化

本文提供了一份详尽的Mumax3微磁学模拟代码模板,从基础网格设置、边界条件到核心材料参数(如钴的Msat、Aex、Ku1)配置与优化均有涵盖。文章深入解析了特征长度计算、初始化方法、弛豫与动力学模拟流程,并分享了并行计算与参数扫描等效率提升技巧,旨在帮助用户快速上手并优化模拟工作流。

moss5的博客 702

【人工智能笔记】第四十四节:TF2实现VITGAN对抗生成网络,Discriminator鉴别器 实现

【人工智能笔记】第四十四节:TF2实现VITGAN对抗生成网络,Discriminator鉴别器 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 488

AArch64 ARM64 寄存器介绍

除了上述通用寄存器,还有FPSR(浮点状态寄存器)和 FPCR(浮点控制寄存器)等。X29寄存器和X30寄存器在函数调用和堆栈帧的管理中扮演着关键角色。AArch64架构提供了31个通用寄存器,每个寄存器都可以用作64位X寄存器(X0~X30)或32位W寄存器(W0~W30)。使用X寄存器将导致64位的计算,使用W寄存器将导致32位的计算。EL0、EL1、EL2和EL3是AArch64架构中定义的四个特权级别(Exception Levels),用于支持不同的执行环境和特权级别。

lml435035844的博客 1万+

ViTGAN:用视觉Transformer训练生成性对抗网络 Training GANs with Vision Transformers

不使用卷积或池化,能否使用视觉 Transformer 来完成图像生成任务?更具体而言:能否使用 ViT 来训练生成对抗网络(GAN)并使之达到与已被广泛研究过的基于 CNN 的 GAN 相媲美的质量?

白洞,白色的明天在等着我们 4781

使用SSC添加大量的SDO条目

使用SSC添加大量的SDO条目 SSC用表格添加SDO,PDO部分必须指定到0x1600和0x1A00分配TxPdo和RxPdo映射,在0x1C12和0x1C13分别分配到SM2和SM3。在0x6000和0x7000未指定的entry就是SDO部分。

PI_sunyang的博客 3166

AEJoy —— 最受欢迎的 5 个 Ae 表达方式

NOTE] 原文作者我意识到表达式可能令人生畏,有些人宁愿复制粘贴有用的代码,而不愿学习这门语言。对此我完全理解。因此,我想与您分享我的。这些是我几乎在每个项目中都会使用的表达式,我认为它们极大地提升了工作流程。

ShaderJoy 的兴趣技术杂货铺 363

ViTGAN: Training GANs with Vision Transformers阅读笔记

Task 图像的生成 Key idea 利用transformer作为基本的计算单元,替代传统的CNN,同时基于GAN的基础架构,去完成图像的生成任务。 面对的问题: (1) GAN的正则化方法与注意力机制的交互很差,导致训练中稳定性不足 (2)在鉴别器训练的后期,对抗训练经常受到高方差梯度(或尖峰梯度)的阻碍。高方差梯度会在训练的时候导致震荡,非常影响训练的效果。 解决的方法: (1) 在判别器中,研究者重新审视了自注意力的 Lipschitz 性质,在此基础上他们设计了一种加强了..

baidu_40582876的博客 1516

uniapp [微信小程序] - 详解微信小程序端接入mqtt全流程及示例源码教程,uniApp微信小程序端如何接入MQTT插件并实现连接/断开+发布订阅+消息队列+离线重连等各种示例代码(开箱即用)

uniapp微信小程序接入MQTT,uniapp中使用mqtt,uniapp 微信小程序端接入mqtt示例代码教程,适用于微信小程序的MQTT插件,uniapp开发微信小程序连接mqtt,uniApp微信小程序接入MQTT协议,uniapp vue3微信小程序使用MQTT的小例子接入流程,使用uniapp开发小程序接入mqtt,如何在uniapp项目中使用mqtt,uniapp mqtt的使用示例,mqtt连接报错,如何在项目里集成mqtt,Mqtt协议,主动连接mqtt,订阅消息,实现发布,订阅和接收消息

🏆 前端领域优质创作者 2882

【人工智能笔记】第四十节:TF2实现VITGAN对抗生成网络,Siren网络 实现

【人工智能笔记】第四十节:TF2实现VITGAN对抗生成网络,Siren网络 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 555

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【人工智能笔记】第四十五节:TF2实现VITGAN对抗生成网络,VITGAN主体 实现

【人工智能笔记】第四十五节:TF2实现VITGAN对抗生成网络,VITGAN主体 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 701

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【人工智能笔记】第三十四节:TF2实现VITGAN对抗生成网络,PositionalEmbedding 实现

【人工智能笔记】第三十四节:TF2实现VITGAN对抗生成网络,PositionalEmbedding 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 504

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【人工智能笔记】第三十八节:TF2实现VITGAN对抗生成网络,CoordinatesPositionalEmbedding博里叶位置编码 实现

【人工智能笔记】第三十八节:TF2实现VITGAN对抗生成网络,CoordinatesPositionalEmbedding博里叶位置编码 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 605

【人工智能笔记】第四十二节:TF2实现VITGAN对抗生成网络,PatchEmbedding 实现

【人工智能笔记】第四十二节:TF2实现VITGAN对抗生成网络,PatchEmbedding 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 708

【人工智能笔记】第三十九节:TF2实现VITGAN对抗生成网络,ModulatedLinear调制模块 实现

【人工智能笔记】第三十九节:TF2实现VITGAN对抗生成网络,ModulatedLinear调制模块 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 332

【人工智能笔记】第三十七节:TF2实现VITGAN对抗生成网络,SLN自调制 实现

【人工智能笔记】第三十七节:TF2实现VITGAN对抗生成网络,SLN自调制 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 301

【人工智能笔记】第三十五节:TF2实现VITGAN对抗生成网络,MLP 实现

【人工智能笔记】第三十五节:TF2实现VITGAN对抗生成网络,MLP 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 327

【人工智能笔记】第三十三节:TF2实现VITGAN对抗生成网络,Mapping NetWork 实现

该章节介绍VITGAN对抗生成网络中,Mapping NetWork 部分的代码实现。

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 776

【人工智能笔记】第三十六节:TF2实现VITGAN对抗生成网络,MSA多头注意力 实现

【人工智能笔记】第三十六节:TF2实现VITGAN对抗生成网络,MSA多头注意力 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 695

【人工智能笔记】第四十三节:TF2实现VITGAN对抗生成网络,ISN 实现

【人工智能笔记】第四十三节:TF2实现VITGAN对抗生成网络,ISN 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 416

【人工智能笔记】第四十一节:TF2实现VITGAN对抗生成网络,Generator生成器 实现

【人工智能笔记】第四十一节:TF2实现VITGAN对抗生成网络,Generator生成器 实现

不定时更新AI技术tensorflow实现方式,欢迎关注,有问题请私信我。 384

探索未来图像生成的边界:ViTGAN全面解析与推荐

探索未来图像生成的边界:ViTGAN全面解析与推荐 去发现同类优质开源项目:https://gitcode.com/ 在人工智能领域,尤其是深度学习的浪潮下,生成对抗网络(GANs)以其惊人的创造力成为图像合成的明星技术。今天,我们将深入探索一个结合了最新视觉前沿的创新项目——ViTGAN,这是基于PyTorch实现的一项突破性工作,它巧妙地将视觉Transformer的力量引入到GAN的训练中,...

gitblog_00043的博客 1032
上一篇: 【人工智能笔记】第三十一节:AutoML系列,用NNI框架进行神经网络架构搜索与超参调优(一)
下一篇: 【人工智能笔记】第三十三节:TF2实现VITGAN对抗生成网络,Mapping NetWork 实现
PPHT-H
博客等级 码龄18年 6254粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

PPHT-H

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值