在DeepLearning的文章中有看到end2end一次,作者们似乎都比较喜欢这个end2end learning的方式。那么到底啥是end2end?
找了一下相关论文,没找到专门讲这个概念的,看来应该不是很严格定义的一个说法。
那就搬运一下Quora上的提问和回答吧。
问题:https://www.quora.com/What-is-end-to-end-learning-in-machine-learning
回答1:
论文《End to End Learning for Self-Driving Cars》里面提到,他们训练了一个CNN,能够把从前置摄像头获取图像中从像素到最终控制车辆行驶指令。也就是:像素-->指令。
回答2:
不同人对end2end有不同定义。你可以定义成从图像到最终结果,还可以在前面再增加一个获取数据,从获取数据到最终结果;甚至从申请项目到得到最终结果。。。。好吧,一层一层剥削啊。反正,这个词不太好,不严谨。
回答3:
提供了从数据处理到为用户提供解决方案的整个过程。
回答4:
用一个任务来搞定所有相关的任务。因此end2end意思是一口气做好整个事情,包括数据流、算法选择和参数调整、算法相关硬件、结果可视化
总结:
看了这几个回答,end2end的意思在不同人看来有不同理解,但是作为程序员/深度学习炼丹娃,应当理解为:至少是从处理过的图像-->最终目标结果(比如分类结果、检测结果、分割结果等)的一个流程,也就是起码把原来的“特征提取”和“用分类器做分类,包括特征选择”的两个模块,串在一起了,而不是显示地分成两个模块。