深度学习与神经网络(十三)—— Auto-Encoder自编码神经网络

自动编码器,也就是自编码神经网络,是神经网络的一种

采用无监督学习的方式对高维数据进行高效的特征提取和特征表示,在学术界和工业界都大放异彩

 

 

我们之前看的都是监督学习

但是生活中的大量的数据都是没有label的

现在来看非监督学习

 

 

机器学习领域的三大方向

强化学习(樱桃)、监督学习(蛋糕的外皮)、非监督学习

 

 

为什么需要非监督学习?

降维

利用大量的无标签数据

 

 

https://projector.tensorflow.org/

 

 

Auto-Encoders

监督学习是有一个明确的目标的,那么非监督学习也是有目标的

目标就是重建它自己

与CNN不同的在于,CNN的输出层是分类,如果是十分类输出层就有10个节点。但无监督网络就无法分类,其目标就是重建自己,所以输出层的节点数=输入层的节点数

自编码神经网络就是一个特殊的全连接层

neck可以升维也可以降维,大部分是降维

 

怎样训练

还是原来那些方法

自编码神经网络还是神经网络,所以training还是看loss function

 

 

 

PCA vs AutoEncoder

PCA,principal components analysis,主成分分析

在auto-encoder之前,降维都是用PCA降维

但是PCA具有线性特性,大部分的数学形态都是非线性的,线性变化很可能能操作的空间就非常少

可以看到autoencoder的效果还是好于PCA的

 

 

AutoEncoder的一些变种

 

Denoising AutoEncoders

只是在像素级别的重建,很有可能只是记住一些特征。为了防止这样,我们给加一些扰动,加一些噪声

如果加了噪声之后还能重建出来,就说明能够从数据中发现真正的规律了

 

Dropout AutoEncoders

在训练的时候,有目的得让一些权值断开(把weight暂时设置为0,但以后反向传播还要用)

这样给下一层的信息就是有限的了,就迫使系统更加robust,不会依赖所有神经元的输入

可以看到,dropout很小的时候accurancy并不是最小的,因为overfitting了,把一些噪声的形态也记住了

 

Adversarial Autoencoders

对抗自编码器,AAE

将GAN的技术应用到了autoencoder上面

AAE是根据VAE发展来的

encoder把真实分布x映射成隐层的z, decoder 再将z解码还原成x。
AAE的特点就在于在隐层hidden layer中引入了对抗的思想来优化隐层的z

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值