Почему при дистилляции важно искать похожие слои в учителе и студенте?
Что проверяют
Различаете ли вы дистилляцию по выходам модели и по промежуточным представлениям. Соответствие слоёв нужно только во втором случае, и по ответу сразу видно, делали вы это руками или пересказываете статью.
Как отвечать
Оговорите, что классическая схема сопоставляет только выходы: мягкие вероятности учителя, полученные с температурой, и расхождение с распределением студента. Никаких слоёв искать не надо. Пары слоёв появляются, когда к этому добавляют потерю на промежуточных представлениях, чтобы студент повторял не только ответ, но и путь к нему.
Почему пара берётся не произвольно:
- представления иерархичны: у ранних слоёв это локальные признаки, у глубоких абстракции задачи. Требуя от мелкого слоя студента повторить глубокий слой учителя, вы просите вычислить то, что на этой глубине ещё не вычислимо, и такой сигнал мешает основной потере;
- размерности не совпадают: число каналов, скрытая размерность, разрешение карты признаков. Между слоями ставится обучаемая проекция, и чем сильнее она меняет представление, тем меньше смысла в самом сопоставлении;
- одинаковый номер слоя не означает одинаковой роли: расположение нормализации и остаточных связей у архитектур разное, сравнивать нужно сопоставимые точки, например выходы блоков.
На практике сопоставляют по относительной глубине, каждый k-й слой учителя к слою студента, и внутри одного семейства архитектур это почти механическая работа. Когда архитектуры разные, надёжнее уйти от послойного сравнения к сравнению отношений между объектами внутри батча: оно от размерностей не зависит.
Где спотыкаются
Путают дистилляцию с сокращением модели. Сопоставление слоёв не уменьшает число параметров: размер студента выбран заранее, а потери на признаках только помогают его обучить.
Не взвешивают слагаемые потери. Промежуточный член часто заметно больше основного, студент старательно повторяет признаки учителя и проседает на самой задаче.
Сравнивают активации без выравнивания. Разные нормировки и масштабы дают потерю, которая измеряет не сходство представлений, а разницу в масштабе, и проекция обучается подгонять множитель вместо содержания.