Trainable

义项:可训练的
Trainable

Trainable是机器学习与深度学习领域的术语,指模型中的数值可以在训练过程中被优化器更新,也用作「可训练的」这一英文形容词的对应概念,用来描述一个模型、层或参数的权重是否参与学习。它与不可训练(non-trainable)参数相对,后者在训练中保持固定。这一区分是迁移学习与微调流程的基础,决定了哪些权重被冻结、哪些被更新。

目录
  1. 定义
  2. 第二段
  3. 原理
  4. 第三段

定义

Trainable指模型中的某个权重或参数在训练阶段能够被更新,也指某个层或整个模型是否允许其权重参与学习。在神经网络的参数划分中,可训练参数是那些数值由训练阶段计算并更新的参数,不可训练参数则是训练期间不更新的参数,最常见的参数形态是网络权重[1]。在主流框架里,层和模型都带有一个布尔型属性trainable,把它设为假值即把该层的全部权重从可训练转移到不可训练,这一过程被称为冻结[2]。该词本身是英语形容词,含义为「可训练的、可教育的」,由动词train加后缀-able构成,最早记录于16世纪中叶[3]。

第二句补充:与超参数不同,可训练参数是模型从数据中学到的内部值,通常随训练好的模型一起保存[4]。

第二段

在参数计数层面,一个模型常被拆分为可训练参数与不可训练参数两部分分别统计。以典型的图像分类微调为例,模型摘要会列出总参数量、可训练参数量与不可训练参数量三项,可训练变量则可通过相应接口逐项枚举[5]。

原理

训练是一个迭代过程:每一轮中模型对输出给出估计值,计算该估计与目标之间的误差,再求出误差对参数的导数,并据此用梯度下降类算法调整参数[6]。可训练参数正是接收这些梯度并被优化器改写的部分,权重决定一个神经元对另一个神经元影响的强弱,偏置则让神经元在输入较弱时仍能激活,两者都通过反向传播反复调整[7]。不可训练参数不参与这一更新,例如批归一化层中用于记录输入均值与方差的权重在正向传播中被更新,但并不适合训练[2]。

把某一层设为不可训练后,前向计算照常进行,但反向传播不再为其权重产生更新,冻结大量浅层权重可以省去梯度计算,从而明显加快训练速度[8]。框架通常要求重新编译模型后,可训练属性的改动才会生效[9]。需要区分的是,层的trainable属性与调用时的training参数含义不同,后者只控制该层以前向传播的训练模式还是推断模式运行[10]。

第三段

在参数高效微调中,可训练集合被有意压缩。低秩适配(LoRA)在原有矩阵旁附加低秩矩阵,只训练这部分附加参数而保持基座权重不变,数十亿参数的语言模型可以用仅数百万参数完成适配[11]。有研究将可训练路径组织为附加在冻结主干上的分支,在15亿参数规模的模型上只训练约3850万个参数[12]。

参考资料

  1. 什么是不可训练参数? [引用日期2026-10-29]
  2. 迁移学习和微调 - Kernel: Python 3 [引用日期2026-10-29]
  3. trainable [引用日期2026-10-29]
  4. What is Model Tuning | Iguazio [引用日期2026-10-29]
  5. 迁移学习和微调 | TensorFlow Core - 注:如果您想知道为什么验证指标明显优于训练指标,主要原因是tf [引用日期2026-10-29]
  6. content [引用日期2026-10-29]
  7. What are Parameters in LLMs? Understanding Model DNA [引用日期2026-10-29]
  8. ONNXParameters [引用日期2026-10-29]
  9. Keras documentation: Transfer learning & fine-tuning [引用日期2026-10-29]
  10. Transfer learning & fine-tuning [引用日期2026-10-29]
  11. Fine-tuning (deep learning) [引用日期2026-10-29]
  12. arxiv.org 上的网页 [引用日期2026-10-29]
词条评价
词条统计

浏览次数:0 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:30:53Z

历史版本