首页 > 其他分享 >AE(AutoEncoder) 学习笔记

AE(AutoEncoder) 学习笔记

时间:2022-09-22 22:33:42浏览次数:86  
标签:DAE 编码器 Encoders AE Auto 笔记 AutoEncoder hat

AE(AutoEncoder) 学习笔记

目录


Auto-Encoder, AE

传统的自动编码器是一种数据的压缩算法
其算法包括编码阶段解码阶段,且拥有对称的结构。

AE的应用:

  • 第一是数据去噪
  • 第二是为进行可视化而降维

公式描述为:

\[h_1 = \sigma _e (W_1 x + b_1)\\ y = \sigma_d(W_2h_1 + b_2) \\ \]

\(e\rightarrow encoder\), \(d \rightarrow decoder\)。

损失函数:

\[J(W,b) = \sum(L(x, y)) = \sum \lVert y-x \rVert_2^2 \]

我们真正关心的是隐层表达,而不是实际输出。因此,针对自编码器的很多改进方法都是对隐层表达增加一定的约束,迫使隐层表达与输入不同。

Denosing Auto-Encoders, DAE

一个好的表达能够捕获输入信号的稳定结构,以该目的为出发出现了降噪自动编码器(DAE)。

首先对干净的输入信号加入噪声产生一个受损的信号(主动)。然后将受损信号送入传统的自动编码器中,使其重建回原来的无损信号。

过程可用公式描述:

\[\begin{gathered} \hat{x} \sim q_D(\hat{x} \mid x) \\ h_1=\sigma_e\left(W_1 \hat{x}+b_1\right) \\ y=\sigma_d\left(W_2 h_1+b_3\right) \end{gathered} \]

\(q_D(\hat{x} \mid x)\)是噪声的分布,\(\hat{x}\) 是加入噪声后的输入。

DAE的目标是最小化损失函数:

\[J_{DAE}(W) = \sum E_{\hat{x}\sim q_D(\hat{x}|x)[L(x,y)]} \]

DAE与传统的AE的主要区别在于:

  1. 降噪自编码器通过人为的增加噪声使模型获得鲁棒性的特征表达
  2. 避免使隐层单元学习一个传统自编码器中没有意义的恒等函数

最大的缺陷在于每次进行网络训练之前,都需要对干净输入信号人为地添加噪声,以获得它的损坏信号,这无形中就增加了该模型的处理时间

Stacked Denoising Auto-Encoders, SAE

SAE和DAE区别主要在于:SAE是有监督学习,DAE是无监督学习。所以SAE是DAE的一种应用方法。

Convolution Auto-Encoders, CAE

标签:DAE,编码器,Encoders,AE,Auto,笔记,AutoEncoder,hat
From: https://www.cnblogs.com/Last--Whisper/p/16721082.html

相关文章

  • 【学习笔记/模板】吉司机线段树
    吉司机线段树这里不会挂涩图了,相册或者公告板自取调了一晚上,刚改出来,有时间再更。P6242【模板】线段树3Code#include<cstdio>#include<algorithm>#defineLLlon......
  • IDEA 使用笔记
    快捷键SearchEverywhere:双击Shift快捷键说明ctrl+P列出参数列表(使用比较多)ctrl+shift+enter当在括号里输入完最后一个参数时候他会直接光标跳......
  • Flask学习笔记(二)-request请求对象+flask解析http请求数据
    一、flask请求对象requestrequest是flask框架的全局对象,你可以通过它来获得当前进入的请求数据,如果是在多线程环境下,flask可以保证你所使用的request对象就是当前这个线程......
  • Python面向对象笔记
    一、面向对象(一)基本概念(1)面向对象编程——ObjectOrientedProgramming简写OOP(2)面向对象三大特性封装根据职责将属性和方法封装到一个抽象的类中定......
  • Python基础笔记(全)
    零、python前言(一)解释器计算机不能直接理解任何除机器语言以外的语言,必须要把程序语言翻译成机器语言,计算机才能执行程序。编译器:将其他语言翻译成机器语言的工具编译......
  • JavaScript学习笔记 第七章 原型
    原型prototypefunctionPerson(){}Person.prototype.a=123;varper=newPerson();//console.log(per.prototype);//conso......
  • 数据库事务处理中ACID之I隔离性处理笔记
    隔离性要求要求并发执行的事务之间互相隔离,互不影响但是并发程序可能会两个程序尝试同时读或者一个正在读一个正在写,这些都可能出现问题,于是数据库通过隔离性来避免这些......
  • Python学习笔记2(未完待续)
      使用占位符格式化字符串:使用占位符格式化输出时:在%后面加数字表示给这个字符多少个位置,不足电脑会自动使用空格补齐。正数表示左对齐,负数表示右对齐。如:%4d表示左对......
  • vue学习笔记(三):axios获得远程数据,拦截器
     安装:npmiaxios 请求数据代码如下:<script>importaxiosfrom'axios';exportdefault{data:()=>{return{name:''},methods:{set_val(){......
  • 基础知识笔记(VIM)
    一、VI/VIM编辑器(重要)1.1是什么VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以......