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. 京东到家基于netty与websocket的实践
  2. 在c语言中039是不是int型,C数据类型
  3. 20211004 矩阵的子空间
  4. OpenGL 平行粒子的实例
  5. 【CF1344D】Résumé Review【数学】【二分】
  6. 政府公开数据可视化_公开演讲如何帮助您设计更好的数据可视化
  7. 【工程项目经验】之Xcode的Instruments检测解决iOS内存泄露
  8. 蓝桥杯 算法训练 区间k大数查询(水题)
  9. 冷热分离和直接使用大数据库_用读写分离与分表分库解决高访问量和大数据量...
  10. DevExpress Xaf入门——关于树形结构对象的配置(DC模式)
  11. paip.输入法编程--英文ati化By音标原理与中文atiEn处理流程 python 代码为例
  12. [数据结构] 非旋Treap
  13. MATLAB自学教程一1.显示图像图像基本信息
  14. winform5、高清屏下字体模糊的解决方法
  15. html页面设置document类型,解析网页头部代码:Html Document
  16. 线性方程组解的几何意义
  17. 这几个免费PPT模板、素材库,你绝对不能错过
  18. 给你的2D游戏添加3D效果
  19. Java树形结构设计与开发
  20. 计算机毕业设计(附源码)python游泳馆管理系统

热门文章

  1. 宝石TD新手进阶资料
  2. 计算机义务维修活动心得体会,义务维修心得体会范文
  3. 黑马程序员:Xcode8网盘下载链接及更新简述
  4. zte android截屏快捷键,不只是按键 不同品牌不同系统快速截屏方式盘点
  5. 美国提倡的天才教育是什么?据称有 25% 的天才,怎么发现和培养的?
  6. C++学习笔记_002_对象特性(续)
  7. 网页设计需要服务器,制作网站需要什么准备?
  8. python伪原创工具开发_PHP实现免费的在线伪原创工具-toolfk程序员在线工具网
  9. 2.6内核编译配置选项简介--介绍make menuconfig中的每个选项含义
  10. Linux操作系统中七件超厉害的武器