微调多层自编码算法
Contents[hide]
|
介绍
微调是深度学习中的常用策略,可以大幅提升一个栈式自编码神经网络的性能表现。从更高的视角来讲,微调将栈式自编码神经网络的所有层视为一个模型,这样在每次迭代中,网络中所有的权重值都可以被优化。
一般策略
幸运的是,实施微调栈式自编码神经网络所需的工具都已齐备!为了在每次迭代中计算所有层的梯度,我们需要使用稀疏自动编码一节中讨论的反向传播算法。因为反向传播算法可以延伸应用到任意多层,所以事实上,该算法对任意多层的栈式自编码神经网络都适用。
使用反向传播法进行微调
为方便读者,以下我们简要描述如何实施反向传播算法:
- 1. 进行一次前馈传递,对 层、 层直到输出层 ,使用前向传播步骤中定义的公式计算各层上的激活值(激励响应)。
- 2. 对输出层( 层),令
-
- (当使用softmax分类器时,softmax层满足:,其中 为输入数据对应的类别标签, 为条件概率向量。)
- 3. 对
- 令
- 令
- 4. 计算所需的偏导数:
注:我们可以认为输出层softmax分类器是附加上的一层,但是其求导过程需要单独处理。具体地说,网络“最后一层”的特征会进入softmax分类器。所以,第二步中的导数由 计算,其中 。
中英文对照
- 栈式自编码神经网络(可以考虑翻译为“多层自动编码机”或“多层自动编码神经网络”) Stacked autoencoder
- 微调 Fine tuning
- 反向传播算法 Backpropagation Algorithm
- 前馈传递 feedforward pass
- 激活值 (可以考虑翻译为“激励响应”或“响应”) activation