第5章 深度学习之计算机视觉
在第3章中,使用了名为ResNet的流行的卷积神经网络(Convolutional Neural Network,CNN)架构构建了一个图像分类器,我们将此模型作为黑盒使用。本章将讨论卷积网络的重要组成部分。本章将涵盖如下重要主题:
- 神经网络简介;
- 从零开始构建CNN模型;
- 创建和探索VGG16模型;
- 计算预卷积特征;
- 理解CNN模型如何学习;
- CNN层的可视化权重。
本章将探讨如何从零开始构建一个解决图像分类问题的架构,这是最常见的用例。本章还将讲解如何使用迁移学习,这将有助于我们使用非常小的数据集构建图像分类器。
除了学习如何使用CNN,还将探讨这些卷积网络的学习内容。
5.1 神经网络简介
在过去几年中,CNN已经在图像识别、对象检测、分割以及计算机视觉领域的许多其他任务中得到广泛应用。它们也在自然语言处理(Natural Language Processing,NLP)领域变得流行,尽管还没有被普遍使用。全连接层和卷积层之间的根本区别在于权重在中间层中彼此连接的方式。图5.1描述了全连接层或线性层是如何工作的。
图5.1
在计算机视觉中使用线性层或全连接层的最大挑战之一是它们丢失了所有空间信息,并且就全连接层使用的权重数量而言复杂度太高。例如,当将224像素的图像表示为平面阵列时,我们最终得到的数组长度是150,528(224×224×3通道)。当图像扁平化后,我们失去了所有的空间信息。让我们来看看CNN的简化版本是什么样子的,如图5.2所示。 ...
Get PyTorch深度学习 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.