下面是端到端的文字解释,不过还是感觉不是很容易理解,中间有了步骤就不是端到端了?但一般机器学习总归还是需要数据预处理、特征提取之类的步骤啊?
什么是端到端学习? 端到端学习是一种解决问题的思路,与之对应的是多步骤解决问题,也就是将一个问题拆分为多个步骤分步解决,而端到端是由输入端的数据直接得到输出端的结果。
一般情况下,更常见的是介于两者之间的解决思路,先把任务拆解为简单的两步解决。例如人脸识别门禁系统,不是由检测到的图片直接得到结果(识别出该员工的id),而是第一步将检测到的图片中的人脸部分放大居中,第二步通过识别得到该员工的id。
相对于深度学习,传统机器学习的流程往往由多个独立的模块组成,比如在一个典型的自然语言处理(Natural Language Processing)问题中,包括分词、词性标注、句法分析、语义分析等多个独立步骤,每个步骤是一个独立的任务,其结果的好坏会影响到下一步骤,从而影响整个训练的结果,这是非端到端的。 而深度学习模型在训练过程中,从输入端(输入数据)到输出端会得到一个预测结果,与真实结果相比较会得到一个误差,这个误差会在模型中的每一层传递(反向传播),每一层的表示都会根据这个误差来做调整,直到模型收敛或达到预期的效果才结束,这是端到端的。 两者相比,端到端的学习省去了在每一个独立学习任务执行之前所做的数据标注,为样本做标注的代价是昂贵的、易出错的。