【机器学习】Teacher-Student框架
Teacher-Student Setup是一个经典的机器学习框架,包含两个核心角色:
-
-
教师模型 (Teacher Model):
- 通常是一个更大、更强、已经训练好(或正在训练)的模型。
- 它对问题有很好的理解,性能优秀。
- 它的作用是为学生提供“指导”。
-
学生模型 (Student Model):
- 通常是一个更小、更轻量级的模型。
- 它的目标是学习教师的能力,最终在性能上接近甚至超越教师(在特定任务上)。
- 学生不仅从真实标签 (hard labels) 中学习,还会从教师的输出 (soft labels) 中学习。
-
-
教师如何“教”学生?—— 知识蒸馏 (Knowledge Distillation)
这是最核心的机制:- Hard Labels (硬标签):原始数据中的正确答案,比如图片是“猫”,标签就是
[0, 1, 0]
。 - Soft Labels (软标签):教师模型输出的概率分布。例如,对于一张猫的图片,教师可能输出
[0.05 (狗), 0.9 (猫), 0.05 (虎)]
。这个分布包含了教师的“思考过程”——它知道这张图非常像猫,但也有一点点像狗和虎。 - 学习过程:学生模型的损失函数(Loss Function)通常由两部分组成:
- 一部分是与真实标签计算的损失(如交叉熵)。
- 另一部分是与教师的软标签计算的损失,目标是让学生的输出分布与教师的输出分布尽可能相似。
- Hard Labels (硬标签):原始数据中的正确答案,比如图片是“猫”,标签就是