阅读记录:Learning multiple layers of representation(杂乱笔记)

典型的浅层学习结构: 传统隐马尔可夫模型(HMM)、条件随机场

(CRFs)、最大熵模型(Maxent)、支持向量机(SVM)、核回归及仅含单隐层的多层感知器(MLP)等。

局部表示,分布式表示和稀疏表示:局部表示聚类算法,最近邻算法的输入空间切割局部之间互斥,分布式表达ICA、PCA和RBM,器所使用的特征较少,PCA和ICA能获取主要分量信息,但输出信号数目小于输入信号数目,不能很好地解决欠定问题。

 

Learning multiple layers of representation  Geoffrey E. Hinton

通过包含top-down连接的多层网络表达来训练对原始数据的重现,而不是训练直接对数据的分类。

学习特征:

BP通过迭代调整权值来优化网络的分类性能,这个需要有标数据。在包含bottom-up识别链接和top-down生成连接的网络中,通过bt来识别数据,通过tb来生成数据。我们通过调整bt的学习过程来最大化tb能生成原始感知数据。可以理解为高层网络抽象更高级集中的特征集合,并通过这个特征集合来指导低层的数据生成。

 

生成模型的推导(Inference in generative models):

调整一个生成模型最重要的问题是如何用现有的生成参数和隐藏单元来生成观察到的数据。而随机生成模型在生成实际数据方面有很多困难,最好使用不同的概率分布对应不同的可能隐藏单元的设置。比如组合的gaussian模型。推导过程由计算每个gaussian中能出现实际数据向量的概率的过程组成。This is easy because the posterior probability assigned to each gaussian in the mixture is simply proportional to the probability density of the data-vector under that gaussian times the prior probability of using that gaussian when generating data

 

统计学机器学习中常用的生成模型:

Factor analysis:只有一个隐藏层,隐藏单元对可视单元的影响是线性的(能量定义,一阶线性)。并且对每个可视变量添加独立的高斯噪音作为补充(偏见)。对于给定的可视层向量,可以计算出其高斯后验概率的平均值和协方差,并以此对模型参数进行调优。

 

Independent components analysis:该高斯因子允许有非高斯的隐藏单元,但是通过降低可视层中的可见噪音来保证推导的可行性。并且可视层单元个数和隐藏层单元个数是一样的。这些限制每个隐藏单元只有一个设定值来产生每个可视向量,从而使得后验概率折叠到一个点。

Mixture models:每个数据向量都是看做是在混合的联合概率分布中产生,计算联合分布概率的密度比较容易。

 

多层生成模型(Multiplayer generative models):退如果能推导出每个数据向的隐藏单元的后验分布,学习一个多层的网络会比较容易。并且如果我们能从后验概率分布中的到无偏数据。我们通过简单调整参数来使上层神经单元样例能产生下层神经单元的概率提升。

 

图a中,训练使用delta法则。hi,是“神经后突触”单元的推导状态或者叫目标值, 是在该单元出现给定状态的概率。Hj是所有的作为预测的“神经前突触”(与i有关的)。

是从j单元到i单元的权值调整大小。该示例中i为隐藏单元,如果i为可视单元,Hi采用在训练样例中的实际状态值。如果训练向量等概率选择,并且隐藏单元的状态从给定的训练向量后的隐藏单元的状态的后验概率冲抽样,公式1的学习法则会有良好的预期效果,使生成模型在运行N次后能产生完全相同的N个训练向量。

 

 

多层生成模型的近似推导(Approximate inference for multilayer generative Models):上图a中没有bottom-up的识别链接。隐藏单元j为1的推导概率为 。推导过程没有考虑explaining away,所以并不正确。因为存在比公式1更泛化的目标函数所以用这个不正确的推导还是能进行学习。我们可以考虑推导的准确度来代替之考虑产生训练样例的对数概率分布。保证其他条件不变的情况下,我们希望我们的估计方法尽量准确。甚至我们更倾向于能保证对隐藏表达更精准的推导。这样讲训练眼里的推导上的不正确作为最大化观测数据的对数概率的的惩罚项。通过学习来优变量边界是在复杂生成模型中常用的解决棘手的推导的方法。类似的近似学习方式已经实现,但是如果采用初始随机权值学习会比较慢。

 

非线性快速精确推导模块:a nonlinear module with fast exact inference.:这部分讨论内容为RBM,开始设置权值为0,然后通过

来重复调整权值。其中 是像素i和特征器j “on together”的频率,j是由训练集中的图像驱动。 是特征检测器由重构的图片驱动时的频率。

在给定的一个训练向量,隐藏单元为1的概率为

我们以这个概率设置隐藏单元的状态,在设置好隐藏单元的状态后。通过隐藏单元设置的状态

 

通过上面概率来设置可见单元的状态来重构图片。

上两式直接决定条件分布 ,间接决定联合分布和边缘分布 。从随机选择的图片开始通过迭代吉布斯抽样调整特征和重构像素。经过足够多的迭代次数后,像素单元和特征检测单元的状态还是要改变,但是实际中的系统状态概率不再改变。通过描述达到平衡时的可见层状态,我们可以得到模型得出的向量分布。

RBM比一层隐藏层的有向模型表现要好点,首先,其推导过程比较简单:对于给定的隐藏单元,隐藏单元上的后验分布可以分解为单个隐藏单元上的相互独立的分布来计算。使用RBM多次训练深层网络模型比较容易。

正如我们会明白的,通过堆积RBM来学习深层有向网络比较容易。但是在个体模型学习效果并不好,因为有向模型期望能学习到独立边缘分布的隐藏样例。这样就是的生成模型的独立样例对数据分布产生了不好的估计。

 

组合RBM来学习多层特征(Learning many layers of features by composing RBMs):低层学习的隐藏单元的活动可以作为高层学习用的数据。我们将模拟数据分布的问题P0分解为两个容易的的问题P1。我们只需要解决如何模拟数据分布P1和如何把P1转换到P0就可以了。P1是通过 来得到每个训练向量的隐藏层状态来得到的。P1使得模型能够朝向比较容易建模的分布进行:模型的均衡分布。RBM的P1隐藏分布是P(h)【均衡分布】。从P1转换到P0的RBM的模型为 。

在第一层RBM学习后,将 保持为生成模型的一部分, 保持为衡量推导快速方法,但是我们将模型P1用更好的代替(即往上层训练更高级特征模型,但是概率推导过程保持)。然后我们将P1作为第二层训练RBM的数据。即得到组合的生成模型:

 

为了得到模型生成结果。我们需要从顶层RBM获取一个均衡样例;但是我们仅仅执行了到底层权值的向下过程。组合模型顶层两层是无向关联记忆体但其他低层的为有向生成模型。

posted @ 2013-06-30 23:11  BeDPS  阅读(885)  评论(0编辑  收藏  举报