Código y conjuntos de datos para el documento ICLR2023 "Razonamiento analógico multimodal sobre gráficos de conocimiento"

En este trabajo, proponemos una nueva tarea de razonamiento analógico multimodal sobre el gráfico de conocimiento. Una descripción general de la tarea de razonamiento analógico multimodal se puede ver de la siguiente manera:

Proporcionamos un gráfico de conocimiento para apoyar y dividir aún más la tarea en patrones simples y combinados. Tenga en cuenta que la relación marcada por flechas discontinuas (
pip install -r requirements.txt
Para admitir la tarea de razonamiento analógico multimodal, recopilamos un conjunto de datos del gráfico de conocimiento multimodal Markg y un conjunto de datos de datos de razonamiento analógico multimodal. Un esquema visual de la recopilación de datos como se muestra en la siguiente figura:

Recopilamos los conjuntos de datos Seguir a continuación los pasos:
Las estadísticas de los dos conjuntos de datos se muestran en las siguientes cifras:


Ponemos los datos de texto en MarT/dataset/ , y los datos de la imagen se pueden descargar a través de Google Drive o Baidu Pan (Terabox) (Código: 7Hoc) y colocados en MarT/dataset/MARS/images . Consulte Mart para obtener más detalles.
La estructura esperada de los archivos es:
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
Seleccionamos algunos métodos de referencia para establecer los resultados de referencia iniciales en Marte, incluidos los métodos de representación de conocimiento multimodal (IKRL, Transae, RSME), modelos de lenguaje de visión priorizado (Visualbert, Vilbert, VILT, Flava) y un método de finalización de gráficos de conocimiento multimodal (Former MKG).

Además, seguimos la teoría del mapeo de la estructura para considerar la inducción de mapeo de abudos como pasos explícitos de pipas para los métodos de representación del conocimiento multimodal. En cuanto a los métodos basados en transformadores, proponemos a Mart, un marco novedoso que combina implícitamente estos tres pasos para lograr la tarea de razonamiento analógico multimodal de extremo a extremo, que puede evitar la propagación de errores durante el razonamiento analógico. La descripción general de los métodos de referencia se puede ver en la figura anterior.
Reproducimos los modelos IKRL a través del marco Transae, para evaluar en IKRL, ejecutando el siguiente código:
cd M-KGE/IKRL_TransAE
python IKRL.py Puede elegir pre-entrenamiento/ajuste fino y transmisión/analogía modificando los parámetros de finetune y analogy en IKRL.py , respectivamente.
Para evaluar en IKRL, ejecutando el siguiente código:
cd M-KGE/IKRL_TransAE
python TransAE.py Puede elegir pre-entrenado/ajuste fino y transmisión/analogía modificando los parámetros de finetune y analogy en TransAE.py , respectivamente.
Solo proporcionamos parte de los datos para RSME. Para evaluar en RSME, debe generar los datos completos siguiendo los scripts:
cd M-KGE/RSME
python image_encoder.py # -> analogy_vit_best_img_vec.pickle
python utils.py # -> img_vec_id_analogy_vit.pickleEn primer lugar, pre-entren los modelos sobre Markg:
bash run.sh Luego modifique el parámetro --checkpoint y ajuste los modelos en Marte:
bash run_finetune.shMás detalles de capacitación sobre los modelos anteriores pueden referirse a sus repositorios oficiales.
Aprovechamos el marco MART para los modelos basados en transformadores. Mart contiene dos pasos: pre-entrenado y ajuste fino.
Para entrenar los modelos rápidamente, codificamos los datos de la imagen con anticipación con este script (tenga en cuenta que el tamaño de los datos codificados es de aproximadamente 7 GB):
cd MarT
python tools/encode_images_data.pyTomar MKGFormer como ejemplo, primero pre-entrene el modelo a través del siguiente script:
bash scripts/run_pretrain_mkgformer.shDespués de la capacitación previa, ajuste el modelo a través del siguiente script:
bash scripts/run_finetune_mkgformer.sh ? Proporcionamos los mejores puntos de control de los modelos basados en transformadores durante las frases de ajuste fino y de pre-entrenamiento en esta unidad de Google. Descárguelos y agregue --only_test en scripts/run_finetune_xxx.sh para probar experimentos.
Si usa o extiende nuestro trabajo, cite el documento de la siguiente manera:
@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 }
}