【GAN】基础知识(还在更新)

news2024/11/16 5:55:59

还没写完,别骂了.....遇到啥新东西也会补充进来

1. 损失函数/距离度量

1.1 KL散度

用来衡量分布之间距离

1.1.1 推导过程

如果想要对KL散度有一个比较好的理解,我其实建议看一下,从信息熵的角度入手我认为是一个比较好的切入点 相对熵(KL散度)、JS散度和Wasserstein距离

P(x) 和Q(x)都是概率分布,P(x)一般代表真实分布,Q(x)一般代表拟合P(x)的近似分布

利用期望的计算公式就可以得到用期望表示的KL散度

1.1.2 性质

  1. 非负性:KL散度始终非负,即 KL(P || Q) ≥ 0。
  2. 零值:当且仅当P和Q相等时,KL散度为0,表示两个分布完全相同。
  3. 不对称性:KL散度是不对称的,即 KL(P || Q) ≠ KL(Q || P),表示P相对于Q的信息增益和P相对于Q的信息损失不同。

1.1.3 前向和反向KL散度

KL[P(X)||Q(X)]称为前向KL散度(forward Kullback-Leibler Divergence)

KL[Q(X)||P(X)] 称为反向KL散度(reverse Kullback-Leibler Divergence)

【具体分析】进阶详解KL散度 - 知乎 (zhihu.com)

1.2 JS散度(Jensen–Shannon divergence)

为了解决KL散度不对称的的问题引入了 JS散度

1.2.1 公式

 1.2.2 对称性证明

1.2.3 缺陷

当两个分布完全不重叠时,即便两个分布的中心距离有多近,其JS散度都是一个常数,以至于梯度为0,无法更新。

【参考】 GAN:两者分布不重合JS散度为log2的数学证明

1.3 Wasserstein Loss

2. GAN训练三大问题

  1. 不收敛:模型参数震荡,损失函数不能收敛到理论值;
  2. 模式崩溃:合成的样本都趋同;
  3. 梯度消失:判别器太强,生成器的梯度消失,训练无法继续。

生成对抗网络(GAN)的模式崩溃问题

3.1 模式崩溃

GAN本质上就是在对比真实分布和生成器生成的分布。

第一:生成器生成了不真实的样本。对应于那些不真实的样本,Pg(X)>0但Pr(X)≈0,此时KL 散度中间的被积项将会趋于∞;

第二:生成器没能生成真实的样本。对应于没能生成的那些真实样本,pr(x)>0 但 pg(x)≈0,此时 KL 散度中间的被积项将会趋于 0。

GAN 中优化生成器的损失函数要求 KL 散度尽量小。第一种情形损失接近无穷,惩罚巨大,生成器就会避免生成不真实的样本;第二种情形损失接近零,惩罚非常小,因此生成器完全有可能只生成单一的真实样本,而不生成更多不同的真实样本。生成单一的真实样本已经足够欺骗判别器,生成器没有必要冒着失真的风险生成多样化的样本,模式崩溃问题由此产生。

3.模型代码框架

【参考实现】facebookresearch/pytorch_GAN_zoo: A mix of GAN implementations including progressive growing

3.1 损失部分

3.1.1 鉴别器损失

 3.1.2 生成器损失

3.1.2 渐进式训练策略

在ProGAN出来之后,很多模型同样也选择了使用渐进式的训练策略。渐进式的训练策略以方便减少了时间,同时也会在一定程度上避免了模式奔溃

4.评估指标

4.1 FID(Frechet Inception Distance score)

Frechet Inception 距离(FID)是评估生成图像质量的度量标准,专门用于评估生成对抗网络的性能。

基本原理:

  1. 删除模型原本的输出层,将输出层换为最后一个池化层(即全局空间池化层)的激活函数输出值。此输出层有 2,048 维的激活向量,因此,每个图像被预测为 2,048 个激活特征。该向量被称为图像的编码向量或特征向量。
  2. 然后使用以下公式计算 FID 分数:

  • 该分数被记为 d^2,表示它是一个有平方项的距离。
  • 「mu_1」和「mu_2」指的是真实图像和生成图像的特征均值(例如,2,048 维的元素向量,其中每个元素都是在图像中观察到的平均特征)。
  • C_1 和 C_2 是真实图像的和生成图像的特征向量的协方差矩阵,通常被称为 sigma。
  • || mu_1-mu_2 ||^2 代表两个平均向量差的平方和。Tr 指的是被称为「迹」的线性代数运算(即方阵主对角线上的元素之和)。
  • sqrt 是方阵的平方根,由两个协方差矩阵之间的乘积给出

