Автор Чарльз Юань. Обсуждение названия статьи «Адаптивные сети агрегации для постепенного обучения в классе».

Введение

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

Те, кто знаком с обучением с подкреплением, возможно, слышали о концепции непрерывного обучения. Когда вы заканчиваете один класс школы и начинаете изучать новые понятия в следующем, вы не забываете внезапно все понятия, которые выучили раньше. Или, по крайней мере, я надеюсь, что нет! Это проблема, связанная со статической тренировкой. Катастрофическое забывание происходит, когда ранее обученная модель машинного обучения подвергается воздействию новых данных и, в свою очередь, забывает то, чему она научилась раньше [1]. Когда вы переобучаете нейронную сеть на обновленной версии вашего предыдущего набора данных, она в конечном итоге забывает все, чему научилась раньше. Даже если вы сохранили веса или использовали такой метод, как трансферное обучение, все равно не существует системы, которая не позволяла бы модели отдавать чрезмерный приоритет новым данным и забывать старые. Это фундаментальный недостаток традиционных алгоритмов глубокого обучения; они не могут постоянно учиться.

Инкрементное обучение в классе

Задачу непрерывного обучения для алгоритмов глубокого обучения можно разделить на две категории:

  1. Обучение на новых примерах существующих классов, известное как онлайн-обучение.
  2. Обучение новым классам, известное как дополнительное обучение в классе (CIL).

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

iCaRL

«По мере того, как область компьютерного зрения приближается к искусственному интеллекту, становится очевидным, что требуются более гибкие стратегии для обработки крупномасштабных и динамических свойств реальных ситуаций категоризации объектов». [2] Эта строка взята из, возможно, первой статьи, написанной по задаче поэтапного обучения под названием «iCaRL: инкрементный классификатор и репрезентативное обучение» Ребаффи и др. [2]. Используя магистраль ResNet-32 и новый метод классификации, известный как ближайшее среднее значение образцов, iCaRL опирается на набор образцовых изображений, которые он выбирает из данных. транслировать. Чтобы уменьшить вычислительные затраты, общее количество изображений-образцов никогда не превышает фиксированного числа. Вместо этого количество примеров на класс в сохраненном наборе уменьшается всякий раз, когда вводится новый. Затем сеть обучается выводить правильный индикатор класса для нового класса(ов), используя потери при классификации, а для старых классов сравнивать с тем, как они работали раньше, используя потери при дистилляции [2]. Этот метод обучения был одним из первых, который помог предотвратить проблему катастрофического забывания.

Адаптивные сети агрегации (AANets)

Так почему же мы сначала говорили об iCaRL? Ну, это потому, что основная статья, которую мы сегодня рассматриваем, опирается на большую часть предыдущей работы, проделанной в области поэтапного обучения! А именно, он решает одну из основных проблем CIL, которая заключается в поддержании баланса между сохранением знаний из старых классов и изучением новых. Дилемма стабильности-пластичности ограничивает способность алгоритма обучения выполнять задачу балансировки стабильности, способности не забывать предыдущие знания и пластичности. , способность к получению новых знаний [1]. Хотя в прошлых алгоритмах CIL были свои собственные методы решения дилеммы стабильность-пластичность, это все равно приводило к значительному снижению общей точности по классам по мере продолжения обучения [1].

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

Математика и алгоритм

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

Во-первых, параметры сети инициализируются как [ϕ, η], а веса агрегации равны α [1]. CIL обычно предполагает обучение для всего N+1 фаз, с одной начальной фазой плюс N дополнительных фаз, в которых количество классов постепенно увеличивается [1]. На i-й фазе, чтобы минимизировать потери классификации, идеальный ПБ формулируется как:

Это формирует задачу верхнего уровня (1) для обновления весов агрегации и проблему нижнего уровня (2) для улучшения параметров сети [1]. В последующем правила обновления следующие:

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

Эксперименты и результаты

Сами эксперименты были протестированы на двух эталонных наборах данных CIL: CIFAR-100 и ImageNet [1]. CIFAR-100 содержит 60 000 образцов цветных изображений 32x32 для 100 классов, тогда как ImageNet содержит 1,3 миллиона образцов цветных изображений 224x224 для 1000 классов [1]. Как видно из таблицы количественного сравнения ранее в этом обзоре, все предыдущие современные методы улучшились с внедрением AANets. Однако вместо того, чтобы перечислять все цифры и статистику, давайте вместо этого обсудим приведенные ниже качественные результаты, демонстрирующие дилемму стабильности-пластичности во время тренировки. Сначала модель делает правильные прогнозы, используя стабильный блок, так как он успешно сохраняет знания о старых образцах, в то время как пластиковый блок забывает. Однако после нескольких этапов обучения пластиковый блок работает лучше благодаря своей способности адаптироваться к новым данным. Окончательный вывод из этих экспериментов заключается в том, что независимо от того, какой блок работает лучше, AANets может извлекать наиболее информативные функции, используя оба [1].

Заключение

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

Дополнительные чтения

1. iCaRL — тот, с которого все началось; реализовано на AANets’

2. LUCIR — также реализован на Github AANets.

3. PODNet — также упоминается в документе, хотя реализация находится в стадии разработки.

4. Тренинг мнемотехники — того же автора!

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

[1] https://openaccess.thecvf.com/content/CVPR2021/papers/Liu_Adaptive_Aggregation_Networks_for_Class-Incremental_Learning_CVPR_2021_paper.pdf

[2] https://arxiv.org/abs/1611.07725