你大概遇到过这种场面:同事嘴里「机器学习」和「深度学习」混着说,你看教程时也分不清两者是并列还是包含关系,更不知道手上那点数据到底该往哪个方向做。这篇不讲公式,先把从属关系和差异摆清楚,再给一套按数据量、特征形态、算力条件去判断的对照思路,最后说明哪些情况这套判断不成立。
你大概遇到过这种场面:同事嘴里「机器学习」和「深度学习」混着说,你看教程时也分不清两者是并列还是包含关系,更不知道手上那点数据到底该往哪个方向做。这篇不讲公式,先把从属关系和差异摆清楚,再给一套按数据量、特征形态、算力条件去判断的对照思路,最后说明哪些情况这套判断不成立。
读完之后你至少能做到两件事:听到一个任务需求,能判断它大概率落在哪一类方法里;面对一个已经上线的模型,能问出几个关键问题来确认它属于哪一层。这两件事比背定义有用得多。
先理清从属关系:不是并列,是包含
很多人卡住的第一步,是把这几个词当成同一层级的概念在比。实际上它们是一层套一层的:人工智能是最大的那一圈,指的是「让机器表现出类似智能的行为」这个总目标;机器学习是其中一条实现路径,核心是「不写死规则,从数据里学规律」;深度学习又是机器学习里的一类具体方法,特点是靠多层网络结构自己形成中间表示。
| 你在看的描述 | 它强调的是 | 属于哪一层 |
|---|---|---|
| 让机器能听懂人说话 | 目标 | 人工智能 |
| 从历史数据里找出规律来预测 | 方法 | 机器学习 |
| 用多层网络自动提取图像特征 | 具体结构 | 深度学习 |
判断一段描述属于哪一层,就问自己:它讲的是目标、是方法、还是具体结构?讲目标的归到最外层,讲学习方式的归到中间层,讲到网络层数、结构、参数怎么组织的,才落到深度学习那一层。
很多争论其实是混层造成的。有人拿「人工智能」的宏大目标去要求一个具体的「深度学习」方案,自然觉得哪里都对不上;也有人把一个深度学习模型的失败,直接推广成「机器学习不靠谱」。遇到陌生术语拿不准层级,先到 /ai-dict 与 /ai-dict/category/basics 对一遍定义再往下读,比在讨论里猜要省事。
核心差异:特征是人给的还是自己学的
如果只记一句话的区别,那就是:传统机器学习通常要人先把特征设计好,深度学习把特征提取也纳入了学习过程。举例说,要让模型判断一条评论是好评还是差评,传统做法是人先决定「看词频、看句子长度、看有没有关键词命中」,把这些算成特征再喂给算法;深度学习则可以把接近原始的文本直接输入,中间的表示由模型自己形成。
- 人工特征工程
- 由人根据业务理解挑出哪些信息重要,再转成数值交给算法
- 表示学习
- 模型自己从数据里学出中间表示,人不再逐个指定看什么
- 可解释性
- 能不能说清楚模型是基于哪些依据做出判断的
这件事带来的代价差异比想象中大。深度学习省掉了大量人工特征工作,但对数据量和算力的敏感度高,训练和调参的时间成本也更高;传统机器学习在小数据上更容易跑出可用结果,判断依据通常也更容易向业务方解释。所以不是谁更先进的问题,而是「看什么」这件事你想不想、能不能交给模型。
- 特征含义清晰、业务方要逐条核对判断依据时,传统方法往往更容易过评审
- 输入是像素、波形、原始文本这类高维难描述的数据时,深度学习省下的特征工作量非常可观
- 样本很少但标注很贵时,先考虑传统方法或规则加统计,别急着搭网络
- 算力和维护人力有限时,深度学习带来的持续投入要提前算进去
按数据条件判断:多少数据才值得上深度学习
这一节不给具体数字,因为门槛随任务难度、标注质量和目标精度变化很大,写死一个数只会误导你。但判断顺序是稳定的:先看样本量级,再看标注质量,最后看类别是否均衡。三个条件都说得过去,才谈得上上深度学习。
- 数样本量级统计可用于训练的样本有多少条,注意是清洗后、去重后的数量,不是原始表里的行数
- 查标注质量随机抽一批样本人工核对标注是否正确,标注口径不统一的话,再多的数据也救不回来
- 看类别分布统计各类别占比,严重不均衡时先想清楚评估口径,否则模型效果好看但没用
- 对照结论三项都过关再考虑深度模型;任一项明显薄弱,先用传统方法把流程跑通
数据量这个维度上还容易被忽略一点:任务难度本身会改变门槛。同样是分类,区分「猫和狗」和区分「两种外观相近的工业零件」,需要的样本量完全不是一个量级。关于某个具体任务的常见数据要求,可以到 /ai-dict/category/tech 与 /ai-dict/category/application 对照术语和场景说明,那里对各类任务的输入形态有分类整理,别凭印象拍数。
另一个务实判断是看数据增长速度。如果样本现在不多,但业务上线后每天都稳定产生新的标注数据,那可以先上传统方法占位,等数据攒够再考虑换路线;反过来,数据就这么一批、以后也拿不到更多,那更适合选一个在当前数据量下就能稳定工作的方法。
场景对照:常见任务分别落在哪一边
光讲差异容易空,落到具体任务上会更清楚。下面这张表按输入形态和维护成本给你一个粗略对照,实际选型还要结合上面的数据判断。
| 任务类型 | 典型输入 | 更常见的选择 |
|---|---|---|
| 销量预测、流失预警、评分卡 | 结构化表格 | 传统机器学习为主 |
| 图像分类与检测 | 像素、图片 | 深度学习为主 |
| 语音识别、语音合成 | 音频波形 | 深度学习为主 |
| 文本分类、意图识别 | 原始文本 | 视数据量而定,两者都可能 |
| 异常检测、规则明确的判定 | 结构化字段 | 规则加传统方法往往够用 |
中小团队的务实做法是:能用现成模型接口解决的任务,先把精力放在数据整理和业务判断上,而不是自己从零训练。已经有人把通用能力做成服务了,你重复造一遍通常不划算。真需要自建时,先确认算力成本和长期维护成本,算力行情可以到 /compute 与 /compute/price-index 看当时的口径再决定,别按印象估算。
- 结构化表格类任务优先试传统方法,上线快、复盘的路径也清晰
- 高维难手工描述的信号类任务,深度学习优势明显
- 先问「有没有现成接口能解决」,再问「要不要自己训练」
- 自建前把算力和人力投入列成清单,和收益放在一起比较
最容易踩的四个认知坑
入门阶段最容易犯的错,不是不懂技术,而是把技术选型当成一次性的立场选择。下面四个坑,几乎每个人都会碰到至少一个。
- 把深度学习当成「更高级所以更好」,忽略它在小数据和强解释需求下的劣势
- 把模型选型当成一次性决定,实际上数据积累到一定阶段是可以换路线的
- 只看效果不看维护,忽略自建深度模型意味着持续的数据、算力和调参投入
- 拿别人的任务结论直接套自己的场景,忽略数据分布和标注口径的差异
第二条尤其值得强调:选型不是结婚。先用简单方法上线,收集真实反馈和数据,等条件变了再评估要不要换,这条路对多数团队更稳。第三条则是最容易被低估的成本项——模型上线只是开始,后面的数据回流、版本管理和效果监控都要有人管。
第四条有个自查办法:在参考别人的结论之前,先写清楚自己任务的输入形态、样本来源、标注口径和评估指标,四项里只要有一项对不上,那个结论就不能直接搬。任务看起来相似但输入分布不同,效果可能差很远。
入门学习路径:先建立判断力再学工具
很多初学者一上来就装框架、跑教程,结果学了几个月还是说不清手上任务该用哪类方法。更有效的顺序是先建立判断力,再补工具和实现。
- 建立概念判断力能用自己的话解释三层从属关系,并说明为什么某个任务会偏向某类方法
- 跑通一次传统流程挑一个结构化数据集,完整走一遍训练、验证、评估,理解这条主线在做什么
- 再接触深度模型重点看它比传统方法多出来的那部分(表示学习、算力依赖)带来了什么变化
- 建立术语对照习惯遇到没把握的词,先到站内术语库核对层级和定义,再继续读材料
学习资源和课程可以到 /ai-nav/category/ai-education 与站内学习类清单里挑,按自己的基础和目标筛,不要一上来堆一堆框架文档。工具和环境相关的准备可以看 /tools 里的分类,先解决能跑起来的问题,再谈优化。
判断自己有没有走对路的一个简单标准:能不能在五分钟内,向一个不懂技术的同事说清楚你手上的任务为什么选这类方法,以及什么情况下你会换。说不清楚,说明判断力还没建立起来,这时候补再多工具也没用。
这套判断什么时候不适用
上面这套按数据量、特征形态、算力条件做判断的思路,在需要自建模型的场景下很好用,但它不是万能的。下面三种情况,这套标准要让位。
第一种,预训练大模型普及之后,很多任务已经不需要你自己选路线了。调用接口就能拿到不错的效果,此时判断标准变成了「要不要微调、要不要自建」,而不是「机器学习还是深度学习」。第二种,强监管或数据不能出内网的场景,选型首先受合规约束,技术优劣排在后面,这时候讨论哪类方法更好意义有限。第三种,任务目标本身没定义清楚的时候,讨论用哪类方法没有意义,得先把评估口径和成功标准定下来。
所以更准确的说法是:这套判断帮你建立选型的思考顺序,而不是给你一个永久答案。技术供应方式在变,工具的边界也在变,能跟着条件调整判断,比记住某个结论更重要。
下一步想先看清现在有哪些现成能力和工具能用,不必自己从零训练,可以到站内工具目录按分类过一遍,再回来对照上面这套判断做决定。→常见问题
机器学习和深度学习是并列关系吗?
不是。深度学习是机器学习的一个子集,机器学习又是实现人工智能的一条主要路径,三层是包含关系。之所以常被放到一起比,是因为两者在数据需求、特征处理方式和算力投入上差别明显,实际做方案时确实要二选一或做组合。
数据量不大是不是就不能用深度学习?
不一定,但风险更高。样本少的时候深度模型容易过拟合,调参和验证成本也会吃掉收益。更稳的做法是先用传统方法或规则跑通流程,等数据积累起来、标注质量稳定之后再评估是否切换到深度方案。
为什么有些图像语音任务几乎只用深度学习?
因为这类输入的规律很难用人工特征描述清楚。像素和声波本身是高维数据,人工设计特征既费时又容易漏掉关键信息,让模型自己学中间表示反而更划算,这也是深度学习方法最典型的适用区间。
入门应该先学哪个?
建议先把机器学习的评估主线(训练集、验证集、指标口径)搞清楚,再接触深度模型。判断力和评估习惯是通用的,换模型换框架都用得上;直接上手深度框架容易变成只会调参、说不清为什么的状态。
选型时除了数据量还要考虑什么?
还要看可解释性要求、上线后的维护成本、算力预算和数据能否出内网。需要向业务方解释每个判断依据的场景,传统方法往往更容易过评审;算力与成本的量级可以参考站内算力与价格类页面当时的数字再定。