【参考】学习GAN模型量化评价,先从掌握FID开始吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/739309.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RC-u5 树与二分图(二分图)

PTA | 程序设计类实验辅助教学平台 #include<bits/stdc.h> using namespace std; typedef long long ll; const int N2e610; int st[N]; ll n,m;//数据可能超int int h[N],ne[N],e[N],idx; void add(int a,int b) {e[idx]b,ne[idx]h[a],h[a]idx; } void dfs(int v,int co…

基于Web的数字孪生智慧养老院可视化云平台

前言 我国已经迈入老龄化社会&#xff0c;老龄化社会中养老已然成为社会普遍关注的焦点&#xff0c;智慧养老成为未来趋势。 建设背景 社会因素 养老床位数量也增长至2020年的821万张.每千名老人拥有养老床位增长至35张,相对于先进国家的50-7O张仍有较大差距。目前养老床位…

python_day4

def test():return 1, a, Truex, y, z test() print(f"x{x},y{y},z{z}")位置参数&#xff1a;调用时根据参数位置传递参数 关键字参数&#xff1a;调用时通过“键值”形式传参 def user(name, age, gender):print(f"name:{name},age:{age},gender:{gender}&q…

Python django开发

第一步&#xff1a;创建开发环境 mkvirtualenv py2_django 第二步&#xff1a;安装django pip install django2.2.5 # 选择2.2.5的原因是这个版本是持久维护的 pip list # 查看安装的信息 第三步&#xff1a;start 一个项目&#xff0c;并创建子应用 cd ~/Myproject # 选择…

4.2 图书借阅系统数据库设计 --MySQL

本文目录 前言一、背景和需求分析1.1 背景1.2 信息需求1.3 功能需求管理员学生 1.4 数据流图 二、概念结构设计1. 抽象出系统实体2. 局部E-R图2.1 学生 E-R图2.2 借阅证 E-R图2.3 图书 E-R图2.4 管理员 E-R图2.5 公告 E-R图2.6 申请 E-R图2.7 借阅 E-R图2.8 评论 E-R图2.9 收藏…

❤ Vue2+vue-cli+vue-router+vuex +elementUI/vant完整项目搭建 项目和配置(一)

Vue2vue-clivue-routervuex elementUI/vant项目搭建和配置webpack&#xff08;一&#xff09; 项目整套&#xff1a;Vue2vue-clivue-routervuex elementUI/vant 1、环境检测&#xff1a; node 环境 git --version git 环境 git --version npm 环境 npm -v 查看VUE脚手架版本 …

响应式编程实战(02)-响应式编程的适用场景

0 知识前提 已掌握响应式编程中的核心概念&#xff1a;响应式流、背压机制以及响应式流规范。 1 引言 响应式编程能够应用到那些具体的场景呢? 目前有哪些框架中使用到了这一新型的技术体系呢? 2 响应式编程的应用场景分析 可以认为响应式编程并不仅仅是一种编程技术&a…

OpenPCDet系列 | 8.1 nuScenes数据集的处理流程与gt_sample的database构建

1. nuScenes Dataloader 对nuScenes数据集处理的了解&#xff0c;大体上的核心还是getitem函数、prepare_data函数&#xff0c;以及collate_batch函数三个部分的处理。其中prepare_data函数和collate_batch函数是在Dataset这个父类实现的&#xff0c;基本的处理流程基本不变&a…

《Redis 核心技术与实战》课程学习笔记(六)

哨兵集群 哨兵机制的基本流程 在 Redis 主从集群中&#xff0c;哨兵机制是实现主从库自动切换的关键机制。 哨兵其实就是一个运行在特殊模式下的 Redis 进程&#xff0c;主从库实例运行的同时&#xff0c;它也在运行。哨兵主要负责的就是三个任务&#xff1a;监控、选主&…

