AI机动队
首发于AI机动队
线性因子模型——深度学习第十三章

线性因子模型——深度学习第十三章

继续深度学习花书总结,从第十三章开始,主要是一些前沿研究领域。之前总结的方法大部分是在有大量数据情况下的监督学习方法,而假如我们想减小数据量的要求,则需要一些无监督学习及半监督学习方法,虽然有很多无监督学习方法,但是目前还无法达到深度学习在监督学习问题中所达到的精度,这常常是由于我们需要解决的问题的维度过高或计算量过大造成的。

无监督学习常常需要建立一种依赖于观察数据的概率模型 p_{model}(x) ,但由于实际观察的数据x常常比较杂乱没有规律,通常我们会用某种代表了更低维基本特征的隐性变量(latent variables) h 来更好的表征数据,将问题转化为 p_{model}(x) = E_hp_{model}(x|h) ,这一章主要介绍了最基本的利用隐性变量的概率模型——线性因子模型(Linear Factor model),即假定h取自某种先验分布(prior distribution) h \sim p(h) ,而我们观察到的数据是 h 的线性变换与一些随机噪声的叠加,用式子表示为 x = Wh + b + noise ,之后讨论的不同方法会选择不同的 p(h) 和noise分布。

因子分析(Factor Analysis)模型中, h 满足单位高斯分布 h \sim N(h;0,I) ,而观察数据 x 相对于 h 则相互条件独立,noise来自于对角协方差高斯分布,其协方差矩阵 \psi = diag(\sigma ^2) ,其中 \sigma ^2 = [\sigma_1 ^2,\sigma_2 ^2,...,\sigma_n ^2]^T 是每个变量的协方差。

概率主成分分析(Probabilistic PCA)模型与因子分析模型类似,但是我们令所有的协方差 \sigma_i ^2 都相等,即 x = Wh + b + \sigma z 其中 z \sim N(z;0,I) 是单位高斯噪声。

独立成分分析(Independent Component Analysis)简称ICA,希望隐性变量尽量互相独立,通常应用于将多元叠加的信号分割成各自独立的信号,例如将收集到的不同人的语音信息的叠加分割成原本每个人的语音。由于目的是隐性变量相互独立,所以其先验分布为非高斯分布。另外,ICA并不一定需要生成模型即知道怎样模拟 h 的生成概率分布p(h) ,许多ICA的变种只是将目标定为尽量提高 h=W^{-1}x 的峰度以尽可能偏离高斯分布,而无需明确的表示h 的生成概率分布p(h)

慢特征分析(Slow Feature Analysis)简称SFA,希望学习随时间变化较为缓慢的特征,其核心思想是认为一些重要的特征通常相对于时间来讲相对变化较慢,例如视频图像识别中,假如我们要探测图片中是否包含斑马,两帧之间单个像素可能从黑突变为白,所以我们需要一些随时间变化更慢的特征来决定我们的预测结果。假设我们的特征提取函数为 f ,则慢特征原则希望减小如下的损失函数 \lambda \sum _t L(f(x^{(t+1)}),f(x^{(t)})) 。SFA即假定特征提取函数 f(x;\theta) 为线性变换,进而解决如下的优化问题

min_{\theta}E_t(f(x^{(t+1)})_i-f(x^{(t)})_i)^2

并要求限制条件 E_t(f(x^{(t)})_i)=0E_t[f(x^{(t)})_i^2]=1 以保证解的唯一性。

另外我们还要求各个不同特征之间是去相关的 \forall i<j, E_t[f(x^{(t)})_if(x^{(t)})_j]=0 ,否则所有的特征都会变成最慢的那个信号的不同表征。

稀疏编码(Sparse Coding)希望隐性特征更稀疏,即集中在少数几个特征上,所以它的先验函数通常选为在零点附近有比较陡峭的峰值的函数,例如拉普拉斯函数 p(h_i)=Laplace(h_i;0,\frac{2}{\lambda})=\frac{\lambda}{4}e^{-\frac{1}{2}\lambda|h_i|}

而noise是高斯噪声 p(x|h)=N(x;Wh+b,\frac{1}{\beta}I)

我们的而优化问题是 argmin_h \lambda||h||_1+\beta||x-Wh||_2^2


总结一下,因子分析,概率PCA,ICA,SFA即稀疏编码等线性因子模型是比较简单的学习数据的高效表征的方法,而且它们也可以扩展为之后更复杂的自编码网络以及深度概率模型,所以有必要对其有基本的理解。

发布于 2018-10-03

文章被以下专栏收录