Cousera - Machine Learning for Neural Networks - 课程笔记 - Week 14

Deep Neural Nets with Generative Pre-training

Learning Layers of Features by Stacking RBMs

  • 层叠RBM的训练

    • 先训练一层RBM
    • 然后将这一层RBM的激活值作为输入训练第二层RBM
    • 不断叠加
  • 称之为深度信念网络

    • 最顶层仍然类似RBM
    • 底层变成有向图,仅由隐藏层指向可视层
    • 整体不再是玻尔兹曼机,因为底层的链接不再对称
  • 产生数据(3层网络为例)

    • 对最顶层RBM不断进行Gibbs采样(h3和h2),直到热平衡
    • 使用h2利用W2直接得到h1一次
    • 同样地,向下利用W1得到数据
    • h1和h2,data和h1之间的由底层向上层的链接只用于推断,实际上可以是向下权重的转置(近似方法)
  • 平均两个因子分布(Factorial Distribution)并不能得到一个因子分布

    • 乘积因数的加法平均不能保证乘法效应的一致性
  • 贪婪式训练

    • RBM可以定义大量的概率分布: p ( v ∣ h ) , p ( h ∣ v ) , p ( v , h ) , p ( h ) , p ( v ) p(v | h), p(h | v), p(v, h), p(h), p(v) p(vh),p(hv),p(v,h),p(h),p(v)
    • 可以将RBM模型表示为 p ( v ) = ∑ h p ( h ) p ( v ∣ h ) p(v) = \sum_h p(h) p(v | h) p(v)=hp(h)p(vh)
    • 给定 p ( v ∣ h ) p(v | h) p(vh),提升 p ( h ) p(h) p(h)就会提升 p ( v ) p(v) p(v)
    • 将第一个RBM的权重转置,继续训练第二个RBM,效果会更好
  • 使用wake-sleep算法对训练好的深度信念网络进行微调

    • 随机的一次自下而上的过程,以调整自上而下的权重,更好地重建下层特征(wake)
    • 对顶层RBM采样,迭代若干次,使用CD方法调整权重
    • 利用顶层RBM的可视层,进行一次自上而下的过程,调整自下而上的权重,以更好的重建上层特征(sleep)
    • 相比于传统的算法,顶层RBM比一个顶层神经元层更好
  • 一个例子:底层无监督地训练,顶层带标签地进行训练(soft match)

Discriminative Learning for DBNs

  • 微调DBN以更判别性地分类
  • 微调过程
    • 首先在堆叠RBM过程中,每次学习一层
    • 将整个训练过程视为“预训练”,可以在后期进行微调(局部搜索)
      • 对比wake-sleep算法
    • 使用反向传播使网络更具有判别性
      • 深网络更容易学习
      • 更易泛化
  • 反向传播对于贪婪式预训练更好
    • 贪婪式与训练对于大网络非常好,尤其是存在局部性的时候
    • 直到网络具有足够好的特征检测器之后再进行反向传播
    • 预训练后的权重已经能够反应数据的一些信息
    • 微调只会轻微调整特征以保证类别边界正确,不需要发现新特征
    • 使用反向传播,尽管大部分数据无标签也能很好地工作
    • 一个问题:针对判别性任务,很多学到的特征是没有用的
  • 在最顶层加入一个softmax层分类,并使用反向传播微调权重

What happens during discriminative fine-tuning?

  • 底层权重基本没有变化,但是对网络的分类性能有很大提升
  • 微调操作使深层网络的性能比浅层网络更好
  • 类别标签本身包含了一些依赖于现实事物的信息,因此预训练能够更好的维持这些关联

Modeling Real-valued Data with an RBM

  • RBM对于实际应用中的含高斯噪声的线性单元的处理
  • 可视层使用高斯单元,隐藏层使用ReLU
  • 对手写数字数据集,采用中间强度值(小于1的实数)代表均值域逻辑单元的概率
  • 但是实际图像不能这么干,因为其像素值几乎概率为1地为周围像素的均值
  • 可视层使用高斯单元: E ( v , h ) = ∑ i ( v i − b i ) 2 2 σ 2 − ∑ j b j h j − ∑ i , j v i σ i h j w i j E(\bold v, \bold h) = \sum_i \frac{(v_i - b_i)^2}{2 \sigma^2} - \sum_j b_j h_j - \sum_{i, j} \frac {v_i} {\sigma_i} h_j w_{ij} E(v,h)=i2σ2(vibi)2jbjhji,jσivihjwij
    • 能量函数由 b i b_i bi平移的抛物线,并且受到交叉项所代表的常数梯度对应先的斜度控制开口
    • 应用中很容易出问题——权重从v到h被标准差除(集中),从h到v被标准差乘(削减),会使得两层权重很极端,导致隐藏层会一直要么on要么off
    • 解决方案:隐藏层设置原本可视层多的单元,以产生足够大的h到v的权重作用效果
    • 在标准差变得更小的时候,需要改变隐藏层单元数量

在这里插入图片描述

  • 阶段性sigmoid单元:
    • 从一个随机二值单元获取若干拷贝
    • 所有的拷贝具有相同的权重和相同的自适应偏置量,但是每一个都针对偏置量有一个偏移量
    • 随着标准差不断变小,被on的隐藏单元个数会线性增加
  • 快速近似: < y > = ∑ n σ ( x + 0.5 − n ) ≈ log ⁡ ( 1 + e x ) ≈ max ⁡ ( 0 , x + n o i s e ) <y> = \sum_n \sigma(x + 0.5 - n) \approx \log(1 + e^x) \approx \max(0, x + noise) <y>=nσ(x+0.5n)log(1+ex)max(0,x+noise)
    • ReLU更快,实际更实用
  • ReLU的一个性质,如果偏置项为0,那么尺度对线性变换等价
    • 表达卷积网络中的平移等价性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值