• 在神经网络模型训练开始前,通过Auto-encoder对模型进行预训练,可以确定编码器的初始参数值。然而,受模型复杂度、训练集数据量以及数据噪声等问题的影响,通过Auto-encoder得到的初始模型往往存在过拟合的风险。
  • 例如,圆饼干和方饼干,在认知中同属于饼干这一类,形状对我们的判断没有作用,也就是噪声。如果不能将形状数据去除掉,可能产生“圆饼干是饼干,方饼干不是饼干”的过拟合问题。
  • 当采用无监督的方法分层预训练神经网络的权值时,为了学习到教鲁棒的特征,可在网络的输入层引入随机噪声——降噪自编码器(denosing auto encoder)
  • 降噪自编码器:一个模型,能够从有噪声的原始数据作为输入,而能够恢复出真正的原始数据。这样的模型,更具有鲁棒性。
  • 以MNIST手写数字识别为例。对输入的数据引入了变换角度、随机噪点、添加背景图像等噪声。模型通过训练后可以对有噪音图像更加鲁棒,这也更符合实际使用的需求。
  • 对于有噪声的输入数据,区别于一般自编码机,降噪自编码机要做的就是数据的降噪。
  • 从数学上来讲,假设原始数据x被我们故意破坏了,比如加入了高斯噪声,或者把某些维度数据抹掉,变成x’,然后再对x’进行编码、解码,得到恢复信号xx = g(f(x’)),该恢复信号尽可能地逼近未被污染的原数据x。此时,监督训练的误差函数就从原来的L(x,g(f(x))),变为L(x,g(f’(x)))。
  • 从直观上理解,降噪自编码器希望学到的特征尽可能鲁棒,能够在一定程度上对抗原始数据的污染、缺失等情况。
import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"
import torch
from matplotlib.pyplot as plt
import time
import math
from torch import nn.optim
from torchvision.datasets import MNIST
from torchvision.transforms import ToPILImage
from torchvision.utils import save_imageclass AutoEncoder(nn.Module):def __init__(self):super(AutoEncoder,self).__init__()#编码self.encoder = nn.Sequential(nn.Cov2d(1,64,kernel_size=3,stride=1,padding=1),nn.ReLU(),nn.MaxPool2d(kernel_size=2,stride=2),nn.Cov2d(64,128,kenerl_size=3,stride=1,padding=1)nn.ReLU())#解码self.decoder = nn.sequential(nn.Conv2d(128,64,kenerl_size=3,stride=1,padding=1)nn.ReLU(),nn.Upsample(scale_factor=2,mode="nearest"),nn.Conv2d(64,1,kernel_size=3,stride=1,padding=1),nn.ReLU())def forward(self,x):x = self.encoder(x)return self.decoder(x)class Trainer:def __init__(self,batch_size,epochs):self.device = torch.devicee("cuda" if torch.cuda.is_availavle() else "cpu")print("device:{}".format(self.device))self.net = AutoEncoder().to(self.device)self.loss_fn = nn.MSELoss()self.opt = torch.optim.Adam(self.net.parameters())self.BATCH_SIZE = batch_sizeself.EPOCHS = epochs

Denoising Auto-Encoder相关推荐

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

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

  2. Auto Encoder(AE),Denoising Auto Encoder(DAE), Variational Auto Encoder(VAE) 区别

    文章主要内容参考李宏毅老师的机器学习课程:https://www.bilibili.com/video/BV1Wv411h7kN?p=70 Auto Encoder: 是什么?有什么用? Auto E ...

  3. 【深度学习】李宏毅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 ...

  4. Auto Encoder用于异常检测

    对基于深度神经网络的Auto Encoder用于异常检测的一些思考 from:https://my.oschina.net/u/1778239/blog/1861724 一.前言 现实中,大部分数据都 ...

  5. 自编码器(Auto Encoder)原理及其python实现

    目录 一.原理 二.为什么要使用自编码器 三.代码实现 1.原始自编码器 2.多层(堆叠)自编码器 3.卷积自编码器 4.正则自编码器 4.1稀疏自编码器 四.降噪自编码器 五. 逐层贪婪训练堆叠自编 ...

  6. 2021李宏毅机器学习课程笔记——Auto Encoder

    注:这个是笔者用于期末复习的一个简单笔记,因此难以做到全面详细,有疑问欢迎大家在评论区讨论 https://speech.ee.ntu.edu.tw/~hylee/ml/ml2021-course-d ...

  7. 【人工智能概论】 变分自编码器(Variational Auto Encoder , VAE)

    [人工智能概论] 变分自编码器(Variational Auto Encoder , VAE) 文章目录 [人工智能概论] 变分自编码器(Variational Auto Encoder , VAE) ...

  8. Masked Auto Encoder总结

    Masked Auto Encoder总结 文章目录 Masked Auto Encoder总结 MAE简介 Random Mask random mask 逻辑 random mask 实现 Enc ...

  9. 机器学习笔记:auto encoder

    1 autoencoder 介绍 这是一个无监督学习问题,旨在从原始数据x中学习一个低维的特征向量(没有任何标签) encoder 最早是用线性函数+非线性单元构成(比如Linear+nonlinea ...

  10. Auto Encoder再学习

    一:AutoEncoder基本概念 将输入的比较高维度信息,不管是语音,文字,图像经过encoder转成一个中间状态的向量(也叫做latent code),这是一个低维度的数据,再通过decoder ...

最新文章

  1. TensorFlow 相关 URL
  2. nyoj1170最大的数
  3. SQL的四种连接-左外连接、右外连接、内连接、全连接
  4. 成都亿佰特物联网无线数传专家:lora无线传输模块网关技术的优缺点
  5. 【python】内建异常类的层次
  6. Python基础学习笔记(一)python发展史与优缺点,岗位与薪资
  7. js Maximum call stack size exceeded
  8. r语言把多个图合并在一张图_R语言绘图 | 折线图画法,如何画出你满意的图?
  9. 【翻译】IdentityServer4:基于资源的配置
  10. Linux与Xshell:登陆服务器与后台执行程序
  11. vue引入iconfont阿里巴巴矢量图标库官网,自定义图标
  12. 世界编程语言排名2019_世界十大编程语言-2019一起玩
  13. PPT封面怎样设计才更赏心悦目
  14. javaScript高级程序设计-------总结随笔
  15. 如何在游戏中快速集成聊天功能
  16. 社会学百科——英国DK出版社
  17. 华为云开发者官网首页焕新升级,赋能开发者云上成长
  18. Vim快捷键学习---记性不行了,留这里备查
  19. 以太网以及车载以太网概述
  20. Revit二次开发之双事件:空闲事件与DocumentChanged事件

热门文章

  1. VASP6.3.2中VTST插件的编译
  2. 计算机二级excle函数大全
  3. 仿酷狗音乐播放器开发日志二十二 动态调色板控件第二版(性能大幅提升附源码)...
  4. Linux就是这个范儿之第一次亲密接触(2)
  5. Cocos Creator TypeScript 实现自定义数字图片组件NumberSpriteComponent
  6. 太原城市职业技术学院引入USB Server助力实训系统实现虚拟化
  7. 【渝粤题库】陕西师范大学292181公共人力资源管理作业(专升本)
  8. 国产Linux系统Deepin操作系统面临重重困境,创始人兼CTO已离职
  9. 阅读计划(book)
  10. 苹果6屏幕多大_给iPhone8P换完新屏幕,我觉得新iPhoneSE不香了