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