本文来源公众号“极市平台”,仅用于学术分享,侵权删,干货满满。
原文链接:如何通俗理解扩散模型?
极市导读
还有谁没有看过diffusion的工作,席卷AI圈的diffusion到底是什么?本文作者用尽量通俗的描述向大家解释 diffusion 的来龙去脉。
实验室最近人人都在做扩散,从连续到离散,从 CV 到 NLP,基本上都被 diffusion 洗了一遍。但是观察发现,里面的数学基础并不是模型应用的必须。其实大部分的研究者都不需要理解扩散模型的数学本质,更需要的是对扩散模型的原理的经验化理解,从而应用到 research 里面去。笔者做 VAE 和 diffussion 也有一段时间了,就在这里通俗地解释一下 diffusion 的来龙去脉。
Variational AutoEncoder (VAE)
要讲扩散模型,不得不提 VAE。VAE 和 GAN 一样,都是从隐变量 Z 生成目标数据 X 。它们假设隐变量服从某种常见的概率分布(比如正态分布),然后希望训练一个模型 X = g(Z) ,这个模型将原来的概率分布映射到训练集的概率分布,也就是分布的变换。注意,VAE 和 GAN 的本质都是概率分布的映射。大致思路如下图所示:
图片来源:https://zhuanlan.zhihu.com/p/34998569
换句话说,大致意思就是先用某种分布随机生成一组隐变量,然后这个隐变量会经过一个生成器生成一组目标数据。VAE 和 GAN 都希望这组数据的