【VCED】Модель клипа

КЛИП модель

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

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

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

Принцип введения

Предварительное введение

Давайте начнем с простой модели CV VGG, Модель VGG объединяет несколько блоков, чтобы достичь результата современного состояния распознавания лиц в то время.

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

То есть слои нейронной сети, расположенные ближе к выходу, более релевантны задаче. Третья парадигма (предварительное обучение + тонкая настройка) в области НЛП принимает эту идею. После того, как языковая модель предварительно обучена на крупномасштабном корпусе, она обладает мощной способностью семантического представления. Подключение PLM к уровню нейронной сети, связанному с последующими задачами для тонкой настройки, может добиться лучших результатов в последующих задачах.

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

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

Задача предварительного обучения модели BERT состоит в основном в том, чтобы имитировать задачу закрытия человека.В соответствии с этим методом предварительного обучения модель должна одновременно обращать внимание на информацию между контекстами, чтобы получить токен текущего расположение. Другая сильная модель NLP, GPT, обучается с использованием метода авторегрессии, то есть модель может вывести токен в текущем местоположении только через поле перед текущим местоположением. После этого модель UniLM объединяет два механизма матрицы внимания для обучения. Encoder-Decoder — это структура, обычно используемая в области НЛП, но это содержание имеет мало общего с мультимодальной частью, поэтому я не буду повторяться здесь. Но можно сослаться на то, что если мы можем отображать информацию об изображении и семантическую информацию (или другую модальную информацию) в одно и то же пространство, а затем выполнять совместное оптимизационное обучение, то в некоторой степени модель можно использовать в различных соединениях создания. между модальными.

Введение в принцип зажима

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

На этапе предобучения источником данных модели являются 400 миллионов пар (изображение, текст), собранных из Интернета. Предполагая, что в пакете есть N пар (изображение, текст), мы можем получить N текстовых векторов, обозначаемых как: t1, t2, ..., tn, и N векторов изображений, обозначаемых как img1, img2,... , имгн. Что нам нужно сделать, так это сделать семантическое расстояние между t(i) и img(i) как можно более близким, в то время как расстояние между t(i) и другими изображениями как можно меньше. Если мы представим его как матрицу, где горизонтальная ось — это текст, а вертикальная ось — это изображения, а метки текста и изображений расположены по порядку, то мы можем получить квадратную матрицу N * N, в которой каждая позиция элемент (i, j) представляет собой семантическое сходство между t(i) и img(j), и сходство может быть получено с помощью косинуса или скалярного произведения. Наша цель оптимизации — сделать значения элементов на диагонали как можно большими, а значения остальных — как можно меньше.

На этапе нулевого выстрела мы можем создать шаблон подсказки в соответствии с семантикой контекста и сопоставить набор меток с шаблоном, чтобы получить текстовый шаблон подсказки. Например, теперь нам нужно выполнить три задачи классификации (слон, холодильник, муравей), шаблон подсказки — «это фото о {категории}», а коллекцию можно получить после сопоставления метки классификации с шаблоном подсказки: { "Вот изображение слона" "Вот изображение холодильника" "Вот изображение муравьев"}. Для текста в коллекции после прохождения текстового кодировщика клипа можно получить векторы признаков текста, соответствующие трем категориям, после чего для каждой картинки, которую нужно классифицировать, нужно только сравнить вектор признаков изображения с тремя категориями Семантическое расстояние между векторами признаков текста и выбор метки, соответствующей ближайшему тексту, в качестве результата классификации изображения.
Подробности см. в статье « Изучение переносимых визуальных моделей на основе наблюдения за естественным языком ».

Знакомство с другими мультимодальными моделями

Из-за нехватки места здесь представлена ​​только популярная диффузионная модель (diffusion model).

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

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

Думая об этом вопросе в обратном порядке, можем ли мы запустить исходный шаблон из конечного состояния «образец и кофе смешаны вместе»? Мы можем рассматривать процесс диффузии латте как процесс «добавления шума», а процесс обратного восстановления — как процесс «удаления шума». определенного паттерна, то мы можем «постепенно» восстановить исходный паттерн в процессе «шумоподавления». Это очень простое и интуитивно понятное понимание диффузионной модели.Подробности см. в соответствующих сериях статей.

Как Clip выполняет предварительную тренировку:

Ввод: Соединение изображения + текста.

Введите кодировщик для создания функций

Сравнительное обучение по функциям

Получите положительные и отрицательные образцы в матрице признаков

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

Шаблон подсказки

Позже в статье Clip были предложены два метода: быстрое проектирование и быстрый ансамбль, чтобы повысить точность модели.

Механизм идентификации изображений заключается в использовании изображений для кодировщика изображений, а затем в сопоставлении корреляции с 1000 классификаторами ImageNet и выборе наиболее релевантных слов для завершения классификации.

