VAE中对使用KL散度的理解

    • 什么是 VAE (Variational AutoEncoder)?
      • 从自编码器 (AE) 说起
      • VAE:让潜在空间变得“有意义”和“连续”
    • KL 散度是如何用到的?
      • 通俗理解 KL 散度在 VAE 中的作用:
      • 带来的好处:
      • KL 散度公式 (无需背诵,理解即可):


什么是 VAE (Variational AutoEncoder)?

VAE,全称是变分自编码器。要理解它,我们得先从自编码器 (AutoEncoder, AE) 说起。

从自编码器 (AE) 说起

想象你有一张照片(比如一张猫的图片),你想把它压缩成一个很小的数据包,然后再从这个数据包里把照片还原出来。

  • 编码器 (Encoder):这个部分负责把你的照片(高维数据)“压缩”成一个潜在向量 (Latent Vector),通常维度很低。这个潜在向量就像是照片的“精髓”或“压缩包”。
  • 解码器 (Decoder):这个部分负责从“压缩包”(潜在向量)中把照片“解压”出来,还原成一张图片。

自编码器的工作就是:编码器把数据压缩,解码器把数据还原。 训练目标是让还原出来的照片尽可能地接近原始照片。

AE 的问题: AE 学习到的潜在空间(所有压缩包组成的区域)是不连续且没有规律的。你不能随机从潜在空间里取一个“压缩包”给解码器,指望它能还原出有意义的猫照片。它很可能还原出一堆噪音,因为你取的这个“压缩包”可能落在了一片“空白”区域,解码器根本没学过如何处理。

VAE:让潜在空间变得“有意义”和“连续”

VAE 就是为了解决 AE 的这个缺陷而诞生的。它的核心思想是:与其让编码器直接输出一个潜在向量,不如让它输出一个“概率分布的参数”!

具体来说,VAE 做出一个关键的假设:每个输入数据(比如一张猫照片)都对应着潜在空间中的一个高斯(正态)分布。

  • 编码器 (Encoder):不再直接输出一个向量 z,而是输出一个均值向量 (μ\muμ) 和一个方差向量 (σ2\sigma^2σ2)。这两个向量共同定义了潜在空间中的一个高斯分布。
    • μ\muμ 描述了这个分布的“中心”在哪里。
    • σ2\sigma^2σ2 描述了这个分布的“范围”有多广。
  • 采样 (Sampling):我们不是直接用 μ\muμσ2\sigma^2σ2,而是从这个由 μ\muμσ2\sigma^2σ2 定义的高斯分布中随机采样一个潜在向量 z
  • 解码器 (Decoder):和 AE 一样,解码器接收采样到的 z,并尝试将其还原成原始数据。

为什么 VAE 的潜在空间更“好”?

因为 VAE 的损失函数除了鼓励重构准确性(还原的照片像不像原始照片)之外,还引入了一个非常重要的惩罚项:KL 散度


KL 散度是如何用到的?

这就是 KL 散度登场的地方!KL 散度是 Kullback-Leibler Divergence 的缩写,它在信息论中衡量的是两个概率分布之间的差异

在 VAE 中,KL 散度扮演着正则化 (Regularization) 的角色。它被用来惩罚编码器输出的潜在分布(由 $\mu$$\sigma^2$ 定义)偏离一个预先设定好的、简单的“标准”分布的程度。这个“标准”分布通常是标准正态分布 N(0,1)N(0, 1)N(0,1)(均值为 0,方差为 1 的高斯分布)。

通俗理解 KL 散度在 VAE 中的作用:

想象一下:

  • 编码器就像一个摄影师,它拍了一堆猫的照片,每张照片都对应一个潜在空间中的“摄影风格”(一个高斯分布)。
  • 解码器就像一个画家,它根据“摄影风格”画猫。
  • KL 散度就像一个**“风格警察”**:
    • 这个警察要求所有的“摄影风格”(即编码器输出的每个 $(\mu, \sigma^2)$ 分布)都要尽可能地接近一个“标准、统一的风格”(标准正态分布 N(0,1)N(0, 1)N(0,1))。
    • 如果摄影师(编码器)拍出来的风格太**“离谱”**($\mu$ 离 0 太远,或者 $\sigma^2$ 太大太小,分布太平坦或太尖锐),“风格警察”就会开出罚单(KL 损失变大)。
    • 这会强制编码器将不同的输入数据映射到潜在空间中相互靠近、且形状相似的分布

带来的好处:

通过 KL 散度的“惩罚”,VAE 的潜在空间变得:

  1. 连续性 (Continuity):因为所有的潜在分布都被强制拉向 N(0,1)N(0,1)N(0,1),它们会相互重叠,从而消除了 AE 潜在空间中的“空白区域”。这意味着你可以从潜在空间中随机采样任何一个点,它都有很大概率属于某个有效的潜在分布,解码器就能还原出有意义的数据。
  2. 可生成性 (Generative Capability):因为潜在空间被正则化成接近标准正态分布,我们就可以直接从一个简单的 N(0,1)N(0,1)N(0,1) 中随机采样一个 z 给解码器,它就能生成全新的、有意义的数据(比如从未见过的猫的照片)。这使得 VAE 成为了一个强大的生成模型。
  3. 正则化 (Regularization):KL 散度避免了编码器将每个输入映射到潜在空间中的一个孤立点,从而防止过拟合,并鼓励模型学习到数据的有意义的、低维表示。

KL 散度公式 (无需背诵,理解即可):

在代码中,你看到的 KL 散度公式:

DKL(N(μ,σ2)∣∣N(0,1))=12∑(1+log⁡(σ2)−μ2−σ2)D_{KL}(N(\mu, \sigma^2) || N(0, 1)) = \frac{1}{2} \sum (1 + \log(\sigma^2) - \mu^2 - \sigma^2)DKL(N(μ,σ2)∣∣N(0,1))=21(1+log(σ2)μ2σ2)

  • μ\muμ (均值):它惩罚潜在分布的中心偏离标准正态分布中心(0)的程度。如果 μ\muμ 越大或越小,μ2\mu^2μ2 就越大,KL 损失也就越大。
  • σ2\sigma^2σ2 (方差):它惩罚潜在分布的形状(方差)偏离标准正态分布方差(1)的程度。
    • 如果 σ2\sigma^2σ2 过大(分布太宽),(1+log⁡(σ2)−σ2)(1 + \log(\sigma^2) - \sigma^2)(1+log(σ2)σ2) 就会导致损失增大。
    • 如果 σ2\sigma^2σ2 过小(分布太窄),(1+log⁡(σ2)−σ2)(1 + \log(\sigma^2) - \sigma^2)(1+log(σ2)σ2) 也会导致损失增大。
    • σ2=1\sigma^2 = 1σ2=1 时,log⁡(1)=0\log(1) = 0log(1)=0(1+0−1)=0(1 + 0 - 1) = 0(1+01)=0,这部分惩罚最小。

y=log⁡(x)−xy = \log{(x)}-xy=logx)x 函数图像

在这里插入图片描述

所以,这个公式在数值上量化了你的“摄影风格”(潜在分布)与“标准风格”(标准正态分布)之间的差距。模型的目标就是最小化这个差距,让生成的数据既能被很好地重构,又能保持潜在空间的良好结构。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

理解:进程、线程、协程

线程、进程和协程是并发编程的重要组成部分。进程(Process)定义进程是操作系统分配资源的基本单位,表示一个正在执行的程序。一旦一个程序被加载到内存中,它就成为一个进程,而每个进程都有其独立的内存空间。特征进程之…

总结一下找素数的三种方法

目录 一试除法 二埃氏筛 三线性筛(欧拉筛) 一试除法 思想:就是判断某个数x是不是素数,就判断从2开始到小于根号x的范围内有没有能够取余不等于0的,这个说明当前值就是x的一个因子,所以不是素数。 代码: import java.util.Scanner;public…

基于Yolov8车辆检测及图像处理系统【有代码】

0 引言 随着城市化进程的加速和机动车保有量的快速增长,交通管理、智能监控和自动驾驶等领域对车辆目标检测技术的需求日益增长。车辆目标检测是计算机视觉领域的一个重要研究方向,其目标是从图像或视频序列中准确识别和定位车辆,为后续的车辆跟踪、行为分析和交通流量统计…

MySQL密码管理器“mysql_config_editor“

目录 核心能力 常用命令速查 为什么更安全? 典型场景 mysql_config_editor 是 MySQL 官方自带的一款命令行小工具,作用一句话:把账号、密码、主机、端口等连接信息加密存起来,下次连接时只敲一个名字即可,不用再写…

Kubernetes高级调度01

目录 第一章:初始化容器(InitContainer)—— 应用启动前的 “准备军” 1.1 InitContainer 的基本概念与核心特性 1.2 InitContainer 与普通容器的关键区别 1.3 InitContainer 的实战场景与示例解析 1.3.1 示例 1:延迟启动 —…

LSV负载均衡

什么是访问压力?--负载 两个客户同时访问一个服务器,会导致服务器崩溃调度---Cluster集群(为了解决一个特定问题,多台服务器组合使用形成的一个系统)LSV 1、集群Cluster LB:负载均衡,有多个主机…

复习笔记 38

绪论 其实没有一种安稳快乐,永远也不差 专题 2 知识点 继续学数学强化吧?可以。还有概率论要学。还有高数后半部分的数一专项要学。还有政治要学。要学的内容确实还是挺多的啊。加油。下载了一个阅读的软件,可以做一做真题的阅读理解。政治英…

GaussDB like 的用法

