Мотивация. Основная цель любой модели машинного обучения и искусственного интеллекта определяется тем, насколько хорошо она может обобщать невидимые данные, а не насколько хорошо она работает с данными обучения. Если мы посмотрим на эту цель более внимательно, предпочтительнее иметь разные адаптации модели для целей обучения и вывода. Во время обучения нам нужны глубокие и сложные модели, чтобы обучаться на большом количестве обучающих данных, но во время вывода нам просто нужна более легкая модель, которая хорошо обобщается на любых невидимых данных. Очевидно, что более легкая модель имеет хорошие характеристики во время вывода в производство. Таким образом, контекст этой статьи настроен на то, чтобы увидеть, есть ли эффективный способ передать эти обобщенные знания в более легкую модель, чтобы получить лучшее из обоих миров.

Примечание. Задача распознавания цифр нейронной сети и MNIST использовалась в качестве ссылок в этой статье, чтобы проиллюстрировать концепцию дистилляции знаний, но та же концепция может быть расширена для любых моделей машинного обучения и искусственного интеллекта.

Ссылка: идея и концепции, упомянутые здесь, взяты из этой справочной статьи: https://arxiv.org/abs/1503.02531

Весь код этой статьи в Керасе: https://tinyurl.com/yb4en6e3

Разница между обучением с передачей и извлечением знаний. Цели обучения с передачей и извлечения знаний совершенно разные. При переносе обучения веса переносятся из предварительно обученной сети в новую сеть, и предварительно обученная сеть должна точно соответствовать новой сетевой архитектуре. Это означает, что новая сеть по сути такая же глубокая и сложная, как и предварительно обученная сеть.

Однако цель извлечения знаний иная. Цель состоит не в переносе весов, а в переносе обобщений сложной модели на гораздо более легкую модель. Но подождите ... мы понимаем, как можно переносить веса ... но как мы можем передавать обобщения? Как даже количественно оценить обобщения сложной сети? Введите терминологию сеть преподаватель-ученик, c onept температуры при активации softmax, темное знание и смягченные вероятности… Давайте пройдемся по одному чтобы понять каждое из них.

Модель учитель-ученик. См. рис. 1 ниже. В этом примере учитель - это глубокая нейронная сеть, которая была обучена на большом количестве данных с достаточно хорошей регуляризацией (или это может быть любая другая ансамблевая модель), так что основная цель для нее - это хорошо обобщать невидимые данные. данные. Студенческая сеть - это легкая неглубокая сеть, которая будет обучаться учителем с ее основной целью - изучить большинство обобщений учителя и при этом быть легче. Очевидно, что более легкая модель предпочтительнее в производстве из-за ее быстрых прогнозов с учетом жестких производственных ограничений. Мы вернемся к этой теме после того, как разберемся с оставшимися терминами.

Понятие температуры при активации softmax:

Основное преимущество использования softmax - диапазон выходных вероятностей. Диапазон вероятностей вывода будет от 0 до 1, а сумма всех вероятностей будет равна единице. Он возвращает вероятности каждого класса, и целевой класс будет иметь высокую вероятность.

Формула вычисляет экспоненту (электронную степень) заданного входного значения и сумму экспоненциальных значений всех значений во входных данных. Тогда отношение экспоненты входного значения и суммы экспоненциальных значений является выходом функции softmax.

Функция активации softmax при высокой температуре получается, когда мы делим входные данные - ‘z’ (также называемые логитами в нейронных сетях) на ‘T’ (температура).

Чтобы проиллюстрировать влияние температуры на активацию softmax, рассмотрим график ниже на рис. 3. Как можно видеть, вероятность предсказания числа «7» становится более мягкой и более мягкой по мере увеличения температуры. Что мы подразумеваем под смягченными вероятностями?

Если вы проследите за зеленой линией (построенной при более высокой температуре = 7) и внимательно изучите значения вероятности, вы увидите, что модель четко выявляет тот факт, что она предсказывает число 7, которое больше похоже на 9 или 1, чем на 6 (прогнозируемая вероятность 6 меньше 0,01, тогда как прогнозируемая вероятность 1 составляет около 0,075).

Если вы проследите за оранжевой / синей линией (построенной при более низких температурах) и внимательно изучите значения вероятности, вы увидите, что модель предсказывает число «7» с очень высокой степенью достоверности, но НЕ способна к различая, ближе ли предсказанное число 7 к 1 или 6 (все они имеют «очень близкие к нулю» вероятности).

Темное знание: мы можем очень хорошо сопоставить наше собственное предположение, посмотрев на написанную от руки цифру «7» (как на рис. ниже) и сказать, похоже ли оно на 1 - это очень похоже на эту модель. который дает более высокую вероятность для «1» при прогнозировании числа «7» при высокой температуре.

Единственная разница в том, что мы, люди, не можем количественно определить, насколько это «7» похоже на 1, тогда как высокотемпературная модель делает это с хорошей точностью. Таким образом, считается, что высокотемпературная модель обладает темным знанием, то есть помимо простого предсказания числа как «7», она также хранит информацию о том, насколько близко это число «7» похоже на номер 1'.

Низкотемпературная модель (модели, с которыми мы обычно сталкиваемся без температуры в softmax) обычно хороши для точных прогнозов, и мы теряем эти темные знания. Основная идея дистилляции знаний заключается в передаче этих темных знаний от хорошо подготовленного учителя к более светлой модели ученика.

Обучение учителя и ученика. Теперь, когда мы поняли контекст и все другие важные термины, давайте вернемся к тому месту, где мы остановились в модели учитель-ученик. Принцип работы для передачи этих обобщений студенту очень прост, как показано на рис. 1. Во время обучения студента вместо того, чтобы использовать горячие закодированные значения в качестве жестких целей, делаются эти смягченные вероятности (выходные данные, собранные путем применения высокотемпературного softmax). как цель. Мы также можем создать настраиваемую функцию потерь дистилляции знаний (см. Иллюстрацию на рис. 1), которая вычисляет потерю дистилляции знаний как средневзвешенную логопотери между соответствующими компонентами конкатенированного вектора мягких целей + жестких целей.

Результаты показывают, что ученик, обученный таким образом у учителя (наблюдается повышение точности на 1-2%), способен лучше обобщать невидимые данные, чем отдельный ученик, обученный на тех же данных. Здесь пара важных замечаний -

  • Студент тренируется при такой же высокой температуре softmax, что и учитель.
  • Выводы из модели студента должны быть сделаны с обычной активацией softmax (то есть без температуры).

Весь код этой статьи в Керасе: https://tinyurl.com/yb4en6e3

Преимущества дистилляции знаний: Как видно, есть несколько преимуществ этого процесса дистилляции знаний:

  • Использование более легкой модели
  • Меньшие требования к вычислениям и превосходная производительность при строгих производственных ограничениях
  • Лучшая точность, чем у автономной модели
  • Может использоваться, даже если для модели студента доступно меньше данных по обучению. Достаточно иметь хорошо подготовленного учителя.