Интересные применения клипа:

Создание графа
Сегментация и обнаружение объектов
Поиск видео (можно выполнять распознавание текста)
. . .

Благодаря хорошей миграции можно избавиться от ограничений базового класса

Название статьи: Использование контролируемых сигналов естественного языка для обучения переносимых сетей зрительного восприятия

12 авторов все из OpenAI

Хорошие результаты могут быть достигнуты без специфичных для предметной области данных (или небольшого количества данных)

Для обучения можно использовать крупномасштабные немаркированные данные.

CONVIRT очень похож на CLIP, но только на медицинских изображениях.

Предыдущие методы не имели такого большого набора данных, не имели такой большой вычислительной мощности, не имели такой большой модели и не имели такого хорошего метода обучения с самоконтролем, поэтому эффект от всех был нехороший ( особенно нулевой выстрел)

Махаджан и др. (2018) собрали изображения + теги Ins в качестве набора данных. 【Вдохновлено CLIP】

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

год акселератора: год акселератора, логика расчета для измерения вычислительной мощности, которая удобна для сравнения объема обучения.

В статье CLIP расширены методы обучения представлению изображений с помощью НЛП (Mahajan et al. (2018), CONVIRT и др.)!

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

Как CLIP предварительно обучается:

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

Прокладывает путь к мультимодальному обучению.

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

Вам больше не нужно размечать эти данные (этот процесс очень сложен), теперь вам нужно только скачать картинку и сопоставление текста из Интернета, и вам больше ничего не нужно делать, масштаб данных может легко стать больше. Более того, поскольку управляющий сигнал является текстовым, степень свободы ввода и вывода модели будет намного больше, чем у N-выбранной 1 метки.
Поскольку изображения и текст связаны друг с другом во время обучения, то, что изучается, представляет собой мультимодальную функцию, а не только визуальную функцию. После того, как вы связались с языком, легко провести обучение с нулевым выстрелом. Но если вы выполняете только одномодальное обучение с самоконтролем, вы можете изучать только визуальные функции, но не можете быть связаны с естественным языком, поэтому по-прежнему сложно выполнить передачу с нулевым выстрелом.

Поскольку большого набора данных, соответствующего требованиям OpenAI, не существует, я решил сделать его самостоятельно.Этот новый большой набор данных не только приносит CLIP, но и DallE.

Имя набора данных 400 миллионов: WIT (WebImageText)

В связи с большим объемом тренировок очень важна эффективность обучения.

Превратите тренировочное задание в задание на сравнение, и эффективность обучения увеличится в 4 раза.

Как обучать очень большие модели на многих графических процессорах

Зачем делать Zero-shot Transfer, тренируйте большую и хорошую модель, которую вы больше не можете тренировать или больше не настраивать.

Быстрый инжиниринг

Почему:

Неоднозначность предварительной
подготовки подсказки — это, в основном, предложение, редко слово, но если при выводе вводятся только слова, извлеченные функции могут оказаться неудовлетворительными. Решение CLIP
: Шаблон подсказки: «Фотография {этикетки}»

После использования этого шаблона точность увеличилась на 1,3%

Если вы знаете какую-то информацию заранее, это очень полезно для рассуждений с нулевым выстрелом, например: для тренировочного набора еды «тип еды»

Я использовал 80 шаблонов подсказок и, наконец, собрал,

Линейный зонд, заморозьте объект, извлеките признаки и только точно настройте головку классификации.

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

тонкая настройка тонкая настройка

Сравнение CLIP и людей

37 типов наборов данных о собаках, люди до сих пор не могут победить CLIP

Данные 37 видов собак вытаскиваются отдельно

Можно обнаружить, что если люди находят это простым, CLIP работает хорошо. Людям это трудно, так же как и CLIP

CLIP сильный, но не настолько сильный. Если вы хотите добиться эффекта алгоритма головы на ImageNet, вам нужно расширить объем обучения в 1000 раз, что не поддерживается OpenAI.

Zero-shot не работает с некоторыми наборами данных

Не подходит для абстрактных и сложных задач

Эффект CLIP по-прежнему зависит от набора изображений из 400 миллионов. MNIST — это небольшой набор данных, предложенный несколько десятилетий назад. Производительность CLIP очень низкая, поскольку обучающие данные не содержат изображений MNIST.

Ограничение седьмое: 400 миллионов изображений и текстов, которые были вылезли, не были очищены и отфильтрованы, что приводит к социальной предвзятости в модели CLIP.

Исследовательская мотивация Clip заключается в том, что в области NLP крупномасштабные данные используются для предварительной подготовки моделей и используются методы обучения, не связанные с последующими задачами (например, cloze). , НЛП добилось революционного успеха, такого как GPT-3.

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

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

おすすめ

転載: blog.csdn.net/liluo_2951121599/article/details/127931563