第5章 计算机视觉中的卷积神经网络

学习目标

阅读完本章之后,你将能够:

  • 解释卷积神经网络的工作原理;
  • 构建卷积神经网络;
  • 利用数据增强来改进模型;
  • 通过迁移学习使用最先进的模型。

上一章介绍了如何训练神经网络来预测数值,也介绍了具有特定架构的循环神经网络(RNN)在各种场景下的应用。本章会探讨卷积神经网络(CNN)是如何按照和全连接神经网络相似的原理进行工作的。

CNN中包含一些神经元,这些神经元的权重和偏置会在训练期间更新。CNN主要用于进行图像处理,图像会被解释为一些像素,而CNN会输出它认为图像最可能属于的类别,并且会利用损失函数计算每个输出结果对应的误差。

通过假定神经网络输入的是一个图像,或者近似一个图像,CNN会具有更高的效率,远比深度神经网络更快、更好。下面几节会更详细地介绍CNN。

本节介绍CNN的工作原理,并解释图像卷积操作的过程。

图像是由像素构成的,例如,一个RGB图像具有3个通道,每种颜色(红、绿、蓝)分别为一个通道,每个通道中包含同样大小的一组像素。全连接神经网络不会表示出通道的这层结构,而是会使用一个维度来表示,这是不够的。此外,在全连接神经网络中,每一层中的每个神经元都会连接到下一层中的所有神经元,从而造成性能较差,即训练花费的时间会更长,同时结果也不会很好。

CNN是一种对图像分类和图像识别之类的任务非常有效的神经网络,并且在音频和文本数据上的效果也很不错。和普通的神经网络一样,CNN由一个输入层、一些隐藏层和一个输出层构成。输入层和隐藏层通常包括卷积层(convolutional layer)、池化层(pooling layer,用来减小输入在空间上的大小)和全连接层(在第2章中已经介绍了)。卷积层和池化层会在本章稍后部分介绍。 ...

Get Python计算机视觉和自然语言处理 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.