第7章 生成网络
前面章节看到的所有例子都专注于解决分类或回归问题。本章非常有趣,而且对理解深度学习如何解决非监督学习问题非常重要。
本章将训练网络,让其创建下述内容:
- 基于内容和特殊艺术风格的图片,俗称风格迁移(style transfer);
- 使用特殊类型的生成对抗网络(Generative Adversarial Network,GAN)生成新的人脸;
- 使用语言模型生成新的文本。
这些技术构成了发生在深度学习领域中大多数高级研究的基础。深入某一子领域的确切细节,如GAN和语言模型,超出了本书的范畴,因为它们的内容完全可以独立成册。我们将学习它们通常是如何工作的以及用PyTorch构建它们的过程。
7.1 神经风格迁移
我们人类生成的艺术品具有不同水平的准确度和复杂性。尽管创作艺术作品可能是个非常复杂的过程,它可以看成两个重要因素的联合,即画什么和怎么画。画什么来自于我们身边所见事物的启发,怎么画也受我们周边所发现的某些事物的影响。从画家的角度来看,这可能有点过度简单化了,但对如何使用深度学习算法创作艺术品却非常有用。我们将训练深度学习算法从图片中获取内容,然后根据指定的艺术风格进行绘画。如果你是个艺术家,或在创艺界工作,你可以直接使用近年来这方面的杰出成果来改善作品,并在所工作的领域中创作出很酷的东西。即使你不是搞创作的,它也会带你进入生成模型的领域,其中网络将会生成新的内容。
让我们从高层次上理解神经风格迁移做了什么,然后深入细节,并了解构建它们的PyTorch代码。风格迁移算法由内容图片(C)和风格图片(S)提供,算法必须生成一个具有内容图片内容和风格图片风格的新图片(O)。这一创建神经风格迁移的过程由Leon Gates和其他一些人在2015年引入(A Neural ...
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.