第8章 现代网络架构
上一章讨论了深度学习算法如何用于创建艺术图片、基于现有数据集创建新图片以及生成文本。本章将介绍不同的网络架构,这些架构可用于计算机视觉和自然语言处理系统。本章将要讲解的网络架构包括:
- ResNet;
- Inception;
- DenseNet;
- encoder-decoder架构。
8.1 现代网络架构
当深度学习模型学习失败时,我们做的最重要的操作之一就是给模型添加更多的层。随着层数的增加,模型的准确率得到提升,然后会达到饱和;这时再增加更多的层,准确率会开始下降。在到达一定深度后加入更多层,会相应增加挑战性,如梯度消失或爆炸问题,其中一部分可以通过仔细初始化权重和引入中间的正则化层解决。现代架构,如残差网络(Residual Network,ResNet)和Inception,试图通过引入不同的技术来解决这些问题,如残差连接。
8.1.1 ResNet
ResNet通过增加捷径连接(shortcut connection),显式地让网络中的层拟合残差映射(residual mapping)。图8.1所示为ResNet是如何工作的。
图8.1
在我们见过的所有网络中,都试图通过堆叠不同的层找到可将输入(x)映射为输出(H(x))的函数。ResNet的作者提出了修正方案,不再尝试学习x到H(x)的潜在映射,而是学习两者之间的不同,或说残差(residual)。然后,为了计算H(x),可将残差加到输入上。假设残差是F(x) = H(x) - x,我们将尝试学习F(x)+ ...
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.