Perceiver и Perceiver IO работают как многоцелевые инструменты для ИИ.
Большинство архитектур, используемых сегодня системами ИИ, являются специализированными. Двумерная остаточная сеть может быть хорошим выбором для обработки изображений, но в лучшем случае она плохо подходит для других типов данных, таких как сигналы лидара, используемые в беспилотных автомобилях, или крутящие моменты, используемые в робототехнике. Более того, стандартные архитектуры часто разрабатываются с учетом только одной задачи, что часто заставляет инженеров из кожи вон лезть, чтобы изменить, исказить или иным образом изменить свои входные и выходные данные в надежде, что стандартная архитектура сможет научиться правильно справляться с их проблемой. Работа с несколькими типами данных, такими как звуки и изображения, составляющие видео, еще более сложна и обычно включает в себя сложные, настроенные вручную системы, состоящие из множества различных частей, даже для простых задач. В рамках миссии DeepMind по использованию интеллекта для развития науки и человечества мы хотим создавать системы, способные решать проблемы, использующие множество типов входных и выходных данных, поэтому мы начали изучать более общую и универсальную архитектуру, способную обрабатывать все типы данных. .
В документе, представленном на ICML 2021 (Международная конференция по машинному обучению) и опубликовано в виде препринта на arXiv, мы представили Perceiver, архитектуру общего назначения, которая может обрабатывать данные, включая изображения, облака точек, аудио, видео и их комбинации. Хотя Perceiver мог обрабатывать множество разновидностей входных данных, он был ограничен задачами с простыми выходными данными, такими как классификация. А новый препринт на arXiv описывает Perceiver IO, более общую версию архитектуры Perceiver. Perceiver IO может создавать широкий спектр выходных данных из множества различных входных данных, что делает его применимым к реальным областям, таким как язык, зрение и мультимодальное понимание, а также к сложным играм, таким как StarCraft II. Чтобы помочь исследователям и сообществу машинного обучения в целом, мы открытый исходный код.
Воспринимающие строятся на Трансформер, архитектура, которая использует операцию под названием «внимание» для преобразования входных данных в выходные. Сравнивая все элементы входных данных, Transformers обрабатывают входные данные на основе их взаимосвязей друг с другом и задачей. Внимание просто и широко применимо, но Трансформеры используют внимание таким образом, что это может быстро стать дорогостоящим по мере роста количества входных данных. Это означает, что Transformers хорошо работают для входных данных, содержащих не более нескольких тысяч элементов, но обычные формы данных, такие как изображения, видео и книги, могут легко содержать миллионы элементов. С исходным Perceiver мы решили главную проблему универсальной архитектуры: масштабирование операции внимания Transformer до очень больших входных данных без введения предположений, специфичных для предметной области. Воспринимающий делает это, используя внимание, чтобы сначала закодировать входные данные в небольшой скрытый массив. Затем этот скрытый массив может быть обработан дополнительно за счет затрат, не зависящих от размера входных данных, что позволяет восприятию памяти и вычислительных потребностей плавно увеличиваться по мере увеличения входных данных, даже для особенно глубоких моделей.
Этот «изящный рост» позволяет Perceiver достичь беспрецедентного уровня универсальности — он может конкурировать с предметно-ориентированными моделями в тестах, основанных на изображениях, трехмерных облаках точек, аудио и изображениях вместе. Но поскольку первоначальный Perceiver производил только один выход на вход, он не был таким универсальным, как требовалось исследователям. Perceiver IO устраняет эту проблему, используя внимание не только для кодирования скрытого массива, но и для декодирования из него, что обеспечивает большую гибкость сети. Perceiver IO теперь масштабируется до больших и разнообразных входных данных. и выводов и даже может работать со многими задачами или типами данных одновременно. Это открывает двери для всевозможных приложений, таких как понимание смысла текста по каждому из его символов, отслеживание движения всех точек на изображении, обработка звука, изображений и меток, составляющих видео, и даже воспроизведение. игры, при этом используя единую архитектуру, которая проще, чем альтернативы.
В наших экспериментах мы видели, как Perceiver IO работает в широком диапазоне контрольных областей, таких как язык, зрение, мультимодальные данные и игры, чтобы обеспечить готовый способ обработки многих видов данных. Мы надеемся наш последний препринт и код доступно на Гитхабе помочь исследователям и практикам решать проблемы, не тратя время и усилия на создание пользовательских решений с использованием специализированных систем. По мере того, как мы продолжаем учиться, исследуя новые виды данных, мы надеемся на дальнейшее совершенствование этой универсальной архитектуры и ускорение и упрощение решения задач в науке и машинном обучении.