首页 > 编程知识 正文

实现端到端,端到端的网络

时间:2023-05-04 04:44:35 阅读:243441 作者:588

个人理解为:
端到端学习即end-to-end,从输入结果直接预测得到输出结果,中间过程为黑盒子。

另外可以参考这两个博主的解释:

1、 端到端机器学习”中的“端到端”理解

作者:盛夏的枯黄
链接:
https://www.zhihu.com/question/264358398/answer/280694210
来源:知乎

端到端学习是一种解决问题的思路,与之对应的是多步骤解决问题,也就是将一个问题拆分为多个步骤分步解决,而端到端是由输入端的数据直接得到输出端的结果。其实也就是说,端到端将分步解决的中间步骤连接整合在一起,成为一个黑盒子,我能看看到的只是输入的数据和输出的结果,就是从数据的端,到了结果的端。比如,如果要对一幅图像分类,分步骤解决的办法是:先图像预处理,提取纹理,颜色,饱和度,边缘等等特征,然后按照这些特征设计分类器进行分类,每一步你都进行了设计,筛选,不是黑盒子的。而端到端的做法应该是输入一幅图像,特征提取和分类器在盒子中,你得到只有结果。而你的问题其实是在对输入端的理解。不能说进行了数据预处理就不算是端到端,比如图像送入卷积神经网络之前一般都要缩放到固定的尺寸(也可以通过池化等方式变换到固定尺寸),但是你预处理之后的结果还是一个图像,并不是你最终需要的分类结果;所以,从你预处理之后的数据到你的结果还是端到端的。再比如,要对一段文本进行情感分类;送入模型之前一般也要进行分词和word2vec,也算是预处理的过程,但是后面的特征学习和分类也是端到端的。所以,预处理只是为了让模型更好更快的学习,但是学习到了什么并不是人为设计的,是一个黑盒子。而且,一个模型是不是端到端,也是要基于你的任务而定的。比如,自然场景的文字识别,通常包含文字检测和文字识别两部分:输入一幅图像输出图像中包含文字的区域(检测);输入文字区域输出文字内容(识别);这两部分单独来看都是端到端的,但是就自然场景文字识别这任务而言,如果要分成这两个模型来做就不是端到端的,而应该是:输入一幅带文字的图像,输出图像中的文字内容,不管中间是如何检测和分类是别的,这才是端到端。如你问题中的那段话的后半部分,将分步骤和端到端进行结合才是通用的解决办法,而真正核心的部分在于后面的端到端,前面都可以看作是预处理过程。

2 、深度学习的 “ 端到端模型(end-to-end learning)”

CSDN博主「ViatorSun」
原文链接:https://blog.csdn.net/ViatorSun/article/details/81880679

相对于深度学习,传统机器学习的流程往往由多个独立的模块组成,比如在一个典型的自然语言处理(Natural Language Processing)问题中,包括分词、词性标注、句法分析、语义分析等多个独立步骤,每个步骤是一个独立的任务,其结果的好坏会影响到下一步骤,从而影响整个训练的结果,这是非端到端的。

而深度学习模型在训练过程中,从输入端(输入数据)到输出端会得到一个预测结果,与真实结果相比较会得到一个误差,这个误差会在模型中的每一层传递(反向传播),每一层的表示都会根据这个误差来做调整,直到模型收敛或达到预期的效果才结束,中间所有的操作都包含在神经网络内部,不再分成多个模块处理。由原始数据输入,到结果输出,从输入端到输出端,中间的神经网络自成一体(也可以当做黑盒子看待),这是端到端的。

两者相比,端到端的学习省去了在每一个独立学习任务执行之前所做的数据标注,为样本做标注的代价是昂贵的、易出错的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。