Понимание того, как работает DeiT посредством дистилляции знаний, и как реализовать это с помощью PyTorch
Делиться

Введение
Ванильный ViT проблематичен. Если вы посмотрите на оригинальную статью ViT [1], вы заметите, что хотя эта модель глубокого обучения доказала свою исключительную эффективность, для ее достижения требуются сотни миллионов помеченных обучающих изображений. Ну, это очень много.
Это требование огромного количества данных, безусловно, является проблемой, и поэтому нам нужно решение для этого. Туврон и др. еще в декабре 2020 года в своей исследовательской работе под названием «Обучение эффективных по данным преобразователей изображений и дистилляция через внимание» [2] выдвинули идею сделать обучение модели ViT намного более дешевым в вычислительном отношении. Авторы придумали идею, в которой вместо обучения модели на основе преобразователя с нуля они использовали знания существующей модели посредством дистилляции. С помощью этого подхода им удалось решить проблему ViT, связанную с нехваткой данных, при этом сохранив высокую точность. Что еще интереснее, эта статья вышла всего через два месяца после оригинальной ViT!
В этой статье я собираюсь обсудить модель, которую авторы назвали DeiT (Data-effective image Transformer), а также то, как реализовать архитектуру с нуля. Поскольку DeiT напрямую выведен из ViT, настоятельно рекомендуется иметь предварительные знания о ViT перед прочтением этой статьи. Вы можете найти мою предыдущую статью об этом в ссылке [3] в конце этого поста.
Источник: towardsdatascience.com



























