深度学习之自编码器(3)自编码器变种

  • 1. Denoising Auto-Encoder
  • 2. Dropout Auto-Encoder
  • 3. Adversarial Auto-Encoder

 一般而言,自编码器网络训练较为稳定,但是由于损失函数是直接度量重建样本与真实样本的底层特征之间的距离,而不是评价重建样本的逼真度和多样性等抽象指标,因此在某些任务上效果一般,如图片重建,容易出现重建图片边缘模糊,逼真度相对真实图片仍有不小差距。为了尝试让自编码器学习到数据的真是分布,产生了一系列的自编码器变种网络。下面将介绍集中典型的自编码器变种模型。

1. Denoising Auto-Encoder

 为了防止神经网络记忆住输入数据的底层特征,Denoising Auto-Encoder给输入数据添加随机的噪声扰动,如给输入x\boldsymbol xx添加采样自高斯分布的噪声ε\varepsilonε:
x~=x+ε,ε∼N(0,var)\tilde\boldsymbol x=\boldsymbol x+ε,ε\sim\mathcal N(0,\text{var})x~=x+ε,ε∼N(0,var)
添加噪声后,网络需要从x~\tilde\boldsymbol xx~学习到数据的真实隐藏变量z\boldsymbol zz,并还原出原始的输入x\boldsymbol xx,如下图所示:

Denoising自编码器示意图

 模型的优化目标为:
θ∗=argmin⏟θdist(hθ2(gθ1(x~)),x)θ^*=\underbrace{\text{argmin}}_θ \ \text{dist}(h_{θ_2} (g_{θ_1} (\tilde\boldsymbol x)),\boldsymbol x)θ∗=θargmin​​ dist(hθ2​​(gθ1​​(x~)),x)

2. Dropout Auto-Encoder

 自编码器网络同样面临过拟合的风险,Dropout Auto-Encoder通过随机断开网络的连接来减少网络的表达能力,防止过拟合。Dropout Auto-Encoder实现非常简单,通过在网络层中插入Dropout层即可实现网络连接的随机断开。

3. Adversarial Auto-Encoder

 为了能够方便地从某个一致某个已知的先验分布中p(z)p(\boldsymbol z)p(z)采样隐藏变量z,方便利用p(z)p(\boldsymbol z)p(z)来重建输入,对抗自编码器(Adversarial Auto-Encoder)利用额外的判别器网络(Discriminator,简称D网络)来判定降维的隐藏变量z\boldsymbol zz是否采样自先验分布p(z)p(\boldsymbol z)p(z),如下图所示。判别器网络的输入为一个属于[0,1][0,1][0,1]区间的变量,表征隐藏向量是否采样自先验分布p(z)p(\boldsymbol z)p(z):所有采样自先验分布p(z)p(\boldsymbol z)p(z)的z\boldsymbol zz标注为真,采样自编码器的条件概率q(z∣x)q(\boldsymbol z|\boldsymbol x)q(z∣x)的标注z\boldsymbol zz为假。通过这种方式训练,处理可以重建样本,还可以约束条件概率分布q(z∣x)q(\boldsymbol z|\boldsymbol x)q(z∣x)逼近先验分布p(z)p(\boldsymbol z)p(z)。

对抗自编码器

对抗自编码器是从下一章要介绍的生成对抗网络算法衍生而来,在学习完对抗生成网络后可以加深对对抗自编码器的理解。

