端到端
端到端(end-to-end)的方式是指源数据通过一个模型直接得到结果。同样的问题如果采用非端到端的方式则需要多个模型(模块)配合才能得到结果。
举例
打比方来说,写程序解决问题,"非端到端式"的程序做法是写出很多函数组合起来实现程序的功能;而"端到端式"的程序只有一个函数,这一个函数实现解决问题的方案。
在深度学习领域,"端到端式"有极大的意义,把所有的模块放在一起当成一个整体来训练,在前向推理的时候可以一次性从数据到结果。
误差理论说:误差传播的途径本身会导致误差的累积。多个阶段一定会导致误差的累积,深度学习的端到端式学习能减少误差传播的途径。
对比机器学习和深度学习
相对于深度学习,传统的机器学习的流程往往由多个独立的模块组成。比如在一个典型的自然语言处理问题中,包括分词、词性标注、句法分析(确定句子的语法结构如主谓宾或句子中词汇之间的依存关系)、语义分析(包含多义词的含义确定等)等多个独立的步骤,每个步骤是一个独立的任务,其结果的好坏会影响到下一步骤,从而影响整个训练的结果。上述是非端到端。
深度学习模型在训练的过程中,从输入端到输出端会得到一个预测结果,通过与真实结果进行对比得到一个误差,然后误差反向传播到模型的每一层。每一层的参数都会根据这个误差来调整。上述就是端到端。