什么是端到端(end2end)学习?

传统的图像识别问题往往通过分治法将其分分解为预处理、特征提取和选择、分类器设计等若干步骤。分治法的动机是将图像识别的母问题分解为简单、可控且清晰的若干小的子问题。不过分步解决子问题时,尽管可以在子问题上得到最优解,但子问题上的最优解并不意味着就能得到全局问题的最后解。

    深度学习提供了一种“端到端”的学习范式,整个学习的流程并不进行人为的子问题划分,而是完全交给深度学习模型直接学习从原始数据到期望输出的映射。

    如图所示,对深度模型而言,其输入数据是未经任何人为加工的原始样本形式,后续则是堆叠在输入层上的众多操作层。这些操作层整体可以看作一个复杂的函数Fcnn,最终的损失函数由数据损失(data loss)和模型参数的正则化损失(regularization loss)共同组成,模型深度的训练则是在最终损失驱动下对模型进行参数更新并将误差反向传播至网络各层。模型的训练可以简单抽象为从原始数据向最终目标的直接拟合,而中间的这些部件起到了将原始数据映射为特征随后在映射为样本标记的作用。

       总结一下:端到端的学习其实就是不做其他额外处理,从原始数据输入到任务结果输出,整个训练和预测过程,都是在模型里完成的。

原文:https://blog.csdn.net/alawaka2018/article/details/80388808

深度学习中对 end2end的理解
在神经网络中,经常看到end2end的训练方式。

end2end在不同的应用场景中有不同的诠释,对于视觉领域而言,神经网络的输入为图片,输出就是我们想要的结果。例如:

1,自动驾驶中,输入为道路的图片,输出就是转向的角度。

2,视觉机器人,输入的是图片,输出就是机械手运动的指令。

3,目标识别中,输入为待检测图片,输出就是检测到的目标类别以及目标位置。

从目标检测的角度理解:

​ 非end2end模式下进行目标检测,一般神经网络中会分为两个部分,第一部分是Region Proposal,这部分的功能是负责找出图片中目标的位置和大小。第二部分就是判断第一部分中是否真的存在目标,以及目标是属于哪一类,判断一般是在CNN中来完成的。这种套路一般都是在RCNN中经常使用。

​ 在end2end模式下,位置和类别全部由一个模型解决,原始图像输入,模型输出的结果就是位置和类别。一端输入原始图像,一端输出想要的结果,只关心输入和输出,中间的步骤全部都不管。

 

 end2end的好处:

​ 通过缩减人工预处理和后续处理,尽可能使模型从原始输入到最终输出,给模型更多的可以根据数据自动调节的空间,增加模型的整体契合度。end2end强调的是全局最优,中间部分局部最优并不能代表整体最优。

原文:https://blog.csdn.net/qq_17278169/article/details/77337308

猜你喜欢

转载自www.cnblogs.com/wisir/p/12556353.html