GENOME: Генеративное нейро-символическое визуальное рассуждение через рост и повторное использование модулей
GENOME: GenerativE Neuro-symbOlic visual reasoning by growing and reusing ModulEs
November 8, 2023
Авторы: Zhenfang Chen, Rui Sun, Wenjun Liu, Yining Hong, Chuang Gan
cs.AI
Аннотация
Недавние исследования показали, что крупные языковые модели (LLM) могут расширять возможности традиционных нейро-символических моделей благодаря способности программировать, переводя язык в описания модулей, что позволяет достигать высоких результатов в визуальном рассуждении, сохраняя при этом прозрачность и эффективность модели. Однако такие модели обычно генерируют весь фрагмент кода заново для каждого нового экземпляра задачи, что крайне неэффективно. Мы предлагаем генеративный нейро-символический подход к визуальному рассуждению, основанный на развитии и повторном использовании модулей. Конкретно, наша модель состоит из трех этапов: инициализация модуля, генерация модуля и выполнение модуля. Сначала, получив задачу, связанную с визуальным и языковым контекстом, мы используем LLM, чтобы определить, можно ли повторно использовать и развить существующие модули для решения этой задачи. Если нет, мы инициализируем новый модуль, необходимый для задачи, и определяем его входные и выходные данные. Затем новый модуль создается путем запроса к LLM для генерации соответствующих фрагментов кода, удовлетворяющих требованиям. Чтобы лучше оценить возможности нового модуля, мы используем несколько обучающих примеров в качестве тестовых случаев, чтобы проверить, может ли новый модуль их пройти. Если да, модуль добавляется в библиотеку модулей для будущего использования. Наконец, мы оцениваем производительность модели на тестовом наборе, выполняя разобранные программы с использованием новых визуальных модулей для получения результатов. Мы обнаружили, что предложенная модель обладает несколькими преимуществами. Во-первых, она демонстрирует конкурентоспособные результаты на стандартных задачах, таких как визуальный вопросно-ответный анализ и понимание референциальных выражений. Во-вторых, модули, изученные для одной задачи, могут быть легко перенесены на новые задачи. И, наконец, модель способна адаптироваться к новым задачам визуального рассуждения, наблюдая за несколькими обучающими примерами и повторно используя модули.
English
Recent works have shown that Large Language Models (LLMs) could empower
traditional neuro-symbolic models via programming capabilities to translate
language into module descriptions, thus achieving strong visual reasoning
results while maintaining the model's transparency and efficiency. However,
these models usually exhaustively generate the entire code snippet given each
new instance of a task, which is extremely ineffective. We propose generative
neuro-symbolic visual reasoning by growing and reusing modules. Specifically,
our model consists of three unique stages, module initialization, module
generation, and module execution. First, given a vision-language task, we adopt
LLMs to examine whether we could reuse and grow over established modules to
handle this new task. If not, we initialize a new module needed by the task and
specify the inputs and outputs of this new module. After that, the new module
is created by querying LLMs to generate corresponding code snippets that match
the requirements. In order to get a better sense of the new module's ability,
we treat few-shot training examples as test cases to see if our new module
could pass these cases. If yes, the new module is added to the module library
for future reuse. Finally, we evaluate the performance of our model on the
testing set by executing the parsed programs with the newly made visual modules
to get the results. We find the proposed model possesses several advantages.
First, it performs competitively on standard tasks like visual question
answering and referring expression comprehension; Second, the modules learned
from one task can be seamlessly transferred to new tasks; Last but not least,
it is able to adapt to new visual reasoning tasks by observing a few training
examples and reusing modules.