当前位置: 首页 > news >正文

[VAE] Auto-Encoding Variational Bayes

        直接看paper看得云里雾里,李沐视频一语道破天机(建议从30min左右开始看GAN到Diffusion的串讲)。VAE的核心思路就是下面:

        做生成,其实就是从随机向量(z)到目标图像(x)的过程,那么z就是先验,x就是后验。

        一些博客讲的也挺好的:

VAE的原理和代码实现_vae代码_Zero_to_zero1234的博客-CSDN博客

1、目的

        perform efficient inference and learning in directed probabilistic models(有向概率模型,也就是我们的DL网络), in the presence of continuous latent variables(连续隐变量z) with intractable prosterior distributions(输出x')

2、贡献

        重参数(reparameterization) + 极大似然法(maximum likelihood / maximum a posteriori) + 可导变分下界(differentiable variational lower bound,是下界的无偏估计),使得问题可以使用SGD求解

3、方法

        1)基本假设

        从先验分布p_{\theta ^{*}}(z)中采样z^{(i)},从条件概率分布p_{\theta ^{*}}(x|z)中采样x^{(i)},且两个分布的概率密度函数对任意\theta和z都是可微的。

        2)网络结构

        encoder是q_{\varphi}(z|x),decoder是p_{\theta }(x|z)

        3)优化目标

        极大似然法,使得网络参数下收集的数据集的概率最大,即最大化

                        

        而该式可以被写为

                        

        由于KL散度>=0,因此有

                         

        则就是变分下限

                         

        则我们需要做的就是对这个变分下限进行优化,从而需要求解相对于变分参数\phi和生成参数\theta的微分

        4)算法流程

        5)重参化技巧

                

                但这样的话,先验z缺少可优化参数。因此改写为下面的形式:

                

                

                其中\mu\sigma可以用MLP预测

4、公式推导

        可以参考:

快速推导 VAE 变分自编码器,多种写法,和重要细节 Variational Autoencoder - 知乎

http://www.lryc.cn/news/67871.html

相关文章:

  • 《程序员面试金典(第6版)》面试题 16.19. 水域大小(深度优先搜索,类似棋盘类问题,八皇后的简化版本,C++)
  • Spring 注解之@RestController与@Controller的区别
  • Java中的泛型是什么?如何使用泛型
  • 【飞行棋】多人游戏-微信小程序开发流程详解
  • 力扣 146. LRU 缓存
  • 关于Oracle SCN的最大阈值
  • Linux多路转接之poll
  • Webpack打包流程
  • React事件委托
  • Notion——构建个人知识库
  • ModuleNotFoundError: No module named ‘Multiscaledeformableattention‘
  • 【数据结构】链表(C语言实现)
  • 【2023程序员必看】大数据行业分析
  • 通达信SCTR强势股选股公式,根据六个技术指标打分
  • SpringBoot+Token+Redis+Lua+自动续签极简分布式锁Token登录方案
  • 多模态:MiniGPT-4
  • 5年时间里,自动化测试于我带来的意义,希望你也能早点知道
  • 【MyBaits】SpringBoot整合MyBatis之动态SQL
  • 涅槃重生,BitKeep如何闯出千万用户新起点
  • 绝地求生 压枪python版
  • 麒麟操作V10SP1系统systemd目标单元
  • python基于LBP+SVM开发构建基于fer2013数据集的人脸表情识别模型是种什么体验,让结果告诉你...
  • antd——实现不分页的表格前端排序功能——基础积累
  • 案例11:Java超市管理系统设计与实现开题报告
  • @JsonAlias 和 @JsonProperty的使用
  • Grafana系列-统一展示-8-ElasticSearch日志快速搜索仪表板
  • 【K8s】openEuler23操作系统安装Docker和Kubernetes
  • 异常数据检测 | Python实现ADTK时间序列异常数据检测
  • 软件测试之jmeter性能测试让你打开一个全新的世界
  • Redis数据结构——动态字符串、Dict、ZipList