Встречается на собеседованиях • сегодня
Что такое дистилляция нейронных сетей
Дистилляция нейронных сетей — это метод сжатия моделей, при котором большая (учитель) обучает меньшую (ученик), передавая знания через предсказания или скрытые слой. Ученик учится не только на исходных данных, но и на "мягких" вероятностях (soft targets) учителя, что часто дает лучшую обобщающую способность.
Пример с кодом (PyTorch):
python
# Учитель и ученик
teacher = LargeModel().eval()
student = SmallModel()
# Температура для смягчения вероятностей
T = 2.0
# Лосс: KL-дивергенция между soft targets учителя и ученика
loss_fn = nn.KLDivLoss()
optimizer = torch.optim.Adam(student.parameters())
for x, y in dataloader:
with torch.no_grad():
teacher_probs = F.softmax(teacher(x)/T, dim=1)
student_probs = F.log_softmax(student(x)/T, dim=1)
loss = loss_fn(student_probs, teacher_probs)
loss.backward()
optimizer.step()Ключевые преимущества:
- Сжатие модели без значительной потери качества
- Улучшение обобщения ученика
- Возможность использовать ансамбли учителей

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы