May 20, 2022

Нейросеть от DeepMind научилась решать 604 задачи разных типов

Источник изображения: DeepMind

Исследователи из DeepMind разработали мультимодальную нейросеть, способную выполнять задачи разного типа. Например, она умеет управлять роботом, играть в игры для Atari, писать текст и описывать фотографии. Статья об алгоритме опубликована на arXiv.org, также авторы рассказали о нем на сайте DeepMind.

В 2017 году исследователи из Google Brain представили нейросетевую архитектуру Transformer, отличительной особенностью которого стало широкое использование механизма внимания. Это позволяет нейросети гораздо лучше понимать контекст слов и предложений, что в свою очередь позволило добиться большого прогресса в целом в области обработки естественного языка.

Один из самых известных примеров этого прогресса: модель GPT-3 от OpenAI. Оказалось, что если обучить модель на огромном массиве текстов, она выучит хорошее представления языка и того, как должны выглядеть тексты, после чего ее можно быстро и на очень небольшом объеме данных дообучить до конкретной задачи. Причем эта задача не обязательно должна быть текстовой: выяснилось, что GPT-3 умеет выполнять базовые арифметические операции.

Параллельно с развитием универсальных языковых моделей исследователи разрабатывают мультимодальные модели, работающие одновременно с разными данными. Исследователи из DeepMind под руководством Нандо де Фрейта (Nando de Freita) разработали новую мультимодальную нейросеть Gato, которая позволяет использовать архитектуру Transformer для решения самых разных задач.

Поскольку Transformer разрабатывали для языковых задач, эта архитектура работает с текстовыми токенами. Соответственно, для работы с разными данными Gato превращает их в токены. Разработчики использовали четыре схемы токенизации. Текст токенизируется стандартным способом, при котором в словах выделяются подслова и кодируются числом от 0 до 32 тысяч. Изображения разбиваются на квадраты (16 на 16 квадратов), а пиксели в них кодируются от −1 до 1, а затем эти квадраты подаются в модель построчно. Дискретные значения превращаются в числа от 0 до 1024, а непрерывные дискретизируются и превращаются в число или набор чисел от 32000 до 33024. При необходимости токены также могут разбиваться разделительными токенами.

Принцип работы модели с разными данными. Источник изображения: arXiv

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

Датасеты, использованные для обучения. Источник изображения: arXiv

Исследователи использовали 24 датасета с данными разных типов и с их помощью обучили модель выполнять 604 задачи. При этом модель не достигла рекордных результатах на этих задачах. В некоторых, например, в 23 играх для Atari, она справляется лучше людей, но это не новый результат для алгоритмов машинного обучения — в 2020 году DeepMind разработала алгоритм, обыгрывающий людей сразу в 57 играх. В других же она явно не дотягивает до уровня человека, например, в аннотации изображений:

Примеры описания изображений нейросетью. Источник изображения: arXiv

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

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