GANVAEDiffusion

数学基础

KL散度

  • 描绘一个分布p和另一个分布q之间的偏离程度
    在这里插入图片描述
  • p ( x ) = = q ( x ) p(x)==q(x) p(x)==q(x)时散度取得最小值

JS散度

  • 另一种衡量两个概率分布相似性的方法
    在这里插入图片描述

GAN

  • 需要训练两个网络;损失来回波动,不好分辨,不容易收敛;可能会学到一些不希望学到的东西,即不好掌控
    www.kdnuggets.com/2017/01/generative-...-learning.html)

鉴别器D

  • 预测给定的真实样本的概率,并区分真假样本

生成器G

  • 通过学习数据分布,生成假样本以欺骗判别器获得一个高的数据分布,两个模型相互竞争,进行博弈,并相互进行改进。

Autoencoder

在这里插入图片描述

  • Encoder: 将原始高维输入数据转化为低维,输入大小大于输出大小
    • 编码器在处理过程中完成了数据的降维
  • Decoder:从代码中恢复数据,可能居于越来越大的输出层。

VAE

  • 其思想和其他自编码器模型不同,主要用到变分贝叶斯和图形模型
  • VAE通过对Encoder对输入(我们这里以图片为输入)进行高效编码,然后由Decoder使用编码还原出图片,在理想情况下,还原输出的图片应该与原图片极相近。
    在这里插入图片描述

Diffusion Model

  • GAN因为使用对抗训练,训练不稳定,缺少多样性生成;VAE依赖于替代损失;流模型必须使用专门的体系结构来构造可逆转换
  • 扩散模型受非平衡热力学启发,其定义了一个马尔可夫链,通过像数据中添加噪声,然后反向学习扩散过程,进而构造样本
    在这里插入图片描述

Forward diffusion process

  • 给定从真实数据中采样的数据点,并向样本中添加少量高斯噪声,产生一系列的有噪声的样本
    在这里插入图片描述
  • 随着t逐渐变大,数据样本逐渐失去可区分的特征,最终当T趋于无穷时, X T X_T XT等价于正态高斯分布
    在这里插入图片描述
  • 可以推出 x t x_t xt的推导公式,而当样本逐渐变得嘈杂时,更新步幅也随之变大

在这里插入图片描述

  • 其中 a t = 1 − β t a_t=1-\beta_t at=1βt, β \beta β逐渐变大,从0.0001到0.002之间,进而 α \alpha α也逐渐变小
  • 可以看到 x t x_t xt的公式中 x t x_t xt x t − 1 x_{t-1} xt1有关,同时再加上一点高斯分布噪音
    在这里插入图片描述
  • 同理, x t − 1 x_{t-1} xt1也可以用 x t − 2 x_{t-2} xt2表示出来,带入到 x t x_t xt的表达式中,得到红线部分 z 1 , z 2 z_1,z_2 z1,z2两个高斯分布噪音的相加
  • 式子中对高斯分布乘上一个数,相当于对分布的方差进行变化,如果加减操作,相当于对分布的均值发生变化,因此可以发现二者的方差已经变化
    在这里插入图片描述
  • 相乘之后的分布仍服从高斯分布,因此二者可以做加法,新的分布还是高斯分布,只不过是方差相加
    在这里插入图片描述
  • 因此可以看出, x t x_t xt的分布和他的前t项相关,是其前t项连乘,这样就能做到直接得到加噪过程中任意一项的图像分布。

Reverse Process

  • 反向过程即通过 x t x_t xt逐渐推出 x 0 x_0 x0的过程,通过使用贝叶斯公式可以完成这一过程,其中 q ( x t ∣ x t − 1 ) q(x_t|x_{t-1}) q(xtxt1)为正向过程,已知, q ( x t − 1 ∣ ∣ x 0 ) q(x_{t-1|}|x_0) q(xt1∣x0)也都已知
  • 这里三个式子都是服从高斯分布,因此乘以一个数和加上一个数,分别改变其方差和均值,和前面的过程相同。
    在这里插入图片描述
  • 根据贝叶斯公式,需要将其中两项相乘,再除以第三项,因为这三项都服从正态分布,因此将他们做乘除即幂次相加减

在这里插入图片描述

  • 通过对方程进行化简,可以配方得到关于 x t − 1 x_{t-1} xt1的式子,而关于正态分布的公式进行展开,可以得到和配方后的式子相同的式子
    在这里插入图片描述
  • 因此,可以分别得到 σ 和 μ \sigma和\mu σμ的值
    在这里插入图片描述
  • 其中, x 0 x_0 x0不知道,但是通过前向过程可以将 x 0 x_0 x0逆推回来,并将其带入均值方程,可以得到均值的最终结果。此时,均值只与 x t x_t xt有关
  • 另外,可以看到均值和 z t z_t zt噪声有关。在反向过程中,利用前向过程提供的每一步所添加的噪音当作标签进行训练,进而进行拟合,估计出噪声 z t z_t zt
    在这里插入图片描述

参考资料

  1. B站强推!2023公认最通俗易的扩散模型【Diffusion】3小时入门到精通,比GAN
  2. 什么是扩散模型?

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

〖大前端 - 基础入门三大核心之JS篇㊸〗- DOM事件对象的方法

说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作&#xf…

个人成长|实现财务自由的秘诀,在这8句话里

哈喽啊,我是雷工! 有人说,当今社会阶层跃迁的通道已经被堵死了,要想从普通人跨越阶级发家致富根本不可能。 也有人认为,只要踩住时代的风口,吃到时代的红利,成为百万富翁的速度会非常快。 我觉…

