Основы ИИ

Что такое МетаОбучение?

mm
Добавьте Unite.AI в избранные источники в Google

Что такое МетаОбучение?

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

Термин метаобучение был введен Дональдом Модсли, чтобы описать процесс, посредством которого люди начинают формировать то, что они учат, становясь “все более контролирующими привычки восприятия, исследования, обучения и роста, которые они internalized”. Позже когнитивные ученые и психологи описали метаобучение как “обучение тому, как учиться”.

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

Типы МетаОбучения

Оптимизатор МетаОбучения

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

Метаобучение с Немногими Выстрелами

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

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

Метрическое МетаОбучение

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

Метаобучение Рекуррентных Моделей

Метаобучение рекуррентных моделей – это применение методов метаобучения к рекуррентным нейронным сетям и подобным сетям с долгой краткосрочной памятью. Этот метод работает путем обучения модели РНН/ЛСТМ последовательно учиться набору данных, а затем использования этой обученной модели в качестве основы для другого обучающегося. МетаОбучающийся принимает на себя конкретный алгоритм оптимизации, который был использован для обучения исходной модели. Наследуемая параметризация метаобучающегося позволяет ему быстро инициализироваться и сходиться, но при этом быть способным обновляться для новых сценариев.

Как Работает МетаОбучение?

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

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

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

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

Блогер и программист с специализацией в Machine Learning и Deep Learning темах. Daniel надеется помочь другим использовать силу ИИ для социального блага.