13.07.2022

Новинки deep learning. Часть 1: PolyLoss, Imagen, Cogview2 и CoCa

server one

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

HOSTKEY
Арендуйте выделенные и виртуальные GPU серверы с профессиональными графическими картами NVIDIA RTX A5000 / A4000 в надежных дата-центрах класса TIER III в Москве и Нидерландах. Принимаем оплату за услуги HOSTKEY в Нидерландах в рублях на счет российской компании. Оплата с помощью банковских карт, в том числе и картой МИР, банковского перевода и электронных денег.

PolyLoss: не focal loss единым

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

Авторы этой статьи вспомнили, что не зря сидели на парах по матанализу (наконец-то он хоть где-то пригодился!), и что функцию, в том числе и функцию потерь в машинном обучении, можно разложить в ряд Тейлора, то есть представить в виде суммы полиномов разных степеней. Для адаптации под конкретную задачу/датасет было предложено сделать коэффициенты при многочленах обучаемыми параметрами, а чтобы этих параметров было не слишком много, оставить в разложении только младшие степени полиномов. Модификации часто используемых кросс-энтропии и focal loss в итоге дали неплохой прирост в задачах классификации, детекции и сегментации, при этом авторы уделили большое внимание коэффициенту при многочлене первой степени (пресказание-истинный лейбл)1: по мере обучения сети эта часть функции потерь играет все большую роль. Поскольку полиномы других степеней стремятся к нулю, в итоговой функции можно учитывать только этот коэффициент.

Исследование показывает, что красота в простоте, а умелое добавление даже одной строчки кода может привести к значительному улучшению результатов (+0.6% на imagenet сопоставимы с переходом от топовых сверточных моделей к моделям, использующим трансформеры).

Рассвет text-to-image: Imagen и Cogview2

Пока все восхищались работами AI-художников и ждали доступов к модели DALL-E 2, в области text-to-image появилось два достойных конкурента, поэтому придется снова ждать доступов или открытых реализаций.

Напомним, что DALL-E 2 активнее, чем первая версия, использует модель CLIP, которая позволяет спроецировать изображения и текст в единое пространство эмбеддингов (в нем можно сравнить похожесть картинки и ее описания). В DALL-E 2 через CLIP по тексту получается текстовый эмбеддинг и через prior-сеть перегоняется в картиночный clip-эмбеддинг. По нему диффузионная модель (представленная в 2021 году GLIDE, позволяющая генерировать изображения по заданному текстом ограничению/условию) получает изображение размером 64x64. Далее два диффузионных апсэмплера (две нейросети) доводят разрешение изображения до 1024x1024. Ничего сложного.

Imagen от Google в сравнении с DALL-E 2 логически выглядит проще: это всего лишь GLIDE, который по текстовому эмбеддингу генерирует семантически соответствующее входному тексту изображение (и опять же два апсэмплера после этого). Ключевое отличие от DALL-E 2 — использование для получения текстового эмбеддинга предобученной модели, обучающейся и работающей только с текстами. Авторы пробовали разные энкодеры, в том числе и CLIP, но лучшие результаты получились при использовании энкодера от T5-XXL (трансформерный энкодер-декодер, решающий задачи обработки текстов на естественном языке). Тренировалось это все на комбинации закрытых и открытых датасетов пар «текст-изображение» (итоговое количество составило 860 миллионов таких пар).

CogView2 использует другой способ объединения мультимодальных данных (текст+изображение) и их использования для предварительного обучения вспомогательной сети. Основой выступает модель CogLM, на вход которой поступает преобразованный к токенам текст, а также фиксированное количество токенов изображения, полученных из VQVAE — модели, способной преобразовывать изображение к набору слов из обучаемого словаря и восстанавливать изображение по этому набору слов-токенов.

Преобразованные к токенам текст и изображения подаются в трансформер, который учится решать разные задачи в зависимости от того, какую часть информации мы от него скрываем: если маскируем токены изображения, получаем text-to-image, а если частично маскируем токены изображений и токены текста, получаем одновременное решение задач inpainting (восстановления закрашенной части изображения) и image captioning (получения описания изображения). Далее идет стандартный для таких задач superresolution-блок, увеличивающий разрешение изображения.

Обучали это все разработчики на собственном датасете, составленном из уже известных (таких как Conceptual Captions) и содержащем пары «изображение-описание» и изображение из интернета (30 млн. обучающих пар).

