多层自编码器由多个稀疏自编码器和一个Softmax分类器构成;(其中,每个稀疏自编码器的权值可以利用无标签训练样本得到, Softmax分类器参数可由有标签训练样本得到)
多层自编码器微调是指将多层自编码器看做是一个多层的神经网络,利用有标签的训练样本集,对该神经网络的权值进行调整。
1多层自编码器的结构
多层自编码器的结构如图1所示,它包含一个具有2个隐藏层的栈式自编码器和1个softmax模型;栈式自编码器的最后一个隐藏层的输出作为softmax模型的输入,softmax模型的输出作为整个网络的输出(输出的是条件概率向量)。
图1 多层自编码器的结构
微调多层自编码器的流程图如图2所示,该流程主要包括三部分:
(1)初始化待优化参数向量
(2)调用最优化函数,计算最优化参数向量
(3)得到最优化参数向量,可以转换为网络各结构所对应的参数
其中,最小化代价函数主要利用minFunc函数,该优化函数格式如下:
可知,为了实现优化过程,最为关键问题就是编写stackedAECost函数
图2 多层自编码器的微调流程
2整个网络参数的初始化
整个网络的参数stackedAETheta(列向