Как Meta Learning помог выиграть хакатон
История о трех бессонных ночах ресерча и преисполнении в познании.

В этой статье я расскажу о том, как мы поучаствовали в хакатоне “Цифровой прорыв” в северо-западном федеральном округе, и познакомлю вас с концепцией Meta Learning, которая позволила нам построить достойный алгоритм и победить!
Содержание:
- Описание кейса
- Что такое Meta Learning?
- Наше решение
- Напоследок
Описание кейса
Мы выбрали кейс от Центрального Банка о прогнозировании макроэнономических показателей, соответственно, занимались предсказанием временных рядов.
Описание данных:
- train часть представляля из себя 69 размеченных рядов ~ по 200 точек в каждом.
- test часть состояла ~ из 4500 небольших файлов, в которых встречалось от 3-х до 6-ти рядов, для каждого из которых нужно было предсказывать индивидуальное количество точек вперед. Она была дана нам лишь на последние 3 часа хакатона, в течение которых мы активно занимались прогнозированием и записью полученных результатов.
Дополнительно train часть содержала лист со значениями по кварталам, соответсвенно, в некоторых из test-файлов нужно было предсказывать и квартальные значения.
Вопросы вызывали две вещи:
- Скудное количество train данных
- Неопределенность в фичах в test-датасетах
Поясняю второй пункт: если для train датасета мы знали, какие показатели нам даны (ВВП, уровень инфляции и т.д.), то в test части столбцы были зашифрованы. Мы, привыкшие решать более классические supervised задачи, были немного смущены этим фактом, но решение само нашло себя.
Что такое Meta Learning?
В ознакомительных англоязычных статьях чаще всего встречается неформальное определение по типу “learning to learn”.
Человеческому мозгу не нужны огромные массивы данных, чтобы быстро и качественно научиться решать незнакомую задачу задачу (например, определять ранее незнакомую породу собаки, встретив ее лишь несколько раз).
С этим можно поспорить — ведь у человека на развитие интеллекта была как минимум эволюция, но в дискуссию мы уходить не будем. Мы, очевидно, хотим идти в светлое будущее и развивать существующие алгоритмы, и было бы очень здорово научить модели адаптироваться под незнакомые задачи с помощью небольших датасетов.

Как по мне, чем-то напоминает идею fine-tuning’а (transfer learning’а), но я бы отметил, что при таком подходе мы все же хотим обучить базовый алгоритм на огромных массивах данных и иметь представление о схожести задачи, на которую мы будем дообучаться, с задачей, которую мы уже умеем решать. Meta Learning не всегда требует этого от нас.

Если вы хотите больше проникнуться данной концепцией, то вот статьи, которые я могу порекомендовать:
A Gentle Introduction to Meta-Learning by Edward Ma
From zero to research — An introduction to Meta-learning by Thomas Wolf
Я же расскажу о том, что сделали конкретно мы.
Наше решение
Мы подумали, что круто было бы обучить не одну модель, пытающуюся предсказывать все ряды из test’а, а подбирать оптимальную модель для каждого нового ряда из test-выборки.
Звучит логично: рядов для предсказания уйма (более 20 тысяч), каждый имеет свою специфику, так что единственной модели вряд ли бы удалось хорошо обучиться на тех данных, что у нас имелись.
Но как понять, какой алгоритм использовать в каждом отдельном случае?
Мы и наше время не бесконечны, поэтому давайте выберем N моделей, которые могли бы подойти. Для этого мы (относительно) быстро прогнали кросс-валидацию для train’е и с помощью PyCaret (https://habr.com/ru/company/otus/blog/497770/) сравнили между собой более 60-ти алгоритмов и выбрали 6 (Prophet, ARIMA, SARIMA, Theta, Holt-Winters, STLF) наиболее успешных.
Теперь давайте посмотрим на ряды, которые мы имеем в train части, из каждого извлечем основные эконометрические фичи (количество точек, mean, std, энтропия, степень линейности, etc), прогоним на нем кросс-валидацией N моделей, которые мы хотим сравнивать и по заданной метрике посмотрим, какая из них лучше справилась с задачей!
Таким образом, мы получим meta train dataset, где будут уже не сами ряды, а их мета-признаки (порядка 40 штук); тип модели, проявившей себя лучшим образом; ее параметры и средняя метрика (R-Squared) после CV.
Затем мы введем в игру главную мета-модель, которая по полученным выше данным научиться решать классическую задачу классификации на N классов (в нашем случае каждый класс — определенная модель)

Как с этими знаниями делать предсказания?
Теперь все просто: получая новый ряд, мы извлекаем его мета-признаки, отдаем их мета-моделе, принимающей решение (a.k.a. Сахипзадовна Ильвира Набиуллина), какой алгоритм для предсказания мы будем использовать.
Валидируемся на известной части test-сета и настраиваем гипер-параметры и делаем долгожданное предсказание.
Было бы идеально расширить train set данными из интернета, но мы делали meta train dataset практически всю первую ночь. При его кратном увеличении мы бы получили его к закрытию хакатона).
Поэтому пришлось тюнить мета-модели аккуратнее. По дефолту Kats предлагает использовать RandomForestClassifier с 500 деревьями. Я лично отвечал за эту часть. На мой взгляд, на 69 сэмплах такой лес очень просто переобучится, поэтому я экспериментировал с моделями проще (RandomTreeClaffier, LogisticRegression, KNN, NaiveBayes).
Из полученных шагов мы написали pipeline, который и запустили в последние 3 часа.
В реализации описанных шагов, нам помогла чудесная open-source библиотека Kats, которая как раз и использует концепцую Meta Learning’а для предсказания временных рядов.
Ссылка на GiHub: (горячо рекомендую директорию tutorials) ****

