Обзор непродолжительного обучения компьютерному зрению

алгоритм

Предисловие:

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

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

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

Это потребует новаторских подходов. Одним из них является обучение за несколько шагов (FSL).

В этой статье мы рассмотрим:

Что такое обучение с использованием нескольких образцов- Определение, цель и примеры вопросов FSL

вариант обучения с несколькими выстрелами——Обучение N-Shot, Обучение с несколькими выстрелами, Обучение с одним выстрелом, Обучение с нулевым выстрелом.

Метод обучения на малых выборках—— Метаобучение, уровень данных, уровень параметров

Алгоритмы метаобучения- Определения, метрическое обучение, метаобучение на основе градиента

Алгоритм классификации изображений малых выборок- Независимое от модели метаобучение, сопоставление, прототипирование и реляционные сети

Обнаружение целей с малым объемом выборки— ЙОЛОМАМЛ

Что такое обучение за несколько выстрелов?

Few-Shot Learning (сокращенно FSL) — это подполе машинного обучения. В случае только нескольких обучающих выборок с контролируемой информацией обучающая модель достигает классификации новых данных.

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

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

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

вариант обучения с несколькими выстрелами

В соответствии с различными изменениями и крайними случаями FSL его можно разделить на четыре типа:

N-Shot Learning (NSL)

Few-shot Learning (FSL)

One-Shot Learning (OSL)

Zero-Shot Learning (ZSL)

Когда мы говорим о FSL, мы обычно имеем в виду N-way-K-Shot-классификацию.

N представляет количество классов, а K представляет количество образцов для обучения для каждого класса.

Обучение N-Shot рассматривается как более широкое понятие, чем все другие понятия. Это означает, что Few-Shot, One-Shot и Zero-Shot Learning являются подполями NSL.

Zero-Shot Learning (ZSL)

Целью Zero-Shot Learning является классификация невидимых классов без каких-либо обучающих образцов.

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

Один выстрел и несколько выстрелов

В One-Shot Learning есть только один пример для каждого класса. Few-Shot имеет от 2 до 5 образцов на класс, что делает его более гибкой версией OSL.

Когда мы говорим об общей концепции, мы используем термин «немногократное обучение». Но область еще молода, поэтому люди используют эти термины по-разному.

Метод обучения на малых выборках

Во-первых, давайте определим задачу классификации N-way-K-Shot.

Предположим, что обучающий набор включает в себя N меток классов, K изображений с метками на класс (небольшое количество, менее десяти образцов на класс) и Q тестовых изображений.

Мы хотим классифицировать тестовые изображения Q по N категориям. Образцы N * K в обучающем наборе — единственные образцы, которые у нас есть. Основная проблема здесь в том, что данных для обучения недостаточно.

1.jpeg

Первый шаг в задаче FSL — получить опыт решения других подобных задач. Вот почему обучение за несколько шагов описывается как проблема метаобучения.

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

При решении задач FSL обычно рассматриваются два подхода:

Подход на уровне данных (DLA)

Подход на уровне параметров (PLA)

подход на уровне данных

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

Вот почему многие проблемы FSL решаются с использованием дополнительной информации из больших базовых наборов данных. Ключевой особенностью базового набора данных является то, что в нем нет классов, представленных в обучающем наборе для задачи Few-Show. Например, если вы хотите классифицировать определенную птицу, базовый набор данных может содержать изображения многих других птиц.

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

Параметрический метод

С точки зрения параметров, образцы для обучения с использованием метода Few-Shot Learning склонны к переоснащению, поскольку они обычно имеют широкое многомерное пространство.

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

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

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

Алгоритмы метаобучения

В классической парадигме, когда у нас есть конкретная задача, алгоритм изучает, улучшается ли его выполнение задачи с опытом. В парадигме метаобучения у нас есть набор задач. Алгоритм учится узнавать, улучшается ли его производительность в каждой задаче с опытом и количеством задач. Этот алгоритм называется алгоритмом метаобучения.

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

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

Теперь у нас есть задача классификации N-way-K-Shot (назовем ее TEST) и большой базовый набор данных, который мы будем использовать в качестве тренировочного набора для метаобучения (TRAIN).

Весь процесс метаобучения будет проходить с ограниченным количеством эпизодов (эпизодов, телесериалов).

Из TRAIN мы выбираем образы набора N классов и K и тестовые образы Q для каждого класса. Таким образом, мы формируем задачу классификации, аналогичную нашей итоговой задаче TEST.

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

Общая эффективность модели измеряется ее точностью в задаче классификации TEST.

2.jpeg

В последние годы исследователи опубликовали множество алгоритмов метаобучения для решения задач классификации FSL. Все их можно разделить на две широкие категории: алгоритмы метрического обучения и алгоритмы метаобучения на основе градиента.

метрическое обучение

Когда мы говорим о метрическом обучении, мы обычно имеем в виду метод обучения функции расстояния на цели.

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

Метаобучение на основе градиента

Для методов, основанных на градиенте, необходимо создать мета-обучение и базовое обучение.

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

