深度学习与神经网络:AutoEncoder自编码

今天让我们来看一下深度学习与神经网络里边的自编码.

其实自编码严格来说不能算作是深度学习的内容,我们在之前的机器学习算法中也了解到自编码,并且我们会通过一个简单的例子来去说说自编码的理解.

首先,我们听到自编码,一定会想到,AutoEncoder会是个什么码呢?是条形码,二维码 NO.NO.NO,和他们都没有关系,其实自编码是一种神经网络形式.

现在我们先构架一个神经网络模型,这个模型是收集一张图片,接受这个图片后,神经网络给这个图片压缩,最后再从压缩的图片中还原,是不是感觉有点抽象,其实我也觉得这样的解释不太恰当,那就让我们更加的具体一点来深入了解下这个自编码。

现在假设我们刚才构建的模型是这个样子,我们可以从图片中看出来,我们刚才上传给自编码模型的图片实质上是经过压缩以后再进行解压的一个过程。当压缩的时候,原有的图片的质量被缩减(降维),解压的时候,用信息量小却包含了所有信息的文件来恢复出原来的图片(还原)。

那么,为什么要这么做呢?当神经网络要输入大量的信息,比如高清图片的时候,输入的图像数量可以达到上千万,要神经网络直接从输入的数据量中进行学习,是一件非常费力不讨好的工作,因此我们就想,为什么不压缩一下呢?提取出原图片中最具有代表性的信息,缩减输入中的信息量,然后在把缩减过后的信息放入到神经网络中学习,这样学习起来就变得轻松了,所以自编码就是能在这个时候发挥作用,现在我们假设从上图中的输入层中的信息A解压缩到隐含层中得到a,然后用隐含层的a和输入层的A进行对比,得到预测误差,再进行反向传递,然后逐步的提高自编码的准确率,训练一段时间后在中间隐含层获得的一个部分的数据a就是源数据的精髓,可以从上面那个模型看出,从头到尾,我们只用到了这个输入的信息A,并没有用到数据A所对应的数据标签,所以我们这时候可以得出结论,自编码是一种非监督学习,通常我们在使用自编码的时候通常只会使用自编码的前半部分,这个部分也叫作EnCode,编码器,编码器可以得到源数据的精髓,如下图所示:

然后我们只需要在创建一个小的神经网络模型再去学习这个精髓中的数据,不仅可以减少神经网络的负担,并且同样可以达到一个很好的效果。

同样的如果我们通过自编码整理数据,他能从各种数据中筛选总结出各种数据的特征,如果把这个图片的类型特征都整理好放到一个图片上,那么数据类型都可以很好的用源数据的类型区分出来,如果你了解PCA主成分分析,自编码的功能和他类似,甚至在某些部分超出了PCA,换句话说,自编码可以和PCA一样可以给特殊属性降维.

而下一篇文章,我们来说一说稀疏自编码,当我们给隐藏神经元加入稀疏性限制,那么自编码神经网络即使在隐藏神经元数量较多的情况下仍然可以发现输入数据中一些有趣的结构。

祝大家五一快乐,玩的开心(*^▽^*)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT派

PyTorch实例:用ResNet进行交通标志分类

【导读】本文是机器学习工程师Pavel Surmenok撰写的一篇技术博客,用Pytorch实现ResNet网络,并用德国交通标志识别基准数据集进行实验。文中分...

2640
来自专栏AI传送门

keras教程:卷积神经网络(CNNs)终极入门指南

1845
来自专栏人工智能头条

TensorFlow下构建高性能神经网络模型的最佳实践

652
来自专栏云时之间

深度学习与神经网络:AutoEncoder自编码

其实自编码严格来说不能算作是深度学习的内容,我们在之前的机器学习算法中也了解到自编码,并且我们会通过一个简单的例子来去说说自编码的理解.

5535
来自专栏小鹏的专栏

用 TensorFlow 创建自己的 Speech Recognizer

参考资料 源码请点:https://github.com/llSourcell/tensorf... 语音识别无处不在,siri,google,讯飞输入法...

2466
来自专栏书山有路勤为径

目标跟踪与定位——Robot Localization

事件X可以有多个结果,称之为X1,X2,等; X的所有结果的概率必须加起来为1。例如,假设有两种可能的结果,X1和X2:

652
来自专栏数据派THU

独家 | 一文读懂人工神经网络学习原理

原文标题: How do Artificial Neural Networks learn? 作者:rubikscode 翻译:和中华 校对:李海明 本文对人...

3764
来自专栏CVer

TensorFlow和深度学习入门教程

英文原文:https://codelabs.developers.google.com/codelabs/cloud-tensorflow-mnist/#0 C...

3608
来自专栏大数据智能实战

基于Tensorflow的VCTK语音识别例子测试

语音识别是深度学习早先攻克的几个领域之一。传统的基于HMM等的语音识别精度一直比较受限。但是深度学习还是给语音识别的精度带来了一个飞跃性的提高。本文在网上找了段...

2748
来自专栏专知

【干货】PyTorch实例:用ResNet进行交通标志分类

【导读】本文是机器学习工程师Pavel Surmenok撰写的一篇技术博客,用Pytorch实现ResNet网络,并用德国交通标志识别基准数据集进行实验。文中分...

5558

扫码关注云+社区