深度学习入门:用MNIST完成Autoencoder

简介:

Autoencoder基本是Deep Learning最经典的东西,也是入门的必经之路。Autoencoder是一种数据的压缩算法,其中数据的压缩和解压缩函数必须是数据相关的,有损的,从样本中自动学习的。在大部分提到自动编码器的场合,压缩和解压缩的函数是通过神经网络实现的。

在这里,我来给大家完成一个MNIST数据集的Autoencoder



首先下载MNIST数据,在这里友情提醒一下,MNIST的数据集因为某些原因,下载速度非常的慢,在这里推荐去THE MNIST DATABASE下载。下载完成后建一个MNIST_data的文件夹,放进去。



在这里提一下,为什么我们要将图片设置为28*28?

28*28的特征图大小可以防止输入的连接掉到边界之外,不导致梯度损失。

大家觉得自编码器可以在没有标签的时候学习到数据的有用表达。但是,自编码器并不是一个真正的Unsupervised Learning的算法,而是一个Self-Supervised Learning算法。并且,Self-Supervised Learning是Supervised Learning的一个部分,其标签产生自输入数据。

要获得一个自监督的模型,你需要想出一个靠谱的目标函数和一个损失函数。我们首先将Autoencoder用这些图片来训练,得到784长度的向量。同时这些数据集的图像已经完成了归一化,也就是说要么是一,要么是零。首先我们先建立一个单层ReLu隐藏层来完成一个很简单的Autoencoder,这一层是用来做压缩的。然后encoder就是输入层和隐藏层,decoder是隐藏层和输出层。这句话比较难理解,就是输入层进行输入,经中间的隐藏层来进行一些变换,隐藏层为encoder和decoder共有。而后至输出层得到结果,然而由于我们将图像正则化了,所以我们需要在输出层上加一个Sigmoid函数来获得结果。

对了,在这里解释一下为啥是784:







原文发布时间为:2017-08-03
本文作者:那只猫
本文来自云栖社区合作伙伴“ Python中文社区”,了解相关信息可以关注“ Python中文社区”微信公众号
相关文章
|
2月前
|
机器学习/深度学习 人工智能 算法
深度学习入门:理解神经网络与反向传播算法
【9月更文挑战第20天】本文将深入浅出地介绍深度学习中的基石—神经网络,以及背后的魔法—反向传播算法。我们将通过直观的例子和简单的数学公式,带你领略这一技术的魅力。无论你是编程新手,还是有一定基础的开发者,这篇文章都将为你打开深度学习的大门,让你对神经网络的工作原理有一个清晰的认识。
|
29天前
|
机器学习/深度学习 PyTorch 算法框架/工具
深度学习入门案例:运用神经网络实现价格分类
深度学习入门案例:运用神经网络实现价格分类
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
软件工程师,入门下深度学习吧
软件工程师,入门下深度学习吧
54 9
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)入门与实践
【8月更文挑战第62天】本文以浅显易懂的方式介绍了深度学习领域中的核心技术之一——卷积神经网络(CNN)。文章通过生动的比喻和直观的图示,逐步揭示了CNN的工作原理和应用场景。同时,结合具体的代码示例,引导读者从零开始构建一个简单的CNN模型,实现对图像数据的分类任务。无论你是深度学习的初学者还是希望巩固理解的开发者,这篇文章都将为你打开一扇通往深度学习世界的大门。
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
深度学习入门:从理论到实践
【9月更文挑战第22天】本文将带你走进深度学习的世界,从基础的理论概念出发,逐步深入到实践应用。我们将探讨神经网络的工作原理,以及如何通过编程实现一个简单的深度学习模型。无论你是初学者还是有一定基础的学习者,都能在这篇文章中找到有价值的信息。让我们一起揭开深度学习的神秘面纱,探索这个充满无限可能的领域吧!
|
2月前
|
机器学习/深度学习 人工智能 算法
深度学习中的卷积神经网络(CNN)入门与实践
【9月更文挑战第19天】在这篇文章中,我们将探索深度学习的一个重要分支——卷积神经网络(CNN)。从基础概念出发,逐步深入到CNN的工作原理和实际应用。文章旨在为初学者提供一个清晰的学习路径,并分享一些实用的编程技巧,帮助读者快速上手实践CNN项目。
|
27天前
|
机器学习/深度学习 自然语言处理 TensorFlow
课外阅读之深度学习如何入门?
课外阅读之深度学习如何入门?
27 0
|
28天前
|
机器学习/深度学习 自然语言处理 算法
深度学习如何入门?
深度学习入门的指南,包括准备基础知识、学习深度学习理论、实践操作、进阶学习、参与社区和不断实践与反思等步骤。
37 0
|
28天前
|
机器学习/深度学习 存储 自然语言处理
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
|
29天前
|
机器学习/深度学习 PyTorch API
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)