深度学习之自编码器(3)自编码器变种相关推荐

  1. 花书+吴恩达深度学习(二二)自编码器(欠完备,DAE,CAE,PSD)

    文章目录 0. 前言 1. 欠完备自编码器 2. 去噪自编码器 DAE 3. 收缩自编码器 CAE 4. 稀疏自编码器 5. 预测稀疏分解 PSD 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞 ...

  2. Keras深度学习实战(36)——基于编码器-解码器的机器翻译模型

    Keras深度学习实战(36)--基于编码器-解码器的机器翻译模型 0. 前言 1. 模型与数据集分析 1.1 数据集分析 1.2 模型分析 2. 基于编码器-解码器结构的机器翻译模型 2.1 基于编 ...

  3. 深度学习笔记一:稀疏自编码器

    开始学习深度学习了,既然确定目标就要努力前行!为自己加油!--2015.6.11 Sparse Encoder 1.神经网络 概念:假设我们有训练样本集 (x(^ i),y(^ i)) ,那么神经网络 ...

  4. 【译】图上的深度学习综述 五、图自编码器

    Deep Learning on Graphs: A Survey Arxiv 1812.04202 自编码器(AE)及其变体被广泛用于无监督学习 [74],它适用于学习没有监督信息的图节点表示. 在 ...

  5. 图深度学习——卷积神经网络循环神经网络自编码器

    卷积神经网络 常用做图像分类任务.举例:识别图中的兔子 前馈神经网络做兔子图像识别 图像可以通过矩阵表示,然后将矩阵转换成向量,就可以作为前馈神经网络的输入,但是 1.参数量就非常大,需要大量数据进行 ...

  6. 【深度学习】李宏毅2021/2022春深度学习课程笔记 - Auto Encoder 自编码器 + PyTorch实战

    文章目录 一.Basic Idea of Auto Encoder 1.1 Auto Encoder 结构 1.2 Auto Encoder 降维 1.3 Why Auto Encoder 1.4 D ...

  7. 大佬原创 | 深度学习60讲453页pdf下载

    关注公众号 后台回复 深度学习 即可下载深度学习60讲 作者简介 机器学习实验室的号主作为一名统计专业的硕士毕业生,一路从数据分析师进阶到深度学习算法工程师.现于杭州一家AI初创公司担任深度学习算法工 ...

  8. 【深度学习】一文看尽深度学习各领域最新突破

    来源:<产业智能官> 想要了解深度学习各领域的最新进展? 看个视频就足矣. 该课程的PPT资料,下载地址如下: https://www.dropbox.com/s/v3rq3895r05x ...

  9. 深度学习常见问题整理

    问题列表 如何设置网络的初始值?* 梯度爆炸的解决办法*** 神经网络(MLP)的万能近似定理* 神经网络中,深度与宽度的关系,及其表示能力的差异** 在深度神经网络中,引入了隐藏层(非线性单元),放 ...

  10. 基于深度学习的端到端通信系统模型

    本文分享自华为云社区<基于深度学习的端到端通信系统模型>,原文作者:技术火炬手. 现代的通信领域是基于信号处理算法建立起来的,其有比较完整的统计学和信息论基础,并可以被证明是最优的.这些算 ...

最新文章

  1. u-boot分析之makefile分析(二)
  2. distance from ifm to Sidney Sussex College: acceptable
  3. Python3解决UnicodeDecodeError:'utf-8' codec can't decode byte..问题终极解决方案
  4. Java面试题:IO流中read()方法为什么返回值是int
  5. jquery ajax mysql登录_ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库...
  6. Linux学习笔记---常用shell命令
  7. 有序关系中的最大元与最小元
  8. 华为发布最强 AI 处理器昇腾 910,全场景 AI 框架 MindSpore 将开源
  9. Linux文档内容查询命令
  10. day26-2 基于TCP协议的套接字编程
  11. UNIX系统中的文件共享
  12. 空间变换与计算_02_3x3矩阵
  13. Redis集群原理详解
  14. 区块链开发语言python_区块链开发语言有哪些?哪种语言更适合区块链开发?
  15. iis服务器响应缓慢,IIS网站加载缓慢怎么办?如何处理?
  16. 【高项备考】多种类型计算题学习
  17. 经历三家千人互联网公司,提炼了20+条黄金法则
  18. 辉芒微IO单片机FT60F011A-RB
  19. java笔记之基础-outer标签
  20. 自适应图片九宫格 css,CSS实现自适应九宫格布局 大全

热门文章

  1. python randrange函数_Python学习-函数补充2-内置函数
  2. 编写程序判断两个数组是否相等,然后编写一段类似的程序比较两个 vector。
  3. php是做前端还是后端,在后端准备数据还是在前端操作? - php
  4. IDEA git修改远程仓库地址
  5. 【Unity】12.4 通过网格分层选择行进路线
  6. angular.js前端和后台的数据交换,后台取不到值对应方案
  7. 某公司故障分析案例(实战案例)
  8. 《WCF技术内幕》翻译31:第2部分_第6章_通道:概述与正确认识通道。
  9. html文字简单动画效果,CSS3一个简单的按钮悬停波浪文本动画效果
  10. vue 数组中嵌套数组_vue+element-ui表单校验之数组多层嵌套