到底什么是端到端(edge-to-edge)啊?

Andrew Ng对端到端的解释:

End-to-end: there have been some data processing systems that require multiple stages of processing. And what end-to-end deep learning does is it can take all those multiple stages and replace it usually with just a single neural network.

1.传统的工科等学科,在分析问题时,需要找出问题中的关键数据作为指标(feature)进行建模或量化,准确找出关键指标(feature)的这一过程需要长期大量的观察和实验作为积累。经典的机器学习也一样,经典机器学习利用人类的先验知识将raw data预处理为feature,然后对feature 进行分类,分类的效果好坏很大程度上取决于feature选择的好坏。

但是对于现在的社交网络、传感器等产生的海量数据,如何找出一个能进行判断的关键指标(feature)变得不再容易,同时,人们发现利用神经网络可以让网络自己学习如何抓取这些feature,并且相较于人手工提取关键指标(feature),用网络学习抓取的到的feature效果更好。于是人们选择将原始的所有数据直接作为神经网络模型的输入,将”选择何种特征去提取”这一步骤让神经网络也做了,而不再对原始数据进行诸如特征提取等的处理操作了。

(补充:由于多层神经网络被证明能够耦合任意非线性函数,所以以往的特征设计和提取的操作 现在可以通过 神经网络对数据的学习 来学得合适的神经网络参数 形成对应的提取器 来实现)

所以说,端到端强调在模型过程中不需要人手工去提取特征了

端到端通过缩减人工预处理的步骤和后续处理的步骤,尽可能使模型囊括原始输入到最终输出的全部环节,这样做不仅方便了使用者,更重要的是,给模型更多可以根据数据自动调节的空间,增加模型整体的契合度

  1. 除了不需要对原始数据找到”关键指标(feature)”建模外,端到端一个更重要的优点就是:全局优化(joint training in order to global optimim)。

对于有的模型,比如多视角三维重建,这个过程需要多个步骤:要经过sfm,云扩增等,这些步骤是串联的,上一个步骤的结果好坏会影响到下一个步骤的结果。虽然由于这些子步骤的优化目标并不属于同一类,可以选择每个步骤模块单独训练最后级联到一起,但这样会导致虽然各个子步骤模块内部最优但却不能保证整个模型全局最优。

端到端将所有步骤模块放在一起去训练优化,用一个神经网络去做整个过程,这样可以从头进行前向传播,前向传播结束的输出结果可以将loss依次反向传给所有的步骤模块,使各个步骤模块进行参数调整。这样不断迭代就可以使所有步骤模块整合在一起,最终可以令整个模型效果最优。

其实业界对于端到端的定义比较模糊,以下几种都可以自称为端到端:

①输入的是原始数据(不需要对原始数据进行预处理),就叫端到端;

②输入的是原始数据,输出为最终需要的结果,就叫端到端;

③进行的是全局优化,强调一个神经网络模型囊括模型中所有步骤:可以实现各个子步骤的综合的、全局的优化的模型 也可以叫作端到端

Original: https://blog.csdn.net/qq_41764621/article/details/124038641
Author: chuanauc
Title: 到底什么是端到端(edge-to-edge)啊?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/689421/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球