一句话定义
冻结骨干(Freeze Backbone)指微调(AI 词典:Fine-tuning">Fine-tuning)一个预训练模型时,把主干网络的参数锁死、不参与更新,只训练最后几层(通常是新加的分类头或输出层)。
打个比方
你买了套精装房,只想换个风格。砸承重墙重排水电,就是全量微调:效果上限最高,但费钱费时,还可能把房子搞坏。冻结骨干的做法是:墙、水电、地板全不动,只换窗帘、沙发和灯具。几十块到几百块就能搞定,一天完工;但你没法靠换窗帘把两居室变成三居室。
原理上发生了什么
神经网络训练的核心是反向传播(Backpropagation):算出每个参数的梯度,再据此更新参数。冻结就是把骨干里所有参数的“是否需要梯度”开关关掉(主流框架里通常是一个布尔标记,比如 PyTorch 的 requires_grad)。于是:
- 骨干不需要保存梯度,也不需要优化器状态,显存占用大幅下降;
- 反向传播到骨干就停住,每步计算量变小,训练变快;
- 可训练参数只剩最后一层,小数据集上不容易过拟合,也不容易把预训练学到的通用能力“冲掉”(灾难性遗忘,Catastrophic Forgetting)。
代价也在这里:骨干的输出是固定的特征表示。如果新任务和预训练数据差别不大(比如通用图像特征去做一个细粒度分类),最后一层足够把它“翻译”成答案;如果差别很大(比如从自然照片转到医学影像、从通用文本转到高度专业的工艺术语),固定特征里根本没有需要的信息,最后一层再努力也无能为力。这就是“天花板低”的含义。
和相邻概念的区别
| 做法 | 可训练部分 | 成本 | 效果上限 | 典型场景 |
|---|---|---|---|---|
| 全量微调(Full Fine-tuning) | 几乎全部参数 | 高 | 最高 | 数据充足、领域差异大 |
| 低秩适配(LoRA)等参数高效微调(PEFT) | 骨干冻结 + 中间插入的小模块 | 低 | 较高 | 想省钱又不想太早封顶 |
| 冻结骨干 + 只训最后一层 | 仅输出层 | 最低 | 受限于预训练特征 | 快速验证、小数据、多任务共享骨干 |
| 只做提示(Prompting) | 完全不改参数 | 近乎零 | 最低 | 试水、无法训练时 |
注意一个常见混淆:冻结骨干是手段,“特征提取”(Feature Extraction)是策略——把冻结的骨干当成一个固定的特征生成器,在其输出上训练一个小模型,就是特征提取;只训一个线性层则叫线性探测(Linear Probing)。而 LoRA 这类方法同样冻结骨干,只是在骨干内部加了可训练旁路,所以天花板比“只训最后一层”高一截。
对从业者和普通人的意义
对从业者:冻结骨干是性价比极高的基线(Baseline)。拿到一个新任务,先跑一遍冻结骨干,如果效果已经够用,就不必上全量微调;如果差得远,说明瓶颈在特征表示而不是分类头,那就该考虑解冻更多层或改用 PEFT。工程上注意几点:解冻层数本身是个超参(冻一半和只冻底层差别很大);BatchNorm 一类含统计量的层在冻结时行为要单独确认;冻结部分的学习率设置也影响收敛。具体 API 与默认行为以所用框架的官方文档为准。
对普通职场人:供应商说“我们为你的业务定制了模型”,值得追问一句改了多少参数。只换最后一层和重训整个模型,成本与能力差别很大,报价自然不同。理解“冻结骨干”,你就有了判断“这个定制到底有多深”的一把尺子。
