Как на самом деле рассчитываются обученные латентные массивы для перцептивного ресемплера в модели “Визуально-языковой модели Flamingo” DeepMind? Какая техника используется?

Вопрос или проблема

В «Фламинго: визуальная языковая модель для обучения с небольшим количеством примеров» (Alayrac et al., 2022) https://arxiv.org/abs/2204.14198 DeepMind использует «обучаемые латентные запросы» в своем «Персевер ресемплере», чтобы гарантировать, что параметры не масштабируются квадратным образом, как это происходит с Трансформерами. Авторы цитируют статью DeepMind «Персевер: общая восприятие с итеративным вниманием» (Jaegle et al., 2021) https://arxiv.org/abs/2103.03206 как источник вдохновения для создания Персевер ресемплеров. Персевер из статьи Jaegle et al. включает «обучаемые латентные запросы» (т.е. запросы из обучаемых латентных массивов), которые пересекаются с ключами и значениями на основе признаков изображения. Мое понимание заключается в том, что эти обучаемые латентные массивы представляют собой упрощенное многомерное представление визуальных массивов признаков, которые являются выходами Визуального Кодировщика. Однако статья Фламинго не объясняет, как на самом деле вычисляется обучаемый латентный массив из оригинального визуального массива признаков Визуального Кодировщика.

Что касается Персевера из Jaegle et al., авторы, похоже, намекают на то, что обучаемые латентные массивы могут создаваться с помощью какой-то кластеризации. Они заявляют: «Модель также может рассматриваться как выполняющая полностью энд-то-энд кластеризацию входных данных с латентными позициями в качестве центров кластеров, используя сильно асимметричный слой перекрестного внимания» (стр. 3). Но если они используют какой-то алгоритм кластеризации для производства обучаемых латентных массивов, насколько я могу видеть, они не объясняют, как именно такой алгоритм может быть воспроизведен для использования в коде, и поэтому оставляют это несколько на воображение, чтобы разобраться.

У меня 2 вопроса:

1) Эти обучаемые латентные массивы учатся на визуальных признаках 𝑋𝑓, которые поступают от Визуального Кодировщика Фламинго? Если нет, откуда они учатся?

2) Если да, то как именно (так, чтобы я мог попытаться воспроизвести процесс) обучаемые латентные массивы вычисляются из визуальных массивов признаков, которые являются выходами Визуального Кодировщика?

Спасибо за вашу помощь.

Источник изображения ниже (Alayrac et al. 2022, стр. 11):
введите описание изображения здесь

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

Теперь к вашему вопросу: предположим, у вас есть некоторые векторы признаков от визуального кодировщика, которые служат ключами и значениями. В некотором смысле таблица нашей базы данных уже заполнена данными, нам просто нужно выяснить, как ее запрашивать. Если мы хотим решить задачу классификации изображений, например, и метка изображения – «собака», могут быть некоторые визуальные токены, которые это представляют, скажем, в виде текстурного признака. Латентные векторы в этом случае выступают в качестве запросов, которые извлекают информацию из входных данных и должны быть выровнены таким образом, чтобы извлекать необходимую информацию для выполнения предсказательной задачи.

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

В Jaegle et al. они упоминают латентные векторы как кластеры, поскольку каждый из них может на самом деле представлять собой что-то вроде конкретного латентного признака, который можно рассматривать как неявную кластеризацию данных внутри внутренних представлений.

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

Ответ или решение

Как вычисляются изученные латентные массивы для Пересамplers?

Модель DeepMind Flamingo, изложенная в статье "Flamingo: a Visual Language Model for Few-Shot Learning" (Alayrac et al., 2022), использует концепцию "ученых латентных запросов" в рамках Пересамплера. Эти латентные массивы играют ключевую роль в том, чтобы решить проблему квадратичной сложности, присущей традиционным трансформерам, и обеспечивают возможность эффективного взаимодействия с визуальными данными. Однако, в статье не объясняется, как именно эти латентные массивы вычисляются из выходных визуальных признаков, полученных от Визуального Кодировщика.

Краткие ответы на вопросы

1) Учены ли латентные массивы на основе визуальных признаков 𝑋𝑓 от Визуального Кодировщика?

Да, латентные массивы учатся на основе визуальных признаков, которые предоставляются Визуальным Кодировщиком. Эти массивы формируются, чтобы эффективно извлекать и обрабатывать информацию, содержащуюся в визуальных данных, что делает их важным элементом в обеспечении функциональности модели.

2) Как именно обучаются латентные массивы?

Процесс формирования латентных массивов можно разбить на несколько этапов:

  1. Инициализация латентных запросов: В процессе обучения модель инициализирует латентные запросы случайным образом. Эти запросы представляют собой векторы фиксированной размерности, которые будут изучаться.

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

  3. Обучение через градиентный спуск: Модель использует метод градиентного спуска, чтобы оптимизировать латентные запросы. Она настраивает их таким образом, чтобы минимизировать функцию потерь, которая измеряет, насколько точно модель может предсказать результаты на основе визуальных данных. В процессе обратного распространения ошибки (backpropagation) происходит корректировка латентных векторов, что позволяет им лучше синхронизироваться с языковыми задачами.

  4. Кластеризация: Хотя в статье упоминается о кластеризации в контексте латентных векторов, это скорее метафора, чем прямой метод. Латентные векторы можно рассматривать как центры кластеров, которые "группируют" информацию о визуальных признаках, извлекая из большого массива данных ключевые аспекты. Эти центры обучаются на основе входных данных, так что, по мере их обучения, они будут соотноситься с различными свойствами изображений.

Заключение

Процесс обучения латентных массивов для Пересамплера в модели Flamingo является непрерывным и дифференцируемым путем, что позволяет вам настроить эти запросы для повышения точности модели. Эти латентные массивы обучаются непосредственно на основе визуальных признаков, что делает их эффективным инструментом для обработки информации.
resulta.

Оцените материал
Добавить комментарий

Капча загружается...