Учимся изучать искусственный интеллект | Обзор метаобучения

Опубликовано: 24 Июля, 2021

Что такое мета-обучение?
В традиционных областях машинного обучения мы обычно берем огромный набор данных, специфичный для конкретной задачи, и хотим обучить модель для целей регрессии / классификации с использованием этого набора данных. Это радикально далеко от того, как люди используют свой прошлый опыт, чтобы очень быстро изучить новую задачу, используя лишь набор примеров.

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

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

Процесс обучения обучению или процесс мета-обучения можно грубо описать на следующей диаграмме:

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

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

Один из способов найти мета-потери может заключаться в объединении потерь модели, которую мы вычисляем во время обучения (одним из возможных способов объединения может быть просто суммирование этих потерь).
Оптимизаторы, такие как SGD , RMSProp , Adam, могут использоваться как метаоптимизаторы для обновления параметров (по сути, обучающая часть алгоритма).

В метаобучение входят три основных шага:

  1. Включение подмодели обучения.
  2. Динамическое индуктивное смещение: изменение индуктивного смещения алгоритма обучения в соответствии с данной проблемой. Это делается путем изменения ключевых аспектов алгоритма обучения, таких как представление гипотез, эвристические формулы или параметры. Существует много разных подходов.
  3. Извлечение полезных знаний и опыта из метаданных модели: метаданные состоят из знаний о предыдущих эпизодах обучения и используются для эффективной разработки эффективной гипотезы для новой задачи. Это тоже форма индуктивного переноса.

    ИИ может справиться с некоторыми действительно сложными задачами, но они требуют огромных объемов данных и плохо справляются с многозадачностью. Поэтому для агентов ИИ важно «научиться учиться», чтобы собирать больше знаний и становиться ловкими.

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

Типы алгоритмов метаобучения -

  1. Мета-обучение оптимизатора:
    Этот подход направлен на оптимизацию всей нейронной сети для лучшего выполнения задачи. Обычно используются несколько нейронных сетей. Одна нейронная сеть отвечает за оптимизацию (могут использоваться разные методы) гиперпараметров другой нейронной сети для повышения ее производительности.
    Эта статья относится к категории метаобучения оптимизатора и направлена на повышение производительности градиентного спуска.
  2. Немногочисленное обучение:
    Немногочисленное обучение, которое является надмножеством многих перспективных алгоритмов, таких как обучение одним выстрелом и обучение нулевым выстрелом, может стать будущим ИИ, поскольку он нацелен на обучение, глядя только на минимальный объем данных или примеров. Точно так же люди также пытаются понять, как что-то работает, рассматривая один или два экземпляра проблемы, небольшое обучение направлено на то же самое и является популярным алгоритмом метаобучения.
    Под эту категорию попадают нейронные сети с расширенной памятью и генеративные модели One-shot. Многие подходы используются для обучения по частям, возможно, один из наиболее известных - это создание псевдопримеров для улучшения обучения.
  3. Мета-обучение применяется к метрикам:
    Этот подход в основном направлен на поиск метрического пространства, в котором обучение будет более эффективным и действенным.
    Эта статья хорошо подходит для этой категории. Кроме того, можно заметить, что эта категория является подмножеством подхода к обучению с использованием нескольких кадров.
  4. Модельно-агностическое метаобучение:
    Представленный недавно, в 2017 году Финном и соавторами, мета-обучение, не зависящее от модели (MAML), продемонстрировало блестящую производительность при выполнении многих задач. Параметры модели обучаются таким образом, что даже несколько итераций применения градиентного спуска с относительно небольшим количеством выборок данных из новой задачи (нового домена) могут привести к хорошему обобщению этой задачи.
    Он использовался в различных других поддоменах, таких как Meta-Reinforcement Learning (RL, основанный на политическом градиенте), а также установил эталоны в задачах компьютерного зрения, особенно в обучении с несколькими кадрами при классификации изображений.

Преимущества мета-обучения -

  1. Мета-обучение предлагает большую скорость: подходы к мета-обучению могут создавать архитектуры обучения, которые работают лучше и быстрее, чем модели, созданные вручную.
  2. Масштабирование: метаобучение может автоматизировать процесс выбора и точной настройки алгоритмов, тем самым увеличивая потенциал масштабирования приложений ИИ.
  3. Требуется меньше данных: эти подходы помогают в разработке более общих систем, которые могут передавать знания из одного контекста в другой. Это сокращает объем данных, необходимых для решения проблем в новом контексте.

Соответствующие приложения:

Алгоритмы метаобучения уже используются в различных приложениях, некоторые из которых:

  1. Обнаружение мошеннических транзакций
  2. Задачи классификации изображений
  3. Машинный перевод и другие соответствующие модальные задачи
  4. Обнаружение заполнителей в изображениях.

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