自编码

科技工作者之家 2020-11-17

自编码,又称自编码器(autoencoder),是神经网络的一种,经过训练后能尝试将输入复制到输出。自编码器(autoencoder)内部有一个隐藏层h,可以产生编码(code)表示输入。该网络可以看作由两部分组成:一个由函数h = f(x) 表示的编码器和一个生成重构的解码器r = g(h)。

简介自编码器(Autoencoder,AE)是一个3层或者大于3层的神经网络,将输入表达X编码为一个新的表达Y,然后再将Y解码回X。这是一个非监督学习算法,使用反向传播算法来训练网络使得输出等于输入。当向网络中添加一些限制时,可以学到一些关于输入表达的有趣结构。当隐含层节点数d比输入层节点数n小时,可以得到一个输入的压缩表达。当d比n大时,添加一些限制,比如稀疏限制,会得到类似于稀疏编码的结果。

发展自编码器的想法一直是神经网络历史景象的一部分 (LeCun, 1987; Bourlard and Kamp, 1988; Hinton and Zemel, 1994)。传统自编码器被用于降维或特征学习。近年来,自编码器与潜变量模型理论的联系将自编码器带到了生成式建模的前沿。自编码器可以被看作是前馈网络的一个特例,并且可以使用完全相同的技术进行训练,通常使用小批量梯度下降法(其中梯度基于反向传播计算) 。不同于一般的前馈网络,自编码器也可以使用再循环(recirculation)训练 (Hinton and McClelland, 1988),这种学习算法基于比较原始输入的激活和重构输入的激活。

欠完备自编码器:从自编码器获得有用特征的一种方法是限制h的维度比x小,这种编码维度小于输入维度的自编码器称为欠完备(undercomplete)自编码器。学习欠完备的表示将强制自编码器捕捉训练数据中最显著的特征。

正则自编码器:编码维数小于输入维数的欠完备自编码器可以学习数据分布最显著的特征。我们已经知道,如果赋予这类自编码器过大的容量,它就不能学到任何有用的信息。如果隐藏编码的维数允许与输入相等,或隐藏编码维数大于输入的过完备(overcomplete)情况下,会发生类似的问题。在这些情况下,即使是线性编码器和线性解码器也可以学会将输入复制到输出,而学不到任何有关数据分布的有用信息。理想情况下,根据要建模的数据分布的复杂性,选择合适的编码维数和编码器、解码器容量,就可以成功训练任意架构的自编码器。正则自编码器提供这样的能力。正则自编码器使用的损失函数可以鼓励模型学习其他特性(除了将输入复制到输出),而不必限制使用浅层的编码器和解码器以及小的编码维数来限制模型的容量。这些特性包括稀疏表示、表示的小导数、以及对噪声或输入缺失的鲁棒性。即使模型容量大到足以学习一个无意义的恒等函数,非线性且过完备的正则自编码器仍然能够从数据中学到一些关于数据分布的有用信息。

稀疏自编码器一般用来学习特征,以便用于像分类这样的任务。稀疏正则化的自编码器必须反映训练数据集的独特统计特征,而不是简单地充当恒等函数。以这种方式训练,执行附带稀疏惩罚的复制任务可以得到能学习有用特征的模型。由于自编码器的潜在表示y是对于输入x的一种有损压缩。优化和训练只能让它对于训练集合来说是很好的压缩表示,但并不是对于所有的输入都是这样。为了增加隐藏层的特征表示的鲁棒性和泛化能力,引入去噪自编码器。

去噪自编码器在自编码器的基础上,在输入中加入随机噪声再传递给自编码器,通过自编码器来重建出无噪声的输入。加入随机噪声的方式有很多种。该过程随机的把输入的一些位(最多一半位)设置为0,这样去噪自编码器就需要通过没有被污染的位来猜测被置为零的位。能够从数据的抽样部分预测整体数据的任何子集是在该抽样中能够找到变量联合分布的充分条件(Gibbs抽样的理论依据),这说明去噪自编码器能够从理论上证明潜在表示能够获取到输入的所有有效特征。

特征表达及数据降维特征表达及数据降维真实世界中存在大量非常复杂的事物和现象,通常我们希望能够以一种更加简洁且完整的方式去表示一个事物或现象,这就需要去揭示隐藏在复杂表象下的事物或现象的客观规律。从某个事物或现象(例如天气状况)中抽象出一些数据(如温度、湿度、风力等),通过多个变量来表示或描述一个现象,这个多维变量叫做特征。特征作为机器学习系统的原材料,对于最终模型的影响毋庸置疑。机器学习算法的性能在很大程度上取决于数据表达或特征表达的选择,当数据能够被很好地表达为特征时,即便使用简单的模型也可达到满意的精度。故在实际应用机器学习算法时,很重要的一个步骤是怎样预处理数据以得到一个好的特征表达。真实世界中的数据通常是高维的。对高维数据的处理包括两点特性。第一点是“维数灾难”,它给后面的数据处理带来困难,是处理高维数据时遇到的最大问题之一;第二点是“维数福音”,高维数据中包含着关于客观事物和现象的极为全面和丰富的信息,蕴含着解决问题的可能性,当然也含有很多冗余信息。作为一类普遍存在的规律,在大多数情况下我们观察到的从表面上看是高维的、复杂的事物或现象,实际上是可以用少量的简单变量来支配的。处理高维数据的关键是在众多的因素中找到事物的本质规律。在图像处理领域,原始像素值作为初级特征表达时通常维度很高,需要采用合适的降维方法对图像高维特征进行处理,以得到更加简洁而有效的特征表达。数据降维技术可以克服“维数灾难”,在模式识别、数据挖掘、机器学习等领域都具有广泛应用,相应研究方兴未艾1。

本词条内容贡献者为:

宋春霖 - 副教授 - 江南大学

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。