1 like 作用在 where 子句中使用 like 运算符来搜索列中的指定模式。 有两个通配符与 like 运算符一起使用:% - 百分号表示零个,一个或多个字符 _ - 下划线表示单个字符注:也同时支持正则表达式。2 like 语法select column1, colu…

单例模式:确保全局唯一实例

单例模式确保一个类只有一个实例,并提供全局访问点。适用于需要全局唯一对象的场景(如配置管理器、数据库连接池)。代码示例:import java.util.stream.IntStream;public class ConfigManager {public static void main(String[] a…

深入理解 QSettings:Qt 中的应用程序配置管理

在开发 Qt 应用程序时,管理应用程序的配置信息是一个常见的需求。无论是保存用户的偏好设置、窗口大小,还是应用程序的运行时配置,都需要一种高效且灵活的方式来存储和检索这些信息。Qt 提供了一个强大的工具——QSettings,它能够…

基于SpringBoot+Vue的体育馆预约管理系统(支付宝沙盒支付、腾讯地图API、协同过滤算法、可视化配置、可视化预约)

“ 🎈系统亮点:支付宝沙盒支付、腾讯地图API、协同过滤算法、可视化配置、可视化预约”01系统开发工具与环境搭建—前后端分离架构 项目架构:B/S架构 运行环境:win10/win11、jdk17前端: 技术:框架Vue.js&am…

<script>标签对HTML文件解析过程的影响以及async和defer属性的应用

在前端开发中&#xff0c;<script> 标签的 async 和 defer 属性会显著影响 JavaScript 脚本的加载和执行时机。下面结合示例代码&#xff0c;详细解析它们之间的区别&#xff1a; 1. 默认情况&#xff08;无 async/defer&#xff09; <script src"script.js"…

Vue.js:从 Web 到桌面的跨端实践与技术选型指南

一、Vue.js 的核心能力边界 作为渐进式 JavaScript 框架,Vue.js 的核心价值在于构建现代 Web 用户界面: ✅ 前端核心场景:单页应用(SPA)、动态交互界面、可复用组件开发 ❌ 架构限制:无法直接改造 B/S(浏览器/服务器)为 C/S(客户端/服务器)架构 关键差异:B/S 依赖浏…

SSRF11 各种限制绕过之DNS rebinding 绕过内网 ip 限制

ssrf漏洞在厂商的处理下可能进行一些特殊处理导致我们无法直接利用漏洞 有以下四种&#xff1a; 1.ip地址限制绕过 2.域名限制绕过 3.30x跳转绕过域名限制 4.DNS rebinding绕过内网ip限制 本章我们讲DNS rebinding 绕过内网 ip 限制 DNS rebinding 绕过内网 ip 限制 假…

FreeRTOS之链表操作相关接口

FreeRTOS之链表操作相关接口1 FreeRTOS源码下载地址2 任务控制块TCB2.1 任务控制块TCB2.1.1 任务控制块的关键成员2.1.2 TCB 的核心作用2.2 ListItem_t2.3 List_t3 函数接口3.1 vListInitialise3.2 vListInitialiseItem1 FreeRTOS源码下载地址 https://www.freertos.org/ 2 …

项目一第一天

目录 总结MySQL&#xff1a; 最终还是得按照SQL的语法来实施。 1、MySQL的数据类型&#xff1a;指业务数据按照什么格式存储在数据库中的。 任何数据类型最常见的三种&#xff1a;字符串、整型和小数型。 如&#xff1a;宝贝计划这种存在视频的项目&#xff0c;你们的视频是存放…

STM32第二十天 ESP8266-01S和电脑实现串口通信(3)

1&#xff1a;透传透传&#xff08;又称透明传输&#xff09;是一种通信模式&#xff0c;其核心特点是&#xff1a;通信设备对传输的数据不做任何解析或处理&#xff0c;仅作为“管道”原封不动地转发数据&#xff0c;仿佛数据“透明”地穿过设备。透传的本质关键特征说明无协议…

微服务引擎 MSE 及云原生 API 网关 2025 年 3 月产品动态

点击此处&#xff0c;了解微服务引擎 MSE 产品详情。

在 Docker 上安装和配置 Kafka、选择用于部署 Kafka 的操作系统

消息代理是一种软件&#xff0c;充当在不同应用程序之间发送消息的中介。它的功能类似于服务器&#xff0c;从一个应用程序&#xff08;称为生产者&#xff09;接收消息&#xff0c;并将其路由到一个或多个其他应用程序&#xff08;称为消费者&#xff09;。消息代理的主要目的…

2D下的几何变换(C#实现,持续更新)

&#xff08;1&#xff09;已知2D下&#xff0c;新坐标系的原点、X轴方向向量、Y轴方向向量在原始坐标系下的表示&#xff0c;求原始坐标系中直线&#xff0c;在新坐标系下的直线方程&#xff1b;&#xff08;2&#xff09;求直线与2D包围盒的交点&#xff0c;可能有0、1或2个交…