GAN笔记_李弘毅教程(十)Evaluation Concluding Remarks

2023-12-23 21:32

本文主要是介绍GAN笔记_李弘毅教程(十)Evaluation Concluding Remarks,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • Evaluation
    • Likelihood
      • Inception Score
  • Mode Dropping
  • GAN产生的distribution不够大之solution
    • Unroll GAN
    • Mini-batch Discrimination
    • Optimal Transport GAN(OTGAN)
  • Concluding Remarks

Evaluation

Likelihood

传统generator的方法
产生某一张特定图片的几率。
但问题是:GAN可能不会产生那张特定图片

所以用Kernel Density Estimation
每一个输出的样本是有相同协方差的高斯的平均值,估出它们的distribution

难点:
不知道要几个高斯
不知道要sample多少
就算真计算出 likelihood,也不确定它就能代表Quality:

把x输入进现成的图像分类器,输出的集中的分布代表有高的质量。(一张图看是否清晰)
还要有diverse,所有分布取平均,如果 p ( y ) p(y) p(y)各类分布都比较平均,说明每一种不同的class都能被产生到,表明是diverse的,如果某一类分布很高,而其他低,那么说明表明结果是不diverse的。(多张图看是否diverse)

Inception Score

第一项:产生多个x,每一个x丢到classfier里算它的distribution,计算 p ( y ∣ x ) p(y|x) p(yx)的负熵,负熵用来看该distribution够不够sharp,越sharp,表示产生的图片越好。
第二项:平均,熵越大,结果越好。

但也可能出现这种情况,GAN产生的结果很清晰,但是因为GAN从train data里拿出的图,硬记得图,这是我们不想要的。我们想要GAN是有创造力的。
如何看GAN是直接从train data里拿出的图呢?这是个issue,因为无法穷尽所有的train data。
如果用自动的方法将GAN产生的图和train data的每张图比较相似度,但仅比较相似度是不够的。
比如下图算pixel neighbor的相似度(值越小越好),将pixel向左移,移动的过程中,与原图最像的那张生成图也会移动,不是同一个。

Mode Dropping

GAN容易出现的问题
多样性不够
DCGAN(Deep conditional GAN)先让classfier看是不是像同一个人,然后再把像同一个人的图片让人来看是不是同一个人,最后算出不一样人脸的数量
把最右边一列(虚线框)的图是traindata里的图中找的最像的图,发现并不完全一样。
(有50%以上的几率能在400张图中找到另一张同一个人的人脸,可以衍生到很大数据集中有大约多少不同的人脸)
ALI更强些,可以产生更多的不同人的脸。

GAN和真实人脸比起来还是有一定程度的差距。

GAN产生的distribution不够大之solution

Unroll GAN

解决方法较复杂,运算量较大

Mini-batch Discrimination

原本是看一张image,看质量是否好
而这个方法是让D看一把image,来决定图片质量是否好:
不仅要看每张图片的质量,还要看这些图像之间是否相似。
从training data 和 generated image sample一把image出来,如果 generated image sample出来的一把都很像,那就是发生mode collapse,D就会发现这些图片的相似性很高,然后觉得这把图不realistic。

Optimal Transport GAN(OTGAN)

Concluding Remarks

from A to z(从头到尾,这里是表示不同字母开头的GAN)

C还有conditional GAN
还有BEGAN

MMGAN train不起来,所以用的NSGAN
progressive GAN从小图生成大图
Y形状

这篇关于GAN笔记_李弘毅教程(十)Evaluation Concluding Remarks的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/529534

相关文章

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

AssetBundle学习笔记

AssetBundle是unity自定义的资源格式,通过调用引擎的资源打包接口对资源进行打包成.assetbundle格式的资源包。本文介绍了AssetBundle的生成,使用,加载,卸载以及Unity资源更新的一个基本步骤。 目录 1.定义: 2.AssetBundle的生成: 1)设置AssetBundle包的属性——通过编辑器界面 补充:分组策略 2)调用引擎接口API

《offer来了》第二章学习笔记

1.集合 Java四种集合:List、Queue、Set和Map 1.1.List:可重复 有序的Collection ArrayList: 基于数组实现,增删慢,查询快,线程不安全 Vector: 基于数组实现,增删慢,查询快,线程安全 LinkedList: 基于双向链实现,增删快,查询慢,线程不安全 1.2.Queue:队列 ArrayBlockingQueue:

操作系统实训复习笔记(1)

目录 Linux vi/vim编辑器(简单) (1)vi/vim基本用法。 (2)vi/vim基础操作。 进程基础操作(简单) (1)fork()函数。 写文件系统函数(中等) ​编辑 (1)C语言读取文件。 (2)C语言写入文件。 1、write()函数。  读文件系统函数(简单) (1)read()函数。 作者本人的操作系统实训复习笔记 Linux

Steam邮件推送内容有哪些?配置教程详解!

Steam邮件推送功能是否安全?如何个性化邮件推送内容? Steam作为全球最大的数字游戏分发平台之一,不仅提供了海量的游戏资源,还通过邮件推送为用户提供最新的游戏信息、促销活动和个性化推荐。AokSend将详细介绍Steam邮件推送的主要内容。 Steam邮件推送:促销优惠 每当平台举办大型促销活动,如夏季促销、冬季促销、黑色星期五等,用户都会收到邮件通知。这些邮件详细列出了打折游戏、

X-AnyLabeling使用教程

1.AI 模型自动分割标注使用教程 2.AI 模型自动目标检测标注使用教程

LVGL快速入门笔记

目录 一、基础知识 1. 基础对象(lv_obj) 2. 基础对象的大小(size) 3. 基础对象的位置(position) 3.1 直接设置方式 3.2 参照父对象对齐 3.3 获取位置 4. 基础对象的盒子模型(border-box) 5. 基础对象的样式(styles) 5.1 样式的状态和部分 5.1.1 对象可以处于以下状态States的组合: 5.1.2 对象

DDS信号的发生器(验证篇)——FPGA学习笔记8

前言:第一部分详细讲解DDS核心框图,还请读者深入阅读第一部分,以便理解DDS核心思想 三刷小梅哥视频总结! 小梅哥https://www.corecourse.com/lander 一、DDS简介         DDS(Direct Digital Synthesizer)即数字合成器,是一种新型的频率合成技术,具有低成本、低功耗、高分辨率、频率转换时间短、相位连续性好等优点,对数字信

数据库原理与安全复习笔记(未完待续)

1 概念 产生与发展:人工管理阶段 → \to → 文件系统阶段 → \to → 数据库系统阶段。 数据库系统特点:数据的管理者(DBMS);数据结构化;数据共享性高,冗余度低,易于扩充;数据独立性高。DBMS 对数据的控制功能:数据的安全性保护;数据的完整性检查;并发控制;数据库恢复。 数据库技术研究领域:数据库管理系统软件的研发;数据库设计;数据库理论。数据模型要素 数据结构:描述数据库

青龙面板2.9之Cdle傻妞机器人编译教程

看到有的朋友对傻妞机器人感兴趣,这里写一下傻妞机器人的编译教程。 第一步,这里以linux amd64为例,去官网下载安装go语言安装包: 第二步,输入下方指令 cd /usr/local && wget https://golang.google.cn/dl/go1.16.7.linux-amd64.tar.gz -O go1.16.7.linux-amd64.tar.gz