首先与非end to end进行比较

与非end to end比较

在非end to end中,首先要人工对数据进行大量的处理
举例:
自然语言处理中,非end to end的学习需要对语音识别之前要经过两步处理:解析器(Parser) 注释文本和情感分类器(Sentiment Classifier)预测文本
解析器是对文本进行标注,比如形容词(好,坏,糟糕等),情感分类器再来预测文本是正面的还是负面的,整个过程如图:
End to End 端到端的理解
End-to-End 学习不需要这些步骤,像黑盒子一样一步到位解决问题。神经网络算法就是一个被广泛应用的End-to-End学习的算法。End-to-End 算法尤其适用于数据量巨大的机器学习任务中。
End to End 端到端的理解

优缺点

非End-to-End的学习算法中,需要人类做大量的前期准备工作,比如在上述语音识别的例子中,"音素"是语言学家发明的,在处理过程虽然提高了效率但是无疑会丢失语音中的其他信息。但是这种算法需要的数据量比较小。
End-to-End学习算法虽然不需要太多的人工干预,但是需要大量标记的数据,并不是在所有领域都是最好的选择。

非end to end中的管道(pipline)

正如上文提到的,End-to-End的学习方法并不是在所有的领域都是最好的选择。最重要的是到底有没有足够可靠的数据。以自动驾驶为例,通过摄像头识别人和车辆,然后规划驾驶路径。如果用End-to-End的方法,需要积累海量量标记好的数据,各种路况不同的路径规划,非常困难。
然而,如果使用非End-to-End的方法,比如下图,先识别车和人,再进行路径规划

End to End 端到端的理解

人和车的被标记好的数据很容易找到,完成这一步,再进行路径规划,这样训练起来就容易很多了。而这样设计算法的步骤就是pipline.

再举一个识别图片中猫的品种的例子,我们可以这样设计Pipline: 第一步先识别图片中是否有猫,第二步再识别猫是不是这个品种:

End to End 端到端的理解

参考:https://www.jianshu.com/p/fb4a11e76df4

从目标检测方面理解
典型的非end to end方法: RCNN算法
RCNN算法包含两部分,一是目标所在位置及大小,二是目标的类别。即其第一步使用region proposal来得到目标的位置和大小,第二步将使用CNN来判断框中的类别。
End to End 端到端的理解
典型的end to end方法:yolo算法

yolo这种方法就是只通过CNN网络,就能够实现目标的定位和识别。也就是原始图像输入到CNN网络中,直接输出图像中所有目标的位置和目标的类别。这种方法就是end-to-end端对端的方法,一端输入我的原始图像,一端输出我想得到的结果。只关心输入和输出,中间的步骤全部都不管。

相关文章:

  • 2021-07-14
  • 2021-11-27
  • 2021-11-06
  • 2021-08-01
  • 2022-12-23
  • 2021-08-23
  • 2021-10-03
  • 2022-03-08
猜你喜欢
  • 2021-09-26
  • 2021-04-26
  • 2021-06-07
  • 2022-12-23
  • 2022-01-16
  • 2022-12-23
  • 2021-10-11
相关资源
相似解决方案