吴恩达深度学习课程三: 结构化机器学习项目 第二周:误差分析与学习方法(五)端到端学习

此分类用于记录吴恩达深度学习课程的学习笔记。

课程相关信息链接如下:

  1. 原课程视频链接:[双语字幕]吴恩达深度学习deeplearning.ai
  2. github课程资料,含课件与笔记:吴恩达深度学习教学资料
  3. 课程配套练习(中英)与答案:吴恩达深度学习课后习题与答案

本篇为第三课的第二周内容,2.92.10的内容,也是本篇的理论部分的最后一篇。


本周为第三课的第二周内容,本周的内容关于在上周的基础上继续展开,并拓展介绍了几种"学习方法",可以简单分为误差分析和学习方法两大部分。

其中,对于后者的的理解可能存在一些难度。同样,我会更多地补充基础知识和实例来帮助理解。本篇的内容关于端到端学习,与其说它是一种学习方式,不如说它更像一种学习逻辑,并不难理解,因此本篇的篇幅也较短。

1.什么是端到端学习?

现在有这样一道数学题摆在我们面前:

\[5 \times 10 =? \]

相信你在看到题面的时候就已经得到答案了,但是别着急,我们来理顺一下得出答案的思路。

  1. 首先,我们要学习阿拉伯数字本身,学习个位数和十位数的区别。
  2. 然后,我们要学习加法的运算规则,他的表示符号。
  3. 在之后,我们在加法的基础上学习乘法和相关表示与计算。
  4. 最后,我们才得出了计算结果:50

虽然我们一下子就算出了答案,但我们的脑子里一定会有这样一步步的过程:理解符号 → 理解运算 → 理解组合 → 得到答案。

而现在,如果你没有任何数学基础,我只告诉你:

\[4 \times 5 =20,1\times 2 =2,3\times 4 =12······ \]

你解出这道题吗?答案很显然,我们最多蒙一蒙。
但是机器能。

在深度学习的世界里,有一种完全不同的思路。

这种思路不需要我们一层层地把规则写明,也不需要我们告诉模型"先学数字、再学加法、最后学乘法"。
它允许模型直接从输入跳到输出。
不需要人为地拆分中间步骤。

在这种方式下,我们会对模型说:

"这是输入 \(x\),这是输出 \(y\)。

中间怎么处理?你自己学。"

就像只给学生看大量的"题目 → 答案"

却完全不教任何运算规则。

模型必须自己推理出所有隐含的步骤 ,并在内部构建出自己的处理流程。

这种方式就是:端到端学习(End-to-End Learning)

我们来看看课程中一些实际应用的例子,看看端对端学习的适用情况和领域。

2. 端对端学习在什么时候适用?

我们举两个例子来说明这个问题。

2.1 门禁系统的面部识别

先来看看非端对端逻辑下的门禁系统要经过什么样的步骤:

一般来说,我们在这种系统录入的都是证件照,也就是较为精美的正面照。

但是,很显然,在真实扫脸中我们不会这么标准 ,这就像我们之前常常提到的分布不同问题,会很大程度影响模型的实用性。

因此,"检测人脸"这一步是我们根据正常逻辑加入的,是我们为了帮助提高拟合手动设计的步骤。

我们可以训练两个模型来实现这个系统:

  1. 从不同角度、距离的人脸检测模型。
  2. 检测到的人脸与数据库的对比识别模型。

当然,这只是一个示例,也有其他的方法和技术。

现在,再来看看端对端逻辑下的系统实现:

很显然,要想实现端对端学习,最重要的前提就是极大规模的数据集

而实际上,在门禁系统中,上面这种非端对端的学习方式反而更好 ,为什么?

我们来看看二者的对比,归根到底,还是数据问题。

因此,在数据量不足的情况下,传统非端对端的学习方式反而效果更好。

那端对端有什么较为突出的应用领域吗?有的兄弟,有的。

我们继续下一个例子。

2.2 语言翻译

如果我们人工把中文翻译成英文,你在脑海可能会一个个拼出每个字对应的英文单词再组合。

为什么说在这个领域端对端学习更好,很简单,数据容易获取
你在翻译软件输入一句中文并翻译成英文,好了,现在你已经得到一个样本和其相应的标签了。

这样,模型可能不理解单个英文字母是什么,不理解具体的语言逻辑,但是它就是可以通过自己的学习方式进行翻译。

显然,这得益于海量的数据支持。

3. 端对端学习的优缺?

端到端学习听起来很"酷",直接输入 \(x\),直接输出 \(y\),就像魔法一样。但任何技术都有两面,端到端学习也一样。

最后我们通过对比来看看它的优缺点,也当作是对它的总结。

项目 端到端学习(End-to-End) 传统分步骤方法(Pipeline)
设计复杂度 结构简单,不需要人为拆分步骤 需要人工划分多步骤、设计特征
对数据的依赖 极强,需要海量数据 数据需求较少,模块可分开训练
整体性能 可达到更好的"全局最优" 可能受制于每个子模块的局部最优
可解释性 差,内部逻辑是黑箱 好,每个步骤都可观察、可调试
调试难度 高,出错很难定位 低,可逐个模块定位问题
鲁棒性(分布变化) 容易受到数据分布偏差影响 更稳,因为每步可强制规则约束
适用场景 翻译、语音识别等"数据巨大"的任务 医疗影像、人脸识别等数据有限任务
相关推荐
程序员打怪兽6 小时前
详解Visual Transformer (ViT)网络模型
深度学习
哥不是小萝莉2 天前
OpenClaw 架构设计全解析
ai
warm3snow2 天前
Claude Code 黑客马拉松:5 个获奖项目,没有一个是"纯码农"做的
ai·大模型·llm·agent·skill·mcp
Ray Liang2 天前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx
代码匠心2 天前
AI 自动编程:一句话设计高颜值博客
前端·ai·ai编程·claude
CoovallyAIHub2 天前
仿生学突破:SILD模型如何让无人机在电力线迷宫中发现“隐形威胁”
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
从春晚机器人到零样本革命:YOLO26-Pose姿态估计实战指南
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
Le-DETR:省80%预训练数据,这个实时检测Transformer刷新SOTA|Georgia Tech & 北交大
深度学习·算法·计算机视觉