花书+吴恩达深度学习(二五)直面配分函数(CD, SML, SM, RM, NCE)

本文深入探讨了深度学习中无监督模型的配分函数计算问题,包括对比散度(CD)、随机最大似然(SML)、得分匹配(SM)、比率匹配(RM)以及噪声对比估计(NCE)。通过对这些方法的解析,阐述了在无向模型中如何处理配分函数的挑战,并分析了各种方法的优缺点及适用场景。
摘要由CSDN通过智能技术生成

如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

花书+吴恩达深度学习(二三)结构化概率模型(贝叶斯网络、马尔可夫网络)
花书+吴恩达深度学习(二四)蒙特卡罗方法(重要采样,MCMC)
花书+吴恩达深度学习(二五)直面配分函数(CD, SML, SM, RM, NCE)
花书+吴恩达深度学习(二六)近似推断(EM, 变分推断)

0. 前言

在基于概率的模型中,都需要计算如下概率分布:
p ( x ; θ ) = 1 Z ( θ ) p ~ ( x ; θ ) p(x;\theta)=\frac{1}{Z(\theta)}\tilde{p}(x;\theta) p(x;θ)=Z(θ)1p~(x;θ)

对于一些不得不计算 p ( x ) p(x) p(x)的模型,本章将介绍一些方法。

1. 对数似然梯度

通过最大似然学习无向模型的困难在于配分函数依赖于参数:
∇ θ log ⁡ p ( x ; θ ) = ∇ θ log ⁡ p ~ ( x ; θ ) − ∇ θ log ⁡ Z ( θ ) \nabla_\theta \log p(x;\theta)=\nabla_\theta \log \tilde{p}(x;\theta)-\nabla_\theta \log Z(\theta) θlogp(x;θ)=θlogp~(x;θ)θlogZ(θ)
当满足一些特定条件时,有:
∇ θ log ⁡ Z = E x ∼ p ( x ) ∇ θ log ⁡ p ~ ( x ) \nabla_\theta \log Z=\mathbb{E}_{x\sim p(x)}\nabla_\theta \log \tilde{p}(x) θlogZ=Exp(x)θlogp~(x)
这将问题分为了正相负相。在正相中,我们增大从数据中采样得到的 log ⁡ p ~ ( x ) \log \tilde{p}(x) logp~(x)。在负相中,我们降低从模型分布中采样的 log ⁡ p ~ ( x ) \log \tilde{p}(x) logp~(x)

1.1 朴素 MCMC 算法

算法如下图所示(图源:深度学习):

内循环中磨合马尔可夫链的计算代价过高,导致这个过程在实际中是不可行的。

1.2 对比散度算法 CD

算法如下图所示(图源:深度学习):

初始时,数据分布并不接近模型分布,因此负相并不是非常准确,但是正相可以准确的增加数据的模型概率,经过一段时间后,模型分布会接近数据分布,负相开始变得准确。

CD未能定性的实现真实负相的原因是,它不能抑制远离真实训练样本的高概率区域,这些区域在模型上具有高概率,但是在数据生成上具有低概率,称为虚假模态

基本上,除非 k k k非常大,模型分布中远离数据分布的峰值不会被使用训练数据初始化的马尔可夫链访问到。

1.3 随机最大似然 SML

又称为持续性对比散度 PCD,算法如下图所示(图源:深度学习):

基本思想是,只要随机梯度算法得到的步长很小,那么前一步骤的模型将类似于当前步骤的模型。因此,来自先前模型分布的样本将非常接近来自当前模型分布的客观样本,用这些样本初始化的马尔可夫链将不需要花费很多时间来完成混合。

2. 伪似然

蒙特卡罗近似配分函数及其梯度需要直接处理配分函数。而无向模型中很容易计算概率的比率:
p ( x ) p ( y ) = 1 Z p ~ ( x ) 1 Z p ~ ( y ) = p ~ ( x ) p ~ ( y ) \frac{p(x)}{p(y)}=\frac{\frac{1}{Z}\tilde{p}(x)}{\frac{1}{Z}\tilde{p}(y)}=\frac{\tilde{p}(x)}{\tilde{p}(y)} p(y)p(x)=Z1p~(y)Z1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值