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