stringtranslate.com

Извлечение знаний

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

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

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

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

Связанная методология была сжатием модели или обрезкой , когда обученная сеть уменьшалась в размере. Впервые это было сделано в 1965 году Алексеем Ивахненко и Валентином Лапой на Украине (1965). [6] [7] [8] Их глубокие сети обучались слой за слоем с помощью регрессионного анализа. Избыточные скрытые единицы были обрезаны с использованием отдельного набора проверки. [9] Другие методы сжатия нейронных сетей включают Biased Weight Decay [10] и Optimal Brain Damage. [11]

Ранний пример дистилляции нейронной сети был опубликован Юргеном Шмидхубером в 1991 году в области рекуррентных нейронных сетей (RNN). Проблема заключалась в предсказании последовательности для длинных последовательностей, т. е. глубоком обучении . Она была решена двумя RNN. Одна из них ( автоматизатор ) предсказывала последовательность, а другая ( чанкер ) предсказывала ошибки автоматизатора. Одновременно автоматизатор предсказывал внутренние состояния чанкера. После того, как автоматизатору удавалось хорошо предсказать внутренние состояния чанкера, он начинал исправлять ошибки, и вскоре чанкер устаревал, оставляя в конце только одну RNN. [12] [13]

Идея использования выходных данных одной нейронной сети для обучения другой нейронной сети также изучалась как конфигурация сети учитель-ученик. [14] В 1992 году в нескольких работах изучалась статистическая механика конфигураций учитель-ученик с комитетными машинами [15] [16] или обеими машинами с четностью. [17]

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

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

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

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

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

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

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

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

Связь с компрессией модели

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

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

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

Ссылки

  1. ^ abcdefg Хинтон, Джеффри; Виньялс, Ориол; Дин, Джефф (2015). «Извлечение знаний в нейронную сеть». arXiv : 1503.02531 [stat.ML].
  2. ^ Чэнь, Гобин; Чой, Вонгун; Ю, Сян; Хан, Тони; Чандракер, Манмохан (2017). «Изучение эффективных моделей обнаружения объектов с извлечением знаний». Достижения в области нейронных систем обработки информации : 742–751.
  3. ^ Асами, Таичи; Масумура, Рё; Ямагучи, Ёсиказу; Масатаки, Хироказу; Аоно, Юши (2017). Адаптация домена акустических моделей DNN с использованием дистилляции знаний . Международная конференция IEEE по акустике, речи и обработке сигналов. С. 5185–5189.
  4. ^ Cui, Jia; Kingsbury, Brian; Ramabhadran, Bhuvana ; Saon, George; Sercu, Tom; Audhkhasi, Kartik; Sethy, Abhinav; Nussbaum-Thom, Markus; Rosenberg, Andrew (2017). Извлечение знаний из ансамблей многоязычных моделей для языков с низкими ресурсами . Международная конференция IEEE по акустике, речи и обработке сигналов. С. 4825–4829.
  5. ^ Ян, Идин; Цзяянь, Цю; Мингли, Сун; Дачэн, Тао; Синьчао, Ван (2020). «Извлечение знаний из графовых сверточных сетей» (PDF) . Труды конференции IEEE по компьютерному зрению и распознаванию образов : 7072–7081. arXiv : 2003.10477 . Bibcode : 2020arXiv200310477Y.
  6. ^ Ивахненко, А. Г.; Лапа, В. Г. (1967). Кибернетика и методы прогнозирования. American Elsevier Publishing Co. ISBN 978-0-444-00020-0.
  7. ^ Ивахненко, А. Г. (март 1970). «Эвристическая самоорганизация в задачах технической кибернетики». Automatica . 6 (2): 207–219. doi :10.1016/0005-1098(70)90092-0.
  8. ^ Ивахненко, Алексей (1971). "Полиномиальная теория сложных систем" (PDF) . IEEE Transactions on Systems, Man, and Cybernetics . SMC-1 (4): 364–378. doi :10.1109/TSMC.1971.4308320. Архивировано (PDF) из оригинала 29-08-2017 . Получено 05-11-2019 .
  9. ^ Шмидхубер, Юрген (2022). «Аннотированная история современного ИИ и глубокого обучения». arXiv : 2212.11279 [cs.NE].
  10. ^ Хансон, Стивен; Пратт, Лориен (1988). «Сравнение смещений для построения минимальной сети с обратным распространением». Достижения в области нейронных систем обработки информации . 1. Морган-Кауфманн.
  11. ^ ЛеКун, Янн; Денкер, Джон; Солла, Сара (1989). «Оптимальное повреждение мозга». Достижения в области нейронных систем обработки информации . 2. Морган-Кауфманн.
  12. ^ Шмидхубер, Юрген (апрель 1991 г.). «Чанкеры нейронных последовательностей» (PDF) . ТР ФКИ-148, ТУ Мюнхен .
  13. ^ Шмидхубер, Юрген (1992). «Изучение сложных расширенных последовательностей с использованием принципа сжатия истории» (PDF) . Neural Computation . 4 (2): 234–242. doi :10.1162/neco.1992.4.2.234. S2CID  18271205.
  14. ^ Уоткин, Тимоти Л. Х.; Рау, Альбрехт; Биль, Майкл (1993-04-01). «Статистическая механика обучения правилу». Обзоры современной физики . 65 (2): 499–556. Bibcode : 1993RvMP...65..499W. doi : 10.1103/RevModPhys.65.499.
  15. ^ Шварце, Х.; Герц, Дж. (1992-10-15). «Обобщение в большой комитетной машине». Europhysics Letters (EPL) . 20 (4): 375–380. Bibcode : 1992EL.....20..375S. doi : 10.1209/0295-5075/20/4/015. ISSN  0295-5075.
  16. ^ Мато, Г.; Парга, Н. (1992-10-07). «Свойства обобщения многослойных нейронных сетей». Журнал физики A: Mathematical and General . 25 (19): 5047–5054. Bibcode : 1992JPhA...25.5047M. doi : 10.1088/0305-4470/25/19/017. ISSN  0305-4470.
  17. ^ Hansel, D; Mato, G; Meunier, C (1992-11-01). «Запоминание без обобщения в многослойной нейронной сети». Europhysics Letters (EPL) . 20 (5): 471–476. Bibcode : 1992EL.....20..471H. doi : 10.1209/0295-5075/20/5/015. ISSN  0295-5075.
  18. ^ Бучилуа, Кристиан; Каруана, Рич; Никулеску-Мизил, Александру (2006). «Сжатие модели». Труды 12-й международной конференции ACM SIGKDD по обнаружению знаний и добыче данных .
  19. ^ Тораби, Фараз; Уорнелл, Гарретт; Стоун, Питер (2018). «Поведенческое клонирование на основе наблюдения». arXiv : 1805.01954 [cs.AI].

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