Предисловие:
Дистилляция знаний — это метод извлечения знаний из утомительных моделей и объединения их в единую модель, чтобы их можно было развернуть в практических приложениях. Дистилляция знаний была введена в 2015 году Джеффри Хинтоном, крестным отцом ИИ, и двумя его коллегами из Google, Ориолом Виньялсом и Джеффом Дином.
Дистилляция знаний относится к переносу учебного поведения неуклюжей модели (учитель) на меньшую модель (ученик), где результаты, полученные учителем, используются в качестве «мягкой цели» для обучения учеников. Применяя этот метод, авторы обнаружили, что они достигли удивительных результатов в наборе данных MNIST и показали, что можно добиться значительных улучшений, объединив знания из набора моделей в единую модель.
Дистилляция знаний для классификации изображений
В своей статье Хинтон и два его соавтора впервые представляют свою дистилляцию знаний для задач классификации изображений: дистилляция знаний в нейронных сетях.
Простейшая форма дистилляции знаний, как описано в этой статье, состоит в обучении модели дистилляции на наборе переноса с мягким целевым распределением. К настоящему времени мы должны знать, что обучение модели ученика преследует две цели. Одна из них — правильная метка (жесткая цель), а другая — программная метка (мягкая цель), созданная сетью учителей.
Таким образом, целевая функция представляет собой средневзвешенное значение двух различных целевых функций. Первая целевая функция — это кросс-энтропийная потеря между прогнозом учащегося и мягкой целью, а вторая — кросс-энтропийная потеря между выходом учащегося и правильной меткой. Авторы также отмечают, что наилучшие результаты обычно получаются при использовании меньших весов для второй целевой функции.
Результаты эксперимента следующие
Дистилляция знаний для обнаружения объектов
Гобин Чен и его соавторы опубликовали свое исследование по обнаружению объектов, сочетающее дистилляцию знаний с обучением подсказок на NeurIPS 2017, которое изучает эффективные модели обнаружения объектов посредством дистилляции знаний.
В своем методе они также используют подсказки, которые представляют собой карты характеристик, полученные из среднего уровня учителя, чтобы помочь учащимся как можно лучше понять поведение учителя. Кроме того, для достижения оптимальных знаний о дистилляции должен существовать адаптационный слой, который будет обсуждаться позже. Faster-RCNN — это сеть обнаружения объектов, используемая в экспериментах в этой статье. Их план обучения показан на следующем рисунке:
Целевая функция выглядит следующим образом:
где RCN и RPN представляют сеть регрессионной классификации и сеть предложений региона соответственно; N и M — размеры пакетов RCN и RPN соответственно; L_RCN, L_RPN и L_Hint — потери RCN, RPN и подсказки соответственно; λ (обычно 1 ) и γ (обычно устанавливается равным 0,5) — это гиперпараметр, используемый для управления окончательными потерями.
Hint learning
В книге «FitNets: советы для тонких глубоких сетей» Адриана Ромеро демонстрирует, что производительность студенческих сетей можно улучшить, используя промежуточные представления учительской сети в качестве подсказок, помогающих учащимся тренироваться. В этом смысле потеря между ключевым признаком Z (карта признаков, полученная из промежуточного слоя учителя) и направляющим признаком V (карта признаков промежуточного слоя ученика) вычисляется с использованием расстояния L1 или L2.
На рисунке ниже показаны карты функций, извлеченные из предварительно обученной модели YOLOv4, обученной на наборе данных WAYMO, одном из моих проектов, связанных с дистилляцией знаний для обнаружения объектов. В этих примерах размер входного изображения изменяется до 800x800.
Дистилляция знаний и ускоренное обучение
Использование обучения подсказкам требует, чтобы функция подсказки и функция руководства имели одинаковую форму (высота x ширина x каналы). Кроме того, функции подсказки и руководства никогда не будут находиться в одном и том же пространстве функций, поэтому слой адаптации (обычно сверточный слой 1x1) используется для улучшения передачи знаний от учителя к ученику.
На рисунке ниже показана схема обучения, над которой я работаю в проекте обнаружения объектов, где я использую небольшую сеть с тремя уровнями обнаружения для извлечения знаний из предварительно обученного YOLOv4.
Гуобинь Чен показал отличные результаты, сочетая дистилляцию знаний с обучением подсказкам для обнаружения объектов.
Conclusion
В этом посте я кратко представил дистилляцию знаний и изучение подсказок. Дистилляция знаний считается эффективным методом преобразования утомительных знаний ансамбля моделей в более мелкие модели дистилляции. Сочетание обучения подсказкам и дистилляции знаний — очень мощная схема повышения производительности нейронных сетей.
Оригинальная ссылка:
наклонись внезапно.medium.com/ah-gentle-in…
Добро пожаловать в техническое руководство по общедоступной учетной записи CV, в котором основное внимание уделяется техническому обзору компьютерного зрения, отслеживанию новейших технологий и интерпретации классических статей.
Недавно все технические резюме официального аккаунта (техническое руководство CV) были упакованы в pdf, а ключевое слово "ответить на официальный аккаунт"Техническое резюме"Доступный.
Другие статьи
Краткое изложение методов недообучения и переобучения
Краткое изложение общих идей бумажных инноваций
Резюме методов эффективного чтения англоязычной литературы по направлению CV
Обзор непродолжительного обучения компьютерному зрению
Краткий обзор дистилляции знаний
Оптимизировать скорость чтения видео OpenCV
Краткое изложение методов функции потерь
Техническое резюме механизма внимания
Краткое изложение технологии пирамиды функций
Краткое изложение технологии объединения
Краткое изложение методов увеличения данных
Резюме эволюции структуры CNN (1) Классическая модель
Резюме эволюции структуры CNN (2) Облегченная модель
Резюме эволюции структуры CNN (3) Принципы проектирования
Как увидеть будущее направление компьютерного зрения
Краткое изложение технологии визуализации CNN (1) - визуализация карты функций
Краткое изложение технологии визуализации CNN (2) - визуализация ядра свертки
Краткое описание технологии визуализации CNN (3) - визуализация класса
Краткое описание технологии визуализации CNN (4) - инструменты и проекты визуализации