Описание
DimeNet и DimeNet++ представляют собой значительный прогресс в области графовых нейронных сетей для молекул. Оригинальная модель DimeNet, представленная в статье «Directional Message Passing for Molecular Graphs» (ICLR 2020), использует направленную информацию для улучшения передачи сообщений между атомами, что приводит к более точным представлениям молекулярных структур и свойств. Этот подход повышает способность модели улавливать сложные взаимодействия внутри молекул.
DimeNet++, модель-преемник, представленная в статье «Fast and Uncertainty-Aware Directional Message Passing for Non-Equilibrium Molecules» (NeurIPS-W 2020), опирается на основу DimeNet, внося существенные улучшения в скорость и точность. Сообщается, что она до 8 раз быстрее и на 10% точнее оригинальной DimeNet, что делает ее более практичным выбором для крупномасштабных молекулярных симуляций и приложений в области открытия лекарств. Реализация, представленная в этом репозитории GitHub, служит эталоном для обеих моделей.
Репозиторий включает в себя основные компоненты для запуска и экспериментирования с этими моделями. Он содержит ноутбуки для обучения (`train.ipynb`) и прогнозирования (`predict.ipynb`), позволяющие пользователям легко применять модели к своим наборам данных. Для пользователей, которым требуется обучение на кластере, также доступен скрипт (`train_seml.py`), интегрированный с Sacred и SEML. Кроме того, в папке `pretrained` предоставлены предварительно обученные модели как для DimeNet++, так и для прототипа TensorFlow 2.0, что облегчает более быстрое экспериментирование и развертывание.
Ключевые архитектурные детали и примечания по реализации доступны в репозитории, включая конкретные стратегии инициализации выходных слоев и обсуждение потенциальных проблем или ошибок. Проект реализован с использованием Python и TensorFlow в качестве основной платформы глубокого обучения, поддерживаемой такими библиотеками, как NumPy, SciPy, SymPy и TensorFlow Addons. Проект также освещает другие реализации на JAX & Haiku и PyTorch Geometric, что указывает на активное исследовательское сообщество вокруг этих моделей. Модели особенно актуальны для исследователей и разработчиков в области вычислительной химии, материаловедения и хемоинформатики, стремящихся использовать глубокое обучение для прогнозирования и анализа свойств молекул.
Главное о DimeNet и DimeNet++
Направленная передача сообщений для молекулярных графов
Архитектура модели DimeNet
Архитектура модели DimeNet++
Эталонная реализация
Включен ноутбук для обучения
Включен ноутбук для прогнозирования
Доступен скрипт для обучения на кластере
Предоставлены предварительно обученные модели
Доступен прототип TensorFlow 2.0
Фокус на прогнозировании энергии и сил (согласно рекомендации GemNet)
Прогнозирование с учетом неопределенности (DimeNet++)
Начало работы с DimeNet и DimeNet++
Доступ к модели: Клонируйте репозиторий GitHub.
Настройка среды: Установите необходимые пакеты Python (TensorFlow, NumPy, SciPy, SymPy, TensorFlow Addons).
Интеграция через API: Используйте предоставленные ноутбуки или скрипты для обучения и прогнозирования.
Экспериментирование с моделями: Загрузите предварительно обученные модели для более быстрой итерации.
Адаптация для обучения на кластере: Используйте скрипт `train_seml.py` для распределенного обучения.
Генерация прогнозов: Используйте ноутбук `predict.ipynb` с обученными моделями.
Варианты использования DimeNet и DimeNet++
- Прогнозирование свойств молекул
- Открытие лекарств
- Материаловедение
- Исследования в области хемоинформатики
- Вычислительная химия






