Javen Chen's Blog

Tech and Life~

18. Confronting the Partition Function

配分函数(Partition Function)

许多概率模型(通常是无向图模型)由一个未归一化的概率分布$\tilde{p}(x,θ)$定义。

必须通过除以**配分函数Z(θ)来归一化$\tilde{p}$**,以获得一个有效的概率分布:$p(x;θ)=\frac{1}{Z(θ)}\tilde{p}(x;θ)$。

配分函数是未归一化概率所有状态的积分(对于连续变量)或求和(对于离散变量):$∫\tilde{p}(x)dx$或者$∑_x\tilde{p}(x)$。对很多有趣的模型,以上积分或求和难以计算。

Read more »

17. Monte Carlo Methods

随机算法:随机算法可以粗略地分为两类:拉斯维加斯算法(Las Vegas algorithms)和蒙特卡洛算法(Monte Carlo algorithms)。

拉斯维加斯算法(Las Vegas algorithms):总是精确地返回一个正确答案(或者返回算法失败)。 该方法通常需要占用随机量的计算资源(一般指内存或运行时间)。

蒙特卡洛算法(Monte Carlo algorithms):蒙特卡罗方法返回的答案具有随机大小的错误。

花费更多的计算资源(通常包括内存和运行时间)可以减少这种错误。 在任意固定的计算资源下, 蒙特卡罗算法可以得到一个近似解。

Read more »

16. Structured Probabilistic Models for Deep Learning

多样化的任务:

除了分类任务以外,很多任务需要对输入数据整个结构有完整理解,包括:

  • 1.概率密度估计(Density Estimation):给定一个输入x,机器学习系统返回一个对数据生成分布的真实密度函数p(x)的估计。
  • 2.去噪(Denoising):给定一个受损的或者观察有误的输入数据$\tilde{x}$,机器学习系统返回一个对原始的真实x的估计。
  • 3.缺失值的填补(Missing Value Imputation):给定x的某些元素作为观察值,模型被要求返回一些或者全部未观察值的估计或者概率分布。
  • 4.采样(Sampling):模型从分布$p(x)$中抽取新的样本。

非结构化建模的挑战

Read more »

15. Representation Learning

前馈网络:我们可以将监督学习训练的前馈网络视为表示学习的一种形式。
具体地,网络的最后一层通常是线性分类器,如softmax回归分类器。 网络的其余部分学习出该分类器的表示。

贪心逐层无监督预训练(Greddy Layer-Wise Unsupervised Pretrain):贪心逐层无监督预训练依赖于单层表示学习算法,例如RBM、单层自编码器、稀疏编码模型或其他学习潜在表示的模型。

每一层使用无监督学习预训练,将前一层的输出作为输入,输出数据的新的表示。 贪心逐层无监督预训练被称为贪心的,是因为它是一个贪心算法,这意味着它独立地优化解决方案的每一个部分,每一步解决一个部分,而不是联合优化所有部分。 它被称为逐层的,是因为这些独立的解决方案是网络层。

具体地,贪心逐层无监督预训练每次处理一层网络,训练第kk层时保持前面的网络层不变。无监督预训练结合了两种不同的想法:
第一,它利用了深度神经网络对初始参数的选择,可以对模型有着显著的正则化效果(在较小程度上,可以改进优化)的想法。
第二,它利用了更一般的想法——学习输入分布有助于学习从输入到输出的映射。

Read more »

14. Autoencoders

自编码器(Autoencoders)

自编码器是神经网络的一种,经过训练后能尝试将输入复制到输出。自编码器内部有一个隐藏层 $h$,产生编码表示输入

该网络由两部分组成:一个由函数$h = f(x)$表示的编码器和一个生成重构的解码器$r=g(h)$。 如果一个自编码器只是简单地学会将处处设置为$g(f(x)) = x$,那么这个自编码器就没什么特别的用处。

相反,我们不应该将自编码器设计成输入到输出完全相等:向自编码器强加一些约束,使它只能近似地复制,并只能复制与训练数据相似的输入。

Read more »

13. Linear Factor Models

