建立购物网站搭建网站步骤
介绍用于机器学习的 Fashion-MNIST 数据集
为什么要研究数据集?
让我们首先思考一下为什么要花时间研究数据集的问题。数据是深度学习的主要成分,虽然作为神经网络程序员的任务是让我们的神经网络从我们的数据中学习,但我们仍然有责任了解我们实际用于训练的数据的性质和历史。
一般来说,计算机程序由两个主要组成部分:代码和数据。在传统编程中,程序员的工作是直接编写软件或代码,但在深度学习和神经网络中,所谓的软件就是网络本身,特别是网络在训练过程中自动出现的权重。
程序员的工作是监督和指导训练过程中的学习。我们可以将其视为一种间接编写软件或代码的方式。通过使用数据和深度学习,神经网络程序员可以生产出能够执行计算的软件,而无需编写明确执行这些计算的代码。
因此,数据在开发软件中的作用正在转变,我们可能会看到软件开发人员的角色也随之转变。
关注数据的考虑因素:
- 谁创建了数据集?
- 数据集是如何创建的?
- 使用了哪些转换?
- 数据集的意图是什么?
- 可能的意外后果?
- 数据集是否有偏见?
- 数据集是否存在伦理问题?
在实践中,获取和访问数据通常是深度学习中最困难的部分之一,因此在我们了解这个特定数据集时,请记住我们在这里看到的一般概念和想法。
MNIST 数据集是什么?
MNIST 数据集,修改后的国家标准与技术研究院数据库,是一个著名的手写数字数据集,通常用于训练机器学习的图像处理系统。NIST 代表 国家标准与技术研究院。
MNIST 中的 M 代表 修改过的,这是因为有一个原始的 NIST 数字数据集被修改成了 MNIST。
MNIST 因为使用频率高而闻名。它通常出于两个原因而被使用:
- 初学者使用它,因为它简单
- 研究人员使用它来基准测试(比较)不同的模型
数据集包含 70,000
张手写数字图像,具体分为:
-
60,000
张训练图像 -
10,000
张测试图像
这些图像最初是由美国人口普查局员工和美国高中生创建的。
MNIST 被如此广泛地使用,图像识别技术也得到了如此大的改进,以至于数据集被认为太简单了。这就是为什么创建了 Fashion-MNIST 数据集。
Fashion-MNIST 是什么?
Fashion-MNIST,顾名思义,是一个时尚物品的数据集。具体来说,数据集有以下十类时尚物品:
索引 | 标签 |
---|---|
0 | T 恤/上衣 |
1 | 裤子 |
2 | 套头衫 |
3 | 连衣裙 |
4 | 外套 |
5 | 凉鞋 |
6 | 衬衫 |
7 | 运动鞋 |
8 | 包 |
9 | 短靴 |
正如我们在之前的帖子中看到的,这些物品的样本看起来像这样:
Fashion-MNIST 的起源是什么?
Fashion-MNIST 图像来自哪里?Fashion-MNIST 基于 Zalando 网站上的商品组合。Zalando 是一家总部位于德国的跨国时尚商务公司,成立于 2008 年。
这就是为什么我们在 GitHub URL 中看到 zalandoresearch,Fashion-MNIST 数据集可供下载。
Zalando Research 是公司内部创建数据集的团队。
当我们回顾介绍数据集的论文时,我们会看到更多关于图像收集方式的内容,但首先,让我们回答另一个潜伏的问题。
Fashion 数据集中的 MNIST 是什么意思?
为什么 Fashion-MNIST 中有 MNIST?
Fashion MNIST 数据集之所以在名称中有 MNIST,是因为创建者希望用 Fashion-MNIST 替代 MNIST。
因此,Fashion 数据集被设计成尽可能地模仿原始 MNIST 数据集,同时由于数据比手写图像更复杂,引入了更高的训练难度。
我们将看到 Fashion-MNIST 如何在论文中模仿原始数据集,但我们已经看到的一件事是类别的数量。
- MNIST - 有 10 个类别(每个数字 0-9 一个)
- Fashion-MNIST - 有 10 个类别(这是故意的)
让我们来看看这篇论文。
在 arXiv 上阅读 Fashion-MNIST 论文
关于论文的第一件事是,作者来自 Zalando Research(Fashion-MNIST 的起源)。
在阅读了论文的摘要后,我们看到了数据集被命名为 Fashion-MNIST 的原因。
Fashion-MNIST 论文的摘要
我们介绍了 Fashion-MNIST,这是一个新的数据集,包含 70,000 张 28 x 28 灰度图像,涵盖 10 个类别的时尚产品,每个类别 7,000 张图像。训练集有 60,000 张图像,测试集有 10,000 张图像。Fashion-MNIST 旨在作为原始 MNIST 数据集的直接替代品,用于基准测试机器学习算法,因为它具有相同的图像大小、数据格式以及训练和测试拆分的结构。数据集可在 https://github.com/zalandoresearch/fashion-mnist 免费获取。
- arXiv 论文
数据集被设计成原始 MNIST 的替代品。通过使 Fashion-MNIST 数据集规范与原始 MNIST 规范相匹配,从旧数据集到新数据集的转换可以顺利进行。论文声称,切换数据集所需的唯一更改是从获取 MNIST 数据集的 URL 改为指向 Fashion 数据集。
论文还为我们提供了更多关于 MNIST 如此受欢迎的原因的见解:
“MNIST 如此受欢迎的原因与其大小有关,这使得深度学习研究人员能够快速检查和原型化他们的算法。这也得到了补充,因为所有机器学习库(例如 scikit-learn)和深度学习框架(例如 Tensorflow、PyTorch)都提供了使用 MNIST 的辅助函数和方便的示例。”
- arXiv 论文
PyTorch 为我们提供了一个名为 torchvision
的包,使我们能够轻松地开始使用 MNIST 以及 Fashion-MNIST。
我们将在下一篇文章中使用 torchvision
将我们的训练集加载到我们的项目中。
Fashion-MNIST 是如何构建的
与 MNIST 数据集不同,时尚集不是手绘的,但数据集中的图像是 Zalando 网站上的实际图像。
然而,它们已经被转换以更接近 MNIST 规范。这是每个网站图像经历的一般转换过程:
- 转换为 PNG
- 裁剪
- 调整大小
- 锐化
- 扩展
- 反色
- 灰度化
要查看此过程的更详细描述,请务必查看论文的第二部分。
使用 torchvision
访问 Fashion-MNIST
总之,我们已经看到了 Fashion-MNIST 数据集的起源和历史,尽管该数据集被设计成更具挑战性的计算机视觉问题,但该集合仍然是一个很好的起点。
我们将通过一个名为 torchvision
的 PyTorch 视觉库访问 Fashion-MNIST,并构建我们的第一个神经网络,该网络能够准确预测给定输入时尚图像的输出类别。