Gen-AI-1

如何读论文

论文结构

title abstract intro(导言) method exp(实验) conclusion

如何读

  1. title abstract conclusion 可以跳到实验/方法部分一些关键的图表
  2. 对整个文章过一遍
  3. 精读

一些不懂的词汇

end to end regulation L2正则项 weight decay momentum Unet

Deep Unsupervised Learning using Nonequilibrium Thermodynamics

(利用非平衡热力学进行深度无监督学习) Here, we develop an approach that simultaneously achieves both flexibility and tractability. The essential idea, inspired by non-equilibrium statistical physics, is to systematically and slowly destroy structure in a data distribution through an iterative forward diffusion process. We then learn a reverse diffusion process that restores structure in data, yielding a highly flexible and tractable generative model of the data.

Historically, probabilistic models suffer from a tradeoff between two conflicting objectives: tractability and flexibility.

生成模型

b站视频
给定训练集,产生与训练集同分布的新样本。
希望学到一个模型,其与训练样本相近。
对一个100x100的图片,可以看做是一个30000维的向量,希望采样得到的新的向量与样本向量接近的概率高一点,换句话说,就是学到一个分布与样本的分布接近。

1.PixelRNN & PixelCNN

均为显式的密度模型,可以求出概率分布的显式解
利用链式准则将图像的生成转化为每个像素点的生成,即

  • 需要定义像素点的产生顺序
  • 具体的分布可能很复杂,需要用神经网络建模
  • 训练时需要最大化训练数据的似然,即找到参数使得训练数据出现概率最大

PixelRNN

将像素生成看做一个序列生成问题,利用RNN(LSTM)的序列描述能力产生新的像素(具有时序性)。
缺点是训练和生成均较慢。

PixelCNN

用CNN产生新的像素,可以用n个卷积核对目标像素进行卷积,得到值的概率分布(已生成的像素参与运算,其余不参与运算),算其与实际值的交叉熵
训练较于RNN更快,但是生成依然很慢

2.Variational Autoencoders(VAE)

Autoencoder(自编码器)

是一种无监督的特征学习,目标是利用无标签的数据找到一个低维的特征提取器,希望降维后的数据只保留原来有意义的信息,可以用来做图像分类任务。(PCA,ReLU,CNN)

如何学习?

编码器之外还需要解码器。

不需要标签,所以是无监督的

解码器

除了训练编码器,解码器可以用来生成图像

decoder

VAE(变分自编码器)

结构

VAE

和AE不同,编码器输出一个均值m和方差,将传递给解码器产生输出,其中
为了实现极大似然,神经网络优化的目标有两个:

  • 取得最小值,即接近0,接近0,此时的分布接近标准正态分布
  • 取得最小值

为什么使用VAE

生成图片是通过在编码空间采样后解码得到,对于AE,编码器产生的编码是离散的值,与样本一一对应,其余点没有被训练到,所以不知道会产生什么图片。
对于VAE,因为编码是随机的,所以编码空间的所有点都可以被训练到。例如,是满月,是半月,则它们之间的点可能产生四分之三月。

reason

背景知识

高斯混合模型

由好多个正态分布以不同权重组合成的分布 ,其中x|z服从正态分布 正态分布个数无限时,有

KL散度(Kullback-Leibler Divergence)

KL散度(Kullback-Leibler Divergence),也称为相对熵,是一种衡量两个概率分布之间差异的方法。

概率分布的熵的定义是,如果计算时使用log2,可以理解为编码信息所需要的最小比特数
定义KL散度

可以衡量将p分布近似为q分布时,我们损失了多少信息

KL散度有几个重要性质:

  1. 非负性。当且仅当P和Q在所有事件上完全相同时,KL散度等于0。

  2. 非对称性:一般情况下,。这意味着将P作为参考分布得到的KL散度与将Q作为参考分布得到的KL散度是不同的。

  3. 非直观性:由于KL散度的非对称性,它并不是一个真正的距离度量,因为它不满足距离度量的对称性和三角不等性。

高斯分布的KL散度

多元:

推导

考虑用无限维高斯混合模型来拟合样本的分布
一般取z的每一维代表一个属性,同时有
参数由神经网络根据z预测。
利用极大似然方法,欲让指标最大,其中x是每一个样本。

但这是不可实现的,因为P(x|z)的分布是神经网络拟合的,不是显式的分布,而且还要考虑无限个z取积分。
所以需要考虑那些概率大的z,引入另一个分布q(z|x):

参数由另一个神经网络根据x预测。 network

想要最大,就需要:

  • (latent prior similarity) 最小,即接近P(z)的标准正态分布,即取得最小值
  • (reconstruction likelihood) 最大。因为满足高斯分布,所以x与越接近越大,即预测的,即取得最小值

Objective

(latent prior similarity)


是确定的式子,可以反向传播

(reconstruction likelihood)

但是z是随机采样的,每个样本x会随机产生一个z,无法反向传播,所以考虑将z的产生抽离出来

separate

Loss Function

reconstruction loss:

latent prior similarity loss:

total loss

Visualization

visual

问题

一个最明显的就是我们如何选定后验分布。绝大多数的VAE实现里,这个后验分布被选定为了一个多维高斯分布。但这个选择更多的是为了计算和优化的方便而选择。这样的简单形式极大地限制了模型逼近真实后验分布的能力。VAE的原作者kingma曾经有篇非常经典的工作就是通过引入normalization flow来改进后验分布的表达能力。而扩散模型同样可以看做是对后验分布的改进。(摘自知乎)