Представьте себе сегмент метаобучения с некоторыми задачами классификации, определенными обучающим набором изображений N * K и тестовым набором Q:

1. Выберите мета-модель ученика,

2.эпизод (сюжет) начинается,

3. Инициализируйте базовый учащийся (обычно классификатор CNN),

4. обучить его на тренировочном наборе (точный алгоритм, используемый для обучения базового учащегося, определяется мета-обучаемым),

5.Base-leaner предсказывает класс на тестовом наборе,

6. Параметры мета-обучения обучаются в соответствии с потерями, вызванными ошибкой классификации,

7. С этой точки зрения конвейер может варьироваться в зависимости от выбранного мета-обучения.

Алгоритм классификации изображений с несколькими кадрами

В этом разделе мы рассмотрим:

Модельно-независимое метаобучение (MAML)

Соответствующие сети

Прототипы сетей

Сети отношений

Независимое от модели метаобучение

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

Однако мы не хотим начинать с инициализации случайных параметров. Если мы сделаем это, наш алгоритм не достигнет хорошей производительности после нескольких обновлений.

MAML стремится решить эту проблему.

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

Вот как это делается:

1. Мета-обучаемый создает свою собственную копию (C) в начале каждого эпизода (C),

2.C обучается на этом эпизоде ​​(как мы обсуждали ранее, с помощью base-model),

3.C делать прогнозы на тестовом наборе,

4. Потери, вычисленные на основе этих прогнозов, используются для обновления C,

5. Это продолжается до тех пор, пока все эпизоды не будут обучены.

3.png

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

совпадающая сеть

Соответствующая сеть (MN) была первым алгоритмом обучения метрике, разработанным для решения проблемы FSL.

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

1. Каждое изображение из обучающего набора и тестового набора подается в CNN, которая выводит эмбеддинги,

2. Каждое тестовое изображение классифицируется с использованием softmax косинусного расстояния от его вложений до вложений обучающего набора,

3. Перекрестная потеря энтропии для результирующей классификации распространяется обратно через CNN.

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

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

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

Все улучшения можно найти в их исходной статье. Однако увеличение производительности алгоритма может увеличить время вычислений.

прототип сети

Сети-прототипы (PN) аналогичны согласующим сетям. Тем не менее, есть некоторые тонкие различия, которые помогают улучшить производительность алгоритма. PN на самом деле дает лучшие результаты, чем MN.

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

В PN нужно формировать прототипы классов. По сути, это вложения классов, образованные путем усреднения вложений изображений из этого класса. Затем вложения тестовых изображений сравниваются только с этими прототипами классов.

Стоит отметить, что в случае задачи One-Shot Learning алгоритм аналогичен алгоритму Matching Networks.

Кроме того, PN использует евклидово расстояние вместо косинусного расстояния. Это рассматривается как основная часть улучшения алгоритма.

сеть отношений

Все эксперименты по построению сетей сопоставления и прототипирования фактически приводят к созданию реляционных сетей (RN). RN основывается на концепции PN, но со значительными изменениями в алгоритме.

Функция расстояния не задана заранее, а изучается алгоритмом. Для этого в RN есть собственный реляционный модуль.

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

4.jpeg

Малопоказное обнаружение целей

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

Задача обнаружения объектов N-way-K-Shot состоит из обучающего набора: N меток классов для каждого класса, K помеченных изображений, содержащих хотя бы один объект, принадлежащий этому классу, и Q тестовых изображений.

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

YOLOMAML

Область малозаметного обнаружения объектов быстро развивается, но эффективных решений не так много. Наиболее стабильным решением этой проблемы является алгоритм YOLOMAML.

YOLOMAML состоит из двух гибридных частей: архитектуры обнаружения объектов YOLOv3 и алгоритма MAML.

Как упоминалось ранее, MAML можно применять к различным глубоким нейронным сетям, поэтому разработчикам легко объединить две части.

YOLOMAML — это прямое применение алгоритма MAML к детектору YOLO. Для получения дополнительной информации посетите официальный репозиторий Github.

GitHub.com/urban quin/…

Суммировать

В этой статье мы разобрались, что такое Few-Shot Learning, какие существуют варианты FSL и методы решения задач, а также какие алгоритмы можно использовать для решения задач FSL классификации изображений и обнаружения объектов.

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

Оригинальная ссылка:

Нептун.Любовь/блог/под…

Другие статьи

Резюме механизма внимания

Резюме пирамиды функций

Краткое изложение методов увеличения данных

Краткое описание технологии визуализации CNN

Резюме эволюции структуры CNN - классическая модель

Резюме эволюции структуры CNN - облегченная модель

Резюме эволюции структуры CNN - принципы проектирования

Краткое изложение технологии объединения

Сводка по немаксимальному подавлению

Краткое изложение методов чтения английской литературы

Краткое изложение общих идей бумажных инноваций

Эта статья взята из серии технических резюме технического руководства по общедоступному аккаунту CV.

Ответить в паблике "CV Technical Guide"Техническое резюме", чтобы получить краткий PDF-файл всех вышеперечисленных сводных статей серии

QR.png