ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

深度学习真的能不用数据?拆解数据的三种形态与实操路径

2026/10/6 22:01:23 拓冰建站 浏览量
深度学习真的能不用数据?拆解数据的三种形态与实操路径 每隔一段时间就会有人拿同一个问题来问我不用数据能做深度学习吗问的人里有刚入门大模型的学生也有准备在公司里上 AI 项目的技术负责人还有人只是刷到零样本无需标注这类宣传词觉得数据可能真没那么重要。别急着笑这问题其实问得很有价值——它逼着我们想清楚深度学习里的数据到底干什么用以及那些看起来没喂数据就出效果的场景背后是不是真的没有数据。这篇我就把账一笔一笔算清楚先拆数据在深度学习里的真实角色再看那些看似不用数据的操作到底靠什么在跑最后落到实操——如果你手头真的一份数据都没有你能做什么、不能做什么以及为什么行业里那些号称不用数据的项目最后大多翻了车。1. 先下结论数据不是要不要的问题而是以什么形态存在1.1 把深度学习拆成两个意思答案立刻就不一样了日常对话里的做深度学习其实是两件完全不一样的事。第一件叫训练也就是让一个随机初始化的网络学会某种能力——更新它的权重。这件事没数据一定做不成。原因在底层机制上深度学习靠梯度下降更新参数而梯度从哪来从损失函数算出来。损失函数需要拿模型的预测结果和真实答案对比这个真实答案就来自数据。没有数据你连模型现在偏了多少都不知道参数自然无从更新。可以这么说数据是深度学习的地基损失函数是尺子反向传播是施工队三者缺一不可。第二件叫使用也就是拿别人已经训练好的模型去解决实际问题。加载一个大模型、输入一句话、得到一段回答这一步确实不需要你再喂任何数据。很多人问不用数据能做深度学习吗其实想问的是这一件。但这事能成立恰恰是因为数据在模型训练那一步已经被大量用过了——只是你没看见而已。所以我不太喜欢直接回答能或不能更准确的答案是数据不是要不要的问题而是以什么形态存在的问题。1.2 没有数据梯度连错都不知道错在哪用一个比较土的类比讲数据的作用。训练一个大模型就像带一个学生准备高考。数据是题目集标签是标准答案损失函数是批改试卷反向传播是让学生知道自己哪道题错了、错在哪个环节然后订正。现在问题来了如果只给学生一本空白的练习册没有任何题目也没有答案他实力再强也不知道该练什么更不会知道自己错在哪成绩自然原地踏步。模型也是一样。一个线性分类器 y wx b你给它一张图 x它算出 y 值但如果你不告诉它正确答案它连我答错了这种感觉都不会有——loss 为 0梯度为 0权重纹丝不动。哪怕你用无监督学习去掉标签这个标准答案数据本身还得充当题目BERT 会随机遮住句子里的词让模型猜GPT 会要求模型预测下一个词这些都是从数据自身构造任务。本质上还是在用数据只是老师由人工标注变成了数据结构本身。有些刚入门的朋友觉得数据就是一大堆文件夹往里摞图片就可以。实际上数据能不能用主要看它能不能产生学习信号有没有标签任务边界清不清楚噪声大不大这些都比文件数量更要紧。我见过太多人辛辛苦苦爬了几十万条文本清洗完只剩几万条能用的最后训出来的模型效果还不如用几千条优质数据做微调。数据的质量直接决定的不是模型上限而是你付出的时间成本。1.3 数据的三种形态看得见的、压缩过的、人造出来的为了避免后面讨论绕晕先把数据这件事拆成三种形态。第一种是显式数据你能直接打开的文件、表格、数据库、日志、图片目录。这是大多数人理解的数据。第二种是隐含数据已经训练好的模型权重。大模型的几千亿参数本质上是海量训练语料的压缩编码。你问它唐朝首都在哪里它不会去查数据库而是从参数里把这个事实解压出来。所以我们可以说权重是一种看不见的数据。第三种是人造数据通过程序、规则或生成模型制造出来的数据典型的有 GAN 生成的图片、大模型生成的文本、游戏引擎渲染的街景以及 AlphaGo 自己跟自己对弈生成的棋谱。这类数据看起来不依赖人工标注但它的源头仍然来自某种分布假设或小部分真实样本。把这个分类放在心里再回头看不用数据就会发现很多说法其实是在玩文字游戏你说你没用数据可能只是没用显式数据隐含数据和人造数据可一样没少。2. 那些看似不用数据的操作背地里的账得这么算2.1 加载大模型做推理你消费的是压成饼干的数据现在很多人都体验过这样的事装一个开源大模型跑起来输入问题得到答案全程没准备任何训练数据。于是不用数据也能跑大模型的说法就传开了。这话只对了一半。你加载的模型为什么能回答五花八门的问题因为它在预训练阶段被塞进了天文数字般的文本。你在推理时看到的每一条答案都是这批文本留下的痕迹。模型权重相当于把几十 TB 的语料做成了压缩饼干你吃下去觉得很饱但饼干是别人提前加工好的面粉和水早就花出去了。这个视角能解释很多实际现象。比如公司里经常有人说大模型怎么连我们内部的话都听不懂原因很简单模型训练时没见过你们公司的术语、格式、缩写它只能根据通用知识去猜。这时候要么上检索增强RAG把公司文档塞进上下文要么做微调把公司数据训练进权重。两条路本质都是补充数据——只不过一条补在提示词里一条补在参数里。所以我把这一步称为消费数据而不是不用数据。消费数据和训练数据之间的差别是前者不需要你动手但你需要真正理解模型的边界在哪。2.2 零样本和少样本不是没数据是数据早预付了zero-shot这个词非常有迷惑性字面意思像零数据。不少朋友被这个词带偏以为模型真的可以无中生有。实际上zero-shot 能成立是因为模型在预训练阶段已经见过海量跟当前任务相似的问—答结构。你现在写的提示词只是把模型记忆里已有的模式给激活出来。比如你要求模型把购物评价分为好评和差评并输出理由这类任务在它训练语料里出现过无数次它自然能应对。这就像你让一个读过十几年书的人回答一道从没见过的题他答出来了但你不会说这个人从没学习过。少样本few-shot就更不用说了。给两三个示例再让它干活这三个示例本身就是数据只是量很少。它们在大多数场景下起的作用不是教会模型新知识而是约束输出格式、校准语气。真正的知识早就在权重里了。有一个判断技巧如果模型的回答依赖它见过多少类似的内容那它就是在消费隐含数据如果它的回答依赖你本次输入的示例那就是在消费显式数据。两种情况都离不开数据只是来源不同。2.3 自监督学习让数据自己给自己当老师自监督是近几年最容易被误解的一个词。很多人一听不需要人工标注就觉得不需要数据。可自监督学习的真相恰恰相反它不需要的是人工而不是数据。以最典型的方式为例把一句话里的某个词挖掉让模型预测这个词是什么。标签从哪来从句子自身来。再比如对比学习同一张图片做两次不同裁剪让模型认为它们是同一个东西或者说模型在一个视频里预测下一帧。这些都叫自监督但它们依然需要海量数据而且往往比有监督学习需要更多——因为任务更难、信号更稀疏。我把这个比作让学生自己给自己出卷子好处是省了请老师的时间代价是你得给他足够多的书和题目去摸索。你要是只给三句话就让他自己出卷子自学他学不出任何东西。所以自监督学习不是不用数据做深度学习而是用数据但不花钱请标注员的深度学习。2.4 合成数据与数据增强造数据还是得先用数据打底合成数据这条路在行业里越来越常见也确实解决了很多冷启动问题。但你得看清楚它的本质。数据增强是数据变形一张猫的图片旋转、裁剪、翻转、加噪声生成更多训练样本。这能提升泛化能力但每一张变形图都来自一张真实图片。合成数据更进一步用游戏引擎渲染货架场景用 GAN 生成人脸用大模型批量生成文本再拿去训练模型。AlphaGo 训练时靠自我对弈生成棋谱也算合成数据的一种。问题在于合成数据的生成规则或种子数据决定了它的分布天花板。拿仿真场景训练一个零件检测模型在合成测试集上 mAP 可能很漂亮一到真实车间光照、遮挡、灰尘一出现指标立刻崩掉。这不是模型不行是合成数据的分布和真实世界的分布之间存在一道鸿沟。所以我的态度很明确合成数据是加速器不是替代品。它能让你的模型在没有标注数据的情况下先跑起来但想落地最终还得想办法混入真实数据或者做 domain adaptation域适应。我见过不少项目后期返工就是因为前期太依赖合成数据把造数据当成了不用数据。3. 真正不需要数据的算法路径但为什么它们不是深度学习3.1 专家系统和规则引擎把人的知识变成代码要说完全不用数据也能智能最早的一批 AI 系统确实做到了。上世纪七八十年代的专家系统就是靠行业专家把经验提炼成 if-then 规则直接写进程序里。比如某个症状出现就判断可能是哪种疾病某种交易特征出现就标记为高风险。这些系统不需要训练数据也不需要梯度下降。但代价非常直接需要人把知识一条一条挖出来、编码成规则。这相当于用人工替代了数据。而且领域稍微一变规则就要重写维护成本高到吓人。更关键的是专家系统不具备泛化能力——它只能在人预先想到的规则里打转一旦遇到规则覆盖不到的情况立刻失效。我做过几年传统数据分析很清楚这种系统的上限它能把流程自动化却学不会举一反三。把专家系统里抽出来的规则看作另一种形态的数据你会发现它依然没有逃出数据驱动的框架——只不过数据的编码方式变成了逻辑规则。3.2 遗传算法、贝叶斯优化有目标函数就能搜但它们学不了语义还有一类算法确实不需要数据集比如遗传算法、进化策略、贝叶斯优化。给一个黑盒函数一个目标函数它们就能在参数空间里搜索最优解。NAS神经架构搜索早期常用这类方法来找网络结构我也用贝叶斯优化调过超参数效果不错几十轮评估就能找到比较靠谱的学习率。但这些方法解决的问题是优化不是学习。它不会从一堆图片里学会区分猫和狗除非你自己定义一个特征打分函数——可一旦你这样做了那个打分函数就是你人工注入的知识本质上还是把显式知识塞给了系统。换句话说这类方法适合回答参数怎么设置比较好但回答不了这张图里有没有猫。所以如果你想不用数据就做一个图像分类器遗传算法给不了你答案。3.3 一个更本质的判断标准把上面这些路径放在一起可以提炼出一个判断标准一个方法是否在从大量样本中自动提炼可泛化的规律深度学习之所以叫深度就是因为它能从数据里自动学习多层抽象特征而不依赖人来告诉它边缘、纹理、部件这些概念。专家系统把特征编码交给人类遗传算法把候选解搜索交给搜索过程自监督和合成数据则把希望寄托在数据本身。只要你的方法没有从样本中压缩出规律它就称不上学习。在这个标准下回到最初的问题如果你希望完全不用数据却获得深度学习的泛化能力那在逻辑上就是伪命题。但如果你愿意把已训练好的模型视为一种数据资产那么解决新问题时你确实可以做到不准备属于自己的数据只是模型的能力天花板已经由别人的数据决定了。还有一类容易被绕进去的情况是强化学习。有人问强化学习不就是不用数据吗Agent 自己跟环境交互就行了。实际上强化学习的训练信号来自 reward而经验状态、动作、奖励本身就是环境产生并收集来的数据只是它不像监督学习那样需要人工标注。严格说这是自动采集数据持续训练不是不用数据。别把这两件事搞混。4. 实操层面手头一份数据都没有你到底能做什么、应该怎么做4.1 零数据起步的合法玩法推理、评估、检索增强先给各位吃一颗定心丸如果你现在的目标是快速体验大模型、验证想法、做技术 Demo那你确实不需要准备训练数据。装一个开源模型或者申请一个 API Key加载权重就能跑。下面是 Hugging Face Transformers 里最基础的一段调用几行代码就能跑通推理from transformers import AutoModelForCausalLM, AutoTokenizer model_name Qwen/Qwen2.5-7B-Instruct tokenizer AutoTokenizer.from_pretrained(model_name) model AutoModelForCausalLM.from_pretrained(model_name, device_mapauto) prompt 请用一句话解释什么是过拟合。 inputs tokenizer(prompt, return_tensorspt) outputs model.generate(**inputs, max_new_tokens128) print(tokenizer.decode(outputs[0], skip_special_tokensTrue))这段代码不需要你准备任何标注数据属于消费隐含数据。做好之后你可以干很多正经事让模型帮你写文案、做文本摘要或者对比不同模型的输出风格。这些任务的本质是用模型已有的能力完成通用任务不需要数据参与。但如果你想用模型解决自己公司的具体业务问题比如从内部工单里提取字段、按业务规则分类你会发现通用模型直接输出的结果不够稳定。这时候最稳妥的零标注方案是 RAG把公司文档切分成片段用向量模型做成索引用户提问时先检索相关资料再拼进提示词让模型基于资料回答。相当于给模型配了一个开卷考试的资料库不需要训练也不需要标注数据。对大量知识问答类任务RAG 的性价比远高于微调问题涉及的业务知识更新速度越快RAG 优势越明显。4.2 想拥有自己的模型公开数据集和模型复用是两条捷径零数据只能解决使用层面的问题一旦你确定要训练或微调就必须有数据。手头没有可以先从公开数据集起步——这不算丢人行业里大量模型都建立在公开数据之上。常见渠道有这么几个Hugging Face Datasets 上可以直接检索和加载数据集覆盖面极广Kaggle 竞赛数据集质量不错适合练手Papers with Code 按论文整理基准数据集理工科任务基本都能找到UCI Machine Learning Repository 适合传统机器学习的小规模数据集。模型权重方面Model Zoo、Hugging Face Hub 上可以找到各种预训练权重。不过下载到不代表能用。我自己的习惯是先看三样东西License 允许不允许商用、数据格式跟任务对不对得上、数据采集时间是什么时候。尤其是 License很多人栽在这个坑里——模型做出来了上线时发现训练数据不允许商用只能推倒重来。数据量和任务的关系可以给一个粗略参考基于实践中的一般经验不代表所有场景任务类型起步数据量说明用预训练权重微调LoRA几千条~几万条领域问答、风格转换足够看到明显效果从零预训练语言模型几十 GB 以上干净文本低于这个量很难学到通用语义图像分类迁移学习每类几十张~几百张依赖预训练模型与目标域的距离目标检测微调每类几百到几千个标注框小样本很容易过拟合需数据增强兜底从零训练 CV 模型上万张起步没大数据支撑效果很难达到可落地水平这里要强调一句微调的数据质量远比数量重要。几百条高质量、覆盖各种边界的样本经常能打过几千条重复度高、噪声大的数据。我见过有人用 800 条高质量工单微调小模型分类准确率干过了用 5 万条粗糙数据训练出来的结果。数据清洗绝不是可有可无的环节。4.3 没有标注人力伪标签、主动学习与数据清洗的组合拳很多行业项目实际不是没数据而是有一大堆数据但没人标。这种情况下性价比最高的路径是半自动标注而不是去找不用数据的奇技淫巧。一个可以被直接抄走的流程先人工标注 200~500 条种子数据覆盖尽量广的类别和边界场景用这批数据微调一个 baseline 模型用 baseline 对剩余未标注数据做预测挑出置信度高且稳定的样本自动打上伪标签挑出模型最没把握的样本置信度低、不同模型预测冲突交给人工复核把复核后的数据并入训练集再训新模型重复第 3~4 步。这套流程在业内叫主动学习 伪标签通常两三轮后就能攒出几千条可用的数据而且人工成本比全部从头标注低一大截。技术栈上也不需要额外工具一个简单的脚本就能管理标注队列配合 Label Studio 之类的开源标注工具就可以跑起来。但这里有一个前提每一轮加入的伪标签数据都要抽检不能全信模型。我在实际项目里吃过亏第一轮 baseline 本身有偏它打出的伪标签把错误信号放大导致第二轮模型比第一轮还偏。后来我改成高置信度样本全部抽 5% 人工复看 低置信度样本全部人工处理才把质量稳住。数据质量这条命门省不掉。4.4 至少看一眼数据分布再决定训练方案还有一个新手特别容易忽略的步骤动手训练前一定要看一眼数据分布。这不用什么高级工具统计一下类别比例、文本长度、重复率就够了。举个真实例子。之前有个朋友想做一个合同条款分类模型他拿到了一大批合同直接丢进去微调结果模型把违约责任和争议解决经常搞混。我去看了一下他的训练数据才发现条款标题五花八门同一类别的文本长度差异巨大而且少量超长文本把模型注意力全带偏了。后来按长度和关键词做了分层清洗效果立刻上来。数据分布直接决定训练策略类别严重不均衡就要考虑重采样或加权损失文本超长就要考虑截断策略是否合理重复数据太多要先去重否则模型会过拟合到重复模式上。这些问题在训练前花半小时用 Pandas 或 SQL 统计一下比事后反复调模型参数划算得多。5. 那些号称不用数据的项目是怎么翻车的5.1 把跑通开源模型当成了完成 AI 项目这个坑我见得太多了几乎是每年都会出现。公司想做一个内部工单自动分类负责人说我们直接用大模型不用训练数据。确实把模型接进来丢几条工单进去它也能 分类看起来非常好。等真上线就会发现模型完全不懂公司内部的黑话、老系统的字段缩写、客户特有的描述方式。分类结果五花八门准确率大概只有六七成根本没法用。最后老老实实把过去三年历史工单导出来清洗、打标、微调才把准确率提到九成以上。这件事的教训是推理可以零数据启动但项目落地必然要接触业务数据。大模型再强它学的是全人类的通用知识不学你公司的具体业务。想让它成为你公司的模型你就得把你们公司的数据给它——不管是通过 RAG 临时喂还是通过微调永久灌进权重。5.2 数据泄漏造成的假性成功第二种翻车更隐蔽你确实没准备自己的数据但你用来评估模型性能的测试集早就混进了模型的训练数据里。这在公开大模型上尤其常见。举个例子你想验证某个开源大模型在古诗理解任务上的表现随便找了一份网上的古诗理解题库来测。分数很高你以为是模型能力强。实际上这个题库很可能在模型预训练语料里已经出现过模型等于背过答案考试分数自然好看。一旦换个时间、换个来源重新出题分数立刻跳水。自查方法很简单随机抽取几十道测试题拿去问模型如果它连题目里的细节、选项序号都能准确报出来那它大概率见过这题。干净的做法是定期构造新数据、按时间和领域切分测试集别总拿公开数据集刷分当成绩。5.3 合成数据的分布问题和模型崩溃前面说过合成数据是行业趋势但它也有翻车案例。我在视觉检测这类项目上踩过很深的坑项目初期没有真实缺陷样本团队用渲染软件生成了一大批合成缺陷图模型在合成测试集上指标很高大家都以为稳了。到现场一测真实产线的光照、反光、拍摄角度跟合成图差太远模型漏检率特别高。后来花了好几个星期去现场采集真实样本再和合成数据混合训练才勉强能用。这就是合成数据和真实分布之间的 gap你靠算法弥补不了。文本生成领域也有类似问题学名叫 model collapse模型崩溃如果用大模型自己生成的文本去训练下一代模型反复几轮之后生成内容的多样性会持续下降甚至退化成一堆重复套话。这是因为合成文本在统计分布上不断向原模型的平均行为收缩边缘信息和长尾知识被一点点抹掉。合成数据能帮你扩充数据集但永远需要真实数据作为锚点。5.4 一个身份测试你能说清你的模型见过什么吗这是我判断一个项目靠谱不靠谱的最后一个问题。不管模型表现多好你可以试着问项目负责人你的模型到底在什么数据上训练过这些数据从哪来、覆盖哪些场景、最近一次更新是什么时候如果对方支支吾吾说不清那这个模型大概率是在碰运气。深度学习的输出是数据的函数你弄不清数据就弄不清模型为什么好、为什么坏出了问题也没法回查。专业做法是给数据做一张数据卡片记录来源、数量、采集时间、清洗规则、类别分布。不用多复杂一张表格就能让以后少走半个月弯路。最后说几句实在话这个系列写到这里我越来越觉得很多人纠结不用数据能不能做深度学习其实不是真的在问方法论而是在问我手里什么资源都没有还能不能上 AI 这趟车。答案是能但路径不是跳过数据而是找到数据的不同形态。我自己的习惯永远是这样接到一个项目先不急着选模型花一两天时间把可用的显式数据摸一遍把隐藏在公司里的聊天记录、工单、文档、日志全部当成潜在数据源。哪怕没有一条带标签只要能成为 RAG 的素材就已经解决了大部分知识问答问题。我干了这么多年最怕的不是数据少而是以为手里没数据其实遍地都是数据只是没被整理成模型能用的样子。所以那句被问了无数次的问题我现在统一这么回如果你想训练一个模型那不用数据不可能如果你想用模型解决问题请先把现成的模型权重和你手头的业务信息都当成数据来筹划。想明白了这一层深度学习的门才算真正迈进去。