深度学习之自编码器

1、自编码的定义

  自编码器是一种数据的压缩算法,属于无监督学习,以自身X作为输出值,但输出值X‘ 和自身X之间还是有一些差异的。自编码器也是一种有损压缩,可以通过使得损失函数最小,来实现X’ 近似于X的值。简单的自编码器是一种三层的神经网络模型,包含数据输入层、隐藏层、输出重构层,同时也是一种无监督学习模型。从输入层到隐层称为编码过程,从隐层到输出层称为解码过程。自编码其就相当于自己生成标签,而且标签就是样本数据本身。三层自编码神经网络的模型如下:

  

  自编码的两个过程

  1)输入层——隐层的编码过程:

    

  2)隐层——输出层的解码过程

    

  这之间的压缩损失就是

    

  很多人在想自编码到底有什么用,输入和输出都是本身,对于这样的操作有和意义,主要有两点:

  1)自编码可以实现非线性降维,只要设定输出层中神经元的个数小于输入层中神经元的个数就可以对数据集进行降维。反之,也可以将输出层神经元的个数设置为大于输入层神经元的个数,然后在损失函数构造上加入正则化项进行系数约束,这时就成了稀疏自编码。

  2)利用自编码来进行神经网络预训练。对于深层网络,通过随机初始化权重,然后用梯度下降来训练网络,很容易发生梯度消失。因此现在训练深层网络可行的方式都是先采用无监督学习来训练模型的参数,然后将这些参数作为初始化参数进行有监督的训练。

2、常见的自编码器

  1)欠完备自编码器

  欠完备自编码器就是将输出层中神经元的个数设置为小于输入层中神经元的个数,以达到非线性降维的效果(在神经网络的传递过程中由于激活函数的存在,因此是非线性的传递)。

  2)稀疏自编码器

  稀疏自编码就是对隐层的神经元加入稀疏约束,以便约束隐层中神经元不为0的个数,我们希望达到用尽可能少的神经元来表示数据X,以达到稀疏降维。稀疏自编码有加速网络训练的功能。

  3)收缩自编码器

  收缩自编码是在损失函数中加入一项平方Frobenius范数的正则项,其表达式如下

    

    

  4)栈式自编码

  栈式自编码主要是用来实现深度学习的无监督预训练的,其无监督预训练过程如下

  对于一个四层的神经网络

  

  首先采用稀疏自编码器,训练从输出层到H1层的参数

  

  训练完毕之后我们去除解码层,接着把H1层的输出数据作为H2层的输入数据,然后进行自编码

  

  训练完之后去除H2层的解码器。对于更高层的网络,依次去训练两层之间的参数,直达最后一层隐层,然后利用softmax进行多分类

  

  做完无监督预训练之后,将得到的参数作为初始化参数,之后采用监督学习对模型参数进行微调。

原文地址:https://www.cnblogs.com/jiangxinyang/p/9302179.html

时间: 2024-10-09 03:04:51

深度学习之自编码器的相关文章

深度学习文献阅读笔记(1)

转眼间已经研二了,突然想把以前看过的文献总结总结与大家分享,留作纪念,方便以后参考. 1.深度追踪:通过卷积网络进行差异特征学习的视觉追踪(DeepTrack:Learning Discriminative Feature Representations by Convolutional Neural Networks for visual Tracking)(英文,会议论文,2014年,EI检索) 将卷积神经网络用于目标跟踪的一篇文章,可将CNN不仅仅可以用做模式识别,做目标跟踪也是可以,毕竟

深度学习入门教程UFLDL学习实验笔记一:稀疏自编码器

UFLDL即(unsupervised feature learning & deep learning).这是斯坦福网站上的一篇经典教程.顾名思义,你将在这篇这篇文章中学习到无监督特征学习和深度学习的主要观点. UFLDL全文出处在这:http://ufldl.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B,本文为本人原创,参考了UFLDL的教程,是我自己个人对于这一系列教程的理解以及自己的实验结果.非盈利性质网站转载请在文章开头处著名本

模式识别课堂笔记 ——深度学习

引言:深度学习的浪潮开始于Hinton 的一篇文章 Reducing the Dimensionality of Data with Neural Networks: 代表人物:Geoffery Hinton  链接 :http://www.cs.toronto.edu/~hinton/ Yann LeCun 链接:http://yann.lecun.com/ex/index.html Yoshua Bengio 链接:http://www.iro.umontreal.ca/~bengioy/y

深度学习文献阅读笔记(3)

21.深度神经网络在视觉显著性中的应用(Visual Attention with Deep Neural Networks)(英文,会议论文.2015年,IEEE检索) 这篇文章主要讲CNN在显著性检測领域的应用. 22.深度学习研究进展(中文,期刊,2015年.知网) 深度学习方面的一篇综述性文章,对深度学习的由来,人脑视觉机理,CNN结构都有较为具体的描写叙述,并介绍深度学习在今后的主要改进方向. 23.深度学习研究进展(中文,期刊,2014年,知网) 强调一点.就是Hinton等人所做的

对比深度学习十大框架:TensorFlow 并非最好?

http://www.oschina.net/news/80593/deep-learning-frameworks-a-review-before-finishing-2016 TensorFlow 链接:https://www.tensorflow.org/ 对于那些听说过深度学习但还没有太过专门深入的人来说,TensorFlow 是他们最喜欢的深度学习框架,但在这里我要澄清一些事实. 在 TensorFlow 的官网上,它被定义为「一个用于机器智能的开源软件库」,但我觉得应该这么定义:Te

[转]深度学习之浅见

通常来说,大家认为深度学习的观点是Geoffrey Hinton在2006年提出的.这一算法提出之后,得到了迅速的发展.关于深度学习,zouxy09的专栏中有详细的介绍,Free Mind 的博文也很值得一读.本博文是我对深度学习的一点看法,主要内容在第4.5部分,不当之处还请指教. 1.深度学习 深度学习,即Deep Learning,是一种学习算法(Learning algorithm).学习算法这个很好理解,那么Deep指的是什么呢?这里的Deep是针对算法的结构而言的. 譬如,SVMs及

Deep Learning(深度学习)学习笔记整理

申明:本文非笔者原创,原文转载自:http://www.sigvc.org/bbs/thread-2187-1-3.html 4.2.初级(浅层)特征表示 既然像素级的特征表示方法没有作用,那怎样的表示才有用呢? 1995 年前后,Bruno Olshausen和 David Field 两位学者任职 Cornell University,他们试图同时用生理学和计算机的手段,双管齐下,研究视觉问题. 他们收集了很多黑白风景照片,从这些照片中,提取出400个小碎片,每个照片碎片的尺寸均为 16x1

Deep Learning(深度学习)学习笔记整理系列之(四)

Deep Learning(深度学习)学习笔记整理系列 [email protected] http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04-08 声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明也参考原文献. 2)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应.如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主

深度学习在图像识别中的研究进展与展望

深度学习在图像识别中的研究进展与展望 深度学习是近十年来人工智能领域取得的最重要的突破之一.它在语音识别.自然语言处理.计算机视觉.图像与视频分析.多媒体等诸多领域都取得了巨大成功.本文将重点介绍深度学习在物体识别.物体检测.视频分析的最新研究进展,并探讨其发展趋势. 1.深度学习发展历史的回顾 现在的深度学习模型属于神经网络.神经网络的历史可以追溯到上世纪四十年代,曾经在八九十年代流行.神经网络试图通过大脑认知的机理,解决各种机器学习的问题.1986年Rumelhart.Hinton和Will