论文笔记|A Practical Guide to Training Restricted Boltzmann Machines

目录

1 简介 1
2 RBMs和对比散度的概览 1
3 当使用对比散度时如何收集统计信息 2
3.1 更新隐藏状态 2
3.2 更新可见状态 3
4 Mini-batch大小 3
5 监控学习的过程 3
6 监控过拟合 3
7 学习率 3
8 初始化权重和偏置 4
9 Momentum 4
10 权重衰减 4
11 鼓励稀疏的隐藏活跃 4
12 隐藏单元的数量 4
13 单元的不同类型 5
14 contrastive divergence变体 5
15 显示在学习中发生了什么 5
16 使用RBM进行识别任务 5
17 处理缺失值 5

4 The size of a mini-batch

【理想的mini-batch 大小经常等于分类的数量,每一个mini-batch应该包含每个类别的一个样例,减少采样错误。】

在单个训练案例上估计梯度后更新权重是可能的,但将训练集划分为10 ~ 100个案例的小"小批量"往往更有效率。这使得矩阵-矩阵乘法可以被使用,这在GPU板上或在Matlab中都是非常有利的。

为了避免在改变小批量的大小时不得不改变学习率,将在小批量上计算的总梯度除以小批量的大小是很有帮助的,因此在谈论学习率时,我们将假设它们乘以在小批量上计算的平均每例梯度,而不是小批量的总梯度。

在使用随机梯度下降法时,使小批量样本过大是一个严重的错误。增加小批量的N倍导致更可靠的梯度估计,但不会增加最大稳定学习率的N倍,因此净效应(net effect)是每个梯度评估的权重更新较小。

4.1 A recipe for dividing the training set into mini-batches 将训练集划分为小批量的方法

(1)理想的mini-batch 大小经常等于分类的数量,每一个mini-batch应该包含每个类别的一个样例,减少采样错误。

对于包含少量等概率类(equiprobable classes)的数据集,理想的mini - batch大小往往等于类的数量,并且每个mini - batch应该包含每个类的一个样本,以减少从单个mini - batch估计整个训练集的梯度时的抽样误差。

(2)对于其他数据集,首先将训练样本的顺序随机化,然后使用大小约为10的mini-batch。

5 Monitoring the progress of learning 监控学习进度

【容易计算训练数据和重建之间的平方误差,这个衡量指标通常在训练过程中输出。

它系统性的战胜了下面两个指标,第一个是在训练数据的空间分布和RBM均衡分布的差异;第二个是交替吉布斯马尔可夫链的mixing rate。】

在学习过程中经常要输出数据与重建结果之间的误差平方和。在整个训练集上的重建误差应该在学习开始时迅速持续下降,然后缓慢地下降。

由于梯度估计中存在噪声,在初始快速下降后,个体小批量上的重建误差会平缓波动。当使用高动量时,它还可能以几个小批量的周期平缓振荡。

虽然方便,但重建误差实际上是一个很差的衡量标准。CDn学习不是一个近似最优的函数,特别是当n > > 1时,它混淆了在学习过程中不断变化的两个不同的量。

①首先是训练数据的经验分布与RBM的均衡分布之间的差异。

②第二个是交替Gibbs Markov链的混合率(mixing rate)。如果混合率很低,即使在数据和模型的分布有很大差异的情况下,重构误差也会很小。随着权重的增加,混合率下降,因此重建误差的减小并不一定意味着模型在改善,反之,小幅度的增加并不一定意味着模型在恶化。然而,大的增加是一个不好的征兆,除非它们是暂时的,并且是由学习率、动量、权重成本或稀疏性元参数的变化引起的。

5.1 A recipe for using the reconstruction error 重建误差的使用方法

用它但不要相信它。如果你想知道在学习过程中发生了什么,可以使用多个直方图和图形,如第15节所述。还可以使用退火重要采样Annealed Importance Sampling对持有数据进行密度估计。如果学习有标签数据(见第16节)的联合密度模型,要考虑监测训练数据和保留的验证集上的判别性能。

6 Monitoring the overfitting

在学习一个生成模型时,需要监控的明显量(the obvious quantity)是当前模型分配给一个数据点的概率。当这种概率开始降低时,对于被保留的验证数据是而停止学习的时候。对于大型的RBM来说,计算这个概率是非常困难的,因为它需要知道配分函数。尽管如此,通过比较训练数据和留出的验证数据的自由能(free energies),可以直接监测过拟合。在这种比较中,配分函数抵消掉了。一个数据向量的自由能可以在一个与隐藏单元数(见第16.1节)成线性关系的时间内计算。如果模型完全不过拟合,则训练和验证数据上的平均自由能应该大致相同。随着模型开始过拟合,验证数据的平均自由能相对于训练数据的平均自由能会上升,这个差距代表过拟合的量。

6.1 A recipe for monitoring the overfitting 监测过拟合的方法

每隔若干个epochs后,计算训练数据代表子集的平均自由能,并将其与验证集的平均自由能进行比较。始终使用相同的训练数据子集。如果差距开始增长,模型就会过拟合,尽管训练数据的概率可能会比差距增长得更快,验证数据的概率仍然可能会提高。在计算希望比较的两个平均值时,确保使用相同的权重。

7 The learning rate 学习率

【学习率不能很大。】

如果学习率过大ÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值