了解知识蒸馏如何压缩人工智能模型,以加快推理速度、提高准确性和边缘设备部署效率。
知识蒸馏(Knowledge Distillation)是机器学习(ML)中的一种技术,即训练一个较小的紧凑型模型("学生")来模仿一个较大、较复杂的模型("教师")的行为。其主要目标是将教师模型学到的 "知识 "传授给学生模型,使学生模型能够达到与教师模型相当的性能,但对计算的要求却大大降低,例如体积更小,推理延迟更快。这使得复杂的深度学习(DL)模型可以部署在移动设备或边缘计算平台等资源受限的环境中。Geoffrey Hinton 及其同事在他们的论文《提炼神经网络中的知识》中推广了这一概念。
这一过程通常包括一个预先训练好的教师模型,它可以是一个功能强大的单一模型,也可以是一个以高精度著称的模型集合。学生模型通常参数较少或架构较浅(如较小的卷积神经网络 (CNN)),然后以教师模型的输出为指导进行训练。学生通常从教师的 "软目标"--教师对所有类别预测的全部概率分布--中学习,而不是只使用训练数据中的硬标签(基本事实)。这些 "软目标 "包含更丰富的信息,说明教师模型如何概括和表示类之间的相似性。一种特殊的损失函数(通常称为 "蒸馏损失")被用来最小化学生预测与教师软目标之间的差异,有时还与使用实际标签计算的标准损失相结合。
知识蒸馏具有几个关键优势:
知识蒸馏被广泛应用于各个领域:
知识蒸馏与其他模型优化技术既有联系又有区别:
知识蒸馏(Knowledge Distillation)是一种功能强大的工具,可使最先进的人工智能模型更易于使用且更加高效,从而缩小大规模研究模型与实际现实世界模型部署之间的差距。Ultralytics HUB等平台有助于训练和部署潜在的蒸馏模型,如 YOLOv8或 YOLO11.