https://blog.csdn.net/satlihui/article/details/81006906
https://blog.csdn.net/github_39611196/article/details/85246236
https://blog.csdn.net/q1242027878/article/details/84679093
https://blog.csdn.net/zbzcDZF/article/details/86570761

自编码器autocoder

(以下内容来自《深度学习》,侵删)

自编码器是神经网络的一种,可以看作由两部分组成:一个由函数h=f(x)表示的编码器和一个生成重构的解码器x=g(h).

传统自编码器被用于降维或者特征学习。

1.1 欠完备自编码器

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

学习过程可以简单地描述为最小化一个损失函数:L(x,g(f(x)),其中L是一个损失函数,惩罚g(f(x))与x的差异,如均方误差。

1.2 正则自编码器

正则自编码器使用的损失函数可以鼓励模型学习其他的特性(除了将输入复制到输出),而不必限制使用浅层编码器和解码器以及小的编码维数来限制模型的容量。这些特性包括稀疏表示、表示的小导数以及对噪声或输入缺失的鲁棒性。

1.3 稀疏自编码器

稀疏自编码器简单地在训练时结合编码层的稀疏惩罚 \Omega(h)和重构误差:

L(x,g(f(x)))+\Omega(h)
其中g(h)是解码器的输出。通常h是编码器的输出即h=f(x)

稀疏自编码器一般用来学习特征,以便用于像分类这样的任务。

1.4 去噪自编码器

去噪自编码器(denoising autoencoder,DAE)最小化
L(x,g(f(\widetilde{x})))
其中\widetilde{x}是被某种噪声损坏的x的副本。

1.5 收缩自编码器(contractive autoencoder,CAE)

惩罚导数作为正则,迫使自编码器学习可以反映训练数据分布信息的特征,这样的自编码器称为收缩自编码器。

1.6 深度

深度可以指数地降低表示某些函数的计算成本。
深度自编码器能比相应的浅层或者线性自编码器产生更好的压缩效率。

1.7 去噪自编码器详解

去噪自编码器是一类接受损坏数据作为输入,并训练来预测原始未被损坏数据作为输出的自编码器。
DAE的训练过程如下:


得分匹配是最大似然的代替。

DAE的训练准则能让自编码器学到能估计数据分布得分的向量场,这是DAE的一个重要特性。

自动编码机由三层网络组成,其中输入层神经元数量与输出层神经元数量相等,中间层神经元数量少于输入层和输出层。搭建一个自动编码器需要完成下面三样工作:搭建编码器,搭建解码器,设定一个损失函数,用以衡量由于压缩而损失掉的信息(自编码器是有损的)。编码器和解码器一般都是参数化的方程,并关于损失函数可导,典型情况是使用神经网络。编码器和解码器的参数可以通过最小化损失函数而优化。

降噪自动编码器(Denoising Auto Encoder DAE)

降噪自动编码器就是在自动编码器的基础之上,为了防止过拟合问题而对输入层的输入数据加入噪音,使学习得到的编码器具有鲁棒性而改进的,是Bengio在08年论文:Extracting and composing robust features with denoising autoencoders提出的。

论文中关于降噪自动编码器的示意图如下,类似于dropout,其中x是原始的输入数据,降噪自动编码器以一定概率(通常使用二项分布)把输入层节点的值置为0,从而得到含有噪音的模型输入xˆ。

SDAE

多个DAE堆叠能够形成具有一定深度的SDAE。这时的SDAE并不能进行模式识别,因为它只是一个特征提取器,并不具有分类功能。为了使SDAE具有分类功能,需在其顶层添加分类器,如SVM、softmax等,并使用带标签的数据对SDAE进行有监督训练,最后使用利用BP算法对整个网络参数进行微调,便得到具有分类功能的SDAE,如图4-5所示。具体步骤如下:

Step1 初始化SDAE网络参数;

Step2 训练第一层DAE,将其隐含层作为第2个DAE的输入,并进行同样的训练,直到第n层DAE训练完成;

Step3 将训练好的n层DAE进行堆叠形成SDAE,向SDAE网络顶层添加输出层;

Step4 利用样本数据和标签对整个网络进行有监督的微调。

SDAE的思想就是将多个DAE堆叠在一起形成一个深度的架构。只有在训练的时候才会对输入进行腐蚀(加噪),训练完成就不需要在进行腐蚀。结构如下图所示:

逐层贪婪训练:每层自编码层都单独进行非监督训练,以最小化输入(输入为前一层的隐层输出)与重构结果之间的误差为训练目标。前K层训练好了,就可以训练K+1层,因为已经前向传播求出K层的输出,再用K层的输出当作K+1的输入训练K+1层。

一旦SDAE训练完成, 其高层的特征就可以用做传统的监督算法的输入。当然,也可以在最顶层添加一层logistic regression layer(softmax层),然后使用带label的数据来进一步对网络进行微调(fine-tuning),即用样本进行有监督训练。

(补图;

code:
https://blog.csdn.net/q1242027878/article/details/84668175
https://blog.csdn.net/q1242027878/article/details/84679093
https://blog.csdn.net/github_39611196/article/details/85246236

转载于:https://www.cnblogs.com/Ann21/p/11277876.html

堆叠降噪自编码器SDAE相关推荐

  1. tensorflow 堆叠自编码器SDAE对凯斯西储大学轴承数据进行故障分类

    之前的一些介绍:tensorflow自编码器+softmax对凯斯西储大学轴承数据进行故障分类 前面研究了一下自编码器,并顺利利用自编码器对轴承数据进行了故障分类,但我们在实际应用时,应用更多的还是堆 ...

  2. 【theano-windows】学习笔记十四——堆叠去噪自编码器

    前言 前面已经学习了softmax,多层感知器,CNN,AE,dAE,接下来可以仿照多层感知器的方法去堆叠自编码器 国际惯例,参考文献: Stacked Denoising Autoencoders ...

  3. 基于EMD-HHT包络谱与堆栈降噪自编码SDAE轴承故障诊断

    目录 0.引言 1.方法原理 1.1 EMD-HHT包络谱 1.2 PCA 1.3 SDAE 2.流程 3.具体实现 3.1 数据准备 3.2 EMD-HHT包络谱求取 3.3 PCA降维 3.4 故 ...

  4. 堆叠降噪自动编码器 Stacked Denoising Auto Encoder(SDAE)

    原文链接 自动编码器(Auto-Encoder,AE) 自动编码器(Auto-Encoder,AE)自编码器(autoencoder)是神经网络的一种,经过训练后能尝试将输入复制到输出.自编码器内部有 ...

  5. 使用降噪自编码器【DAE】对车流量数据进行降维

    一.自动编码器 时序数据常常表现为高维度的特点,过多的冗余属性不仅徒增训练负担,还会对模型的预测效果带来负面影响.通过使用时序数据降维的方法对训练数据进行预处理,可以大幅减少冗余维度的数据,从而提高训 ...

  6. 基于粒子群优化堆叠去噪自编码器(PSO-SDAE)的时间序列预测

    基于粒子群优化堆叠去噪自编码器(PSO-SDAE)的时间序列预测 优化参数为学习率,隐藏层节点个数,最大训练次数 matlab代码 ID:69100673407358242

  7. 栈式降噪自编码器_栈式降噪自编码器( SdA)与深度信念网络(DBN)相比有什么特点优势,应用的范围是什么?...

    自编码器在实际应用中用的很少,2012年人们发现在卷积神经网络中使用自编码器做逐层预训练可以训练深度网络,但很快人们发现良好的初始化策略在训练深度网络上要比费劲的逐层预训练有效得多,2014年出现的B ...

  8. 漫谈autoencoder:降噪自编码器/稀疏自编码器/栈式自编码器(含tensorflow实现)

    0. 前言   在非监督学习中,最典型的一类神经网络莫过于autoencoder(自编码器),它的目的是基于输入的unlabeled数据 X = { x ( 1 ) , x ( 2 ) , x ( 3 ...

  9. 堆叠稀疏自编码器SSAE

    稀疏自编码器 自编码器通过将输入信息作为学习目标,对输入信息进行表征学习.通过稀疏性参数ρ\rhoρ对自编码器隐层节点进行稀疏性约束,则构成稀疏自编码器.一般来说,被激活神经元的比例由一个常数ρ\rh ...

最新文章

  1. 企业品牌竞争力研究(二):提高企业品牌竞争力的要素(创新SPR理论)
  2. java Cache框架
  3. 51定时器控制4各led,使用回调函数机制
  4. 【解决办法】安装Exchange2010时报错 - “UserMailbox 必须强制使用Database”
  5. ACL在路由器上设置例子
  6. Python心得基础篇【2】函数
  7. 利用栈进行程序的括号匹配
  8. XCTF-高手进阶区:NewsCenter
  9. 老工程师谈电子物料:别拿一分钱不当回事!
  10. c语言程序输入n个数字排序,输入n个数字然后进行排序,用C语言编写。注意是n个数啊,不是确定的个数。...
  11. flask html 路径,【Python】Flask 怎样获取当前页面的相对路径
  12. win7 未授予用户在此计算机上的请求登录类型,Win7提示未授予用户在此计算机上的请求登录类型...
  13. 频繁项集挖掘算法之FPGrowth
  14. 汇编语言程序设计的实验环境及上机步骤
  15. 贝壳完成在香港双重主要上市:市值超1200亿港元
  16. 手机版kali nethunter刷入
  17. 微信发个原图,居然隐私曝光这么多…可怕
  18. 【AI竞赛】GAN实战——TinyMind书法字体生成练习赛开始报名拉!
  19. html文件wps怎么打开,wps怎么打开xlsb文件
  20. SE-Networks

热门文章

  1. 奇点到来,超越人类 《Nature论文:人工智能从0-1自学打败阿法狗 》论文翻译
  2. 黑马程序员:Xcode8网盘下载链接及更新简述
  3. 为什么电脑WiFi图标会有一把红色的叉叉在上面啊?
  4. 死亡日志nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;——黄妮超
  5. 21道关于性能优化的面试题(附答案)
  6. AI语音定制化,将给2020带来三个可能
  7. 第八期 RT3052F芯片分析 《路由器就是开发板》
  8. 在Alibaba成为优秀的技术主管,需要做到这三点
  9. 设备驱动模型:总线-设备-驱动
  10. CentOS更改网卡配置