青藏高原对我国的气候有什么影响( 六 )


5 深层模型的层次组件
深层模型是包含多个隐藏层的神经网络 , 每一层的具体结构又是怎样的呢?本节介绍一些常见的深层模型基本层次组件 。
5.1 自编码器(Auto-Encoder)
一种常见的深层模型是由自编码器(Auto-Encoder)构造的[6] 。自编码器可以利用一组无标签的训练数据{x(1), x(2), … }(其中x(i)是一个n维向量)进行无监督的模型训练 。它采用反向传播算法 , 让目标值接近输入值 。下图是一个自编码器的示例:
自编码器尝试训练一个恒等函数 , 让输出接近等于输入值 , 恒等函数看似没有学习的意义 , 但考虑到隐藏层神经元的数目(本例中为3个)小于输入向量的维数(本例中为6维) , 事实上隐藏层就变成了输入数据的一种压缩的表示 , 或说是抽象的简化表示 。如果网络的输入是完全随机的 , 将高维向量压缩成低维向量会难以实现 。但训练数据往往隐含着特定的结构 , 自编码器就会学到这些数据的相关性 , 从而得到有效的压缩表示 。实际训练后 , 如果代价函数越小 , 就说明输入和输出越接近 , 也就说明这个编码器越靠谱 。当然 , 自编码器训练完成后 , 实际使用时只需要它的前一层 , 即编码部分 , 解码部分就没用了 。
稀疏自编码器(Sparse Auto-Encoder)是自编码器的一个变体 , 它在自编码器的基础上加入正则化(Regularity) 。正则化是在代价函数中加入抑制项 , 希望隐藏层节点的平均激活值接近于0 , 有了正则化的约束 , 输入数据可以用少数隐藏节点表达 。之所以采用稀疏自编码器 , 是因为稀疏的表达往往比稠密的表达更有效 , 人脑神经系统也是稀疏连接 , 每个神经元只与少数神经元连接 。
降噪自编码器是另一种自编码器的变体 。通过在训练数据中加入噪声 , 可训练出对输入信号更加鲁棒的表达 , 从而提升模型的泛化能力 , 可以更好地应对实际预测时夹杂在数据中的噪声 。
得到自编码器后 , 我们还想进一步了解自编码器到底学到了什么 。例如 , 在10×10的图像上训练一个稀疏自编码器 , 然后对于每个隐藏神经元 , 找到什么样的图像可以让隐藏神经元获得最大程度的激励 , 即这个隐藏神经元学习到了什么样的特征 。将100个隐藏神经元的特征都找出来 , 得到了如下100幅图像:
可以看出 , 这100幅图像具备了从不同方向检测物体边缘的能力 。显然 , 这样的能力对后续的图像识别很有帮助 。
5.2 受限玻尔兹曼机(Restricted Boltzmann Machine , RBM)
受限玻尔兹曼机(Restricted Boltzmann Machine ,  RBM)是一个二部图 , 一层是输入层(v) , 另一层是隐藏层(h) , 假设所有节点都是随机二值变量节点 , 只能取值0或1 , 同时假设全概率分布p(v, h)满足Boltzmann分布 。
由于同层节点之间没有连接 , 因此已知输入层的情况下 , 隐藏层的各节点是条件独立的;反之 , 已知隐藏层的情况下 , 输入层各节点也是条件独立的 。同时 , 可以根据Boltzmann分布 , 当输入v时通过p(h|v)生成隐藏层 , 得到隐藏层之后再通过p(v|h)生成输入层 。相信很多读者已经猜到了 , 可以按照训练其他网络类似的思路 , 通过调整参数 , 希望通过输入v生成的h , 再生成的v’与v尽可能接近 , 则说明隐藏层h是输入层v的另外一种表示 。这样就可以作为深层模型的基本层次组件了 。全部用RBM形成的深层模型为深度玻尔兹曼机(Deep Boltzmann Machine , DBM) 。如果将靠近输入层的部分替换为贝叶斯信念网络 , 即有向图模型 , 而在远离输入层的部分仍然使用RBM , 则称为深度信念网络(Deep Belief Networks , DBN) 。


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。