2.10 是否要使用端到端的深度学习?(Whether to use end-to-end learning?)

端到端学习的优点

  • 端到端学习只是让数据说话。如果有足够多的(x,y)(x,y)数据,不管从xxyy最适合的函数映射是什么,如果训练一个足够大的神经网络,希望这个神经网络能自己搞清楚。使用纯机器学习方法,直接从xxyy输入去训练神经网络,可能更能够捕获数据中的任何统计信息,而不是被迫引入人类的成见。例如在语音识别领域,早期的识别系统有这个音位概念,如果让学习算法学习它想学习的任意表示方式,而不是强迫使用音位作为表示方式,其整体表现可能会更好

  • 所需手工设计的组件更少,能够简化设计工作流程,不需要花太多时间去手工设计功能,手工设计中间表示方式

端到端学习的缺点

  • 直接学到xxyy的映射,需要大量(x,y)(x,y)数据

  • 排除了可能有用的手工设计组件。当有大量数据时,手工设计不太重要,当没有太多的数据时,构造一个精心设计的系统,可以将人类对这个问题的很多认识直接注入到问题里,对算法很有帮助

端到端深度学习的弊端之一是它把可能有用的人工设计的组件排除在外,精心设计的人工组件可能非常有用,但也可能真的影响算法表现。例如,强制算法以音位为单位思考,也许让算法自己找到更好的表示方法更好。但往往好处更多,手工设计的组件往往在训练集更小的时候帮助更大

决定是否使用端到端深度学习,关键的问题是是否有足够的数据能够直接学到从xx映射到yy足够复杂的函数。识别图中骨头位置是相对简单的问题,系统不需要那么多数据。但把手的X射线照片直接映射到孩子的年龄,直接去找这种函数,就是更为复杂的问题。如果用纯端到端方法,需要很多数据去学习

Last updated