Chapter 48、More end-to-end learning examples
更多端到端学习示例
假设你想构建一个语音识别系统。你可以用三个组件构建一个系统:
这些组件工作如下:
- 计算特征:提取手动设计的特征,例如MFCC(梅尔频率倒谱系数)特征,该特征尝试捕获说话的内容同时忽略不太相关的特性,比如说话者的音高。
- 音素识别器:一些语言学家认为有基本的声音单元成为“音素”。例如,“keep”中开头的“k”音和“cake”中的“c”音音素相同。该系统试图识别音频剪辑中的音素。
- 最终识别器:取出识别的音素序列,并尝试将它们串成一个输出转录:
相反,端到端系统可以输入一个音频剪辑,并试图直接输出转录:
到目前为止,我们只描述了完全线性的机器学习“流水线”:输出从一个阶段顺序传递到下一个阶段。流水线可以更加复杂。例如,这是一个自动驾驶汽车的简单架构:
它有三个组件:一个使用摄像机图像检车其他车辆;一个检测行人;然后最后一个组件为我们自己的汽车规划一条避免汽车和行人路线。
并非每个流水线中的组件都需要学习。例如,“机器人运动规划”相关文献中有大量关于汽车最终路径规划步骤的算法。这些算法中很多并不涉及学习。
相反,端到端的方法可能会试图接收传感器输入并直接输出转向方向:
尽管端到端学习取得了很多成功,但它并不总是最好的方法。例如,端到端语音识别效果很好。但对于自动驾驶的端到端学习我持怀疑态度。接下来的几章将解释其原因。