简介

已完成

计算机视觉是人工智能的一个成功的分支,它使计算机能够从数字图像和/或视频中获得一些见解。 神经网络可有成效地用于计算机视觉任务。

假设你正在开发一个用于识别印刷正文的系统。 你已使用某种算法途径来对齐页面和裁剪文本中的各个字符,现在你需要识别各个字母。 我们将此问题称作“图像分类”,因为我们需要将输入图像分到不同类中。 此类问题的其他示例是自动根据图像对明信片分类,或根据照片确定配送系统中的产品类型。

在本模块中,我们将学习如何使用 PyTorch(用于构建神经网络的最常用的 Python 库之一)来训练图像分类神经网络模型。 首先了解最简单的模型(即一个完全连接的密集神经网络)以及一个简单的手写数字 MNIST 数据集。 接下来,我们将了解卷积神经网络(它们旨在捕获二维图像模式),然后转到较复杂的数据集 CIFAR-10。 最后,我们将使用预先训练过的网络并进行迁移学习,以便能够基于相对较小的数据集训练模型。

学完本模块后,你能够基于真实的照片(例如猫狗数据集)训练图像分类模型,并为自己的方案开发图像分类器。

学习目标

通过学习本模块,你将能够:

  • 了解最常使用神经网络解决的计算机视觉任务
  • 了解卷积神经网络 (CNN) 的工作原理
  • 训练神经网络以识别手写数字,并将猫和狗分类
  • 了解如何使用迁移学习通过 PyTorch 解决现实世界的分类问题

先决条件

  • 对 Python 和 Jupyter Notebook 有基本了解
  • 熟悉 PyTorch 框架,包括张量、反向传播和生成模型的基础知识
  • 了解机器学习概念,例如分类、训练/测试数据集、准确度等。