线性因子模型(Linear Factor Models):线性因子模型通过随机线性解码器函数来定义,该函数通过对h的线性变换以及添加噪声来生成x。通常包含如下步骤:1.首先,我们从一个分布中采样解释性因子h,$h\sim p(h)$,其中p(h)是一个因子分布,满足$p(h)=\prod_i p(h_i)$;2.然后,我们对实值的可观察变量进行采样$x=Wh+b+noise$。

概率PCA、因子分析和其他线性因子模型仅在对观测到x之前的噪声分布和隐变量h先验的选择上有所不同。

因子分析(Factor Analysis):隐变量先验是一个方差为单位矩阵的高斯分布$h \sim N(h;0,I)$,同时假定在给定h的条件下观察值$x_i$是条件独立的。假设噪声是从对角协方差矩阵的高斯分布中采样的的,协方差矩阵为$ψ=diag(σ^2)$,容易看出,x服从多维正态分布,并满$x\sim N(x;b,WW^⊤+ψ)$。

概率PCA(Probabilistic PCA)和:在因子分析的基础上,使条件方差$σ^2_i$等于同一个值。x的协方差简化为$WW^⊤+σ^2_I$,或者等价的$x=Wh+b+σz$,其中$z\sim N(z;0,I)$

Read more »

12. Application

计算机视觉

计算机视觉的应用:计算机视觉的应用广泛:从复现人类视觉能力(比如识别人脸)到创造全新的视觉能力。

预处理:1.标准化:使得它们的像素都在相同并且合理的范围内,比如$[0,1]$或者$[-1,1]$。2.标准尺寸:裁剪或缩放图像以适应固定的尺寸。3.数据集增强:只对训练集做预处理,是减少大多数计算机视觉模型泛化误差的一种极好方法。

对比度归一化:对比度指的是图像中亮像素和暗像素之间差异的大小,在深度学习中,对比度通常指的是图像或图像区域中像素的标准差。

Read more »

11. Practical Methodology

实践设计流程

1.确定目标:使用什么样的误差度量(error metric),并为此指定目标值。

2.尽快建立一个端到端的的pipeline,包括估计合适的性能度量(performance metric)。

3.搭建系统,并确定性能瓶颈,检查哪个部分的性能差于预期,以及是否是因为过拟合、欠拟合,或者数据或软件缺陷造成的。

Read more »

10. Sequence Modeling: Recurrent and Recursive Nets

循环神经网络(Recurrent Neural Network,RNN)

  • 是一类用于处理序列数据的神经网络。
    -RNN在不同的时间点上共享参数,使得模型能够扩展到不同长度的样本并进行泛化。
  • 如果我们在每个时间点都有一个单独的参数,我们不但不能泛化到训练时没有见过序列长度,也不能在时间上共享不同序列长度和不同位置的统计强度。
  • $h^{(t)} = f (h^{(t−1)}, x^{(t)} ; θ)$

展开过程的两个主要优点

  • 无论序列的长度,学成的模型始终具有相同的输入大小。
  • 可以在每个时间节点使用相同的转移函数$f$。
Read more »

9. Convolutional Networks

卷积网络(Convolutional Networks):卷积网络是指那些至少在网络的一层中使用卷积运算来替代一般的矩阵乘法运算的神经网络。

卷积(Convolution)操作

  • 卷积是一种特殊的线性运算。
  • 假设我们正在用激光传感器追踪一艘宇宙飞船的位置,$x(t)$表示宇宙飞船在时刻t的位置,$x$和$t$都是实值。
  • 假设我们的传感器受到一定程度的噪声干扰。 为了得到飞船位置的低噪声估计,我们对得到的测量结果进行平均。
  • 显然,时间上越近的测量结果越相关,所以我们采用一种加权平均的方法,对于最近的测量结果赋予更高的权重。
    采用一个加权函数$w(a)$来实现,其中a表示某个测量的测量时刻:$s(t)=∫x(a)w(t−a)da$,或者用离散的表达式:$s(t)=(x∗w)(t)=∑_{a=−∞}^∞x(a)w(t−a)$。
  • 这就是卷积操作,可以用星号表示:$s(t)=(x∗w)(t)$。
  • $x$是输入(input);$w$是核(kernel);输出的$s$是特征映射(feature map)。

互相关函数(cross-correlation)

Read more »
0%