Дистилляция знаний
В машинном обучении дистилляция знаний или дистилляция модели — это процесс переноса знаний из большой модели в меньшую. Хотя большие модели (такие как очень глубокие нейронные сети или ансамбли многих моделей) обладают большей емкостью знаний, чем маленькие модели, эти возможности могут быть использованы не полностью. Оценка модели может оказаться столь же дорогостоящей в вычислительном отношении, даже если она использует мало своих знаний. Дистилляция знаний переносит знания из большой модели в меньшую без потери достоверности . Поскольку оценка меньших моделей обходится дешевле, их можно развертывать на менее мощном оборудовании (например, на мобильном устройстве ). [ 1 ]
Фильтрация знаний успешно использовалась в нескольких приложениях машинного обучения, таких как обнаружение объектов , [ 2 ] акустические модели , [ 3 ] и обработка естественного языка . [ 4 ] Недавно он также был введен в графические нейронные сети, применимые к несеточным данным. [ 5 ]
Концепция дистилляции
[ редактировать ]Перенос знаний из большой модели в маленькую каким-то образом должен научить последней без потери валидности. Если обе модели обучаются на одних и тех же данных, у меньшей модели может быть недостаточно возможностей для изучения краткого представления знаний по сравнению с большой моделью. Однако некоторая информация о кратком представлении знаний кодируется в псевдовероятностях , присвоенных ее выходным данным: когда модель правильно предсказывает класс, она присваивает большое значение выходной переменной, соответствующей такому классу, и меньшие значения другим выходным переменным. Распределение значений между выходными данными записи предоставляет информацию о том, как большая модель представляет знания. Таким образом, цель экономичного развертывания действительной модели может быть достигнута путем обучения только большой модели на данных, использования ее лучшей способности изучать краткие представления знаний, а затем выделения таких знаний в меньшую модель, обучая ее изучению мягкий вывод большой модели. [ 1 ]
Связанной методологией было модели сжатие или сокращение , при котором размер обученной сети уменьшается с помощью таких методов, как смещение веса. [ 6 ] и оптимальное повреждение головного мозга. [ 7 ]
Идея использования результатов одной нейронной сети для обучения другой нейронной сети была изучена как конфигурация сети учитель-ученик. [ 8 ] В 1992 году в нескольких статьях изучалась статистическая механика конфигурации сети учитель-ученик, где обе сети представляют собой комитетные машины. [ 9 ] [ 10 ] или оба являются машинами четности. [ 11 ]
Еще один ранний пример сетевой дистилляции был также опубликован в 1992 году в области рекуррентных нейронных сетей (RNN). Проблема заключалась в предсказании последовательности. Проблема была решена двумя RNN. Один из них ( атомайзер ) предсказал последовательность, а другой ( чанкер ) предсказал ошибки атомайзера. Одновременно атомайзер предсказывал внутренние состояния чанкера. После того, как атомайзеру удастся хорошо предсказать внутренние состояния чанкера, он начнет исправлять ошибки, и вскоре чанкер устареет, оставив в конце концов только один RNN. [ 12 ]
Соответствующая методология сжатия знаний нескольких моделей в единую нейронную сеть в 2006 году называлась сжатием моделей : сжатие достигалось путем обучения меньшей модели на больших объемах псевдоданных, помеченных более высокопроизводительным ансамблем, с оптимизацией для соответствия логиту . сжатой модели к логиту ансамбля. [ 13 ] Фильтрация знаний является обобщением такого подхода, предложенного Джеффри Хинтоном и др. в 2015 году, [ 1 ] в препринте , в котором сформулирована концепция и показаны некоторые результаты, достигнутые в задаче классификации изображений .
Дистилляция знаний также связана с концепцией поведенческого клонирования, обсуждаемой Фаразом Тораби и др. ал. [ 14 ]
Формулировка
[ редактировать ]Учитывая большую модель как функцию векторной переменной , обученный для конкретной задачи классификации , обычно последний уровень сети представляет собой softmax в форме
где — температура , параметр, для которого установлено значение 1 для стандартного softmax. Оператор 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 .
- ^ Хэнсон, Стивен; Пратт, Лориен (1988). «Сравнение смещений для построения минимальной сети с обратным распространением ошибки» . Достижения в области нейронных систем обработки информации . 1 . Морган-Кауфманн.
- ^ ЛеКун, Янн; Денкер, Джон; Солла, Сара (1989). «Оптимальное повреждение мозга» . Достижения в области нейронных систем обработки информации . 2 . Морган-Кауфманн.
- ^ Уоткин, Тимоти Л.Х.; Рау, Альбрехт; Биль, Майкл (1 апреля 1993 г.). «Статистическая механика изучения правила» . Обзоры современной физики . 65 (2): 499–556. дои : 10.1103/RevModPhys.65.499 .
- ^ Шварце, Х; Герц, Дж (15 октября 1992 г.). «Обобщение в машине большого комитета» . Письма по еврофизике (EPL) . 20 (4): 375–380. дои : 10.1209/0295-5075/20/4/015 . ISSN 0295-5075 .
- ^ Мато, Г; Парга, Н. (07.10.1992). «Обобщающие свойства многослойных нейронных сетей» . Журнал физики A: Математический и общий . 25 (19): 5047–5054. дои : 10.1088/0305-4470/25/19/017 . ISSN 0305-4470 .
- ^ Гензель, Д; Мато, Г; Менье, К. (1 ноября 1992 г.). «Запоминание без обобщения в многослойной нейронной сети» . Письма по еврофизике (EPL) . 20 (5): 471–476. дои : 10.1209/0295-5075/20/5/015 . ISSN 0295-5075 .
- ^ Шмидхубер, Юрген (1992). «Изучение сложных, расширенных последовательностей с использованием принципа сжатия истории» (PDF) . Нейронные вычисления . 4 (2): 234–242. дои : 10.1162/neco.1992.4.2.234 . S2CID 18271205 .
- ^ Бучилу, Кристиан; Каруана, Рич; Никулеску-Мизил, Александру (2006). «Сжатие модели». Материалы 12-й международной конференции ACM SIGKDD по обнаружению знаний и интеллектуальному анализу данных .
- ^ Тораби, Фараз; Уорнелл, Гарретт; Стоун, Питер (2018). «Поведенческое клонирование по наблюдениям». arXiv : 1805.01954 [ cs.AI ].