Chapter 47
The rise of end-to-end learning
端到端学习的兴起
假设要构建一个系统来检查在线评论,识别正面和负面观点的问题被称为“情感分类”。为了构建该系统,可以构建两个组件的“流水线”:
我们可以将两个组件的“流水线”可视化如下:
最近有一种趋势:用单一学习算法替换管道(pipeline systems)系统。 端到端学习算法只需将原始文本作为输入,并尝试直接识别情感类别:
神经网络通常用于端到端学习系统。 术语“端到端”是指:我们要求学习算法直接从输入到所需输出。 即,学习算法直接将系统的“输入端”连接到“输出端”。
在数据丰富的问题中,端到端系统取得了巨大成功。 但它们并不总是一个不错的选择。 接下来的几章将提供更多端到端系统的示例,并就何时应该使用它们提供建议。
Chapter 48
More end-to-end learning examples
更多端到端学习示例
假设你想构建一个语音识别系统。你可以用三个组件构建一个系统:
这些组件功能如下:
而端到端系统可以输入一个音频剪辑,并试图直接输出转录:
再例如:一个自动驾驶汽车的简单架构:
它有三个组件:
相反,端到端的方法可能会试图接收传感器输入并直接输出转向方向:
尽管端到端学习取得了很多成功,但它并不总是最好的方法。例如,端到端语音识别效果很好。但对于自动驾驶的端到端学习我持怀疑态度。接下来的几章将解释其原因。
Chapter 49
Pros and cons of end-to-end learning
端到端学习的优点和缺点
让我们回到前面的例子语音流水线:
该流水线的很多部分是“手工设计”的:
虽然这些手工设计的组件限制了语音系统的潜在性能。然而,允许手工设计的组件也有一些优点:
我们再来看端到端系统:
如果你选择不使用端到端系统,你将不得不决定流水线中的步骤,以及如何将它们组合起来。在接下来的几个章节中,我们将为设计这些流水线提供一些建议。
Chapter 50
Choosing pipeline components: Data availability
选择流水线组件:数据可用性
在构建一个非端到端的流水线系统时,一个重要的因素是你是否可以容易地收集数据来训练每个组件。
例如,考虑自动驾驶架构:
相反,考虑一个纯粹的端到端方法:
为了训练该系统,我们需要一个大的(图片,转向方向)对数据集。收集该数据需要人们开车并记录他们的转向方向,这很耗时而且很贵。这使端到端系统很难训练。获取已标注汽车和行人的大型数据集要容易的多。
如果有很多数据可用于训练一个流水线的“中间模块”,那么你可以考虑使用有多个阶段的流水线。这种架构可能更优,因为你可以使用所有可用的数据来训练中间模块。
Chapter 51
Choosing pipeline components: Task simplicity
选择流水线组件:任务简单
当满足数据因素之后,还应该考虑第二个因素:应该尝试选择易于构建和学习的流水线组件。
考虑图像二分类任务:
机器学习很难定义什么任务是容易或困难。随着深度学习和多层神经网络的兴起,我们有时会说,如果一个任务可以以更少的计算步骤(对应于浅层神经网络)执行,那么该任务是“简单的”,如果一个任务需要更多计算步骤(需要更深的神经网络),那该任务是“困难的”。但这些都是非正式的定义。
如果你能够执行复杂的任务,并将其分解成简单的子任务,那么通过明确地编写子任务的步骤,你正在为算法提供先验知识,以帮助其更有效的学习任务。
比如构建一个暹罗猫检测器。纯粹的端到端架构:
使用有两个步骤的流水线架构:
第一步(猫检测器)检测图片中所有的猫:
第二步将每个检测出的猫(一次一个)的裁剪图像传入猫种类分类器:
相比仅使用标签0/1训练一个纯粹的端到端分类器,流水线中两个组件的每一个(猫检测器和猫品种分类器)似乎更容易学习并且将需要更少的数据。
总之,在决定管道组件应该是什么时,尝试构建一个管道,其中每个组件都是一个相对“简单”的功能,这样能够从少量的数据中学习。
Chapter 52
Directly learning rich outputs
直接学习丰富的输出
图像分类算法将输入图像x,并输出指示对象类别的整数。算法输出的y还可以是序列而不是代表类别的整数~~例如:
监督学习的传统应用学习了函数 h: X->Y,其中输出y通常是一个整数或实数。例如:
端到端深度学习中最激动人心的发展之一是它让我们直接学习远比数字复杂的多的东西。在上面的图片标题示例中,你可以让神经网络输入图片(x),并直接输出标题(y)。
以下是更多的例子:
这是深度学习的一个加速趋势:当你拥有正确的已标注(输入, 输出)对时,即使输出是比单个数字更丰富的句子、图片、音频或其他输出,你有时也可以用端到端来学习。
参考:
1.http://www.mlyearning.org/
2.https://github.com/xiaqunfeng/machine-learning-yearning
The End
▼
往期精彩回顾
▼