GENOME: Raciocínio Visual Neuro-simbólico Generativo por meio do Crescimento e Reutilização de Módulos
GENOME: GenerativE Neuro-symbOlic visual reasoning by growing and reusing ModulEs
November 8, 2023
Autores: Zhenfang Chen, Rui Sun, Wenjun Liu, Yining Hong, Chuang Gan
cs.AI
Resumo
Trabalhos recentes demonstraram que os Modelos de Linguagem de Grande Escala (LLMs) podem potencializar modelos neuro-simbólicos tradicionais por meio de capacidades de programação para traduzir linguagem em descrições de módulos, alcançando assim resultados robustos em raciocínio visual enquanto mantêm a transparência e eficiência do modelo. No entanto, esses modelos geralmente geram exaustivamente todo o trecho de código para cada nova instância de uma tarefa, o que é extremamente ineficiente. Propomos um raciocínio visual neuro-simbólico generativo por meio do crescimento e reutilização de módulos. Especificamente, nosso modelo consiste em três estágios distintos: inicialização de módulos, geração de módulos e execução de módulos. Primeiro, dada uma tarefa de visão e linguagem, adotamos LLMs para examinar se podemos reutilizar e expandir módulos já estabelecidos para lidar com essa nova tarefa. Caso contrário, inicializamos um novo módulo necessário para a tarefa e especificamos as entradas e saídas desse novo módulo. Em seguida, o novo módulo é criado consultando LLMs para gerar trechos de código correspondentes que atendam aos requisitos. Para avaliar melhor a capacidade do novo módulo, tratamos exemplos de treinamento few-shot como casos de teste para verificar se o novo módulo pode passar por esses casos. Se sim, o novo módulo é adicionado à biblioteca de módulos para reutilização futura. Por fim, avaliamos o desempenho do nosso modelo no conjunto de teste executando os programas analisados com os novos módulos visuais para obter os resultados. Descobrimos que o modelo proposto possui várias vantagens. Primeiro, ele se sai de forma competitiva em tarefas padrão, como resposta a perguntas visuais e compreensão de expressões referenciais; Segundo, os módulos aprendidos em uma tarefa podem ser transferidos de forma contínua para novas tarefas; Por último, mas não menos importante, ele é capaz de se adaptar a novas tarefas de raciocínio visual observando alguns exemplos de treinamento e reutilizando módulos.
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.