三种SQL实现聚合字段合并(presto、hive、mysql)

需求&#xff1a;按照项目名&#xff0c;以逗号合并参与人 presto select item_name,array_join(array_agg(name),,) as group_name from test.test_04 group by item_name order by item_name hive select item_name,concat_ws(,,collect_set(name)) as group_name from tes…

全志V3S嵌入式驱动开发(四种启动方式)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于v3s的启动方式分析,怎么研究都不为过。对我们整个系列文章比较熟悉的同学来说,这幅图真的是太熟悉了, 整个流程不复杂。它主要是告诉我们,v3s加载的顺序是怎么样的…

【Linux后端服务器开发】进程控制与替换

目录 一、进程控制 1. 进程退出 2. 进程等待 2.1 阻塞等待 2.2 status位图结构 2.3 非阻塞等待 二、进程替换 1. exec*系列函数 2. 进程替换高级语言可执行程序 一、进程控制 1. 进程退出 进程退出会进入僵尸态&#xff0c;把自己的退出结果写入到自己的task_struct…

一种使得大模型输出结构化数据的简易方法

最近在用大模型跑一些数据&#xff0c;于是就不可避免的遇到了如何让大模型输出的格式便于处理这个问题。经过一些研究发现了一套比较有用的方法&#xff0c;在这里总结一下。 背景 任务是这样的&#xff0c;我需要用大模型&#xff08;比如ChatGPT&#xff0c;ChatGLM等等&a…

Springboot启用HTTP响应压缩

官方文档:https://docs.spring.io/spring-boot/docs/2.3.12.RELEASE/reference/htmlsingle/#how-to-enable-http-response-compression

Java面试题大全(2023牛客网最新版)大厂面试题附答案详解

很多 Java 工程师的技术不错&#xff0c;但是一面试就头疼&#xff0c;10 次面试 9 次都是被刷&#xff0c;过的那次还是去了家不知名的小公司。 问题就在于&#xff1a;面试有技巧&#xff0c;而你不会把自己的能力表达给面试官。 应届生&#xff1a;你该如何准备简历&#…

解决mysql的count()函数条件表达式不生效的问题

示例 表数据 统计错误的sql select count(age 10) as count from student查询结果 原因 count(‘任意内容’)都会统计出所有记录数&#xff0c;因为count只有在遇见null时才不计数&#xff0c;即count(null)0 解决 方法1&#xff1a;count()函数中条件表达式加上or n…

1、计算机网络核心

序号地址1计算机网络核心2数据库相关3Redis4Linux相关5JVM的内容6GC相关的7Java多线程与并发8Java多线程与并发-原理9Java常用类库与技巧10Java框架-Spring 文章目录 1、OSI开放式互联参考模型2、TCP/IP3、TCP报文头4、TCP的三次握手5、TCP的四次挥手6、为什么会有TIME_WAIT状态…

【unity】燧光MR设备极简教程(使用篇)

燧光MR设备极简教程&#xff08;使用篇&#xff09; 一、硬件的基础使用二、定位信标三、投屏直播1、第三人称视角同步MR2、第一人称视角无线投屏 相关文章&#xff1a;燧光MR设备极简教程&#xff08;开发篇&#xff09; 一、硬件的基础使用 官方使用文档&#xff1a;https:…

【LLM】Prompt tuning大模型微调实战

文章目录 一、Propmt tuning1. peft库中的tuning2. prompt tuning怎么搞 二、Prompt tuning代码实战1. tuning训练2. 模型推理比较3. 其他tuning技术 Reference 一、Propmt tuning 1. peft库中的tuning 之前提到过可以借助peft库&#xff08;Parameter-Efficient Fine-Tuning…

基于MeanShift的图像滤波方法

前言 在视觉领域中&#xff0c;图像滤波是一种常用的技术&#xff0c;用于去除图像中的噪声和平滑图像。其中&#xff0c;MeanShift滤波是一种基于颜色和空间信息的非参数化滤波算法。 MeanShift滤波原理 MeanShift滤波是一种基于密度估计的非参数化滤波技术&#xff0c;它对每…