содержание
Чем метаобучение отличается от традиционного машинного обучения?
В чем разница между MAML и предварительной тренировкой?
Преимущества и особенности МАМЛ
Приложение MAML: Пример игрушки
базовое понимание
Мета-обучение, переводимое как мета-обучение, также можно рассматривать как «учиться учиться».
Чем метаобучение отличается от традиционного машинного обучения?
Зная, что блогер «Nanyouqiaomu» понимает метаобучение и традиционное машинное обучение Вот простой для понимания пример, которым можно поделиться с вами:
Сравнивая алгоритм обучения с обучением учащихся в школе, традиционная задача машинного обучения соответствует обучению модели для каждого предмета, в то время как метаобучение направлено на улучшение общей способности учащихся к обучению и обучение обучению.
В школе некоторые ученики имеют хорошие оценки по всем предметам, а некоторые ученики необъективны.
- Хорошие оценки по всем предметам указывают на то, что учащиеся обладают сильными способностями к «метаобучению», научились учиться и могут быстро адаптироваться к учебным задачам по различным предметам.
- Студенты с неполными предметами имеют относительно слабые способности к «метаобучению». Он не будет делать выводы из других фактов и проводить аналогии по аналогии.
Глубокие нейронные сети, которые часто используются сейчас, являются «частичными учениками». Сетевые модели, соответствующие классификации и регрессии, совершенно разные. Даже если используется одна и та же задача классификации, для классификации данных ImageNet используется сетевая архитектура распознавания лиц. высокая точность.
Есть еще одно отличие:
- Традиционный метод глубокого обучения заключается в обучении (обучении) с нуля, то есть обучении с нуля, что потребляет и проверяет больше вычислительной мощности и времени.
- Мета-обучение делает упор на изучение модели с хорошей способностью к различению и обобщению для неизвестных образцов и неизвестных категорий из разных небольших задач и небольших образцов.
Основная идея
На лицевой стороне написано: Все изображения взяты из обучающего видео г-на Ли Хунъи.
Рисунок 1
Пояснение к рисунку 1:
Метаобучение, также известное как научиться учиться, означает позволить машинам «учиться учиться» и иметь возможность учиться.
И обучающие образцы, и тестовые образцы для метаобучения основаны на задачах. Обучайте модель с помощью различных типов задач, обновляйте параметры модели, осваивайте навыки обучения, а затем лучше изучайте другие задачи на основе логического вывода. Например, задание 1 — распознавание речи, задание 2 — распознавание изображений, ..., задание 100 — классификация текста, задание 101 отличается от предыдущих 100 заданий, обучающее задание — это эти 100 разных заданий, а тестовое задание — это первая 101 миссия.
фигура 2
Пояснение к рисунку 2:
В машинном обучении обучающий набор в обучающей выборке называется обучающим набором, а тестовый набор называется тестовым набором. Метаобучение широко используется в обучении с несколькими выстрелами.В метаобучении обучающий набор в обучающей выборке называется набором поддержки, а тестовый набор в обучающей выборке называется набором запросов.
Уведомление :Только в машинном обученииОдинБольшой выборочный набор данных делит этот большой набор данных на две части, называемые обучающим набором и тестовым набором;
Но в мета-обучении существует более одного набора данных, и существует столько разных задач, сколько существует наборов данных, и тогда каждый набор данных делится на две части, называемые набором поддержки и набором запросов соответственно.
Проверочный набор здесь не рассматривается.
изображение 3
Пояснение к рисунку 3:
На рис. 3 показан режим работы традиционного глубокого обучения, а именно:
- определить сетевую архитектуру;
- Параметры инициализации
- Обновите параметры оптимизатором по вашему выбору;
- Обновление параметров через две эпохи;
- Получите окончательный вывод сети.
Где связь между метаобучением и традиционным глубоким обучением?
Вещи в красной рамке на рис. 3 определяются человеческим замыслом, что мы часто называем «гиперпараметрами», а цель метаобучения — автоматически изучать или заменять вещи в рамке, и различные методы замены придумать разные алгоритмы метаобучения.
Рисунок 4
Пояснение к рисунку 4:
На рис. 4 кратко представлен принцип метаобучения.
В алгоритме нейронной сети необходимо определить функцию потерь для оценки качества модели, а потери метаобучения получаются путем сложения тестовых потерь N задач. Тестовая потеря, определенная на n-й задаче, равна, то для N задач общие потери равны
, что является целью оптимизации метаобучения.
Пусть есть две задачи, Задача1 и Задача2, через обучающую задачу 1 получается функция потерь l1 задачи 1, а через обучающую задачу 2 получается функция потерь l2 задачи 2, а затем функции потерь этих двух задач добавляются, чтобы получить полную функцию потерь обучающей задачи, которая представляет собой формулу в правом верхнем углу рисунка 4.
Если в предыдущей статье не было достаточно понимания метаобучения, позже будет более подробное объяснение:
Существует множество алгоритмов для метаобучения.Некоторые высокие алгоритмы могут выводить различные структуры нейронных сетей и гиперпараметры для различных задач обучения, таких как поиск нейронной архитектуры (NAS) и AutoML. Большинство из этих алгоритмов довольно сложны и трудны для реализации обычными людьми. Еще один относительно простой в реализации алгоритм метаобучения — MAML и Reptile, которые представлены в этой статье, не меняют структуру глубокой нейронной сети, а только изменяют параметры инициализации сети.
MAML
Чтобы понять смысл и процесс вывода функции потерь алгоритма MAML, мы должны сначала отличить его от предварительного обучения.
Пояснение к рисунку 5:
Мы определяем параметры инициализации как, параметры инициализации которого
, определим параметры модели после обучения на n-м тестовом задании как
, поэтому функция общих потерь MAML равна
.
Рисунок 5
В чем разница между MAML и предварительной тренировкой?
1. Различные функции потерь
Функция потерь MAML.
Функция потерь для предварительного обучения.
Интуитивное понимание состоит в том, что потеря, оцениваемая MAML, представляет собой потерю теста после обучения задаче, а предварительная подготовка заключается в непосредственном поиске потери на исходной основе без обучения. Как показано на рисунке 6.
Рисунок 6
2. Различные идеи оптимизации
Здесь я поделюсь наиболее подходящим описанием функции потерь, которое я видел :(zhuanlan.zhihu.com/p/72920138)
Загадка функции проигрыша: параметры инициализации контролируют аудиторию, а параметры задания делятся на свои станы
Рисунок 7
Рисунок 8
Как показано на рис. 7 и рис. 8:
Абсцисса на приведенном выше рисунке представляет параметры сети, а ордината представляет функцию потерь. Две кривые светло-зеленого и темно-зеленого цвета представляют собой кривую функции потерь двух задач в зависимости от параметров.
Предполагая, что параметры моделии
Векторы одномерны,
Первоначальная цель предобучения модели — найти состояние, минимизирующее сумму потерь всех задач с самого начала., это не гарантирует, что все задачи могут быть обучены наилучшим образом
, как показано на рисунке выше, то есть сходится к локальному оптимуму. Из рисунка 7 видно, что величина потерь достигает минимального значения по формуле расчета
, но в это время линия task2 (светло-зеленая) может сходиться только к зеленой точке слева, то есть к локальному минимуму, а с общей точки зрения глобальный минимум находится на
появляется справа.
Первоначальное намерение MAML — найти беспристрастного, так что независимо от того, находится ли он на кривой потерь задачи 1 или на кривой потерь задачи 2, он может упасть до соответствующего глобального оптимума. Из рисунка 8 видно, что величина убытка достигает минимального значения по формуле расчета
, в это время задача1 может сходиться к зеленой точке слева, задача2 может сходиться к зеленой точке справа, обе из которых являются глобальным минимумом.
Г-н Ли Хунъи привел здесь очень яркую аналогию: он сравнивает MAML с выбором для обучения в докторантуре, то есть больше заботится о будущем потенциале развития студентов, а модельная предварительная подготовка эквивалентна выбору в после окончания учебы сразу работать на крупной фабрике. Сразу же зарабатывайте на приобретенных навыках, сосредоточившись на том, как вы работаете в данный момент. Как показано на рисунке 9.
Рисунок 9
Преимущества и особенности МАМЛ
Рисунок 10: МАМЛ
- Быстрый расчет
- Все шаги обновления параметров ограниченыодин раз, т.е. одношаговый
- При использовании этого алгоритма, т.е. тестировании производительности на новых задачах, он может обновляться большее количество раз..
- Подходит для ограниченных данных
Рисунок 10
Как работает МАМЛ
В статье, посвященной MAML, приведенный алгоритм показан на рисунке 11:
Рисунок 11
Подробное объяснение каждого шага приведено ниже: Ссылка (zhuanlan.zhihu.com/p/57864886)
- Require1: распределение задач, т. е. несколько задач выбираются случайным образом для формирования пула задач.
- Require2: размер шага — это скорость обучения. MAML основан на двойных градиентах. Каждая итерация включает два обновления параметров, поэтому можно настроить две скорости обучения.
- Произвольно инициализируйте параметры модели
- Цикл, который можно понимать как итеративный процесс или эпоху
- случайным образом из несколькихtaskОтбор проб для формирования партии.
- Перебрать каждую задачу в пакете
- Рассчитайте градиент каждого параметра, используя набор поддержки в задаче в пакете. В сеттинге N-way K-shot вотsupport setдолжен иметьNKКусок. (N-way K-shot означает, что есть N разных задач, каждая с K разными выборками).
- Первое обновление градиента.
- Завершить первое обновление градиента
- Второе обновление градиента. Используемый здесь образец — это набор запросов. После шага 8 модель завершает обучение в этой партии и начинает возвращаться к шагу 3, чтобы продолжить выборку следующей партии.
Есть более наглядная схема процесса MAML:
Рисунок 12
Интерпретация рисунка 12 такова:
Приложение MAML: Пример игрушки
Цель этого игрушечного примера — подобрать синусоиду:, где a и b — случайные числа. Каждая группа a и b соответствует синусоидальной кривой. K точек отбираются из синусоидальной кривой, а их абсцисса и ордината используются как набор задач. Абсцисса — входной сигнал нейронная сеть.Координаты являются выходом нейронной сети.
Мы надеемся, что, обучаясь на многих задачах, мы сможем узнать набор параметров инициализации нейронной сети, а затем ввести точки тестового задания K. После быстрого обучения нейронная сеть сможет подобрать синусоиду, соответствующую тестовому заданию. .
Рисунок 13
Слева — инициализация параметров нейронной сети с использованием обычного алгоритма тонкой настройки. Мы заметили, что когда сумма функций потерь всех обучающих задач используется в качестве общей функции потерь, параметры сети обновляются напрямую., что приведет к тому, что прогнозируемая кривая всегда будет кривой, близкой к 0, независимо от того, какие координаты вводятся в тестовую задачу, потому что a и b могут быть установлены произвольно, поэтому все возможные синусоидальные функции складываются, и их ожидаемое значение равно 0, поэтому в Чтобы получить все потери обучающей задачи Глобальные минимумы суммы функций, нейронная сеть выдаст 0 независимо от входных координат.
Справа сеть, обученная MAML.Результатом инициализации MAML является зеленая линия, которая отличается от оранжевой линии. Но по мере тонкой настройки результат приближается к оранжевой линии.
Для представленного ранее MAML задайте вопрос:
При обновлении сети для обучающей задачи делается только один шаг, после чего обновляется метасеть. Почему один шаг, может ли это быть несколько шагов?
Учитель Ли Хунъи упомянул в курсе:
- Он обновляется только один раз, и скорость относительно высокая, потому что в метаобучении много подзадач, они обновляются много раз, а время обучения относительно велико.
- MAML ожидает, что параметры инициализации будут хорошо работать при точной настройке новых задач. Если вы обновите его только один раз, вы можете получить хорошую производительность при выполнении новых задач. Взяв это за цель, можно сделать обучение параметрам метасети очень хорошим (цель соответствует требованиям).
- Когда параметры инициализации применяются к конкретным задачам, тонкая настройка также может выполняться много раз.
- Обучение с небольшим количеством выстрелов, как правило, требует меньше данных.
Reptile
Рептилия похожа на MAML, и схема ее алгоритма выглядит следующим образом:
Рисунок 14
В Рептилии каждое обновление, вам нужно выполнить выборку пакетной задачи (размер партии = 1 на рисунке) и применить несколько градиентных спусков к каждой задаче, чтобы получить соответствующий
. затем вычислить
и параметры основной задачи
Разностный вектор , как обновление
направление. Эта итерация повторяется, и, наконец, получаются глобальные параметры инициализации.
Его псевдокод выглядит следующим образом:
Рептилия, одно обучающее задание на образец
Рептилия, одна задача пакетного обучения на образец
В Рептилии:
- Сеть для обучающей задачи может обновляться несколько раз
- рептилия больше не рассчитывает градиенты, как MAML (что приводит к улучшению инженерных характеристик), а напрямую использует параметр
Обновите параметры метасети, умножив разницу между метасетью и параметрами сети обучающей задачи.
- С точки зрения эффекта эффект Reptile в основном такой же, как и у MAML.
Вышеизложенное представляет собой глубокое понимание метаобучения. Математические формулы MAML могут быть получены в будущем. Заинтересованные читатели могут оставить сообщение~
использованная литература
【1】zhuanlan.zhihu.com/p/72920138
【2】zhuanlan.zhihu.com/p/57864886
【3】zhuanlan.zhihu.com/p/108503451
[4] Бумага МАМЛАР Вест V.org/PDF/1703.03…