stringtranslate.com

Дистилляция знаний

В машинном обучении дистилляция знаний или дистилляция модели — это процесс переноса знаний из большой модели в меньшую. Хотя большие модели (такие как очень глубокие нейронные сети или ансамбли многих моделей) обладают более высоким объемом знаний, чем маленькие модели, этот потенциал может быть использован не полностью. Оценка модели может оказаться столь же дорогостоящей в вычислительном отношении, даже если она использует мало своих знаний. Дистилляция знаний переносит знания из большой модели в меньшую без потери достоверности . Поскольку оценка меньших моделей обходится дешевле, их можно развертывать на менее мощном оборудовании (например, на мобильном устройстве ). [1]

Фильтрация знаний успешно используется в нескольких приложениях машинного обучения, таких как обнаружение объектов , [2] акустические модели , [3] и обработка естественного языка . [4] Недавно он также был введен в графические нейронные сети, применимые к несеточным данным. [5]

Концепция дистилляции

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

Первый пример преобразования искусственной нейронной сети в другую сеть относится к 1992 году, когда Юрген Шмидхубер сжал или сжал иерархию рекуррентных нейронных сетей (RNN) в единую RNN, превратив сеть блоков более высокого уровня в сеть автоматизатора более низкого уровня. . [6] [7] Это облегчило дальнейшее глубокое обучение.

Соответствующая методология сжатия знаний нескольких моделей в единую нейронную сеть в 2006 году называлась сжатием моделей. Сжатие достигалось путем обучения меньшей модели на больших объемах псевдоданных, помеченных более высокопроизводительным ансамблем, с оптимизацией для соответствия логиту . сжатой модели к логиту ансамбля. [8] Фильтрация знаний является обобщением такого подхода, предложенного Джеффри Хинтоном и др. в 2015 году [1] в препринте , в котором была сформулирована концепция и показаны некоторые результаты, достигнутые в задаче классификации изображений .

Дистилляция знаний также связана с концепцией поведенческого клонирования , обсуждаемой Фаразом Тораби и др. ал. [9]

Формулировка

Учитывая большую модель как функцию векторной переменной , обученную для конкретной задачи классификации , обычно последним слоем сети является softmax в форме

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

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

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

где компонент потерь по отношению к большой модели взвешивается с коэффициентом , поскольку при повышении температуры градиент потерь по отношению к весам модели увеличивается в . [1]

Связь со сжатием модели

В предположении, что логиты имеют нулевое среднее значение , можно показать, что сжатие модели является особым случаем дистилляции знаний. Градиент потерь при дистилляции знаний относительно логита дистиллированной модели определяется выражением

где логиты большой модели. Для больших значений это можно аппроксимировать как

и при гипотезе нулевого среднего оно становится , что является производной от , т.е. потеря эквивалентна сопоставлению логитов двух моделей, как это делается при сжатии моделей. [1]

Рекомендации

  1. ^ abcdefg Хинтон, Джеффри; Виньялс, Ориол; Дин, Джефф (2015). «Дистилляция знаний в нейронной сети». arXiv : 1503.02531 [stat.ML].
  2. ^ Чен, Гобин; Чой, Вонгун; Ю, Сян; Хан, Тони; Чандракер, Манмохан (2017). «Изучение эффективных моделей обнаружения объектов с помощью дистилляции знаний». Достижения в области нейронных систем обработки информации : 742–751.
  3. ^ Асами, Тайчи; Масумура, Ре; Ямагучи, Ёсиказу; Масатаки, Хирокадзу; Аоно, Юши (2017). Адаптация акустических моделей DNN с использованием дистилляции знаний . Международная конференция IEEE по акустике, речи и обработке сигналов. стр. 5185–5189.
  4. ^ Цуй, Цзя; Кингсбери, Брайан; Рамабхадран, Бхувана ; Саон, Джордж; Серку, Том; Аудххаси, Картик; Сети, Абхинав; Нуссбаум-Том, Маркус; Розенберг, Эндрю (2017). Дистилляция знаний через ансамбли многоязычных моделей для языков с ограниченными ресурсами . Международная конференция IEEE по акустике, речи и обработке сигналов. стр. 4825–4829.
  5. ^ Ян, Идин; Цзяян, Цю; Минли, Сун; Даченг, Тао; Синьчао, Ван (2020). «Извлечение знаний из сверточных сетей графов» (PDF) . Материалы конференции IEEE по компьютерному зрению и распознаванию образов : 7072–7081. arXiv : 2003.10477 . Бибкод : 2020arXiv200310477Y.
  6. ^ Шмидхубер, Юрген (1992). «Изучение сложных, расширенных последовательностей с использованием принципа сжатия истории» (PDF) . Нейронные вычисления . 4 (2): 234–242. дои : 10.1162/neco.1992.4.2.234. S2CID  18271205.
  7. ^ Шмидхубер, Юрген (2022). «Аннотированная история современного искусственного интеллекта и глубокого обучения». arXiv : 2212.11279 [cs.NE].
  8. ^ Бучилу, Кристиан; Каруана, Рич; Никулеску-Мизил, Александру (2006). «Сжатие модели». Материалы 12-й международной конференции ACM SIGKDD по обнаружению знаний и интеллектуальному анализу данных .
  9. ^ Тораби, Фараз; Уорнелл, Гарретт; Стоун, Питер (2018). «Поведенческое клонирование по наблюдениям». arXiv : 1805.01954 [cs.AI].

Внешние ссылки