Создатели imagen и авторы CogView2 пишут о результатах, сравнимых с DALL-E 2 или даже лучших по качеству и соответствию текстовым описаниям (при дообучении CogVIew2 и тестировании на COCO и даже вариант zero-shot без дообучения в случае с imagen). Нет ничего удивительного и в том, что, согласно попарному сравнению на собственном бенчмарке DrawBench (генерация картинок по сложным запросам), лучшим оказался именно imagen, к тому же эта модель использует куда более тяжелый чем CLIP текстовый энкодер. Ниже можно ознакомиться со сравнительными результатами генерации на сложных запросах (к сожалению, CogView2 не сравнивался в Drawbench, поэтому о возможностях этой модели остается только догадываться на основе доступных примеров).

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

CoCa — очередная SOTA на Imagenet или что-то большее?

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

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

Примером такого подхода является CLIP, обучающийся c использованием идеи contrastive learning со следующим ограничением: расстояние между заданной парой «изображение-текст» должно быть минимальным между всеми возможными такими парами в датасете. Метод расширяет возможности первого подхода, но все равно ограничен и не в состоянии обеспечить решение связанных с одновременным восприятием текстовой и зрительной информации задач. Наконец, подход encoder-decoder позволяет более гибко объединить мультимодальную информацию: так, в simvlm и flamingo трансформер принимает на вход одновременно токены текста и изображения и декодирует их в текст для решения задач image captioning и vqa.

Авторы статьи объединили два последних подхода. Текстовый трансформер-декодер разделен на две части: первая обучается по принципу contrastive learning так, чтобы cls-токен (который отвечает за представление всего предложения, подаваемого на вход) на ее выходе максимально соответствовал изображению из пары в датасете, а вторая учится получать captioning/описание изображения, «подглядывая» при помощи механизма кросс-внимания в визуальный энкодер.

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

Таким образом, еще в 2018 – 2019 годах специально обучаемые на датасете Imagenet модели получали на этом же датасете точность порядка 86% (85 и 87 соответственно для ResNeXt 32x48d и EfficientNet), а сейчас мы имеем модель, которая в режиме zero-shot (то есть без обучения на этом датасете) дает 86,3%, что не может не впечатлять. Метод наглядно показывает, как устранить разрыв между разными подходами к предварительному обучению моделей, и может стать подспорьем к дальнейшим исследованиям в области мультимодальных данных.

***

Во второй части статьи читайте новости из области создания и детекции дипфейков, а также преобразования текста в речь.

Арендуйте выделенные и виртуальные GPU серверы с профессиональными графическими картами NVIDIA RTX A5000 / A4000 в надежных дата-центрах класса TIER III в Москве и Нидерландах. Принимаем оплату за услуги HOSTKEY в Нидерландах в рублях на счет российской компании. Оплата с помощью банковских карт, в том числе и картой МИР, банковского перевода и электронных денег.

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

30.11.2022

WindowsPE Live-CD в инфраструктуре Jenkins/Foreman

Устройство сборки WindowsPE-дистрибутива в Linux-инфраструктуре, автоматизация этого процесса с помощью Jenkins и разворачивание систем на базе MS Windows через этот хэлпер.

29.11.2022

Архитектура мониторинга Windows-инфраструктуры компании Hostkey

Как настроить мониторинг основных параметров серверов, которые работают на ОС Windows Server

29.11.2022

Использование брокера сообщений RabbitMQ для мониторинга с Prometheus и Grafana

Как организовать мониторинг и сбор метрик кластера RabbitMQ, а также проверять количество непрочитанных сообщений

11.11.2022

Как игнорировать tmpfs, udf, iso9660 при работе с метриками файловой системы

Как избежать проблем при развертывании операционных систем через Foreman при работе с ОС Windows.

31.10.2022

Мониторинг служб Linux c помощью Prometheus

Мониторинг отдельных служб и реализация системы предупреждений на серверах Linux с помощью Prometheus.

HOSTKEY Выделенные серверы в Европе, России и США Готовые выделенные серверы и серверы индивидуальных конфигураций на базе процессоров AMD, Intel, карт GPU, Бесплатной защитой от DDoS -атак и безлимитный соединением на скорости 1 Гбит/с 30
4.3 48 48
Upload