deep learning:chapter13 Linear Factor Models(小白翻译,请多指导)

实验室要讲《deep learning》这本书,每人分到一章,这个是我写的讲稿,基本上是原文翻译过来的,跳过了几段,有些口语化。因为是科研小白,有一些名词只是生硬地翻译过来,不是很准,希望多多指导。

Linear Factor Models (线性因子模型)

在这章里面,我们阐述了一些最简单的有隐藏变量的概率模型——线性因子模型(linear factor models)。这些模型有时会被用作混合模型(mixture models)或者更大的深层的概率模型的一个组成部分。

线性因子模型被定义为通过随机、线性的解码器模型(decoder function),通过在一个线性变换(h)加上噪声,来生成x(输入空间)。

这些模型很有趣,因为他们让我们发现解释性特征(explanatory factors)之间有简单的联合分布。对线性模型的易用性,使得这些模型成为一些有隐变量模型(latent variable models)的首先的被广泛学习。

一个线性因子模型描述数据生成过程,如下:

首先,我们从一个分布中对解释性因子h进行抽样,

在这里,p(h)是一个阶乘分布(a factorial distribution,接下来,我们把真实观察到的值定义成

这里的噪声典型的是高斯噪声和diagonal噪声(维度之间是独立的)。

这个有向图模型描述了线性因子家族,我们假设观察到的数据向量是独立隐变量的线性加权和再加上一些噪声。不同的模型,只是噪声的形式不同以及先验p(h)不同。

 

13.1 Probabilistic PCA and Factor Analysis

PPCA,因子分析以及一些线性因子模型是以上方程式的特例(13.113.2),也仅仅是在模型隐变量先验的选择以及噪声的分布不同。在因子分析模型中,隐变量的先验是单位方差高斯分布(unit variance gaussian,

在这个模型中,观察到的变量x被假定任务是服从上面的h的有条件的独立的。特别地,这个模型的噪声被认为来自对角线协方差高斯分布。

隐变量在这个模型里面的角色是表达不同被观测到的变量xi之间(应该是不同维度之间)的依赖。这个从x服从多维高斯分布中可以显然地看出来。

为了在概率框架下计算PCA,我们可以对因子分析模型做一个小的修正,使得条件变量互相相等。这种情况下,x的协方差应该是。此时,x符合条件分布

,或者等价于,这里的z服从标准高斯分布,是高斯噪声。TippingBishop两人证明迭代的EM算法可以估算参数W

这种PPCA,有大多数的数据都可以被隐变量表示,只是有一些很小的残余的重建误差(reconstruction error)。TippingBishop同时也证明了当逼近于0的时候,PPCA就变成了PC A

13.2 Independent Component Analysis (ICA)

独立成分分析是最古老的表征学习算法的一种。它是一种线性因子模型来把观察到的信号,分离成许多根本的信号,这些信号通过排列,加在一起组成了观察到的信号。这些信号被认为是完全独立的,而仅仅是互相不相关。

许多不同的方法都被认为是ICA。我们描述的方法,与这些方法的不同在于与许多其他生成模型类似,本方法训练了一个全参数的生成模型。这些根本的因子的先验分布,必须在事先被用户调整。接着,这个模型确切地生成。我们可以对变量做一个非线性变换来决定x的先验。(这个应该就是,事先对变量的先验进行调整)最后,就是像往常一样,使用最大似然估计来学习模型。

ICA这种方法的激励就是选择p(h)是独立的,我们可以尽可能地恢复出根本的独立因子。这种方法被广泛使用,不是去生成一个高维、抽象的因子,而是恢复出低维的信号,原先是混合在一起的。在这个设定下,一次训练一个样例。在本文中,举了两个例子,一个是鸡尾酒晚会问题,另外一个是脑电波电信号的一个处理问题。鸡尾酒晚会问题,就是在鸡尾酒晚会上,有几个人同时说话,有多个麦克风从不同方向采集这些声音,然后要分离出每个人说话的内容。脑电波信号问题就是,测到的脑电波是一个混合的信号,将来自肌肉、眼睛等部分的信号分离出原始的信号。

在上面提到过的,许多ICA的变种都是可行的。一些就是在x的生成过程中加入噪声,而不是使用一个确定的解码器。大多数的ICA变种,不使用最大似然估计,而是使得元素h=W-1x彼此独立。许多的准则都能尽力完成这个目标。这些变种ICA需要对W进行制约,否则计算是昂贵的、不稳定的。许多变种ICA为了避免这些问题,就对W进行了制约,是标准正交的。

全部的变种ICA都制约p(h)是非高斯分布的。这是因为如果p(h)是有高斯项的的独立先验,然后,W就不是可确认的。我们可以通过相同的分布p(x)获得W的许多值(多解)。这一点和其他的线性因子模型,比如PPCA以及因子分析是不同的,这些模型经常要求p(h)是高斯分布的。

许多ICA的变种不是使用本文中使用的生成模型。许多ICA变种,只知道如何在xh之间进行转换,而不知道p(h)p(x)。例如,许多ICA变种的目标是提高h=W-1x的峰值,因为高的峰值表示,p(h)不是高斯分布,不过,这仍然没有明确表示p(h)。这是因为ICA多用于分离信号,而不是生成数据或者估计密度。

PC A一样,可以生成非线性自动编码器(14章中描述)一样,ICA可以哟个一个非线性生成模型,在这个模型中,我们使用一个非线性函数f来生成观察到的数据。另外一种ICA的生成模型,是来学习特征的组别,在组内可以有依赖关系,但是,在组之间是不允许有依赖关系的。当组别是不重复的,称为独立子空间分析(independent subspace analysis)。当应用到自然图片的时候,这种topographicICA方法学习到的是Gabor滤波器,临近的特征有相似的方向、位置以及频率。

13.3 Slow Feature Analysis

Slow feature analysis,慢特征分析是使用一定的信息从时间信号中得到不变量的一种线性分类器。

慢特征分析是由一个基本的原则——slowness principle来激励的。这个idea由来,是因为与组成这些场景的像素相比,场景的主要特征变换时缓慢的。在这里举了一个斑马的例子,一个斑马在场景中运动,对于一些位置的像素来说就会剧烈地在01之间进行变化,不过,场景中仍然是一只斑马,斑马的移动也是缓慢的。于是,我们就希望能够对模型做一些调整,学习随时间改变缓慢变化的特征。


Slowness principle在慢特征分析出现很久之前就出现了,已经被广泛地应用到各种模型中。总的来说,我们可以把slowness principle应用到任何使用梯度下降训练的可微模型中。这个slowness principle可以通过在损失函数上加上一项

在这里lamala是一个超参数,决定慢特征调整的强度。T是时间序列,f是待调整的特征提取,L是一个测量t时刻与t+1时刻的特征的距离的损失函数。一个损失函数的通常选择就是求平方差。

慢特征分析是slowness principle的一个特别高效的应用。它这么高效是因为它应用在一个线性特征提取,可以在一定的约束条件下(closed form)进行训练。和一些ICA的变种类似,SFA不是生成模型,定义了输入单元与输出特征的线性映射,但没有定义特征空间的鲜艳,没有引入输入空间的分布。

SFA算法,包括了定义一个线性映射f(x;theta),然后解决一个优化问题。

这里规定了零均值,和单位方差,零均值的原因是使问题唯一解,平方单位方差是为了预防一个病态解,就是所有的特征趋近于0。和PC A(主成分分析)一样,SFA生成的特征是有序的,第一维是最缓慢变化的特征。

如果为了学习多特征(multiplefeatures),我们加上一个新的约束:

这个约束表明,被学习的特征应该是线性去相关的。如果没有这个约束,所以的特征都有可能表示的是同一个最慢的特征。这个约束的作用是:减少重构误差以及使特征多样化。

当在一个自然场景的视频划分的小的空间块上,使用quadratic basis expansionsSFA学习到的特征与人类大脑中V1区域的皮质的复杂细胞,有很多相似的特性。使用#D电脑建立的环境训练,deep SFA学习到的特征与大鼠脑中用来导向的神经元类似。这从生物学的意义上,证明了SFA是有道理的。

SFA有很多优点,但是至今没有成为先进的应用,不清楚什么限制了它的表现。不过,在不考虑目标的速度时,目标的位置是有用信息,slowness principle却鼓励忽略高速运动的物体的位置信息。也可能是这个特性,限制了它的表现。

猜你喜欢

转载自blog.csdn.net/qq_26671711/article/details/53425574