您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 深度学习-7、自编码器
计算机科学与工程学院马千里第七节自编码器《神经网络与深度学习》自编码器(Autoencoders)•监督学习与无监督学习•自编码器(Autoencoders,AE)•欠完备自编码器•正则自编码器•稀疏自编码器•去噪自编码器•总结监督学习与无监督学习监督学习:训练集中有标签(labels),即输入的每个样本数据都有类别标签作为教师信号。无监督学习:没有教师信号,系统通过学习数据的内在结构形成“簇”或输入模式的自然分组。自编码器(Autoencoders,AE)监督学习:无监督学习:无标签,此时是否可以用样本自身来作指导信息?自编码器(Autoencoders,AE)自编码器是神经网络的一种,试图通过训练学习后将输入复制到输出。自编码器的一般结构,通过内部表示或编码h(又称隐变量,latentvariable)将输入x映射到输出。自编码器是神经网络的一种,试图通过训练学习后将输入复制(重构)到输出r(要和x越像越好)——编码自己!编码器(Encoder)解码器(Decoder)自编码器(AE)的一般结构如下。让输出与输入越相似越好!中间的维度为何比较小?维度和输入输出一样行不行?又称隐变量(latentvariable)原样复制,死记硬背即可,这样的自编码器没有任何意义!自编码器(AE)的一般结构如下。中间的维度为何比较小?维度和输入输出一样行不行?强制自编码器捕捉训练数据中最显著的特征。“浓缩”的才是精华!——隐变量不行。学不到有用特征,只是对数据复制拷贝。怎么理解隐变量(latentvariable)?latentvariables在上面的示例中,我们使用单个值来刻画输入图像的每个潜在属性。欠完备的自编码器——普通一般的自编码器•限制网络隐藏层中的节点数,“瓶颈”要比输入输出小。•根据重构误差惩罚网络,模型可以学习输入数据的最重要“编码”,以及从“编码”如何最好的重构原始输入。•理想情况下,这种编码将学习和描述输入数据的潜在属性。编码器解码器过去用:线性及非线性(sigmoid)层后来用:深度全连层现在用:ReLUCNN过去用:线性及非线性(sigmoid)层后来用:深度全连层现在用:ReLUCNN(upconv)欠完备的自编码器——普通一般的自编码器AE具有数据降维——非线性降维的作用。PCA:线性降维方法AE:非线性降维方法主成分分析法(PCA)和自编码器(AE)在降维时的区别示意图欠完备的自编码器——普通一般的自编码器自编码器则能够学习非线性流形(流形可理解为连续的非交叉的曲面)欠完备的自编码器——普通一般的自编码器•但是,编码器和解码器的容量过大也不行,有可能导致只是记忆训练数据,而无法学习到数据集中的任何有用信息。课本P307•像监督学习问题,我们可以对网络采用各种形式的正则化,以鼓励更好的泛化属性。——正则自编码器正则自编码器•稀疏自编码器•节点的不透明度与激活级别对应。稀疏自编码器将根据输入数据选择性地激活网络区域,达到稀疏正则化的效果。•稀疏性约束的实现方式,如L1正则化:•稀疏自编码器提供了一种不需要减少隐藏层的节点数量,就可以引入信息瓶颈的方法。•使隐含层中相对独立的结点对特定的输入特征或者属性变得更加敏感。正则自编码器•去噪自编码器•对输入略微增加噪声,通过训练之后得到无噪声的输出。•防止了自编码器简单的将输入复制到输出,从而提取出数据中有用的模式。自编码器用途之一•自编码器可以用来压缩降维。潜在空间的维数与重构的质量相关自编码器用途之二•自编码器是一种无监督学习技术,利用神经网络进行表示学习。经常用来预训练深度学习模型。训练完成后,把解码器(Decoder)去掉接上与问题相关的分类器,用待解决问题样本训练微调整个模型1、待解决问题往往只有小数据集;2、编码器可以用来初始化一个有监督学习的模型。一起训练整个模型总结•自编码器可以看做一种无监督的特征学习(featurelearning)模型,主要特点:•瓶颈:适当的约束中间隐变量的维度,“浓缩”。•容量:容量不宜过大,防止网络对输入的简单拷贝而无法学习有用信息。•自编码器的不足:•只能重构样本,无法生成新的样本。•如何生成新样本?——生成模型(VAE、GAN)Thankyou!
本文标题:深度学习-7、自编码器
链接地址:https://www.777doc.com/doc-7515468 .html