Одноразовое обучение с сиамской сетью [для распознавания лиц]
Опубликовано: 2021-02-08В следующей статье рассказывается о необходимости использования одноразового обучения, а также о его вариациях и недостатках.
Начнем с того, что для обучения любой модели глубокого обучения нам нужен большой объем данных, чтобы наша модель эффективно выполняла желаемую задачу прогнозирования или классификации. Например, для обнаружения собаки на изображениях вам потребуется обучить модель нейронной сети на сотнях и тысячах изображений собак и других животных, чтобы она точно отличала одно от другого. Однако эта модель нейронной сети не будет работать, если она будет обучена на одном или очень небольшом числе обучающих данных.
При недостатке данных извлечение соответствующих признаков на разных уровнях становится затруднительным. Модель не сможет хорошо обобщать разные классы, что повлияет на ее общую производительность.
Для иллюстрации рассмотрим пример распознавания лиц в аэропорту. При этом у нас нет свободы обучать нашу модель сотням и тысячам изображений каждого человека, содержащих разные выражения, фоновое освещение и т. д. С более чем тысячами пассажиров, прибывающих ежедневно, это невыполнимая задача! Кроме того, хранение такого огромного куска данных увеличивает стоимость.
Чтобы решить вышеупомянутую проблему, мы используем метод, в котором задачи классификации или категоризации могут быть выполнены с одним или несколькими примерами для классификации многих новых примеров. Этот метод называется однократным обучением.
В последние годы технология One-shot Learning широко используется для распознавания лиц и проверки паспортов. Используемая концепция: Модель принимает на вход 2 изображения; одно — изображение из паспорта, а другое — изображение человека, смотрящего в камеру. Затем модель выводит значение, которое представляет собой сходство между двумя изображениями. Если значение вывода низкое, то два изображения похожи, иначе они разные.
Оглавление
Сиамская сеть
Архитектура, используемая для однократного обучения, называется сиамской сетью. Эта архитектура состоит из двух параллельных нейронных сетей, каждая из которых принимает разные входные данные. Выход модели представляет собой значение или индекс подобия, который указывает, одинаковы ли два входных изображения или нет. Значение ниже предварительно определенного порога соответствует высокому сходству между двумя изображениями и наоборот.
Когда изображения проходят серию сверточных слоев, слоев с максимальным объединением и полностью связанных слоев, мы получаем вектор, который кодирует особенности изображений. Здесь, поскольку мы вводим два изображения, будут сгенерированы два вектора, охватывающих особенности входных изображений. Значение, о котором мы говорили, — это расстояние между двумя векторами признаков, которое можно рассчитать, найдя норму разницы между двумя векторами.
Триплетная функция потерь
Как следует из названия, для обучения модели нам требуется три изображения: одно якорное (A), одно положительное (P) и одно отрицательное (N) изображение. Поскольку модели могут быть предоставлены два входа, дается изображение привязки либо с положительным, либо с отрицательным изображением. Модель изучает параметр таким образом, что расстояние между опорным изображением и позитивным изображением мало, а расстояние между опорным изображением и негативным изображением велико.
Функция конструктивных потерь наказывает модель, если расстояние между A и N мало или между A и P велико, и поощряет модель или изучает особенности, когда расстояние между A и N велико, а расстояние между A и P мало.
Чтобы лучше понять якорь, положительные и отрицательные образы, давайте рассмотрим предыдущий пример в аэропорту. В таком случае якорным изображением будет ваше изображение, когда вы смотрите в камеру, положительным изображением будет изображение на вашей фотографии в паспорте, а отрицательным изображением будет случайное изображение пассажира, присутствующего в аэропорту.
Всякий раз, когда мы обучаем сеть Siaseme, мы предоставляем ей трио изображений APN (привязка, положительное и отрицательное). Создать этот набор данных намного проще, и для обучения потребуется меньше изображений.
Ограничения одноразового обучения
Однократное обучение по-прежнему является зрелым алгоритмом машинного обучения и имеет некоторые ограничения. Например, модель не будет работать, если входное изображение имеет некоторые модификации — человек в шляпе, солнцезащитных очках и т. д. Кроме того, модель, обученная для одного приложения, не может быть обобщена для другого приложения.
Двигаясь дальше, давайте рассмотрим несколько вариантов однократного обучения, которые влекут за собой нулевое обучение и малое обучение.
Обучение с нулевым выстрелом
Обучение с нулевым выстрелом — это способность модели идентифицировать новые или невидимые помеченные данные, обучаясь на видимых данных и зная семантические особенности новых или невидимых данных. Например, ребенок, увидевший кошку, может узнать ее по отличительным чертам. Более того, если ребенок осознает, что собака лает и обладает более твердыми характеристиками, чем кошка, то у ребенка не возникнет проблем с узнаванием собаки.
В заключение мы можем сказать, что распознавание ZSL функционирует таким образом, что учитывает помеченный обучающий набор видимых классов в сочетании со знанием того, как каждый невидимый класс семантически связан с видимыми классами.
N-кратное обучение
Как следует из названия, при обучении N выстрелов у нас будет n помеченных данных каждого класса, доступных для обучения. Модель обучается на K классах, каждый из которых содержит n размеченных данных. После извлечения соответствующих функций и шаблонов модель должна отнести новое немаркированное изображение к одному из классов K. Они используют сети сопоставления, которые работают на основе подхода ближайших соседей, полностью обученного от начала до конца.
Заключение
В заключение следует отметить, что область однократного обучения и его аналоги обладают огромным потенциалом для решения некоторых сложных проблем. Хотя это относительно новая область исследований, она быстро развивается, и исследователи работают над преодолением разрыва между машинами и людьми.
На этом мы подошли к концу этого поста, надеюсь, вам было интересно его читать.
Если вам интересно узнать больше о машинном обучении, ознакомьтесь с дипломом PG IIIT-B и upGrad в области машинного обучения и искусственного интеллекта, который предназначен для работающих профессионалов и предлагает более 450 часов тщательного обучения, более 30 тематических исследований и заданий, IIIT- Статус B Alumni, 5+ практических проектов и помощь в трудоустройстве в ведущих фирмах.
Изучите курс машинного обучения в лучших университетах мира. Заработайте программы Masters, Executive PGP или Advanced Certificate Programs, чтобы ускорить свою карьеру.