Толковый словарь по нейросетям и искусственному интеллекту
Дистилляция знаний
Knowledge Distillation
Категория термина
Дистилляция знаний (Knowledge Distillation) — это метод в машинном обучении, при котором знания, полученные большой и сложной моделью (называемой «учителем»), передаются более компактной и быстрой модели («студенту»). Основная идея заключается в том, чтобы использовать предсказания учителя (не только правильные ответы, но и распределение вероятностей по классам) как дополнительную информацию для обучения студента. Это позволяет создать лёгкие модели, которые сохраняют высокую точность при меньших вычислительных затратах.
🧠 Механизм работы:
- Тренируется мощная модель-учитель (Teacher Model), например, глубокая нейросеть.
- Учитель генерирует «мягкие метки» (soft labels) — вероятностное распределение выходов вместо бинарных правильных ответов.
- Модель-студент (Student Model) обучается одновременно на реальных метках и на выходах учителя.
- Используется параметр температура (T) в softmax, чтобы сделать распределение вероятностей более сглаженным и информативным.
- После обучения студент становится компактным, быстрым и пригодным для работы в условиях ограниченных ресурсов.
🔑 Основные подходы:
- Logit-based Distillation — обучение на распределении вероятностей учителя (soft targets).
- Feature-based Distillation — студент повторяет внутренние представления (эмбеддинги) учителя.
- Response-based Distillation — студент учится имитировать выходные предсказания учителя.
- Attention Transfer — копирование карт внимания (attention maps) из модели-учителя.
📌 Примеры применения:
- Мобильные приложения
- Сжатие моделей компьютерного зрения (например, MobileNet, TinyBERT) для смартфонов.
- Нейросети для NLP
- DistilBERT — уменьшенная версия BERT, обученная с помощью дистилляции.
- Компьютерное зрение
- Сжатие ResNet или EfficientNet для задач классификации и детекции объектов.
- Edge computing и IoT
- Развёртывание на устройствах с ограниченными ресурсами (камеры, датчики, роботы).
⚖️ Преимущества и недостатки:
Преимущества:- Сокращение размера модели без сильной потери качества.
- Ускорение инференса (предсказаний).
- Эффективное использование знаний крупной модели.
- Возможность работать на мобильных и встраиваемых устройствах.
- Необходимость предварительно обучить модель-учителя.
- Иногда студент не может полностью воспроизвести знания учителя.
- Качество зависит от архитектуры студента и качества данных.
🧠 Связанные понятия:
- Model Compression — общий термин для методов уменьшения моделей (quantization, pruning, distillation).
- Pruning — удаление незначимых весов и связей.
- Quantization — уменьшение точности весов (например, с float32 до int8).
- Transfer Learning — использование знаний одной модели для другой задачи, пересекается с дистилляцией.