重构(Reconstruction)是指从经过变换的数据中恢复出原始数据。基本上,所有的深度学习算法中都用到了重构这一思想。
1. 概述
深度学习中的重构主要有两种:
- Value-based。 即基于值的重构。比如,平方误差。
- Distribution-based。即基于分布的重构。比如交叉熵误差。这类重构一般都基于信息论准则。
深度学习中用到重构比较多的模型主要是自动编码机(Autoencoder)和限制玻尔兹曼机(RBM)。这两种模型训练的基础都是基于重构误差最小化。而且,前者的训练使用的是Value-based重构误差最小化;而后者训练使用的是Distribution-based重构误差最小化。下面以这两种典型模型作为例子做深入探讨。
2. 自动编码机
其训练的基本原理就是使得重构误差(定义为模型输出值与原始输入之间的均方误差)最小化,从而可以无监督(实际上是使用了输入数据做监督信号)地训练出一个深度学习网络。
3. 限制玻尔兹曼机
玻尔兹曼是统计热力学的著名代表人物,玻尔兹曼机即是基于统计热力学原理提出的一种神经网络模型,因而得名。
限制玻尔兹曼机是玻尔兹曼机的简化,其层内无连接,层间全连接,相比于玻尔兹曼机结构有所简化。
玻尔兹曼机训练的基本思想是,通过训练使得训练后模型的可视层节点状态
v
和隐层节点状态
RBM的训练基于Gibbs采样,根据Gibbs采样原理,经过有限次Gibbs采样,可以逐渐逼近联合分布。这是RBM训练中的一个重要理论基础。
但是,由于状态空间巨大,RBM的训练比较困难。2006年Hinton提出了一种对比散度训练方法,这其实是对Gibbs采样过程的一种近似,但是却取得了很好的效果,从而使得RBM模型的训练成为可能。
基于信息论准则的一些训练方法应该是今后研究的一个重点方向。