第7章 其他深度学习模型

到目前为止,我们的讨论大多集中在用于分类的模型。这些模型使用对象特征和它们的标签进行训练,并预测之前未见过的对象的标签。它们的结构也相当简单,至今我们看到过的所有模型都是用Keras序贯模型API建模的线性管道模型。

本章中,我们将关注更复杂的模型,这些模型的管道不一定是线性的。Keras提供了处理这类架构的函数API。本章中我们将学习如何使用函数API定义网络。注意函数API也可用于创建线性架构。

分类网络最简单的扩展是回归网络。有监督机器学习的两大子类是分类和回归。回归网络不再预测分类,而是预测连续值。我们讨论无状态RNN和有状态RNN的时候已经看到过回归网络的例子。许多回归问题都可以使用分类模型稍做改进就能解决,本章中我们将看到一个用于预测空气中的苯含量的网络。

另一类用来学习无标签的数据结构的模型被称作无监督(或更准确地说,自监督)模型。它们和分类模型相类似,但是标签是隐含在数据中的。我们已经见过这类模型的例子;如CBOW和skip-gram word2vec模型就是自监督模型。自动编码器是另一个这类模型的例子。我们将学习自动编码器,并给出一个构建句子的紧凑向量表示的例子。

之后我们会看一下如何用我们之前见过的网络组建出更大的计算图。这些图通常是为特定目标构建,而这些目标单用序贯模型不能完成,它们可能包含多个输入和输出,以及和外部组件的连接。我们将看到一个组建问题回答网络的例子。

再之后我们会查看Keras的后端API,以及我们如何使用API构建自定义组件来扩展Keras功能。

再回到无标签数据的模型,另一类不需要标签的是生成模型。这些模型用已有对象的集合进行训练,并尝试学习这些对象的分布。一旦学到分布特征,我们就能从这一分布中抽取出和原始训练数据类似的样本。我们在前面的章节中看到过一个这样的例子,用于生成和“爱丽丝梦游仙境”相似文本的字符RNN模型。这个话题已经讲过了,这里我们不再赘述生成模型相关的内容。不过,我们会利用训练好的网络学习数据分布的思路,这个网络使用在ImageNet数据上预训练好的VGG-16网络创建有趣的视觉效果。 ...

Get Keras深度学习入门与实践 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.