Всем привет! Я Таня @tany_savelieva, делаю стартап SupportAI, благотворительный фонд MIPTHEALTH, инвестирую и увлекаюсь web3. Пишу про технологии, работу и то, что меня вдохновляет
LXMERT: Learning Cross-Modality Encoder Representations from Transformers 🖋В чем суть Мы живет в мире, содержащим разные типы информации, и чтобы адекватно работать с одним из них, например, текстовым, хорошо обладать знанием о другом, например, визуальном. Также многие задачи требую визуального и семантического восприятия одновременно - ответ на вопрос к изображению или видео. В статье авторы получили предобученную на кросс-информации модель на основе BERT, которая бьет SOTA по задаче генерации ответа на вопрос к изображению. 🥕Подробности Допустим у нас есть картинка, на которой кошка кушает морковку. Мы задаем вопрос к картинке : "Что кушает кошка?" Предложение идет в языковой энкодер, картинка идет в визуальный энкодер, затем полученные вектора идут в кросс-энкодер, получается финальное кросс представление пары картинка-предложение. Далее этот вектор можно декодировать обратно в текст (если это ответ на вопрос текстовый, например "морковка"), в 0 или 1, если вопрос допускает ответ "да-нет" ☁️Предобучение 🗒Языковой энкодер Это архитектура на основе BERT, которая обучается на "маскировочный" лосс. Мы с вероятностью 15% закрываем слово в тексте вопроса и пытаемся его предсказать из остальной текстовой последовательности + информации из вектора изображения. Информация из вектора изображения очень нам помогает, потому что, например, в предложении "Кошка ест морковку", если закрыть слово "морковка", по контексту сложно угадать, что кошка ест именно морковку, а если дать визуальную информацию, задача становится реальной 👓Визуальный энкодер В визульальном энкодере используется похожая схема - часть изображения закрывается, и мы предсказываем класс закрытого обьекта и делаем регрессию на признаки закрытого обьекта 😎Кросс-энкодер В кросс-энкодере, первые аттеншн слои которого обрабатывают вектора изображения и текста, а последующие делают self-аттеншн на полученный вектор. Кросс-энкодер предобучается на две задачи: по паре вопрос-изображение мы пытаемся определить релевантны ли они друг другу или подобраны случайно, и также генерируем текстовые ответ на вопрос к изображению. 🗝Что в итоге Авторы получили SOTA на двух датасетах VQA и GQA на задаче генерации ответа на вопрос к изображению (отличается от первого более сложными вопросами). Также авторы проверили свою модель на датасете NLVR, на котором не предобучались. В датасета NLVR содержатся обьекты - текст и два изображения. Задача - понять, коректно ли предложение описывает изображения. На этой задаче авторы также побили предыдущую SOTA на 22%, что показывает что полученная модель генерализуема и применима в разных задачах.