заглушки Что такое метаобучение? - Unite.ИИ
Свяжитесь с нами:
Мастер-класс по ИИ:

AI 101

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

mm
обновленный on

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

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

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

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

Типы метаобучения

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

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

Мета-обучение «Несколько выстрелов»

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

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

Метричное метаобучение

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

Метаобучение рекуррентной модели

Метаобучение рекуррентной модели — это применение методов метаобучения к рекуррентным нейронным сетям и аналогичным сетям с длинной краткосрочной памятью. Этот метод основан на обучении модели RNN/LSTM последовательному изучению набора данных, а затем использовании этой обученной модели в качестве основы для другого обучающегося. Мета-обучающийся принимает на вооружение конкретный алгоритм оптимизации, который использовался для обучения исходной модели. Унаследованная параметризация метаобучающегося позволяет ему быстро инициализироваться и сходиться, но при этом иметь возможность обновляться для новых сценариев.

Как работает метаобучение?

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

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

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

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

Блогер и программист со специализацией в Машинное обучение и Глубокое обучение темы. Дэниел надеется помочь другим использовать возможности ИИ на благо общества.