在上一篇的博文——对抗变分贝叶斯:变分自编码器与生成对抗网络的统一(三)中,我已经翻译过了原论文。的确,看中文的公式推导比看英文的公式推导理解起来要容易得多。然而,还有有很多地方有不理解或感觉牵强,更有很多地方的知识点并未get,还需进一步学习或巩固。那么,这篇博文就写写我总结的的一些知识点吧,若也有你所未接触过的并想了解的,欢迎一起交流学习;若有错误之处,还请多多指教。
文章目录
1、显式、隐式
首先,我要把二者的英文贴上来,因为这是我刚刚犯过的一个错误。
显式:explicit 隐式:implicit
之前看到论文里经常出现这么一个单词:expressive,意为:富于表情的; 有表现力的; 意味深长的; 表现; 表达; 表示。在上一篇博文的翻译中,我将大多数的expressive译成了“有表现力的”,但有些却感觉用“显式的”更加合理,虽然二者的英文是不同的两个单词。
然后就来说说显式、隐式的意思,显即看得见,隐则看不见。对于编程语言来说,我们用户编写的命令一般都是显式的,而后台基于一些语法规则或软件自带规则所进行的命令是我们用户所看不见的,即为隐式;对于神经网络,有特定公式、我们可以真切地看到这个公式是什么,则为显式,而我们所未知的如黑箱模型、神经网络则为隐式。
2、非参数限制
关于非参数限制,我曾经想在百度上查找,但无果。论文中是这么解释非参数限制的:
为了简化理论分析,我们假设
T
(
x
,
z
)
T(x,z)
T(x,z)模型足够灵活可以代表任意关于
x
x
x、
z
z
z两个变量的函数,这个假设通常被引用为非参数限制并且可以由深度神经网络是广泛函数估计器的事实证明。 因此,非参数限制就是函数不受参数限制可以是任意关于未知数的函数形式。此外,在概率密度估计中,也有参数法和非参数法之分。对于参数法,是假设概率函数密度函数的形式已知,再根据最大似然、贝叶斯公式等计算参数、估计概率密度;而对于非参数法,则未给出概率密度函数的形式,常常从原始概率密度的定义出发,采用几何的方法如K-近邻、Parzen窗估计概率密度。在统计学中,也存在着参数模型与非参数模型之分,参考链接【机器学习】参数和非参数机器学习算法:在统计学中,参数模型通常假设总体(随机变量)服从某一个分布,该分布由一些参数确定(比如正太分布由均值和方差确定),在此基础上构建的模型称为参数模型;非参数模型对于总体的分布不做任何假设,只是知道总体是一个随机变量,其分布是存在的(分布中也可能存在参数),但是无法知道其分布的形式,更不知道分布的相关参数,只有在给定一些样本的条件下,能够依据非参数统计的方法进行推断。
3、零和二人博弈
零和博弈(zero-sum game),又称零和游戏,与非零和博弈相对,是博弈论的一个概念,属非合作博弈。零和博弈中,一方的获利必然会导致另一方的利益损失,因此双方利益总和“为0”,这也正是对抗网络中对抗的思想。 零和二人博弈的目的即是找到一个理论上的“解”或“平衡“,也就是对参与双方来说都最”合理“、最优的具体策略,此时系统达到了 纳什平衡。此外,非零和博弈是一种合作下的博弈,博弈中各方的收益或损失的总和不是零值。
4、图像语义
语义,通常是自然语言处理的研究内容,而图像也可以看作是最自然的语言。借用百度知道的优秀答案(链接为: 图像的语义信息是指什么,最好通俗的解释一下)——图像的语义分为视觉层、对象层和概念层,视觉层即通常所理解的底层,即颜色、纹理和形状等等,这些特征都被称为底层特征语义;对象层即中间层,通常包含了属性特征等,就是某一对象在某一时刻的状态;概念层是高层,是图像表达出的最接近人类理解的东西。 通俗点说,比如一张图上有沙子,蓝天,海水等,视觉层是一块块的区分,对象层是沙子、蓝天和海水这些,概念层就是海滩,这是这张图表现出的语义。
一般来说,图像语义的相似并不等于像素值的相似,当然,也有研究者在研究像素级语义。
5、无偏估计与有偏估计
这是本科概率论与数理统计课程的知识,但由于时间较长,这里再贴出来复习巩固一下。最常见也是最为我们熟知的例子是方差,当分母为样本总数时是有偏估计,而当分母为样本总数-1时是无偏估计。参考苏剑林大神的详解(简述无偏估计和有偏估计),当样本数趋于无穷时,有偏估计和无偏估计等价。
6、神经采样器
同样,直接搜查百度无果,只能借用f-GAN翻译中对于生成式神经采样器的描述:生成式神经采样器是用前馈神经网络来实现采样的概率模型。它得到一个随机向量的输入,并从由网络权重定义的概率模型中输出一个样本。 这些模型很有表现力,允许高效的样本和微分运算,但是不能用于计算似然或边缘化。这样的概率前传神经网络模型叫做生成式神经采样器。
7、点互信息(PMI)
参考什么是点互信息,PMI(Pointwise Mutual Information)衡量两个事物之间的相关性,其公式如下所示:
P
M
I
(
x
;
y
)
=
log
p
(
x
,
y
)
p
(
x
)
p
(
y
)
=
log
p
(
x
∣
y
)
p
(
x
)
=
log
p
(
y
∣
x
)
p
(
y
)
PMI(x;y)=\log \frac {p(x,y)}{p(x)p(y)} = \log \frac {p(x|y)}{p(x)} = \log \frac {p(y|x)}{p(y)}
PMI(x;y)=logp(x)p(y)p(x,y)=logp(x)p(x∣y)=logp(y)p(y∣x)
在概率论中,我们知道,如果
x
x
x跟
y
y
y不相关,则
p
(
x
,
y
)
=
p
(
x
)
p
(
y
)
p(x,y)=p(x)p(y)
p(x,y)=p(x)p(y)。二者相关性越大,则
p
(
x
,
y
)
p(x,y)
p(x,y)就相比于
p
(
x
)
p
(
y
)
p(x)p(y)
p(x)p(y)越大。用后面的式子可能更好理解,在
y
y
y出现的情况下
x
x
x出现的条件概率
p
(
x
∣
y
)
p(x|y)
p(x∣y)除以
x
x
x本身出现的概率
p
(
x
)
p(x)
p(x),自然就表示
x
x
x跟
y
y
y的相关程度。这里的
log
\log
log来自于信息论的理论,可以简单理解为,当对
p
(
x
)
p(x)
p(x)取
log
\log
log之后就将一个概率转换为了信息量(要再乘以
−
1
-1
−1将其变为正数),以
2
2
2为底时可以简单理解为用多少个bits可以表示这个变量。
在信息论中,常用到的还有“互信息”(MI)这个概念,其公式为:
I
(
X
;
Y
)
=
∑
y
∈
Y
∑
x
∈
X
p
(
x
,
y
)
log
(
p
(
x
,
y
)
p
(
x
)
p
(
y
)
)
I(X;Y)=\sum \limits_{y \in Y}\sum \limits_{x \in X}p(x,y)\log (\frac{p(x,y)}{p(x)p(y)})
I(X;Y)=y∈Y∑x∈X∑p(x,y)log(p(x)p(y)p(x,y))
因此可以看出,互信息是各个点互信息的期望或者权值为各个点对的联合概率分布的加权和。
8、逻辑回归估计似然比
参考似然比与logistic回归,似然比,反映真实性的一种指标,通常定义为有约束条件下的似然函数最大值与无约束条件下似然函数最大值之比,如:
当
参
数
满
足
H
0
时
的
最
大
似
然
参
数
不
一
定
满
足
H
0
时
的
最
大
似
然
\frac {当参数满足H_0时的最大似然}{参数不一定满足H_0时的最大似然}
参数不一定满足H0时的最大似然当参数满足H0时的最大似然
参数满足
H
0
H_0
H0,也就是原假设为真,通常可能为回归系数=0之类的。但在统计软件计算回归分析中,似然比检验(likelihood ratio, LR) 是反映真实性的一种指标,属于同时反映灵敏度和特异度的复合指标。似然比检验是通过比较两个相互嵌套的模型的对数似然值来做假设检验,也就是变成了
−
2
log
∗
-2\log *
−2log∗ 似然比。为什么要对数变换一下?这样可以产生一个近似卡方的抽样分布, 便于假设检验。所以有时候不加区别地也称
−
2
log
∗
-2\log *
−2log∗似然比为似然比检验。所以,如果你用统计软件做 logistic回归之类的,会发现结果会给出仅含截距的似然比以及加入一个或多个变量后的
−
2
log
∗
-2\log *
−2log∗似然比,两个值一减,就会得出似然比值,这样根据 其值服从卡方分布,就可以用卡方分布来求出
p
p
p值,就可以推断加入的这一个或多个变量是否有统计学意义。所有变量是否有统计学意义的检验都可以通过这种方 法,加入一个变量,看看变化有多大,大了说明这个变量有意义,变化小说明意义不大。
似然比检验在很多回归中都是通用的,所代表的也都是同一含义。不少书中都认为,在样本较小的情况下其优势更为明显,比如,要优于logistic回归或poisson回归、cox回归的wald检验。大样本情况下,似然比检验和wald检验、得分检验等都是一致的。
9、“Eight School” 例子
在网上只能找到Diagnosing Biased Inference with Divergences的资源。
PyMC3和Stan是目前用来构建并估计概率模型的工具。这里首先参考了一篇总结得很好的文章随机采样方法整理与讲解(MCMC、Gibbs Sampling等),其中详细地介绍了蒙特卡罗数值积分、均匀分布和Box-Muller变换、蒙特卡罗准则、接受-拒绝抽样、重要性抽样、马尔可夫链和马尔可夫稳态、MCMC——Metropolis-Hasting算法、以及MCMC——Gibbs Sampling算法,之后我也会再详细地查找学习相关内容的资料。
The Eight Schools Model翻译
考虑Eight Schools数据集(Rubin 1981)的一个层级模型:
μ
∼
N
(
0
,
5
)
τ
∼
H
a
l
f
−
C
a
u
c
h
y
(
0
,
5
)
θ
n
∼
N
(
μ
,
τ
)
y
n
∼
N
(
θ
n
,
τ
n
)
\mu \sim \mathcal N(0,5)\\\tau \sim {\rm Half-Cauchy}(0,5)\\\theta_n \sim \mathcal N (\mu , \tau)\\y_n \sim \mathcal N (\theta_n,\tau_n)
μ∼N(0,5)τ∼Half−Cauchy(0,5)θn∼N(μ,τ)yn∼N(θn,τn)
其中
n
=
1
,
.
.
.
,
8
n=1,...,8
n=1,...,8,并且
{
y
n
,
θ
n
}
\{y_n, \theta_n\}
{yn,θn}为给定的数据。和组别参数
θ
1
,
.
.
.
,
θ
8
\theta_1,...,\theta_8
θ1,...,θ8一起推断层级超参数
μ
,
σ
\mu,\sigma
μ,σ允许模型逐组池化数据并减小它们的后验方差。不幸的是,这种池化也会将后验分布压缩为一种尤其具有挑战性的几何结构,会阻碍几何遍历性从而使MCMC有偏。
在这个例子的研究中,我们首先将考察Eight Schools模型的直接中心化的参数,看看在出现其他任何问题指示前散度是如何识别这个偏差的。然后,我们将采用这些散度研究偏差的来源、鼓励必要的修正,并使用非中心化的参数化重新实现模型。对于更多更透彻的有关层级模型中心化、非中心化的几何参数化的讨论可参考 Betancourt and Girolami (2015)。
10、MCMC(马尔可夫蒙特卡洛)
马尔可夫平稳
平稳分布亦称不变测度(invariant measure)。
E
E
E上的一种概率分布,它使马尔可夫过程成为平稳随机过程。给定以
E
=
{
0
,
1
,
.
.
.
}
E=\{0,1,...\}
E={0,1,...}为状态空间的时齐(时齐指不依赖于初始时间的选取, 而是时间的间隔一样就是相等的)马尔可夫链
{
X
n
,
n
≥
0
}
\{X_n,n\geq 0\}
{Xn,n≥0},其一步转移阵为
P
P
P。如果存在
E
E
E上的概率分布
π
=
(
π
0
,
π
1
,
.
.
.
)
\pi=(\pi_0,\pi_1,...)
π=(π0,π1,...),满足矩阵方程
π
=
π
P
\pi = \pi P
π=πP
则称
π
\pi
π为链的平稳分布,或称为转移阵
P
P
P的不变测度。
蒙特卡洛方法
蒙特卡罗方法起源于蒲丰投针,蒙特卡罗方法的工作过程可以归结为三个主要步骤:
(1)构造或描述概率过程,有时需要将不具有随机性质的问题转化为随机性质的问题;
(2)实现从已知概率分布抽样,产生已知概率分布的随机变量(或随机向量)。常常用数学递推公式产生,虽然得到的序列(如伪随机数,伪随机数是用确定性的算法计算出来自[0,1]均匀分布的随机数序列,并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等。计算机的伪随机数是由随机种子根据一定的计算方法计算出来的数值。因此只要计算方法一定、随机种子一定,那么产生的随机数就是固定的。只要用户或第三方不设置随机种子,则默认情况下随机种子来自系统时钟)与真正的随机数序列不同,但多种统计检验表明,它与真正的随机数(或随机数序列)具有相近的性质,因此可把它作为真正的随机数来使用;
(3)建立各种估计量。
蒙特卡洛积分
参考蒙特卡洛方法与定积分计算以及蒙特卡洛(Monte Carlo)法求定积分,蒙特卡罗积分可分为两种方法——随机投点法(投点法)与平均值法(期望法)
对于随机投点法,如下图所示,想要计算函数下方的面积(积分)
计算步骤如下所示:
对于更广泛的函数求定积分,则只需进行线性变换。
对于平均值法,假设变量概率密度函数为
f
(
x
)
f(x)
f(x),原始需要求积分的函数为
g
(
x
)
g(x)
g(x),则
I
=
∫
g
(
x
)
f
(
x
)
f
(
x
)
d
x
=
E
x
(
g
(
x
)
f
(
x
)
)
I=\int \frac{g(x)}{f(x)}f(x){\rm d}x={\rm E}_x \bigg(\frac{g(x)}{f(x)}\bigg)
I=∫f(x)g(x)f(x)dx=Ex(f(x)g(x))
即原积分可以看作是原函数与概率密度函数的比值所得到的函数的期望。
MCMC
借用百度百科,MCMC方法是使用马尔科夫链的蒙特卡洛积分,其基本思想是:构造一条Markov链,使其平稳分布为待估参数的后验分布,通过这条马尔科夫链产生后验分布的样本,并基于马尔科夫链达到平稳分布时的样本(有效样本)进行蒙特卡洛积分。在采用MCMC方法时,马尔科夫链转移核的构造至关重要,不同的转移核构造方法,将产生不同的MCMC方法,目前常用的MCMC方法主要有两种:Gibbs抽样和Metropolis-Hastings算法。
两种方法都涉及到随机过程中的知识,仍可参考链接随机采样方法整理与讲解(MCMC、Gibbs Sampling等)。Gibbs抽样用于在难以直接采样时从某一多变量概率分布中近似抽取样本序列。该序列可用于近似联合分布、部分变量的边缘分布或计算积分(如某一变量的期望值)。某些变量可能为已知变量,故对这些变量并不需要采样。Gibbs抽样可以看作是Metropolis–Hastings算法的特例。
11、凸共轭(convex conjugate)
参考百度百科,共轭函数亦称对偶函数、极化函数,函数的某种对偶变换。函数到其共轭函数的变换称为勒让德-芬切尔变换(Legendre-Fenchel变换)。共轭函数的概念在研究极值问题的对偶理论中起着本质作用。求共轭函数的公式涉及到上确界等,形式也比较复杂,这里直接举一些实数域上凸函数的共轭函数的例子。
(1)
f
(
x
)
=
a
x
+
b
f(x)=ax+b
f(x)=ax+b共轭函数为
f
∗
(
a
)
=
−
b
f^*(a)=-b
f∗(a)=−b;
(2)
f
(
x
)
=
−
l
o
g
x
f(x)=-logx
f(x)=−logx共轭函数为
f
∗
(
y
)
=
−
l
o
g
(
−
y
)
−
1
(
y
<
0
)
f^*(y)=-log(-y)-1(y<0)
f∗(y)=−log(−y)−1(y<0);
(3)
f
(
x
)
=
e
x
f(x)=e^x
f(x)=ex共轭函数为
f
∗
(
y
)
=
y
l
o
g
y
−
y
f^*(y)=ylogy-y
f∗(y)=ylogy−y;
(4)
f
(
x
)
=
x
l
o
g
x
f(x)=xlogx
f(x)=xlogx共轭函数为
f
∗
(
y
)
=
e
y
−
1
f^*(y)=e^{y-1}
f∗(y)=ey−1(这也是论文中用到的例子);
(5)
f
(
x
)
=
1
x
f(x)=\frac{1}{x}
f(x)=x1共轭函数为
f
∗
(
y
)
=
−
2
(
−
y
)
1
2
f^*(y)=-2(-y)^{\frac{1}{2}}
f∗(y)=−2(−y)21;
12、单模态、多模态
在概率中,单模态常指单高斯分布,多模态常指混合高斯分布。
13、逆KL散度(reverse Kullback-Leibler divergence)
KL散度公式为:
K
L
(
p
∣
∣
q
)
=
∑
x
p
(
x
)
log
p
(
x
)
q
(
x
)
=
E
p
(
x
)
l
o
g
p
(
x
)
q
(
x
)
KL(p||q)=\sum \limits_{x}p(x)\log \frac{p(x)}{q(x)}={\rm E}_{p(x)}{\rm log}\frac{p(x)}{q(x)}
KL(p∣∣q)=x∑p(x)logq(x)p(x)=Ep(x)logq(x)p(x)
逆KL散度公式即把二者调换一下顺序,变分中关于后验概率
p
p
p的期望不容易计算,而
q
q
q则是关于未知参数的简单分布,关于
q
q
q的期望较容易计算,逆KL散度即从求关于
p
p
p的期望转换到了求关于
q
q
q的期望:
K
L
(
q
∣
∣
p
)
=
∑
x
q
(
x
)
log
q
(
x
)
p
(
x
)
=
E
q
(
x
)
l
o
g
q
(
x
)
p
(
x
)
KL(q||p)=\sum \limits_{x}q(x)\log \frac{q(x)}{p(x)}={\rm E}_{q(x)}{\rm log}\frac{q(x)}{p(x)}
KL(q∣∣p)=x∑q(x)logp(x)q(x)=Eq(x)logp(x)q(x)
此外,使用逆KL散度还可以确保得到局部极值。
提到KL散度,这里找到一篇很好的关于解释GAN中使用KL散度造成模式坍塌的原因:为什么在GAN中使用KL散度会出现模式坍缩的问题?
关于AVB论文中的知识点总结就先到这里,若有补充、修改的意见和建议,请多多指教。