Código e conjuntos de dados para o artigo ICLR2023 "Raciocínio analógico multimodal sobre gráficos de conhecimento"

Neste trabalho, propomos uma nova tarefa de raciocínio analógico multimodal sobre o gráfico de conhecimento. Uma visão geral da tarefa de raciocínio analógico multimodal pode ser visto da seguinte maneira:

Fornecemos um gráfico de conhecimento para apoiar e dividir ainda mais a tarefa em padrões únicos e misturados. Observe que a relação marcada por setas tracejadas (
pip install -r requirements.txt
Para suportar a tarefa de raciocínio analógico multimodal, coletamos um conjunto de dados de gráficos de conhecimento multimodal Markg e um conjunto de dados de raciocínio analógico multimodal Marte. Um esboço visual da coleta de dados, como mostrado na figura a seguir:

Coletamos os conjuntos de dados seguem as etapas abaixo:
As estatísticas dos dois conjuntos de dados são mostrados nas seguintes figuras:


Colocamos os dados de texto no MarT/dataset/ , e os dados da imagem podem ser baixados através do Google Drive ou da Baidu Pan (Terabox) (Código: 7HOC) e colocados no MarT/dataset/MARS/images . Por favor, consulte o MART para obter detalhes.
A estrutura esperada dos arquivos é:
MKG_Analogy
|-- M-KGE # multimodal knowledge representation methods
| |-- IKRL_TransAE
| |-- RSME
|-- MarT
| |-- data # data process functions
| |-- dataset
| | |-- MarKG # knowledge graph data
| | |-- MARS # analogical reasoning data
| |-- lit_models # pytorch_lightning models
| |-- models # source code of models
| |-- scripts # running scripts
| |-- tools # tool function
| |-- main.py # main function
|-- resources # image resources
|-- requirements.txt
|-- README.md
Selecionamos alguns métodos de linha de base para estabelecer os resultados iniciais de referência em Marte, incluindo métodos multimodais de representação de conhecimento (IKRL, transe, RSME), modelos pré-treinados em linguagem de visão (Visualbert, Vilbert, Vilt, Flava) e um método de conclusão de gráficos de conhecimento multimodal (MKGformer).

Além disso, seguimos a teoria do mapeamento da estrutura para considerar a indução de mapeamento de abudimento como etapas explícitas para os métodos multimodais de representação de conhecimento. Quanto aos métodos baseados em transformadores, propomos ainda uma estrutura nova que combina implicitamente essas três etapas para realizar a tarefa de raciocínio analógico multimodal de ponta a ponta, o que pode evitar a propagação de erros durante o raciocínio analógico. A visão geral dos métodos de linha de base pode ser vista na figura acima.
Reproduzimos os modelos IKRL via Transae Framework, para avaliar o IKRL, executando o código seguinte:
cd M-KGE/IKRL_TransAE
python IKRL.py Você pode escolher o pré-treino/ajuste fino e transe/analogia modificando os parâmetros finetune e analogy em IKRL.py , respectivamente.
Para avaliar o IKRL, executando o código seguinte:
cd M-KGE/IKRL_TransAE
python TransAE.py Você pode escolher o pré-treino/ajuste fino e transe/analogia modificando os parâmetros finetune e analogy em TransAE.py , respectivamente.
Fornecemos apenas parte dos dados para o RSME. Para avaliar o RSME, você precisa gerar os dados completos seguindo os scripts:
cd M-KGE/RSME
python image_encoder.py # -> analogy_vit_best_img_vec.pickle
python utils.py # -> img_vec_id_analogy_vit.pickleEm primeiro lugar, pré-treinar os modelos sobre o Markg:
bash run.sh Em seguida, modifique o parâmetro --checkpoint e ajuste os modelos em Marte:
bash run_finetune.shMais detalhes do treinamento sobre os modelos acima podem se referir aos seus repositórios oficiais.
Aproveitamos a estrutura do MART para modelos baseados em transformadores. O MART contém duas etapas: pré-trep e tune.
Para treinar os modelos rapidamente, codificamos os dados da imagem com antecedência com este script (observe que o tamanho dos dados codificados é de cerca de 7 GB):
cd MarT
python tools/encode_images_data.pyTomando o MKGFORMER como exemplo, primeiro pré-treme o modelo através do script a seguir:
bash scripts/run_pretrain_mkgformer.shApós o pré-treinamento, ajuste o modelo por meio do script a seguir:
bash scripts/run_finetune_mkgformer.sh ? Fornecemos os melhores pontos de verificação dos modelos baseados em transformadores durante as frases de ajuste fino e pré-treinamento neste Google Drive. Faça o download e adicione --only_test nos scripts/run_finetune_xxx.sh para experimentos de teste.
Se você usar ou estender nosso trabalho, cite o papel da seguinte forma:
@inproceedings {
zhang2023multimodal,
title = { Multimodal Analogical Reasoning over Knowledge Graphs } ,
author = { Ningyu Zhang and Lei Li and Xiang Chen and Xiaozhuan Liang and Shumin Deng and Huajun Chen } ,
booktitle = { The Eleventh International Conference on Learning Representations } ,
year = { 2023 } ,
url = { https://openreview.net/forum?id=NRHajbzg8y0P }
}