[Почти] Все, что вам нужно знать в 2019 году

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

Распространение знаний в нейронной сети (NIPS, 2014)

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



При тестировании дистилляции авторы обучили одну большую нейронную сеть с двумя скрытыми слоями из 1200 линейных скрытых единиц на 60 000 обучающих примеров. Сеть была упорядочена с использованием отсева и ограничений по весу. Входные изображения дрожали на два пикселя в любом направлении. В этой сети было 67 тестовых ошибок. В меньшей сети с двумя скрытыми слоями по 800 выпрямленных линейных единиц и без регуляризации было 146 ошибок. Когда меньшая сеть была регуляризована путем сопоставления мягких целей с большой сетью, было получено 74 тестовых ошибки.

При использовании этой методики для распознавания речи были получены следующие результаты.

Не беспокойтесь о том, чтобы пропустить последние новости машинного обучения. Подпишитесь, и мы найдем это и поделимся с вами и 14 000 другими каждую неделю.

Дистилляция контрастного представления (2019)

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



Как показано ниже, в статье рассматриваются три стадии дистилляции:

  • сжатие модели
  • передача знаний из одной модальности (например, RGB) в другую (например, глубина)
  • объединение ансамбля сетей в единую сеть

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

Фреймворк дистилляции контрастного представления (CRD) тестируется на:

  • модель сжатия большой сети в меньшую
  • кросс-модальная передача знаний
  • ансамблевая дистилляция из группы преподавателей в единую студенческую сеть

Техника была протестирована на CIFAR-100, ImageNet, STL-10, TinyImageNet и NYU-Depth V2. Некоторые из полученных результатов показаны ниже.

Студент с вариативным подходом: изучение компактных и разреженных сетей в системе извлечения знаний (2019)

Подход, предложенный в этой статье, известен как вариативный студенческий. Он включает в себя сжимаемость структуры дистилляции знаний и способность методов вариационного вывода (VI) вызывать разреженность. Авторы строят редкую студенческую сеть. Редкость этой сети вызвана вариационными параметрами, найденными путем оптимизации функции потерь на основе VI. Это достигается за счет использования знаний, полученных от сети учителей.



В этой статье рассматривается байесовская нейронная сеть (BNN) в стандартной структуре KD, в которой учащийся использует вариационную целевую функцию наименьших квадратов со штрафами. Это гарантирует компактность студенческой сети по сравнению с учительской сетью благодаря KD. Это позволяет интегрировать методы разреженности, такие как разреженное вариационное исключение (SVD) и вариационное байесовское исключение (VBD). Это приводит к успеваемости редкого ученика.

Некоторые результаты, полученные с помощью этого метода, показаны ниже.

Улучшенное извлечение знаний с помощью помощника учителя: устранение разрыва между учеником и учителем (2019)

В этой статье показано, что производительность студенческой сети ухудшается, когда разрыв между учителем и учеником велик. Статья представляет помощника учителя - многоступенчатую дистилляцию знаний, которая устраняет разрыв между учеником и учителем. Подход протестирован на наборах данных CIFAR-10 и CIFAR-100.



Статья знакомит с методикой дистилляции знаний помощника учителя (TAKD), а также промежуточными моделями, известными как помощники учителя (TAs). Модели ТА получены от учителя, а ученик - только от ТА.

На рисунке 2 ниже показана производительность дистилляции при увеличении размера учителя. На рисунке 3 показано, что уменьшение размера ученика увеличивает его успеваемость.

Подход оценивается с использованием простых архитектур CNN и ResNet. Вот некоторые из точности, полученные с разными размерами ТА:

Об эффективности дистилляции знаний (ICCV 2019)

В этой статье основное внимание уделяется способности методов извлечения знаний эффективно обобщать при обучении студенческой сети. Согласно выводам авторов, более высокая точность в сети учителей не обязательно означает высокую точность для сети учеников. В этом документе используются сетевые архитектуры ResNet, WideResNet и DenseNet.



На рисунке ниже показан график ошибок студенческих сетей, полученных от разных учителей на CIFAR10.

Эксперимент также проводился в ImageNet с ResNet18 в качестве ученика и ResNet18, ResNet34, ResNet50 и ResNet152 в качестве учителей. Эксперименты доказывают, что более крупные модели - не лучшие учителя.

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

Решение, предлагаемое в этой статье, состоит в том, чтобы прервать обучение учителей на раннем этапе, чтобы получить решение, более приемлемое для учащегося.

Динамическая дистилляция ядра для эффективной оценки позы в видео (ICCV 2019)

Локализация суставов тела в оценке позы человека применяет большие сети к каждому кадру видео. Этот процесс обычно требует больших вычислительных затрат. Авторы этой статьи предлагают динамическую дистилляцию ядра (DKD) для решения этой проблемы.

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



Тренировочный процесс осуществляется с использованием временной состязательной стратегии обучения. Эта стратегия вводит временной дискриминатор для генерации когерентных во времени ядер позы и результатов оценки позы в большом диапазоне. Этот подход протестирован на тестах Penn Action и Sub-JHMDB.

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

Некоторые результаты, полученные с помощью набора данных Penn Action, показаны ниже:

Вот сравнение результатов, полученных с наборами данных Penn Action и Sub-JHMDB.

DistilBERT, дистиллированная версия BERT: меньше, быстрее, дешевле и легче (NeurIPS 2019)

В этой статье предлагается способ предварительного обучения меньшей модели представления языка общего назначения, известной как DistilBERT - дистиллированная версия BERT. Архитектура DistilBERT аналогична архитектуре BERT.



Производительность этого подхода по сравнению с BERT показана ниже.

DistilBERT перегоняется на очень большие партии с использованием накопления градиента, динамического маскирования и без цели прогнозирования следующего предложения. Он прошел обучение на исходном корпусе модели BERT и был оценен с помощью теста General Language Understanding Evaluation (GLUE). DistilBERT сохраняет 97% производительности BERT и работает на 60% быстрее.

Заключение

Теперь мы должны быть в курсе некоторых из наиболее распространенных - и нескольких совсем недавних - модельных методов дистилляции.

В упомянутых выше статьях / рефератах также есть ссылки на их реализации кода. Мы будем рады увидеть результаты, которые вы получите после их тестирования.



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

Независимо от редакции, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по данным и группам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим участникам и не продаем рекламу.

Если вы хотите внести свой вклад, отправляйтесь на наш призыв к участникам. Вы также можете подписаться на наши еженедельные информационные бюллетени (Deep Learning Weekly и Comet Newsletter), присоединиться к нам в » «Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов, событий и гораздо больше, что поможет вам быстрее и лучше строить лучшие модели машинного обучения.