Напоследок
Как мне кажется, весь этот хакатон был про важность быть открытым новому. Изначально у нас были другие идеи, но лучше всего зашел подход, о котором мы даже не слышали до начала соревнования.
Мы были заряжены узнать и попробовать что-то принципиально новое лично для нас, и это стремление полностью оправдало себя. Будьте открытыми людям и идеям вокруг!
МОДЕЛЬ МЕТА-ОБУЧЕНИЯ С РАСШИРЕНИЕМ ПРИЗНАКОВМОДЕЛЬ МЕТА-ОБУЧЕНИЯ С РАСШИРЕНИЕМ ПРИЗНАКОВ Текст научной статьи по специальности «Компьютерные и информационные науки»
Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ерискин Виталий Владимирович
В статье рассматривается модель мета-обучения на малой выборке. Глубокое обучение в области компьютерного зрения в последние годы демонстрирует большие достижения. Компьютерное зрение уже близко к уровню человеческого. Но чтобы продемонстрировать всю мощь технологии необходимы большие массивы данных для обучения. Если провести обучение на небольшом наборе данных, то результат будет не столь впечатляющий, и модель с высокой степенью вероятности продемонстрирует переобучение. Такие проблемы решает мета-обучение [5]. Большинство исследований в области распознавания изображений сосредоточены на алгоритме классификации, игнорируя важность признаков. Представляется, что каждый класс имеет свои уникальные особенности, которые делают его более узнаваемым. В статье предлагается расширить признаки класса, и использовать это для решения задачи классификации на малой выборке. В предложенной модели используется сеть Prototype Network, для тестирования модели используется набор данных Mini-ImageNet.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Ерискин Виталий Владимирович
Дистрибутивная vs сетевая семантика в диалоговых системах
Аналитический обзор методов распознавания эмоций по выражениям лица человека
ПРИМЕНЕНИЕ МЕТОДОВ ГЛУБОКОГО ОБУЧЕНИЯ В ЗАДАЧАХ КИБЕРБЕЗОПАСНОСТИ. ЧАСТЬ 2
Сравнительный анализ нейронных сетей в задаче классификации побочных эффектов на уровне сущностей в англоязычных текстах
Кластеризация изображений при использовании предобученных нейронных сетей
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.
META-LEARNING MODEL WITH AUGMENTATION FEATURES
The paper discusses a small sample meta-learning model. Deep learning in computer vision has shown great advances in recent years. Computer vision is already close to the human level. But to demonstrate the full power of the technology, large datasets are needed for training. If you train on a small dataset, the result will not be so impressive, and the model will demonstrate overfitting with a high degree of probability. Meta-learning solves such problems. Most of the research in image recognition focuses on the classification algorithm, ignoring the importance of features. Each class appears to have its own unique characteristics that make it more recognizable. The paper proposes to expand the features of the class and use it to solve the problem of classification on a small sample. The proposed model uses the Prototype Network, and the Mini-ImageNet dataset is used to test the model.
Текст научной работы на тему «МОДЕЛЬ МЕТА-ОБУЧЕНИЯ С РАСШИРЕНИЕМ ПРИЗНАКОВМОДЕЛЬ МЕТА-ОБУЧЕНИЯ С РАСШИРЕНИЕМ ПРИЗНАКОВ»
Научно-образовательный журнал для студентов и преподавателей «StudNet» №5/2021
МОДЕЛЬ МЕТА-ОБУЧЕНИЯ С РАСШИРЕНИЕМ ПРИЗНАКОВ
META-LEARNING MODEL WITH AUGMENTATION FEATURES
Ерискин Виталий Владимирович, магистрант, Московский государственный технический университет им. Н. Э. Баумана, г. Москва
Eriskin Vitaly Vladimirovich, Graduate Student, The Moscow State Technical University, Moscow. e-mail: eriskinv@gmail. com
В статье рассматривается модель мета-обучения на малой выборке. Глубокое обучение в области компьютерного зрения в последние годы демонстрирует большие достижения. Компьютерное зрение уже близко к уровню человеческого. Но чтобы продемонстрировать всю мощь технологии необходимы большие массивы данных для обучения. Если провести обучение на небольшом наборе данных, то результат будет не столь впечатляющий, и модель с высокой степенью вероятности продемонстрирует переобучение. Такие проблемы решает мета-обучение [5]. Большинство исследований в области распознавания изображений сосредоточены на алгоритме классификации, игнорируя важность признаков. Представляется, что каждый класс имеет свои уникальные особенности, которые делают его более узнаваемым. В статье предлагается расширить признаки класса, и использовать это для решения задачи классификации на малой выборке. В предложенной модели используется сеть Prototype Network, для тестирования модели используется набор данных MiniImageNet.
The paper discusses a small sample meta-learning model. Deep learning in computer vision has shown great advances in recent years. Computer vision is already close to the human level. But to demonstrate the full power of the technology, large datasets are needed for training. If you train on a small dataset, the result will not be so impressive, and the model will demonstrate overfitting with a high degree of probability. Meta-learning solves such problems. Most of the research in image recognition focuses on the classification algorithm, ignoring the importance of features. Each class appears to have its own unique characteristics that make it more recognizable. The paper proposes to expand the features of the class and use it to solve the problem of classification on a small sample. The proposed model uses the Prototype Network, and the Mini-ImageNet dataset is used to test the model.
Ключевые слова: машинное обучение, мета-обучение, глубокие нейронные сети, компьютерное зрение
Keywords: machine learning, meta-learning, deep neural networks, computer vision 1 Введение
Глубокое обучение успешно применяется в различных задачах распознавания изображений[1], но его результаты не идеальны, когда данных мало или когда их необходимо адаптировать к новым задачам в короткие сроки[3]. В то же время, взрослому человеку достаточно увидеть предмет один или несколько раз, чтобы понять его природу и четко выделять его среди множества других предметов.
Самое простое решение этой задачи — использовать обучение с миграцией [6] — тонкую настройку заранее обученной модели. Однако из-за недостатка данных это может привести к переобучению и как следствие к ошибкам в работе модели. Мета-обучение [2] может лучше справляться с задачами подобного рода. Мета-обучение стало основным методом решения проблемы обучения на малых выборках. Для решения задач обучения на небольших выборках в мета-обучении применяют один из трех основных подходов.
Метрический подход к мета-обучению [2]. Цель обучения состоит в подборе функции расстояния, которая подбирается в процессе обучения в соответствии с расстоянием между векторами признаков изображений. Сеть Prototype Network[7] основана на представлении, что существует точка-прототип для каждого класса в пространстве признаков, которая может наилучшим образом представлять все данные этого класса, для предсказания класса объекта вычисляется расстояние между точками-прототипами и неразмеченным изображением. Сеть Matching Network[10] вычисляет сходство между неразмеченными и размеченными данными. Сеть Relationship Network[7] вычисляет расстояние, сравнивает его с евклидовым расстоянием, либо косинусным расстоянием, и таким образом можно получить более точное представление о расстоянии между вектором признаком и отнести изображение к тому или иному классу.
Мета-обучение на основе инициализации [16]. Этот метод реализуется через обучение ранее обученной сети, когда перед ней ставится новая задача, происходит операция обновления градиентного спуска существующей модели для адаптации к сценарию мета-обучения.
В MAML, например, обучающий процесс обычно состоит из двух частей: внутреннего и внешнего цикла. Внутренний цикл имитирует различные сценарии задач с небольшими выборками и получает средние потери по всем задачам. Внешний контур оптимизирует средние потери, чтобы улучшить возможность обобщения всей модели.
Методы мета-обучения, основанные на улучшении данных[13-15], добавляют дополнительные данные для решения фундаментальной проблемы дефицита данных в задачах с небольшими наборами данных. MetaGAN[13] генерирует некоторые «поддельные» изображения на основе текущей задачи, и модель может найти более четкие границы различий в процессе идентификации реального изображения и сгенерированного изображения. Сеть FeatureHallucination[9] имитирует «аналоговую» способность человека передавать информацию об окружающей среде для генерации изображений целевого класса
в соответствующей сцене. Ван[11] считает, что изображение содержит не только информацию о метке, но и информацию о сцене, такую как освещение, позы на фотографии и окружающая среда, эти факторы сцены могут быть переданы целевому классу путем генерации модели.
Большинство вышеперечисленных методов имеют недостаток: базовый набор данных используется только для определения параметров модели, игнорируя связь между данными и новой задачей. Даже после тонкой настройки модели нет никакой гарантии, что она будет хорошо работать на целевых данных.
Для решения обозначенного ограничения предлагается случайным образом выбрать ряд дополнительных изображений из начального набора данных в качестве основного набора в процессе обучения вместе с целевыми данными обучения. Такой подход может легко масштабироваться до более сложных задач, где пространство меток для тестовых данных охватывает базовый класс и целевой класс. Например, изображения с крыльями, скорее всего, будут птицами, изображения с черными и оранжевыми полосами, скорее всего, будут тиграми. Мы определяем крылья и полосы как классовые характеристики птиц и тигров. Очевидно, что изображения с четкими классовыми признаками, легко классифицировать, а изображения без четкого классификационного признака, классифицировать сложнее. Как показано на рисунке 1, изображение слева, скорее всего, будет классифицировано правильно, а вот с изображениями справа могут возникнуть трудности при классификации.
Рисунок 1. Изображения с разными признаками класса
Используемые методы улучшения данных при мета-обучении различны, современное направление исследований в данной области фокусируется на получении максимально распределенного набора данных целевого класса, игнорируя при этом признаки, содержащиеся в самом изображении. Если эффект генерации изображения оставляет желать лучшего, то это снижает общую точность модели. С другой стороны, очень сложная структура генерации дополнительных изображений будет сложна с точки зрения обучения модели.
Представляется, что реальное изображение более важно, чем изображение, полученное генератором. Сделать реальное изображение более легким для идентификации или сделать признаки класса изображений более очевидными — это более эффективный способ решения проблемы обучения на малых выборках.
В данной работе предлагается CFA (Class Feature Augmentation) в качестве общей, гибкой структуры мета-обучения. Объединим CFA с наиболее часто используемым методом мета-обучения Prototype Network[1], и покажем, что CFA может улучшить работу Prototype Network.
2. Предварительная подготовка
2.1 Обучение на малых выборках и мета-обучение
Для обучающей задачи T c небольшой выборкой, алгоритм обучения требует нахождения совместного распределения набора признаков X и набора меток Y, Pxxv(x,y). Обычно задача T = (St, Qt) состоит из вспомогательного набора St и набора запросов Qt. Вспомогательный набор определяет параметры модели, а набор запросов определяет классификационный эффект модели на эту задачу. Вспомогательный набор содержит N различных типов, и каждый класс содержит K изображений (K обычно составляет 1, 5 или 20), поэтому это также называют N-образной задачей классификации малых выборок из K снимков.
Алгоритмы мета-обучения состоят из двух этапов. На первом этапе определяется параметр w алгоритма классификации посредством обучения. На этапе мета-обучения размеченный набор данных Smeta содержит большое количество изображений. В ходе каждого цикла обучения случайным образом
выбирается несколько изображений из Smeta в качестве задачи для классификации. Далее случайным образом выбирают подмножество m категорий из набора меток C, затем случайным образом выбирают несколько различных изображений из этой категории m для формирования вспомогательного набора и набора запросов, используемых для имитации задач классификации с небольшой выборкой. Во время обучения вспомогательный набор используется как априорного знания, а через мета-обучение получаем функцию потерь и оптимизируем модель. Второй этап — это мета-тестирование, обученную на предыдущем этапе модель проверяют на выполнении задачи классификации на целевой выборке.
2.2 Сеть Prototype Network
Модель сети Prototype Network основана на предположении, что в наборе данных для каждого класса существует точка-прототип, которая отражает общие характеристики всего класса[1]. Аналогично идеи алгоритма KNN[4], чем ближе объект к точке-прототипу, тем больше вероятность того, что объект и точка-прототип принадлежат к одному классу. Основная идея алгоритма в том, чтобы сопоставить D-мерный набор данных с M-мерным пространством признаков с помощью глубокой нейронной сети, а затем вычислить среднее значение pk для каждого типа выборки в качестве точки-прототипа в новом пространстве.
3 Описание модели
Популярные методы мета-обучения используют только вспомогательный набор и набор запросов в каждой итерации, в предлагаемой в данной статье модели есть три набора: вспомогательный набор (Support Classes) S, набор запросов (Query Classes) Q и базовый набор (Base Classes) р. Если пространство меток вспомогательного набора и набора запросов одно и то же, определяемое как Ys, то тип пространства меток называется целевым классом.
Модель после получения всех точек прототипа на тестовой фазе выбирает из набора запросов для классификации некоторый вектор x, вычисляет расстояние между x и всеми точками-прототипами в пространстве признаков и с помощью функции softmax классифицируется вектор x — это происходит путем вычисления расстояния между x и всеми точками прототипа в пространстве признаков. При этом расстояние нормализуется для получения вероятности x, соответствующей типу k.
Метка в наборе данных и наборе запросов определяется как Yp, то есть Ys n Yp = 0,а типы в пространстве меток называются базовыми классами.
Вспомогательный набор используется для имитации задачи распознавания на небольшой выборке, данные набора запросов используются для получения функции потерь и оценки эффективности классификации модели, а базовый набор служит для получения характеристик класса для каждого вспомогательного набора. Чтобы обеспечить объективность экспериментальных результатов, на этапе мета-обучения и мета-тестирования базовые наборы выбирались из набора данных мета-обучения и не использовались в мета-тесте. Как показано на рисунке 2, предложенная модель состоит из трех частей: модуль извлечения признаков, модуль улучшения признаков класса (CFA) и модуль мета-обучения.
Рисунок 2. Структура модели.
Модуль извлечения признаков сопоставляет изображения во вспомогательном наборе, наборе запросов, и базовом наборе с пространством признаков. Далее вычисляется базовый класс и все точки-прототипы, что поддерживают целевой класс в пространстве признаков, и выбираются «аналогичный класс» соответствующий целевому классу из базового набора по расстоянию между точками-прототипами. Затем изображения в аналогичных классах берут в качестве входных данных, получаем характеристики для каждого класса, и перемещаем изображения вспомогательного набора в пространстве признаков, чтобы сделать характеристики класса более очевидными. И наконец, использование набора запросов Q и вспомогательного набора Saug после CFA модулем мета-обучения, позволяет классифицировать изображение из набора запросов, получить функцию потерь и оптимизировать модель в общем.
Чтобы оценить эффективность модели, предложенной в данном исследовании, в качестве модуля мета-обучения используется сеть Prototype Network (PN). В разделе 3.1 описывается алгоритм генерации признаков класса, в разделе 3.2 описывается алгоритм улучшения признаков класса, подробное описание двухэтапного процесса реализации модуля CFA, в разделе 3.3 описываются детали реализации CFA-PN.
3.1 Алгоритм генерации признаков «аналогичного класса»
Одна из причин, по которой люди могут учиться на небольших выборках, заключается в том, что для новых предметов, которые мы не видели ранее, мы можем найти некоторые другие предметы, которые близки по признакам к новому предмету, а также благодаря способности объединять предметы на основании их признаков в классы «аналогичных» предметов (как показано на рисунке 3.)
Рисунок 3. Аналогичные классы Несмотря на то, что информации о новом изображении мало, характеристики нового изображения могут быть четко идентифицированы с помощью изображений аналогичного класса, содержащих большой объем информации об аналогичных изображениях. Например, даже если вы никогда не видели медведя и тигра, но у вас будет достаточно знаний о кошках, то вы сможете правильно классифицировать их (медведя и тигра), после просмотра нескольких изображений, потому что тигры и кошки внешне более похожи, чем медведи и кошки. Опираясь на этот феномен, мы используем «аналогичные классы» для генерации признаков целевого класса.
Исследования[10] показывают, что сопоставление многомерных данных с низкоразмерным пространством признаков с помощью метрического обучения может упростить распознавание изображений различного типа. Чем ближе объекты в пространстве признаков друг к другу, тем выше вероятность того, что объекты принадлежат к одному и тому же классу. Согласно этому принципу, мы определяем изображения, которые близки в пространстве признаков, но не
являются одинаковыми, как аналогичные классы. С другой стороны, цель метода улучшения признаков класса состоит в том, чтобы использовать аналогичные классы для усиления признаков целевого класса, чтобы сделать признаки класса более очевидными, что требует наличия сходных признаков между целевым классом и аналогичным классом. Таким образом, аналогичные классы получаются из пространства признаков.
Сначала вычисляется среднее значение всех изображений целевого и базового класса в пространстве признаков как класс признаков для каждого класса, затем вычисляется расстояние между классами признаков, после сортировки по расстоянию, выбирается ближайший в качестве соответствующего аналогичный класс.
similar (уп) = argmin Distance (руь,руп) (5)
где Ур пространство меток базового набора в,
Уь и уп метки в базовом наборе в и вспомогательном наборе S,
/ф — функция извлечения признаков (реализованная с помощью нейронной сети),
которая отображает все изображения в низкоразмерное пространство объектов, Distance — это функция вычисления расстояния, обычно косинусное или евклидово расстояние.
В задачах с небольшой выборкой исходный целевой класс содержит недостаточное количество изображений, чтобы получить характеристики класса. Кроме того, для задач типа 1-shot целевой класс содержит только одно изображение, и если использовать это изображение для создания признаков класса, тогда невозможно изменить исходное изображение с помощью признаков класса. Поэтому в данной работе для получения признаков класса используются аналогичные классы, а не сам целевой класс.
В соответствии с определением и методом расчета сходных классов, мы рассматриваем классовые признаки аналогичных классов как класс признаков целевого класса. Размерность вектора признаков уменьшена до более низкоразмерного пространства признаков, чтобы сделать представление признаков более четким. Процесс извлечения признаков класса для каждого изображения должен учитывать все изображения в аналогичных классах, а не напрямую извлекать признаки из одного изображения.
Более интуитивно понятный метод состоит в том, чтобы «соединить» все векторы изображений, а затем обработать их соответствующим образом. Однако, в отличие от варианта с обработкой некоторого небольшого количества изображений, при одновременной обработке большого количество изображений путем объединения векторов их признаков, размер результирующего вектора будет слишком большим, что может отрицательно сказаться на процессе обучения модели. Эта статья опирается на идею использования сети ЬБТМ, все изображения аналогичных классов последовательно подаются на вход сети, чтобы получить признаки класса каждого изображения.
Общий выход сети LSTM зависит от порядка входной последовательности, и двунаправленная сеть LSTM может ослабить это влияние. Извлечение признаков класса, очевидно, не зависит от порядка ввода изображения, поэтому в этой статье используется двусторонняя сеть LSTM для получения признаков класса каждого изображения х^ в аналогичном классе. На результат выхода сети LSTM влияет порядок входной последовательности, двусторонняя сеть LSTM может уменьшить этот эффект. Извлечение признаков класса, очевидно, не имеет ничего общего с порядком ввода изображения, поэтому в этой статье используется двусторонняя сеть LSTM для получения характеристик класса каждого изображения в аналогичном классе.
1гк,ск = Ь5ТМ(д1(/ф(х1)),кк-1,ск-1) (7)
х1 = К + К + дЛ/ф&д) (8)
где / — функция извлечения признаков,
g1 — функция уменьшения размерности (реализованная нейронной сетью), k — длина последовательности LSTM.
feature (уп) = ^ ^ У^) (9)
где д2 — функция увеличения разрядности (реализована нейронной сетью), similar (уп) — категория подобия.
Для удобства последующего выражения LSTM, дъ д2 объединены в функцию генерации признаков класса gw, а именно:
feature(yn) = д¥ (similar(yn)) (10)
3.2 Алгоритм получения признаков класса
С помощью структуры извлечения признаков можно получить признаки класса вспомогательного набора в общем пространстве признаков. Подобно метрическому обучению, чем ближе расстояние в пространстве признаков, тем ближе отношение объекта изображения к объекту класса. Поэтому сокращая расстояние между ними, мы добиваемся улучшения характеристик. При этом, положение признака фиксируется, а положение, представленное изображением, перемещается.
Возможно выполнить один и тот же масштаб движения для каждого изображения из вспомогательного набора, но начальное расстояние между различными изображениями и признаками класса может быть очень разным, поэтому для масштабирования расстояния используют переменный коэффициент. Для изображений, значительно отдаленных от признаков особенности изображения не очевидны, и требуют перемещения на большее расстояние. Если расстояния между признаками небольшие, то признаки изображения относительно очевидны, и его следует переместить на небольшое расстояние, чтобы предотвратить отклонение от его собственного распределения признаков. Охраняются некоторые различия между признаками аналогичного и
целевого класса. Поэтому предлагается использовать модуль масштабирования для вывода подходящего коэффициента для каждого вспомогательного набора изображений sk.
Мы объединили вспомогательный набор изображений и соответствующие признаки класса в качестве входных данных для модуля масштабирования. Затем использовали выходные данные в качестве веса для перемещения изображения вспомогательного набора.
sk = h([xi,feature(yn)]) (11)
хаид = ^ .feature(yn) + (1 — Sk) .х. (12)
где h — функция масштабирования (реализована с помощью нейронной сети),
sk — значение от 0 до 1.
Реализация CFA показана в алгоритме 1.
Алгоритм 1. Алгоритм получения признаков класса
Input: количество объектов вспомогательного набора — Ns, количество изображений в каждой категории — Ks; количество объектов общего набора — Nb , количество изображений в каждой категории — Кь; количество изображений каждой категории в наборе запросов — Kq; функция извлечения признаков — /^,
функция вычисления расстояния — Distance, функция генерации признаков класса — 9у, функция масштабирования — h. Output: Вспомогательный набор данных Begin
1. Случайным образом выберите Ns уникальных объектов из вспомогательного набора данных и выберите Nb уникальных объектов из целевого набора данных.
2. Случайным образом выберите Ks и Kq различных изображений из категории Ns, чтобы сформировать вспомогательный набор S и набор запросов Q. Случайным образом выберите Кь различных изображений из категории Nb, чтобы сформировать базовый набор р.
4. Pyn = ~%(xi,yt) e Syn /ф (xi)
5. for yb in 1~Nb
6. Pyn = e syn f ф(xi)
7. similar(yn) = argmin Distance(pyb,pyn)
9. feature(yn) = g¥ (similar(yn))
10. for xi e Syn do
11. sk = h ([хь feature (yn)])
12. х™9 = sk ■ feature(yn) + (1 — sk) -xt
3.3 Особенности реализации CFA-PN
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
Объединим CFA с сетью Prototype Network(PN), которая широко используется для моделей мета-обучения. Сначала применим CFA в пространстве признаков для выполнения обработки с целью улучшения признаков на всех изображениях во вспомогательном наборе для получения нового вспомогательного набора Saug, а затем оптимизируем общую модель CFA-PN в соответствии со структурой сети PN.
saug = CFAfate), f^Xj)) Xi e S,Xj e ß (13)
Içaug\ / i Jф 1 к 1 (Xi,yi) e Sk
РФ (У = к | х) = —у- (15)
Следует отметить, что точки-прототипы в процессе обучения рассчитываются дважды. В первый раз рассчитывается точка-прототипы, которые используются для получения аналогичных классов для улучшения признаков. Во
второй раз точки — прототипы находятся для расчета дистанции, которая используются для предсказания класса изображения.
4 Эксперимент и анализ результатов
4.1 Набор данных
Для тестирования модели CFA-PN был использован набор данных MiniImageNet. Это подмножество ILSVRC-12, первоначально предложенного Виньялсом[10]. Полный набор данных содержит 100 классов, и каждый класс имеет 600 цветных изображений размером 84 х 84. Для обеспечения сопоставимости результатов был использован метод разделения набора данных, предложенный Рави и Ларошелем[16]. Использованный набор данных состоит из 64 классов для обучения, 20 классов для тестирования и 16 классов для верификации.
4.2 Структура модели
Для реализации алгоритма CFA-PN использована глубокая нейронная сеть. Модель состоит из трех частей: модуль извлечения признаков, модуль расширения признаков класса (CFA) и модуля мета-обучения. Модуль извлечения признаков сопоставляет исходное изображение с пространством признаков. Модуль CFA использует аналогичные классы для создания признаков класса и улучшает вспомогательные изображения на уровне признаков. Модуль мета-обучения классифицирует изображения из набора запросов в соответствии с комбинированным методом мета-обучения.
Модуль извлечения признаков использует четырехуровневую свертку (ConvNet) либо ResNet12[13] — две разные сетевые архитектуры нейронной сети. В 4-слойной структуре свертки каждый слой имеет одинаковую структуру, размер ядра свертки составляет 3 х 3, а количество фильтров — 64. Вход слоя отображает изображение 84 х 84 х 3 в 1600-мерное пространство признаков. Для структуры resnet12 он состоит из 4 остаточных блоков, каждый из которых содержит 3 сверточных слоя и 1 слой быстрого доступа. Между каждыми двумя остаточными
блоками существует максимальный уровень объединения 2 х 2. Число фильтров инициализируется до 64 и удваивается после каждого остаточного блока. Финальный слой отображает изображение 84 х 84 х 3 в 512-мерное пространство признаков.
Модуль CFA состоит из двустороннего LSTM, структуры уменьшения размерности дъ структуры увеличения размерности д2 и структуры масштабирования h. дг — это полносвязный слой, выходные данные которого составляют 128 измерений, размер двунаправленного скрытого слоя LSTM — 128, а g2 — это полносвязный слой, выходные данные которого составляют 512 измерений (структура извлечения признаков — resnet12) или 1600 измерений (структура извлечения признаков — 4-х слойная свертка). h содержит 2 полносвязных слоя, окончательный результат представляет собой одномерный коэффициент масштабирования, скрытый слой содержит 1024 узла, и используется функция активации ReLu. Поскольку коэффициент масштабирования имеет значение от 0 до 1, выходной слой использует сигмоид в качестве функции активации.
В качестве функции потерь модель использует кросс-энтропию, в качестве оптимизатора используется SGD. Весь процесс обучения состоит в общей сложности из 100 000 итераций, 2000 задач генерируются случайным образом для тестирования каждые 5000 раундов. Скорость обучения установлена на 0,005. Для ResNet12 коэффициент регуляризации L2 равен 0,0005.
4.3 Результаты эксперимента
Результаты эксперимента приведены в таблице 1. Проведено сравнение точности классификации для сетей Matching Network(MN)[10], Prototype Network (PN)[7], Relational Network (RN)[8], MAML, а также предложенной нами модели CFA-PN при использовании 4-х слойной ConvNet. Модель CFA-PN показала лучшие результаты, по сравнению с базовой моделью Prototype Network, уровень точности был увеличен с 49,42% до 54,34% в тесте с 1 изображением и с 68,20% до 70,98% в тесте с 5 изображениями. Также в таблице приведены результаты
тестов с использованием архитектуры ResNet12, в этом варианте предложенная модель (CFA-PN) сравнивалась с Meta-GAN[13], SNAIL[12] и TADAM[14], при этом модель CFA-PN показала лучшие результаты. Эксперимент показал, что эффект повышения точности классификации от применения CFA зависит от применяемой архитектуры, и при 4-х слойной ConvNet выше, чем при ResNet12. Это объясняется тем, что когда уровень структуры выделения признаков является глубоким, то могут быть выделены менее очевидные признаки классов в исходном изображении. Но когда количество слоев в сети извлечения признаков меньше, предложенная модель может значительно улучшить результаты.
Таблица 1 Результаты экспериментов
Модель Архитектура 1- изображение 5- изображений
MN ConvNet 43.56±0.84 55.31±0.73
PN ConvNet 49.42±0.78 68.20±0.66
RN ConvNet 50.44±0.82 65.32±0.70
MAML ConvNet 48.70±1.84 55.31±0.73
CFA-PN ConvNet 54.34±0.62 70.98±0.45
MetaGAN ResNet12 52.71±0.64 68.63±0.67
SNAIL ResNet13 55.71±0.99 68.88±0.92
TADAM ResNet14 58.50±0.30 76.70±0.30
CFA-PN ResNet15 60.47±0.61 77.82±0.44
4.4 Сравнение параметров
В этом разделе показано влияние различных параметров на процесс обучения. Так же, как и у вспомогательного набора, параметры базового набора разделены на две части: N и Кь, то есть базовый набор содержит в общей сложности N категорий, и каждая категория содержит Кь изображений. Экспериментальные результаты по 4-х слойной сопу№1 показаны в таблице 2. Было обнаружено, что наилучшие экспериментальные результаты продемонстрированы при N =10 и Кь = 5. Если N очень мало, полученные
признаки класса ненадежны; если ^ слишком мал, точные характеристики класса не могут быть сгенерированы; если N. или ^ слишком велико, то модель больше сосредоточится на извлечении признаков базового класса и проигнорирует важные характеристики целевого класса.
Таблица 2. Сравнение производительности различных параметров
Модель Nb Kb 1- изображение 5- изображений
CFA-PN 5 5 53.23 70.47
CFA-PN 10 5 54.34 70.98
CFA-PN 15 5 53.87 70.45
CFA-PN 20 5 53.26 70.38
CFA-PN 25 5 53.45 70.11
CFA-PN 10 5 54.34 70.98
CFA-PN 10 10 53.76 70.52
CFA-PN 10 15 53.34 70.61
CFA-PN 10 20 53.26 70.40
CFA-PN 10 25 52.98 70.31
В настоящее время у большинства методов мета-обучения есть две проблемы: они игнорируют связь между обучающим набором данных и данными для классификации; основное внимания уделяется разработке подходящего алгоритма классификации, а важность признаков игнорируется.
Чтобы решить обозначенные проблемы, предлагаем использовать фреймворк мета-обучения CFA. В процессе обучения несколько классов случайным образом выбираются из базового набора данных и формируются характеристики класса, которые позволяют распознавать изображения с более высокой точностью. В статье показано, что расширение признаков класса — это эффективный метод мета-обучения.
1. Дэвид Форсайт, Джин Понс. Компьютерное зрение. Современный подход. // М.: Вильямс. 2018. — 960 с.
2. Саймон Хайкин. Нейронные сети. Полный курс. // М.: Вильямс. 2017. -1104 с.
3. С. Николенко, А. Кадурин, Е. Архангельская. Глубокое обучение. Погружение в мир нейронных сетей. // СПб.: Питер. 2018. — 480 с.
4. Джош Паттерсон, Адам Гибсон. Глубокое обучение с точки зрения практика. // М.: ДМК Пресс. 2018. — 418 с.
5. В. К. Финн. Искусственный интеллект. Методология, применения, философия. // М.: Красанд. 2018. — 448 с.
6. А. И. Галушкин. Нейронные сети. Основы теории. // М.: Горячая Линия -Телеком. 2012. — 496 с.
7. Snell J., Swersky K., Zemel R. Prototypical networks for few-shot learning. //
Advances in Neural Information Processing Systems.2017.
8. Sung F., Yang Y., Zhang L., et al. Learning to compare relation network for few-shot learning. // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.
9. Sun Q., Liu Y., Chua T. S., et al. Meta-transfer learning for few-shot learning. // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.
10. Vinyals O., Blundell C., Lillicrap T., et al. Matching networks for one shot learning. // Advances in Neural Information Processing Systems.2016.
11. Girshick R., Hebert M., et al. Low-shot learning from imaginary data. // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.
12. Mishra N., Rohaninejad M., Chen X., et al. A simple neural attentive meta-learner. arXiv preprint arXiv:1707.03141. 2017.
13. ZhangR, CheT, GhahramaniZ, etal. Metagan: an adversarial approach to few-shot learning. // Advances in Neural Information Processing Systems. 2018.
14. Oreshkin B., Lopez P. R., Lacoste A. Tadam: task dependent adaptive metric for improved few-shot learning. // Advances in Neural Information Processing Systems. 2018.
15. Finn C., Abbeel P., Levine S. Model-agnostic meta-learning for fast adaptation of deep networks. // International Conference on Machine Learning. 2017.
16. Ravi S., Larochelle H. Optimization as a model for few-shot learning. // International Conference on Learning Representations, 2017.
1. David Forsyth, Jean Pons. Computer vision. Modern approach. // M.: Williams.
2. Simon Khaikin. Neural networks. Complete course. // M.: Williams. 2017. — 1104 p.
3. S. Nikolenko, A. Kadurin, E. Arkhangelskaya. Deep Learning. Dive into the world of neural networks. // SPb.: Peter. 2018. — 480 p.
4. Josh Patterson, Adam Gibson. Deep learning from a practice perspective. // M.: DMK Press. 2018. — 418 p.
5. V. K. Finn. Artificial Intelligence. Methodology, applications, philosophy. // M.: Krasand. 2018. — 448 p.
6. A. I. Galushkin. Neural networks. Foundations of the theory. // M.: Hot Line -Telecom. 2012. — 496 p.
7. Snell J., Swersky K., Zemel R. Prototypical networks for few-shot learning. // Advances in Neural Information Processing Systems. 2017.
8. Sung F., Yang Y., Zhang L., et al. Learning to compare relation network for few-shot learning. // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.
9. Sun Q., Liu Y., Chua T.S., et al. Meta-transfer learning for few-shot learning. // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.
10. Vinyals O., Blundell C., Lillicrap T., et al. Matching networks for one shot learning. // Advances in Neural Information Processing Systems. 2016.
11. Girshick R., Hebert M., et al. Low-shot learning from imaginary data // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.
12. Mishra N., Rohaninejad M., Chen X., et al. A simple neural attentive meta-learner. arXiv preprint arXiv: 1707.03141. 2017.
13. ZhangR, CheT, GhahramaniZ, etal. Metagan: an adversarial approach to few-shot learning // Advances in Neural Information Processing Systems. 2018.
14. Oreshkin B., Lopez P. R., Lacoste A. Tadam: task dependent adaptive metric for improved few-shot learning. // Advances in Neural Information Processing Systems. 2018.
15. Finn C., Abbeel P., Levine S. Model-agnostic meta-learning for fast adaptation of deep networks. // International Conference on Machine Learning. 2017.
16. Ravi S., Larochelle H. Optimization as a model for few-shot learning. // International Conference on Learning Representations. 2017.
Мета-обучение (информатика) — Meta learning (computer science)
Метаобучение — это подполе машинного обучения, где алгоритмы автоматического обучения применяются к метаданным об экспериментах с машинным обучением. По состоянию на 2017 год термин не нашел стандартной интерпретации, однако основная цель состоит в том, чтобы использовать такие метаданные, чтобы понять, как автоматическое обучение может стать гибким при решении задач обучения, следовательно, для повышения производительности существующих алгоритмов обучения или для изучения (стимулирования) самого алгоритма обучения, поэтому альтернативный термин обучение обучению .
важен, потому что каждый алгоритм обучения основан на наборе предположений о данных, его индуктивном смещении. Это означает, что он будет хорошо учиться, только если предвзятость соответствует задаче обучения. Алгоритм обучения может очень хорошо работать в одной области, но не в другой. Это накладывает серьезные ограничения на использование методов машинного обучения или интеллектуального анализа данных, поскольку взаимосвязь между проблемой обучения (часто своего рода базой данных ) и эффективностью различных алгоритмов обучения еще не изучены.
Используя различные виды метаданных, такие как свойства задачи обучения, свойства алгоритма (например, показатели производительности) или шаблоны, ранее полученные из данных, можно изучать, выбирать, изменять или комбинировать различные алгоритмы обучения эффективно решить данную учебную задачу. Критика подходов к метаобучению очень похожа на критику метаэвристики, возможно, связанной проблемы. Хорошая аналогия с метаобучением и вдохновение для ранних работ Юргена Шмидхубера (1987) и Йошуа Бенджио и др. (1991) считает, что генетическая эволюция изучает процедуру обучения, закодированную в генах и выполняемую в мозгу каждого человека. В открытой иерархической системе метаобучения, использующей генетическое программирование, лучшие эволюционные методы могут быть изучены с помощью метаэволюции, которая сама может быть улучшена с помощью мета-метаэволюции и т. Д.
- 1 Определение
- 2 Общие подходы
- 2.1 Модельно-ориентированные
- 2.1.1 Нейронные сети с расширенной памятью
- 2.1.2 Мета-сети
- 2.2.1 Сверточная сиамская нейронная сеть
- 2.2.2 Соответствующие сети
- 2.2.3 Сеть отношений
- 2.2.4 Прототипные сети
- 2.3.1 Мета-обучающийся LSTM
- 2.3.2 Временная дискретность
- 2.3.3 Рептилии
Определение
Предлагаемое определение для системы метаобучения сочетает в себе три требования:
- Система должна включать подсистема обучения.
- Опыт приобретается за счет использования мета-знаний, извлеченных
- в предыдущем учебном эпизоде в одном наборе данных, или
- из разных областей.
Смещение относится к допущениям, которые влияют на выбор поясняющих гипотез, а не к понятию смещения, представленному в дилемме смещения-дисперсии. Мета-обучение связано с двумя аспектами предвзятости обучения.
- Декларативное смещение определяет представление пространства гипотез и влияет на размер пространства поиска (например, представляет гипотезы с использованием только линейных функций).
- Смещение процедуры накладывает ограничения на порядок индуктивных гипотез (например, предпочитая меньшие гипотезы).
Общие подходы
Есть три общих подхода: 1) использование (циклических) сетей с внешней или внутренней памятью (на основе моделей); 2) изучение эффективных дистанционных метрик (на основе метрик); 3) явная оптимизация параметров модели для быстрого обучения (на основе оптимизации).
Основанные на моделях
Модели метаобучения на основе моделей быстро обновляют свои параметры с помощью нескольких шагов обучения, которые могут быть достигается его внутренней архитектурой или контролируется другой моделью метаобучающегося.
Нейронные сети с расширенной памятью
Модель известна как MANN, сокращенно от Memory-Augmented Neural Networks, которая, как ожидается, будет быстро кодировать новую информацию и, таким образом, адаптироваться к новые задачи после всего лишь нескольких примеров, он хорошо подходит для метаобучения.
Мета-сети
Мета-сети (MetaNet) изучают метауровневые знания по задачам и быстро меняют свои индуктивные предубеждения. параметризация для быстрого обобщения.
На основе показателей
Основная идея в метаобучении на основе показателей аналогична алгоритмам ближайших соседей, вес которых генерируется ядром функция. Он нацелен на изучение функции метрики или расстояния по объектам. Понятие хорошей метрики зависит от проблемы. Он должен отражать взаимосвязь между входами в пространстве задач и способствовать решению проблем.
Сверточная сиамская нейронная сеть
сиамская нейронная сеть состоит из двух двойных сетей, выходные данные которых обучаются совместно. Выше приведена функция для изучения взаимосвязи между парами выборок входных данных. Две сети одинаковы, имеют одинаковый вес и параметры сети.
Соответствующие сети
Соответствующие сети изучают сеть, которая сопоставляет небольшой помеченный набор поддержки и немаркированный пример со своей меткой, что позволяет избежать необходимость тонкой настройки для адаптации к новым типам классов.
Сеть отношений
Сеть отношений (RN) обучается от начала до конца с нуля. Во время метаобучения он учится изучать метрику большого расстояния для сравнения небольшого количества изображений в эпизодах, каждый из которых предназначен для имитации настройки нескольких кадров.
Прототипные сети
Прототипные сети изучают метрическое пространство, в котором классификация может выполняться путем вычисления расстояний до прототипных представлений каждого класса. По сравнению с недавними подходами к обучению за несколько шагов, они отражают более простое индуктивное смещение, которое выгодно в этом режиме ограниченных данных, и позволяют достичь удовлетворительных результатов.
На основе оптимизации
На основе оптимизации Алгоритмы метаобучения предназначены для настройки алгоритма оптимизации так, чтобы модель могла хорошо учиться на нескольких примерах.
Мета-обучающийся LSTM
Мета-обучающийся на основе LSTM должен изучить точный алгоритм оптимизации, используемый для обучения другого обучаемого нейронной сети классификатор в режиме коротких выстрелов. Параметризация позволяет ему изучать соответствующие обновления параметров специально для сценария, в котором будет выполнено заданное количество обновлений, а также изучить общую инициализацию сети обучаемого (классификатора), которая обеспечивает быструю сходимость обучения.
Temporal Discreteness
MAML, сокращение от Model-Agnostic Meta-Learning, представляет собой довольно общий алгоритм оптимизации, совместимый с любой моделью, которая обучается посредством градиентного спуска.
Reptile
Reptile — это замечательно простой алгоритм оптимизации метаобучения, учитывая, что оба основаны на метаоптимизации посредством градиентного спуска и оба не зависят от модели.
Примеры
Некоторые подходы, которые рассматривались как примеры метаобучения:
- Рекуррентные нейронные сети (RNN) — это универсальные компьютеры. В 1993 году Юрген Шмидхубер показал, как «самореференциальные» RNN могут в принципе научиться посредством обратного распространения ошибки запускать собственный алгоритм изменения веса, который может сильно отличаться от обратного распространения. В 2001 г. Зепп Хохрайтер и А.С. Янгер и П.Р. Конвелл построили успешного контролируемого метаобучаемого на основе долгосрочной краткосрочной памяти RNN. Он изучил посредством обратного распространения алгоритм обучения квадратичным функциям, который намного быстрее, чем обратное распространение. Исследователи из Deepmind (Марцин Андрыхович и др.) Расширили этот подход до оптимизации в 2017 году.
- В 1990-х годах в исследовательской группе Шмидхубера была реализована технология Meta Reinforcement Learning или Meta RL благодаря самомодифицирующиеся политики, написанные на универсальном языке программирования, который содержит специальные инструкции по изменению самой политики. Есть единственный суд на всю жизнь. Цель агента RL — максимизировать вознаграждение. Он учится ускорять получение вознаграждения, постоянно совершенствуя свой собственный алгоритм обучения, который является частью политики «самореференции».
- Экстремальный тип мета обучения с подкреплением воплощен в Машина Гёделя, теоретическая конструкция, которая может проверять и модифицировать любую часть своего собственного программного обеспечения, которая также содержит общее средство доказательства теорем. Он может достичь рекурсивного самосовершенствования доказуемо оптимальным способом.
- Мета-обучение, не зависящее от модели (MAML), было введено в 2017 году Челси Финн и др. При заданной последовательности задач параметры данной модели обучаются таким образом, что несколько итераций градиентного спуска с небольшим количеством обучающих данных из новой задачи приведут к хорошей производительности обобщения для этой задачи. MAML «обучает модель, чтобы ее можно было легко настраивать». MAML был успешно применен к тестам классификации изображений с несколькими кадрами и к обучению с подкреплением на основе градиента политики.
- Обнаружение метазнаний работает путем получения знаний (например, правил), которые выражают, как каждый метод обучения будет выполнять различные учебные задачи. Метаданные формируются характеристиками данных (общие, статистические, теоретико-информационные. ) в задаче обучения и характеристиками алгоритма обучения (тип, настройки параметров, показатели эффективности. ). Затем другой алгоритм обучения изучает, как характеристики данных соотносятся с характеристиками алгоритма. Учитывая новую проблему обучения, измеряются характеристики данных и прогнозируется производительность различных алгоритмов обучения. Следовательно, можно предсказать алгоритмы, наиболее подходящие для новой задачи.
- Многослойное обобщение работает путем комбинирования нескольких (разных) алгоритмов обучения. Метаданные формируются на основе прогнозов этих различных алгоритмов. Другой алгоритм обучения учится на основе этих метаданных предсказывать, какие комбинации алгоритмов обычно дают хорошие результаты. Учитывая новую проблему обучения, прогнозы выбранного набора алгоритмов комбинируются (например, путем (взвешенного) голосования), чтобы обеспечить окончательный прогноз. Поскольку предполагается, что каждый алгоритм работает с подмножеством проблем, ожидается, что комбинация будет более гибкой и сможет давать хорошие прогнозы.
- Повышение связано с составным обобщением, но использует один и тот же алгоритм несколько раз, где примеры в обучающих данных получают разные веса при каждом запуске. Это дает разные прогнозы, каждое из которых сосредоточено на правильном прогнозировании подмножества данных, и объединение этих прогнозов приводит к лучшим (но более дорогостоящим) результатам.
- Выбор динамического смещения работает путем изменения индуктивного смещения алгоритма обучения на соответствовать данной проблеме. Это делается путем изменения ключевых аспектов алгоритма обучения, таких как представление гипотез, эвристические формулы или параметры. Существует множество различных подходов.
- Индуктивный перенос изучает, как процесс обучения можно улучшить с течением времени. Метаданные состоят из знаний о предыдущих этапах обучения и используются для эффективной разработки эффективной гипотезы для новой задачи. Связанный подход называется обучение обучению, цель которого состоит в том, чтобы использовать полученные знания из одной области, чтобы помочь обучению в других областях.
- Другие подходы с использованием метаданных для улучшения автоматического обучения: 34>обучающие системы классификаторов, рассуждения на основе случаев и удовлетворение ограничений.
- Была начата начальная теоретическая работа по использованию прикладного анализа поведения в качестве основы для агентно-опосредованного метаобучения о способностях учащихся-людей и корректировки учебного курса искусственного агента.
- AutoML, например, проект Google Brain «ИИ, создающий ИИ», который, согласно Google, ненадолго превзошел существующие ImageNet тесты в 2017 году.
Ссылки
Внешние ссылки
- Metalearning статья в Scholarpedia
- Вилалта Р. и Дрисси Я. (2002). Перспективный взгляд и обзор метаобучения, Обзор искусственного интеллекта, 18 (2), 77-95.
- Жиро-Карриер, К., Келлер, Дж. (2002). Работа с потоком данных, Дж. Мейдж (редактор), глава «Мета-обучение». STT / Beweton, Гаага.
- Браздил П., Жиро-Керриер К., Соареш К., Вилалта Р. (2009) Metalearning: приложения для интеллектуального анализа данных, глава Metalearning: Concepts and Systems, Springer
- Видеокурсы по метаобучению с пошаговым объяснением MAML, Prototypical Networks и Relation Networks.
Meta learning что это
В предыдущией публикации о тенденциях телекома в 2022 году упоминался Искусственный Интеллект с нейросетью, работающей по методу «few-shot learning» – обучение по ограниченному числу попыток. Сегодня об этом подробнее.
Как программам, таким как нейросеть OpenAI GPT-3, удаётся отвечать на вопросы, которые не предполагают единственного ответа, или писать стихи в определённом стиле, в то время как эта нейросеть никогда не программировалась специально для таких задач?
Такое становится возможным вследствие того, что человеческий язык имеет некоторые статистические свойства, которые дают нейросети возможность «ожидать неожиданного», как указано в новом отчёте DeepMind, подразделения Google по Искусственному Интеллекту.
Естественный язык, с точки зрения статистики, имеет свойства «многозначности», например, слова, которые могут означать сразу несколько понятий. Например, слово «банк», что может означать как финансовое учреждение, так и название карточной игры, или отмели у берега. Есть и слова, которые звучат совершенно одинаково, но пишутся по-разному и означают разные понятия. Например, английские слова «here» (здесь) и «hear» (слышать) звучат совершенно одинаково и их можно правильно определить только в контексте сказанного. В китайском языке таких слов, значение которых можно понять только из контекста, особенно много.
Эти свойства языка описаны в недавно опубликованной статье «Data Distributional Properties Drive Emergent Few-Shot Learning in Transformers» учёных DeepMind Стэфани Чан (Stephanie C.Y. Chan), Адамом Санторо (Adam Santoro) и др.
Как программы, такие как GPT-3, решают задачи, где нейросеть сталкивается с запросами, на которые она ранее не обучалась в явном виде (supervised training)? Такие ситуации получили название «few-shot learning» – обучение по ограниченному числу попыток.
Например, GPT-3 может отвечать на многозначные вопросы без предварительного обучения таким формам запросов, просто попросив пользователя дать пару вариантов ответов на такие неопределённые запросы. Далее GPT-3 может действовать по аналогии самостоятельно.
В GPT-3 используются т.н. большие языковые модели, основанные на рекомбинационной трансформации (transformer-based language models), т.е. модели глубокого обучения (deep learning model), в которых используется механизм «самоизучения» (self-attention), который может дифференцированно взвешивать важность каждой части вводимых данных. Такие модели используются, в основном, в системах обработки естественных языков NLP (natural language processing), или в разнообразных применениях компьютерного зрения CV (computer vision). Эти модели могут выполнять алгоритмы few-shot learning (известные также как in-context learning), без supervised learning на подобных задачах.
В основе языковых программ Google – GPT-3, а также BERT (Bidirectional Encoder Representations from Transformers) лежит популярная нейросеть, которая так и называется – «Transformer».
Авторы исследования DeepMind предположили, что такие большие программы языковых моделей ведут себя подобно другому типу программ машинного обучения, которые называются Meta-learning. Программы Meta-learning, исследованные в DeepMind, могут моделировать образы поведения (patterns) моделей данных, которые применимы для различных больших наборов данных. Такие программы обучены моделированию распределения значений слов или символов не одного набора данных, а многих наборов.
При этом, различия значений одного слова порождают различные наборы данных контекстных вариантов использования этого слова в разных значениях, но у этих вариантов оказывается много общего в структуре самой модели.
Таким образом, натуральный язык – это нечто лежащее посередине между явно-обучающими данными (supervised learning) с регулярными паттернами (образцами использования слов) и мета-обучением (meta-learning) с множеством наборов различных данных.
В методе supervised learning, объекты (слова) и метки объектов (item-label, по сути, значения слов) являются фиксированными. В тоже время, редко в встречающихся распределениях (long-tailed distribution) встречаются слова в значениях, которые используются весьма нечасто, и только в т.н. «контекстных окнах» (context windows). Однако в этих окнах они могут встречаться гораздо чаще, чем в обычном контексте. Именно в таких ситуациях работает метод few-shot meta-training, где метка (значения) объектов могут меняться в каждом эпизоде.
Для проверки гипотезы, учёные DeepMind, как ни странно, не стали работать именно с языковыми задачами, а стали обучать нейросеть Transformer на решение визуальной задачи под названием Omniglot, которая была представлена в 2016 году исследователями Университета шт. Нью-Йорк, Carnegie Mellon и MIT. Типовая задача Omniglot заставляет программу распознавания образов предписывать привольные классификационные метки для 1623 рукописных символов, глифов (glyph).

Экспериментальная таблица глифов в исследовании Deep Mind.
В процессе исследования выяснилось, что в случае множественных меток для данного глифа нейросеть работает лучше при использовании метода обучения по ограниченному числу попыток (few-shot learning). Учёные обнаружили, что рост фактора многозначности (‘polysemy factor’), т.е. меток, назначенных для каждого слова, также повышает эффективность метода few-shot learning.
Другими словами, чем сложнее задача выявления общих значений, тем лучше работает few-shot learning. Поэтому, платформа GPT-3 может чаще распознавать нетрадиционные и нечасто встречающиеся контексты и ситуации использования того или иного слова, тем самым шансы на имитацию того, что пользователю отвечает настоящий человек, а не система ИИ, значительно повышаются.
- 2.1 Модельно-ориентированные