Код и наборы данных для бумаги ICLR2023 «Мультимодальные аналогичные рассуждения о графах знаний»

В этой работе мы предлагаем новую задачу мультимодального аналогичного рассуждения над графом знаний. Обзор задачи мультимодальной аналогичной рассуждения можно увидеть следующим образом:

Мы предоставляем график знаний для поддержки и дополнительно разделяем задачу на одиночные и смешанные шаблоны. Обратите внимание, что соотношение, отмеченное пунктирными стрелами (
pip install -r requirements.txt
Чтобы поддержать мультимодальную задачу аналогичного рассуждения, мы собираем набор данных с мультимодальным графом знаний MARKG и набор данных мультимодального аналогичного рассуждения MARS. Визуальный план сбора данных, как показано на следующем рисунке:

Мы собираем наборы данных, следуя ниже шагов:
Статистика двух наборов данных показана на следующих рисунках:


Мы размещаем текстовые данные в MarT/dataset/ , и данные изображения могут быть загружены через Google Drive или Baidu Pan (Terabox) (код: 7HOC) и размещены на MarT/dataset/MARS/images . Пожалуйста, обратитесь к Марту за подробностями.
Ожидаемая структура файлов составляет:
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
Мы выбираем некоторые базовые методы для установления начальных контрольных результатов на MARS, включая мультимодальные методы представления знаний (IKRL, Transae, RSME), предварительно обученные модели зрения (Visualbert, Vilbert, Vilt, Flava) и метод завершения графа с мультимодальным графом знаний (Mkgformer).

Кроме того, мы следуем теории картирования структуры, чтобы рассматривать индукцию абуджного картирования как явные шаги Pipline для методов представления мультимодального знания. Что касается методов, основанных на трансформаторах, мы далее предлагаем Mart, новую структуру, которая неявно объединяет эти три шага для выполнения мультимодальной аналогичной аргументации задачи, которая может избежать распространения ошибок во время аналогичных рассуждений. Обзор базовых методов можно увидеть на рисунке выше.
Мы воспроизводим модели IKRL через рамки Transae, чтобы оценить IKRL, запустив следующий код:
cd M-KGE/IKRL_TransAE
python IKRL.py Вы можете выбрать предварительную тренировку/тонкую настройку и транс/аналогию, модифицируя параметры finetune и analogy в IKRL.py , соответственно.
Чтобы оценить IKRL, запуск следующего кода:
cd M-KGE/IKRL_TransAE
python TransAE.py Вы можете выбрать предварительную поездку/тонкую настройку и транс/аналогию, модифицируя параметры finetune и analogy в TransAE.py , соответственно.
Мы предоставляем только часть данных для RSME. Чтобы оценить RSME, вам необходимо генерировать полные данные, следуя сценариям:
cd M-KGE/RSME
python image_encoder.py # -> analogy_vit_best_img_vec.pickle
python utils.py # -> img_vec_id_analogy_vit.pickleВо-первых, предварительно пробудить модели над Markg:
bash run.sh Затем измените параметр --checkpoint и настраивайте модели на Марсе:
bash run_finetune.shБольше подробностей обучения о приведенных выше моделях может ссылаться на их официальные репозитории.
Мы используем структуру Mart для трансформаторных моделей. Март содержит два шага: до тренировки и тонкой настройки.
Чтобы быстро обучить модели, мы заранее кодируем данные изображения с этим сценарием (обратите внимание, что размер кодированных данных составляет около 7 ГБ):
cd MarT
python tools/encode_images_data.pyПринимая Mkgformer в качестве примера, сначала предварительно подготовить модель через следующий сценарий:
bash scripts/run_pretrain_mkgformer.shПосле предварительной тренировки точно настроить модель с помощью следующего сценария:
bash scripts/run_finetune_mkgformer.sh ? Мы предоставляем лучшие контрольно-пропускные пункты моделей на основе трансформаторов во время тонкой настройки и предварительного обучения на этом Google Drive. Загрузите их и добавьте --only_test в scripts/run_finetune_xxx.sh для тестирования экспериментов.
Если вы используете или расширяете нашу работу, пожалуйста, укажите бумагу следующим образом:
@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 }
}