首页 > 编程语言 >生成对抗网络编程

生成对抗网络编程

时间:2024-07-13 16:08:44浏览次数:9  
标签:nn 卷积 编程 生成器 鉴别器 生成 种子 图像 对抗

一、基础知识

  1. PyTorch提供简单的计算误差方法。最简单的均方误差:先计算每个输出节点的实际输出和预期输出之差的平方,再计算平均值。
    nn.MSELoss()

  2. 误差函数&&损失函数

  • 误差是指预期输出与实际输出之间的差值。
  • 损失是指根据误差计算得到的,要考虑实际情况。
1、构建和训练GAN的推荐步骤:
  1. 从真实数据集预览总数据
  2. 测试鉴别器至少具备从随机噪声中区分真实数据的能力
  3. 测试未经训练的生成器能否创建正确格式的数据
  4. 可视化观察损失值,了解训练进展

  1. 理想的损失值应该在0.25左右,也就是鉴别器和生成器达到平衡。如果鉴别器的损失值趋近于0,表明该生成器没能学会骗过鉴别器

  2. 在鉴别器学会向生成器提供良好的反馈之前,生成器率先发现一个一直被判定为真实图像的输出

  3. 如何解决模式崩溃和图像清晰度低的问题。
    1)使用二元交叉熵BCELoss()代替损失函数中的均方误差MSELoss()
    2)在鉴别器和生成器中使用LeakyReLU()激活函数。
    3)将神经网络中的信号进行标准化,确保它的均值为0.改良后的神经网络的代码如下:
    self.model=nn.Sequential( nn.Linear(784,200), nn.LeakyReLU(0.02), nn.LayerNorm(200), nn.Linear(200,1), nn.Sigmoid()
    4)使用Adam优化器
    上述改良方法并没有改变末世崩溃现象,但是解决了图像清晰度问题。

  4. 生成器会觉得,讲一个单值转换成784像素来代表一个数字太难了。试着将输入值从1变成100,仍然没有解决模式崩溃问题。

  5. 输入鉴别器的随机种子和生成器的随机种子可以不一样。因为输入生成器的种子不需要01范围内。而输入鉴别器的种子需要在01范围内,才可以对应真实数据集中的图像像素问题。

  6. 怎么样选取一个合适的随机种子?
    要从一个平均值为0,方差为1的正态分布中抽取种子更加合理。

  7. 所以最后的改良方法是将鉴别器和生成器的随机种子分别设置不同的范围,并加上之前的所有改良方法,是所有的组合效果。

  8. 最优BCE损失的理想损失值为ln2或0.693。

11.种子相加也会造成它们生成的图像的叠加。可以试一下种子实验。

  1. 模式崩溃就是指一个生成器在有多个可能输出类别的情况下,一直生成单一类别的输出。

  2. 分层数据格式:就是一个组里包含多个数据集,甚至多个组。

  3. 将这种在图像上移动并汇总新的网格的过程称为卷积。
    卷积核将识别低层次特征,并将这些信息汇总在网格中。这些网格的正式名称是特征图。如果将另一层卷积核应用到这些特征图上,我们可以得到中层次的特征。这些特征是低层次的组合。

  4. 基本上,我们只需要决定使用几个卷积核,比如20个,在训练过程中,我们会对没个卷积核内部的权重进行调整。如果训练成功,最终得到的卷积核会从图像中挑出最有代表性的细节。

16.代码查看当前所分配的内存大小
torch.cuda.memory_allocated(device)/(1024*1024*1024)
代码查看内存消耗
print(torch.cuda.memory_summary(device,abbreviated=True))

  1. 机器学习的黄金法则是,最大限度地利用与当前问题相关的知识。这些领域知识可以帮助我们排除不成立的选项,从而简化问题空间。

  2. 应该构建最小的网络,这样训练起来比较容易,但不能小到失去学习能力。

  3. 遵循一个原则:生成器应该是鉴别器的镜像

  4. 卷积的反义词:转置卷积。需要调用的模块是nn.ConvTranspose2d

  5. 鉴别器的过程:

生成器的过程:

  1. 卷积网络中每一个特征的生成,都是在缺乏上层图像的完整视角的情况下进行的。

  2. 卷积生成器的一个缺点是,他可能生成由相互不匹配的元素组成的图像,这是因为卷积网络处理的信息是局部化的,而全局关系并没有被学习到。(很重要!!!!)

  3. 条件式GAN架构
    1)将类型作为生成器输入的一部分,如同随机种子一样。
    2)鉴别器的工作到了条件式架构上,就不只是将真实的图像与生成的图像分开,而且还要学习将类型标签与图像关联起来。不然它就无法向生成器提供反馈,生成器也就无法将图像与标签关联起来。这就意味着,我们需要将类型标签域图像一起输入鉴别器。

