Auto-Encoder(自编码器)原理
1.无监督学习
无监督学习和监督学习是机器学习的两个方向,监督学习主要适用于已经标注好的数据集(如mnist分类问题),无监督学习则是希望计算机完成复杂的标注任务,简单的解释就是——教机器自己学习,它常见的应用场景有:从庞大的样本集合中选出一些具有代表性的加以标注用于分类器的训练、将所有样本自动分为不同的类别,再由人类对这些类别进行标注、在无类别信息的情况下,寻找好的特征。
2.Auto-Encoders
Auto-Encoders一大重要应用就是生成数据集,新手了解VAE一般都从生成mnist数据集开始,对于生成mnist的一个网络模型,Auto-Encoders与传统FNN或者CNN的区别在于它的输入维度与输出维度相同,且中间有一个neck层用于降维或升维,经过这样一个操作可以保持输入数据的语义相关性。
下图是只有一个包含两个神经元的隐藏层以及包含3个神经元的输出层的自编码器,输出是在设法重建输入,损失函数是重建损失

在Auto-Encoders的训练过程中,最常用的Loss function有均方误差和交叉熵,其中,交叉熵损失函数更加适用于二进制的输入数据。
3.Auto-Encoders的变种
经常拿来和Auto-Encoder比较的一个数据降维的方法叫PCA
PCA的原理请见以下链接:https://blog.csdn.net/program_developer/article/details/80632779
Auto-Encoders的一个变种叫Denoising AutoEncoders,它是为了防止模型对像素值的单纯记忆产生的,通过加入一些噪声让网络模型在混乱的数据中发现它们真实的语义特征;还有一个变种叫做Dropout AutoEncoders,和监督学习神经网络中的dropout层道理相同,通过阻止部分神经元的激活来防止网络过拟合(可能会记住一些噪声特征,而无法提取真实的特征)
Adversarial AutoEncoders是比较有名的一个,在自编码过程中,一个比较常见的问题就是生成的数据总是偏向于某一方向分布,而不符合我们平时接触的任何一种分布(均匀分布、正太分布、高斯分布等),为了解决这个问题,adversarial autoencoders通过加入一个“鉴别器”来对数据进行筛选,从而保证网络输出数据的质量。
Auto-Encoder(自编码器)原理的更多相关文章
- Auto Encoder用于异常检测
对基于深度神经网络的Auto Encoder用于异常检测的一些思考 from:https://my.oschina.net/u/1778239/blog/1861724 一.前言 现实中,大部分数据都 ...
- 6. H.264/AVC编码器原理
1. H.264/AVC的应用 H.264 不仅具有优异的压缩性能,而且具有良好的网络亲和性,这对实时的视频通信是十分重要的.和 MPEG-4 中的重点是灵活性不同,H.264 着重在压缩的高效率和传 ...
- Auto Encoder
对自编码器的理解: 对于给定的原始输入x,让网络自动找到一种编码方式(特征提取,原始数据的另一种表达),使其解码后的输出x'尽可能复现原始输入x. 知乎参考:https://www.zhihu.com ...
- 2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...
- 2018-2019-2 20165313 Exp2 后门原理与实践
实践基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 应用程序设定后门,用户安装后,后门就可以进入.例如课堂上讲到的百度. (2)例举你知道的后门如何启动起来(win及linux) ...
- 2018-2019-2 20165312《网络攻防技术》Exp3 免杀原理与实践
2018-2019-2 20165312<网络攻防技术>Exp3 免杀原理与实践 课上知识点总结 1.恶意软件检测机制 基于特征码的检测(需要定期更新病毒库) 启发式恶意软件检测(实时监控 ...
- 20155339 Exp3 免杀原理与实践
20155339 Exp3 免杀原理与实践 基础问题 (1)杀软是如何检测出恶意代码的? 基于特征码的检测(杀软的特征库中包含了一些数据或者数据段,杀软会尽可能的更新这个特征库,以包括尽可能多的恶意代 ...
- tsne pca 自编码器 绘图(CC2)——一定记得做无量纲化处理使用standardscaler,数据聚类更明显
tsne 数据不做预处理: # coding: utf-8 import collections import numpy as np import os import pickle from skl ...
- 堆叠降噪自编码器SDAE
https://blog.csdn.net/satlihui/article/details/81006906 https://blog.csdn.net/github_39611196/articl ...
- STM32正交编码器驱动电机
1.编码器原理 什么是正交?如果两个信号相位相差90度,则这两个信号称为正交.由于两个信号相差90度,因此可以根据两个信号哪个先哪个后来判断方向. 这里使用了TI12模式,例如当T1上升 ...
随机推荐
- 重磅!K8S 1.18版本将内置支持SideCar容器。
作者:justmine 头条号:大数据与云原生 微信公众号:大数据与云原生 创作不易,在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处. 为了方便阅读,微信公众号已按分类排版,后续的文 ...
- jsp简单实现交互
test.html <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&quo ...
- CCF_201612-4_交通规划
http://115.28.138.223/view.page?gpid=T44 好像也没想象中的那么难,没办法,当初连个优先队列dij都不会写= = 在优先队列dij算法上加上相等的时候的处理就可以 ...
- ARTS Week 5
Nov 25, 2019 ~ Dec 1, 2019 Algorithm 深度优先搜索--书籍分配 题目描述:有b1-b5五本书,要分配给五个学生,分别是a1-a5.但每个学生都有其喜欢的书,要检查是 ...
- ugligy 转
3.配置gulpfile.js 3.1.基本使用 JavaScript 1 2 3 4 5 6 7 8 var gulp = require('gulp'), uglify = require ...
- EIP
EIP中的值就是CPU下次要执行的地址 jmp 直接修改eip的值 1.jmp imm=mov eip,imm 2.jmp r 3.jmp m call 直接修改eip的值,并把当前指令的下一行地址存 ...
- 带你简单了解域名系统DNS
带你简单了解域名系统DNS 一.域名简介 1.1.DNS服务的作用 负责解析域名,将域名解析成IP地址. 1.2.域名系统概述 由于32位的IP地址并不容易记忆,人们往往喜欢记忆网站的域名.所以当我们 ...
- dubbo 分布式服务框架 介绍
Dubbo是阿里巴巴内部的SOA服务化治理方案的核心框架,每天为2000+ 个服务提供3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点.Dubbo自2011年开源后, ...
- Centos7 LVM扩容实例
Centos7 lvm 扩容与以往版本有所不同 1.插入硬盘,我是在虚拟机上做的测试 直接添加一块5G的硬盘 2.系统读取硬盘信息 # echo "- - -" ...
- Git Gui for Windows下载(pull)的正确操作方法