📜  PyTorch中的图像识别的MNIST数据集

📅  最后修改于: 2020-11-11 00:57:15             🧑  作者: Mango

PyTorch中的MNIST图像识别数据集

在本主题中,我们将讨论一种将在图像识别中使用的新型数据集。该数据集称为MNIST数据集。 MNIST数据集可以在网上找到,它实质上只是各种手写数字的数据库。 MNIST数据集包含大量数据,通常用于证明深度神经网络的真正功能。

假设我们有下图:

当我们查看图像时,我们的大脑和眼睛一起工作以将其识别为第八位。我们的大脑是一个非常强大的工具,并且能够非常快速地将该图像归类为八个。数字的形状如此之多,我们的大脑可以轻松识别这些形状并确定数字是多少,但是对于计算机而言,完成这项任务并非那么简单。只有一种方法可以做到这一点,那就是使用深度神经网络,它使我们能够训练计算机来有效地对手写数字进行分类。

到目前为止,我们只处理了笛卡尔坐标系上包含简单数据点的数据。从开始到现在,我们一直在处理二进制类数据集。现在,我们将使用多类数据集,当我们使用多类数据集时,我们将在输出层中使用Softmax激活函数,而不是sigmoid函数。 sigmoid激活函数对于分类二进制数据集非常有用,并且在将概率值排列在0和1之间时非常有效。sigmoid函数对于多类数据集无效,为此,我们使用Softmax激活函数,有能力应对。

MNIST数据集是一个多类数据集,由10个类别组成,我们可以将0到9的数字分类。之前使用的数据集与MNIST数据集之间的主要区别在于,将MNIST数据输入到神经网络。

在感知器模型和线性回归模型中,每个数据点均由简单的X和Y坐标定义。这意味着输入层需要两个节点来输入单个数据点。

在MNIST数据集中,单个数据点以图像形式出现。包含在MNIST数据集中的这些图像通常为28 * 28像素,因此,横轴为28个像素,纵轴为28个像素。这意味着来自MNIST数据库的单个图像共有784个像素,必须对其进行分析。我们的神经网络的输入层中有784个节点来分析这些图像之一。

由于增加了输入节点,并且没有增加任何类,因此可以将数字分类为0到9。很明显,我们的数据集比我们之前分析的任何数据集都要复杂。为了对该数据集进行分类,需要具有某些隐藏层有效性的深度神经网络。

在我们的深度神经网络中,输入层中有784个节点,一些隐藏层将前馈输入值,最后输出层中有10个节点,分别对应每个手写数字。这些值通过网络馈送,并且在输出层中输出最高激活值的节点标识字母或数字。