Во-первых, мы должны прояснить на высоком уровне разницу между обучением с нулевым выстрелом и глубоким обучением, поскольку я видел слишком много путаницы в отношении этих двух:
Обучение с нулевым выстрелом — это знания о помеченных экземплярах, полученные во время обучения. С другой стороны, глубокое обучение — это знания о немаркированных обучающих экземплярах, полученные на этапе оценки.
После этих двух вниз, четыре, чтобы перейти к более подробному: давайте раскроем дальше — на этот раз обучение с нулевым выстрелом, глубокое обучение, обучение без учителя и обучение с учителем (все зависит от контекста в отношении определения, касающиеся обучения с нулевым выстрелом):
Обучение с нулевым выстрелом объединяет наблюдаемые и ненаблюдаемые категории в общее пространство, где их можно наблюдать и помечать вместе. Реализация категоризации осуществляется путем изучения совместного пространства встраивания, в котором могут быть спроецированы как видимые, так и ненаблюдаемые категории.
Модели глубокого обучения полагаются на предварительно обученные глубокие сети для выполнения задач классификации. Эти сети изучаются с использованием структуры обучения с нулевым выстрелом, где каждый классификатор обучается по признаку изображения (используйте изображение в качестве аналогичного примера) категории, которая отсутствует в обучающих примерах. Эта структура обучения с нулевым выстрелом является мощной, но широко не используется. Вместо этого мы будем использовать знания, уже полученные глубокой сетью в ее предварительно обученном состоянии, для выполнения задачи классификации.
Обучение без учителя — это знания о непомеченной категории, полученные путем выполнения классификации на образцах помеченной категории, отличных от учебных экземпляров. В процессе классификации используются знания, уже полученные глубокой сетью в ее предварительно обученном состоянии.
При обучении с учителем характеристики изображений собираются, и классификатор обучается предсказывать их с учетом наблюдаемой категории.
Нулевой шанс изучить современные объяснения
1. Он обнаруживает объект или набор объектов на изображениях (по-прежнему аналогично примеру с изображениями), даже не видя их и не видя ни одного из их атрибутов (это называется обучением с нулевым выстрелом). Напротив, распознавание объектов — это проблема с нулевым выстрелом, и данные должны быть помечены новым способом каждый раз, когда просматривается изображение объекта. Здесь вступает в действие обучение с учителем. Вместо обучения сети с помощью помеченных экземпляров категорий объектов контролируемый ученик наблюдает за миром и записывает имена и изображения объектов, увиденных на изображениях, на пленке и другими методами. Комбинируя два метода обучения, мы можем обучать модели обучения с нулевым выстрелом на изображениях и, таким образом, получать преимущество перед другими конвейерами обучения с нулевым выстрелом, у которых нет данных или опыта (развернутые команды) для выполнения обучения с нулевым выстрелом на изображениях.
2. Это парадигма обучения с нулевым выстрелом, когда помеченные экземпляры не обучены выполнять помеченную задачу. Вместо этого задача изучается через совместное пространство встраивания, где обучающие и тестовые наборы могут быть спроецированы для поиска ближайшего соседа.
3. Это парадигма обучения с нулевым выстрелом, в которой количество помеченных экземпляров поддерживается как можно меньшим. Кроме того, мы можем обучить глубокую сеть на небольшом количестве помеченных выборок, что поможет ей более эффективно обучаться поиску ближайшего соседа. Тем не менее, с другой стороны, это также означает, что количество обучающих экземпляров поддерживается как можно меньшим, что не очень полезно при большом количестве выборок. Таким образом, можно решить, что количество помеченных образцов должно быть как можно меньше.
4. Нейронные сети являются основными строительными блоками любого нулевого учебного проекта. Они состоят из набора помеченных экземпляров и алгоритма обучения, который изучает совместное пространство встраивания, в которое могут быть спроецированы как отмеченные, так и ненаблюдаемые образцы категорий.
Наиболее распространенная форма обучения с нулевым выстрелом включает обучение классификатора с нулевым выстрелом на новой категории выборок данных, т. Е. Наборы для обучения и тестирования не пересекаются. Например, новая категория объекта идентифицируется каждый раз, когда получается уникальная коллекция изображений этой категории. В нулевом обучении это называется нулевым обучением. Однако на практике в большинстве нулевых проектов обучения в качестве обучающих экземпляров используются глубокие сети с предварительно обученными вложениями слов. Преимущество использования предварительно обученных вложений слов в качестве учебных экземпляров заключается в том, что они уже рассматриваются как классы во время обучения. Поэтому их не нужно переучивать на новую категорию.
Однако предварительно обученное встраивание слов не рассматривается как категория во время тестирования. Это просто ярлык для класса, который не наблюдался во время обучения. Таким образом, он не так точен, как соответствующая ненаблюдаемая категория. С другой стороны, при использовании глубоких сетей с предварительно обученными встраиваниями слов в качестве обучающих экземпляров точность обучения с нулевым выстрелом значительно повышается.
Постоянные проблемы в обучении с нуля
1. Основным недостатком обучения с нулевым импульсом является то, что для обучения и оценки моделей обучения с нулевым импульсом на выборках, которые еще не находятся в состоянии обучения, требуется очень много вычислительных ресурсов (если вообще возможно).
2. Необходимо изучить совместное пространство вложений, в котором могут быть спроецированы представления семантических атрибутов и представления семантического векторного пространства слов. Например, если необходимо изучить подпись к изображению для представления новой категории объекта, нам потребуется обучить модель подписи к изображению для новой категории объекта, а затем сравнить эту модель со знаниями, уже полученными семантической моделью. С другой стороны, предположим, что новая категория больше не присутствует в обучающих данных. В этом случае можно сделать выводы о том, что модели подписи к изображению необходимо изучить представление нового семантического атрибута для этой категории.
3. В машинном обучении вложения слов, извлеченные из текстовых описаний, обычно обучаются по отношению к категории объекта. Это называется семантическим встраиванием. В нулевом обучении нас интересует получение соответствующего семантического вложения для категории объектов, отличной от той, которая была обучена для этой категории. Опять же, вернемся к тому времени и обширным ресурсам, которые требовались для создания фундаментального пайплайна для загрузки информации.
4. Трудно делать прогнозы в наборе данных, не видя его на практике. Например, если я обучаю модель, которая предсказывает категорию данного объекта, но никогда не видел это животное, могу ли я все же предсказать эту категорию? Да, если у меня есть тренировочные данные для этого класса, у меня также есть тренировочные данные для других категорий. Итак, в следующий раз, когда я увижу изображение кролика, я могу предсказать, что это кролик. Однако я не могу сделать такой же прогноз, если у меня нет обучающих данных для этой категории. Итак, как мы можем решить эту проблему? Давайте рассмотрим простой пример распознавания категории объекта, даже если он никогда раньше не видел этот тип объекта. Предположим, я хочу идентифицировать животное, но у меня нет фотографий животного, которое я хочу идентифицировать. Могу ли я все-таки узнать животное с помощью какого-то текстового описания? Да, если у меня есть некоторые знания о животных, которых обычно можно увидеть в данной категории. Могу ли я идентифицировать животное, если я никогда раньше его не видел? Нет, потому что у меня недостаточно знаний о категории, чтобы правильно определить ее без обучающих данных по этому типу животных. Можем ли мы решить эту проблему с помощью глубоких сетей? Да мы можем.
Обучение с нуля — это мощно
Как мы можем научиться различать два похожих объекта, не видя их в дикой природе? На самом деле, мы можем сделать это всего с несколькими сотнями помеченных экземпляров на класс! С несколькими сотнями помеченных экземпляров на класс все еще возможно научиться идентифицировать объекты, которых не было в обучающих экземплярах.
Как встроить обучение в нулевой классификатор всего с несколькими сотнями помеченных экземпляров на класс?
Например, в случае изучения нулевого классификатора всего со 100 помеченными экземплярами на класс. Предположим, мы хотим определить категорию объекта на фотографиях, но у нас недостаточно обучающих данных для каждого класса, чтобы обучить нулевой классификатор для этой категории. Можем ли мы по-прежнему идентифицировать категорию всего по 100 помеченным экземплярам? Вероятно, нет, так как у нас нет соответствующих помеченных экземпляров. С другой стороны, если у нас есть большое количество помеченных экземпляров для данного класса, мы можем обучить нулевой классификатор для этого класса, даже если у нас нет соответствующих помеченных экземпляров.
Вот путь к решению этой проблемы на основе векторов слов. Допустим, мы хотим определить категорию объекта на фотографиях, но у нас недостаточно обучающих данных для каждого класса, чтобы обучить нулевой классификатор для этой категории. Можем ли мы по-прежнему идентифицировать категорию только с помощью слов-векторов? Возможно, но так как у нас нет соответствующих помеченных экземпляров. С другой стороны, если у нас есть большое количество помеченных экземпляров для данной категории, мы можем обучить нулевой классификатор для этой категории, даже если у нас нет соответствующих помеченных экземпляров.
В чем преимущество использования глубоких сетей вместо изучения бинарного классификатора «один против остатка» во время обучения? В глубоких сетях мы можем использовать тот факт, что большинство категорий объектов состоят из нескольких подкатегорий. Каждая категория имеет свое собственное соответствующее пространство для встраивания. Это означает, что мы можем обучить нулевой классификатор для категории A, внедрив соответствующее изображение категории в пространство встраивания изображения категории. Затем с помощью знаний из обучающих примеров мы можем определить категорию из данных, у которой есть ближайший сосед в пространстве встраивания изображения категории слева от встраивания изображения категории. Таким образом, мы можем предсказать категорию по данным без такого ближайшего соседа.
Ключом к достижению нулевой классификации с глубокими сетями является использование функции-разделителя между помеченными категориями и соответствующими пространствами встраивания.
В нулевом обучении функция разделения представляет собой двухэтапный процесс, включающий обучение и вывод. Обучение - это полученные знания о размеченном наборе образцов; вывод состоит в том, что ранее приобретенные знания расширяются, а результирующая категория помечается. Мы будем использовать пространство для встраивания слов в качестве примера возможной разделительной функции. Кроме того, мы также будем использовать пространство признаков в качестве примера возможной функции-разделителя.
Чтобы служить примером, вот как мы можем решить проблему классификации с нулевым выстрелом, используя пространство для встраивания слов в качестве функции-разделителя. Как определить категорию объекта на изображениях, если в пространстве признаков нет соответствующего изображения категории? Мы можем использовать слово «пространство встраивания» в качестве заполнителя для этой категории объектов и обучить нулевой классификатор для этой категории объектов, используя пространство признаков в качестве обучающего экземпляра. Затем мы можем сравнить полученные помеченные экземпляры с изображениями соответствующих категорий в тестовом наборе и оценить соответствие между двумя категориями, используя встраивание метки в качестве положительного или отрицательного флага. Обычно мы хотим использовать методы обучения с нулевым выстрелом, когда мы не уверены в идентичности объекта, который мы учимся обнаруживать. Например, когда мы хотим определить категорию объекта на изображениях, которые никогда раньше не видели, мы можем использовать глубокие сети, чтобы узнать сопоставление встраивания атрибутов между категориями и к какой категории принадлежит изображение. Затем мы можем использовать это сопоставление для классификации экземпляров по различным категориям.
Мы также можем использовать методы обучения с нулевым выстрелом для решения проблемы классификации, когда у нас нет доступа к соответствующим категориям во время обучения. Например, мы могли никогда не видеть кошку на изображении 1, но мы видели кошек в других категориях 1 и 2 и так далее. Точно так же мы, возможно, никогда не видели кошек из категории 1, но видели лошадей, зебр и ящериц. Мы можем классифицировать эти объекты, используя отображение встраивания атрибутов между этими тремя категориями. Наконец, мы можем классифицировать оставшиеся категории как не имеющие соответствующего отображения. Таким образом, мы не знаем, к какой категории (категориям) относятся эти объекты. Таким образом, мы можем использовать методы обучения с нулевым выстрелом, чтобы идентифицировать эти категории в тестовом наборе, даже не увидев кошку, лошадь или зебру в этих категориях.
Как выбрать нулевой метод обучения
Первое, что вы должны понять, это какой тип метода обучения с нулевым выстрелом выбрать:
1. Обучение с нулевым выстрелом на основе экземпляров: подход здесь заключается в том, чтобы сосредоточиться на классификации входных изображений по мере необходимости в новых классах. В качестве примера представьте, что вы распознаете изображения панд как панд или орлов как орлов. Вы можете научиться классифицировать изображения ястребов как ястребов, но у вас нет данных или опыта, чтобы сделать то же самое с орлами. Поэтому вам придется полагаться на уже полученные знания о птицах, анализируя предыдущие визуальные образцы птиц, которых вы видели. Вместо того, чтобы полагаться на знания, уже известные обучающим экземплярам, эти методы подчеркивают необходимость того, чтобы обучающие экземпляры имели соответствующие знания, полученные обученной моделью на этапе ее оценки. Таким образом, классы, выявленные во время обучения, заменяются помеченными случаями, соответствующими новой категории (категориям). Одним из существенных преимуществ этого типа метода обучения с нулевым выстрелом по сравнению с другими является то, что вам не нужно переносить знания, уже полученные в обучающих примерах, на фазу тестирования. Поскольку вы уже выполнили необходимые разделения в наборе случаев для обучения и тестирования, этап тестирования — это просто вопрос правильного получения и использования помеченных экземпляров.
2. Синтезирующая выборка: в качестве примера возьмем контекст исследовательских проектов. Методы синтеза основаны на наблюдении, что большая часть времени и усилий, затрачиваемых на любой исследовательский проект, отводится на разработку новых идей, и мало или даже совсем не выделяется время или ресурсы на операции тестирования и проверки. Таким образом, значительная часть прогресса, достигнутого в любой исследовательской области, связана с работой нескольких преданных своему делу людей, которые не знают о какой-либо предшествующей работе. Например, представьте, что в свободное время вы разрабатываете новый метод открытия лекарств. Единственный способ проверить точность открытия — провести клиническое испытание фазы I/II с использованием ранее существовавшего протокола открытия лекарств. Имея в своем распоряжении несколько других ресурсов, у вас остается минимальная возможность узнать что-то новое. Поэтому вы разрабатываете новый механизм для объединения двух или более разрозненных типов данных (например, изображений и текста) таким образом, чтобы прогнозировать результаты будущих тестовых экземпляров.
В другом примере вы можете объединить визуальные аннотации с текстовыми описаниями, чтобы охарактеризовать новый идентифицированный вид животных. Поскольку новый вид ранее не был известен науке, вы предполагаете, что это новый класс животных, и проводите первое клиническое испытание, чтобы продемонстрировать это. Впоследствии вы вводите новую особенность невидимых видов, которой нет в текстовых описаниях, и которая может объяснить ее обнаружение в новой категории. Вы также проводите второе клиническое испытание, чтобы протестировать эту новую функцию в сочетании с текстовым описанием нового типа. После чего при сравнении двух классов образцов можно использовать знания, уже полученные в первых двух испытаниях, для предсказания исхода третьего испытания. В результате вы только что ввели в научную литературу новую категорию объекта, которой раньше не было. Вы можете использовать эти знания для дальнейшей идентификации, классификации и дальнейшей классификации других классов объектов, которые не были замечены ранее. Цель состоит в том, чтобы построить каталог новых категорий с самыми высокими прогнозируемыми межклассовыми и внутриклассовыми корреляциями между классами. Следовательно, идея метода Synthesizing состоит в том, чтобы объединить визуальные, текстовые и невербальные элементы в составной файл изображения, который затем можно передать в среду обучения CNN, где каждое имя класса будет изучено как отдельное пространство для встраивания. Сеть научится идентифицировать все классы, которых нет в файле составного изображения, но которые встречаются в текстовых описаниях и изображениях.
На это можно ссылаться для всестороннего введения с эмпирическими исследованиями: https://arxiv.org/pdf/1707.00600.pdf