설명
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++는 속도와 정확성에서 상당한 개선을 도입하여 DimeNet의 기반 위에 구축됩니다. 원래 DimeNet보다 최대 8배 빠르고 10% 더 정확한 것으로 보고되어, 대규모 분자 시뮬레이션 및 신약 개발 응용 프로그램에 더 실용적인 선택이 됩니다. 이 GitHub 리포지토리에서 제공하는 구현은 두 모델 모두에 대한 참조 역할을 합니다.
이 리포지토리에는 이러한 모델을 실행하고 실험하는 데 필요한 필수 구성 요소가 포함되어 있습니다. 학습(`train.ipynb`) 및 예측(`predict.ipynb`)을 위한 노트북이 포함되어 있어 사용자가 자신의 데이터셋에 모델을 쉽게 적용할 수 있습니다. 클러스터 기반 학습이 필요한 사용자를 위해 Sacred 및 SEML과 통합된 스크립트(`train_seml.py`)도 사용할 수 있습니다. 또한, DimeNet++ 및 TensorFlow 2.0 프로토타입에 대한 사전 학습된 모델이 `pretrained` 폴더에 제공되어 더 빠른 실험 및 배포를 용이하게 합니다.
리포지토리 내에서 출력 레이어의 특정 초기화 전략 및 잠재적 문제 또는 버그에 대한 논의를 포함하여 핵심 아키텍처 세부 정보 및 구현 참고 사항을 확인할 수 있습니다. 이 프로젝트는 TensorFlow를 주요 딥러닝 프레임워크로 사용하여 Python으로 구현되었으며, 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++의 사용 사례
- 분자 속성 예측
- 신약 개발
- 재료 과학
- 화학 정보학 연구
- 계산 화학