标签:nn,卷积,编程,生成器,鉴别器,生成,种子,图像,对抗
From: https://www.cnblogs.com/bianxr/p/18290370

相关文章

  • 用Python生成一个漂亮的圣诞节词云
    展示效果代码#-*-coding:UTF-8-*-importjiebaimportrefromstylecloudimportgen_stylecloudfromPILimportImageimportnumpyasnpwithopen('./圣诞素材/Christmas.txt',encoding="utf-8")asf:data=f.read()#文本预处理去除一些无用的字符......
  • 全网最适合入门的面向对象编程教程:16 类和对象的Python实现-多态、方法重写与开闭原则
    全网最适合入门的面向对象编程教程:16类和对象的Python实现-多态、方法重写与开闭原则摘要:本文主要介绍了Python中创建自定义类时子类如何实现对父类方法的重写、方法重写的定义和多态的基本概念,并对开闭原则进行介绍。原文链接:FreakStudio的博客往期推荐:学嵌入式的你,......
  • Cuda并行编程:组织线程模型
    重点计算线程唯一标识,并确保没有线程越界的技巧:以下列英伟达官方的Cuda程序示例为例子/*Copyright(c)2022,NVIDIACORPORATION.Allrightsreserved.**Redistributionanduseinsourceandbinaryforms,withorwithout*modification,arepermittedprovide......
  • QT工程构建目录下,将生成的中间文件和可执行文件分离
    在QT工程中,当我们选择了构建目录后,编译生成程序后,总会发现在debug目录下会有混淆着各类文件,如下图很多时候,我们又仅仅只需要可执行文件或者自定义的动态链接库。如下图 当然,如果不觉得麻烦,有人会选择手动删除。但是这并不是最佳解决方案,因为还有更简单的只需要在.pro......
  • Qt pro 文件中路径设置 生成可执行文件路径等
    Qtpro文件中路径设置生成可执行文件路径恋恋西风已于2023-06-2923:22:50修改阅读量3.2k 收藏19点赞数1分类专栏:QT文章标签:qt开发语言版权QT专栏收录该内容61篇文章16订阅订阅专栏   工程文件.pro描述了工程信息。工程文件信息会被qmake用于生......
  • 0173-GDB 调试汇编程序
    环境Time2022-11-12WSL-Ubuntu22.04QEMU6.2.0NASM2.15.05前言说明参考:https://os.phil-opp.com/multiboot-kernel/参考:https://ncona.com/2019/12/debugging-assembly-with-gdb/目标编写一个简单的汇编程序,使用GDB进行调试。汇编程序section.textglobal......
  • Python项目开发实战,掷硬币的连胜,案例教程编程实例课程详解
    在Python中进行实战项目,比如模拟掷硬币并记录连胜次数,是一个既有趣又能加深理解随机数生成、循环控制、条件判断等编程基础的好方法。下面,我将逐步引导你完成一个详细的Python项目,该项目将模拟掷硬币的过程,并追踪记录连胜的次数,同时我们会深入探讨一些编程概念,如函数封装、异常......
  • 乔斯少儿编程集训-区间内的fake素数
    题目:AC代码#include<bits/stdc++.h>usingnamespacestd;boolisShushu(inta){ boolflag=true; if(a>1) { for(inti=2;i<=sqrt(a);i++) { if(a%i==0) { flag=false; break; } } } else { flag=false;......
  • 当需要在不同操作系统和编程语言环境中共享和处理 XML 数据时,可能会遇到哪些兼容性问
    在不同操作系统和编程语言环境中共享和处理XML数据时,可能会遇到以下兼容性问题:编码问题:不同操作系统和编程语言对于XML文件的默认编码可能不同。如果使用不同的编码方式,可能会导致乱码或无法正确解析XML数据。解决方法是在处理XML数据时,通过指定正确的编码方式来......
  • 2024年06月CCF-GESP编程能力等级认证C++编程三级真题解析
    本文收录于专栏《C++等级认证CCF-GESP真题解析》,专栏总目录:点这里。订阅后可阅读专栏内所有文章。一、单选题(每题2分,共30分)第1题小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语言有()种。A.1B.2C.3D.4答案:C第2......