【源码篇】基于SpringBoot+Vue实现的在线考试系统

文章目录 系统说明技术选型成果展示账号地址及其他说明 系统说明 基于SpringBootVue实现的在线考试系统是为高校打造的一款在线考试平台。 系统功能说明 1、系统共有管理员、老师、学生三个角色,管理员拥有系统最高权限。 2、老师拥有考试管理、题库管理、成绩管…

java+springboot物资连锁仓库经营商业管理系统+jsp

主要任务:通过网络搜集与本课题相关的素材资料,认真分析连锁经营商业管理系统的可行性和要实现的功能,做好需求分析,确定该系统的主要功能模块,依据数据库设计的原则对数据库进行设计。最后通过编码实现本系统功能并测…

linux如何杀死进程_kill

使用信号控制进程:kill kill 可将指定的信息送至程序。 一般地,kill 命令用于删除执行中的程序或工作。在系统运行期间,若发生了如下情况,就需要将这些进程杀死。 进程展会用了过多的CPU时间 进程锁住了一个终端,是其…

每天五分钟计算机视觉:AlexNet网络的结构特点

本文重点 在前面的一篇文章中,我们对AlexNet网络模型的参数进行了详细的介绍,本文对其网络模型的特点进行总结。 特点 1、AlexNet的网络结构比LeNet5更深,模型包括5个卷积层和3个全连接层。参数总量大概为249MB。 2、Alex使用了ReLu激活函…

Java(十)(网络编程,UDP,TCP)

目录 网络编程 两种软件架构 网络通信的三要素 IP IPv4的地址分类 特殊IP 端口号 协议 用UDP协议发送数据 用UDP接收数据 TCP接收和发送数据 TCP通信--支持与多个客户端同时通信 网络编程 可以让设备中的程序与网络上其他设备的程序进行数据交互(实现网络通信) 两…

2023年12月4日支付宝蚂蚁庄园小课堂小鸡宝宝考考你今日正确答案是什么?

问题:你知道电杆上安装的“小风车”有什么用途吗? 答案:防止鸟类筑巢 解析:小风车一般做成橙色,因为橙色是一种可令野鸟产生恐慌感的颜色;小风车在转动时,会发出令野鸟害怕的噪声;…

深入理解Servlet(下)

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 在这一篇文章里&#x…

HTML简介

1,网页 网页的相关概念 1.1,什么是网页? 网页是构成网站的基本元素,它通常由图片,链接,文字,声音,视频等元素组成。其实就是一个常见以.htm或.html后缀结尾的文件,因此…

鸿蒙是Android套壳么,当然不是,ArkTS还是很有意思的

前段时间看新闻,说是明年开始鸿蒙就要和andorid脱钩了。 大概就是这样的: 看到这个,我兴趣就来了。我有个华为P30,升级过鸿蒙系统,用起来也没啥变化,兼容andorid应用,然后就是开机去掉了Powere…

Mover Creator--功能简介

Mover Creator是一款AFSIM软件工具,提供方便易用的基于GUI的应用程序,帮助用户创建用于空中运动器的AFSIM输入文件,包括WSF_P6DOF_MOVER和WSF_GUIDED_MOVER。使用自定义定义的基于图形的模型定义,用户可以对飞机、武器和发动机进行…

配置typroa上传图片到gitee

在typora这个位置下载插件 在picgo.exe文件夹下输入cmd 打开命令行输入如下命令安装相关插件 .\picgo install gitee-uploader .\picgo install super-prefix 之后按照官方文档更改相关配置 官方文档参考 https://picgo.github.io/PicGo-Core-Doc 博客参考:…

【每日OJ —— 226. 翻转二叉树】

每日OJ —— 226. 翻转二叉树 1.题目:226. 翻转二叉树2.解法2.1.算法讲解2.2.代码实现2.3.代码提交通过展示 1.题目:226. 翻转二叉树 2.解法 2.1.算法讲解 我们从根节点开始,递归地对树进行遍历,并从叶子节点先开始翻转。如果当前…

分治—快速选择算法

文章目录 🍇215.数组中的第K个最大元素🍈1. 题目🍉2. 算法原理🍊3. 代码实现 🍋LCR 159. 库存管理 III🍌1. 题目🍍2. 算法原理🥭代码实现 🍇215.数组中的第K个最大元素 …

《数据结构与测绘程序设计》试题详细解析(仅供参考)

一. 选择题(每空2分,本题共30分) (1)在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入结点s,则执行( B )。 A. s->nextp->next; p->nexts; B. q…

九章正式推出『智能驾驶产业数据库』

为了更好地研究产业变化趋势,在定性分析之外增加更多定量分析的内容,从而帮助自动驾驶产业内的朋友们更快速、更精准地把握市场变化,2022年底,九章决定要做智能驾驶产业数据库。 历时将近一年后,从敲定数据库负责人&am…

阅读笔记|A Survey of Large Language Models

阅读笔记 模型选择:是否一定要选择参数量巨大的模型?如果需要更好的泛化能力,用于处理非单一的任务,例如对话,则可用选更大的模型;而对于单一明确的任务,则不一定越大越好,参数小一…

L1-015:跟奥巴马一起画方块

题目描述 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方…

[GPT-1]论文实现:Improving Language Understanding by Generative Pre-Training

Efficient Graph-Based Image Segmentation 一、完整代码二、论文解读2.1 GPT架构2.2 GPT的训练方式Unsupervised pre_trainingSupervised fine_training 三、过程实现3.1 导包3.2 数据处理3.3 模型构建3.4 模型配置 四、整体总结 论文:Improving Language Understa…