本文へスキップ

MolCLR

Yuyang Wang / Carnegie Mellon University

MolCLRは、ラベルなし分子を用いてグラフニューラルネットワークを事前学習し、下流の分子特性予測に向けたファインチューニングを支援する分子コントラスト学習フレームワークです。

掲載情報の更新 ·

概要

MolCLRは、“Molecular Contrastive Learning of Representations via Graph Neural Networks” に付属する公式実装です。ラベルなしデータから分子表現を学習した後、グラフニューラルネットワークを分子特性予測タスクに適応させる研究ワークフローを提供します。READMEでは約1,000万個のユニークな分子を使った事前学習が説明されており、このリソースは、すぐに使える予測サービスではなく、分子データセットの準備と教師ありの下流モデリングの間に位置づけられています。

文書に記載されたワークフローは、事前学習とファインチューニングの2段階に分かれています。事前学習では、config.yaml に記載された設定を使い、提供された分子データセット pubchem-10m-clean.txt を使用します。ファインチューニングでは、各ベンチマーク名のフォルダーに保存されたベンチマークデータセットを使い、専用の設定ファイル config_finetune.yaml を使用します。リポジトリには事前学習済みの GCN モデルと GIN モデルも含まれているため、完全な事前学習段階を繰り返さずに下流への適応を試すことができます。文書に記載された出力には、学習済みモデルのチェックポイントと、TensorBoardで監視する学習情報が含まれます。

READMEは論文で使用されたデータセットにリンクしており、別のベンチマークデータ源として MoleculeNet も紹介しています。また、PyTorch、PyTorch Geometric、RDKitを含む、バージョンを固定したPython環境の構築手順も示しています。これらは当初の環境設定に関する記述であり、現在のシステムとの互換性が検証されたことを示すものではありません。出典の抜粋には、予測出力形式、デプロイ用インターフェース、定量的なベンチマーク結果は記載されていません。そのため、新しい特性データセットへの適用性は評価が必要です。

主な機能

  • 約1,000万個のユニークな分子を含むと説明された大規模なラベルなし分子データセットを用いた、グラフニューラルネットワークのコントラスト事前学習。
  • `config.yaml` と `config_finetune.yaml` による、事前学習と下流ファインチューニングの個別設定可能なワークフロー。
  • 下流への適応に使用できる、リポジトリ提供の事前学習済み GCN モデルと GIN モデル。
  • ダウンロード可能な事前学習データと論文のベンチマークデータセット、および文書化された `./data` ディレクトリ構成。
  • チェックポイントのパス下にある学習ログを TensorBoard で監視。

用途

  • 想定される評価:提供された事前学習済みモデルを分子特性ベンチマークでファインチューニングし、選択した予測タスクへの適性を評価する。
  • 想定される評価:同じデータセットと評価プロトコルを用いて、MolCLRのチェックポイントから適応させたモデルと、別途定義したベースラインを比較する。
  • 想定される評価:文書に記載された事前学習設定を変更し、その後のファインチューニング結果を調べることで、分子表現学習を検討する。

使い方

  1. 公式READMEを読み、論文を参照して、表現学習段階と下流の特性モデリングを区別してください。
  2. リポジトリを取得し、文書に記載された環境構築手順に従ってください。READMEでは Python 3.7 とバージョン固定の依存関係が指定されています。これらは出典に記載された手順として扱い、現在の互換性を示す根拠とは見なさないでください。
  3. 提供されたデータセットをダウンロードし、./data の下に展開してください。事前学習には pubchem-10m-clean.txt を、ファインチューニングには適切なベンチマークフォルダーを選びます。
  4. 文書に記載された molclr.py のエントリーポイントを使う前に、config.yaml を確認してください。事前学習を再実施する場合は、READMEのTensorBoardに関する案内に従って学習ログを確認してください。
  5. 下流評価では、config_finetune.yaml を確認し、提供された事前学習済みモデルを選択して、文書に記載された finetune.py のワークフローを使用してください。評価プロトコルは別途定義してください。この抜粋からは、あなたのデータセットでの性能は確認できません。

関連リソース

ChemBERTa

モデル

ChemBERTa は、化学 SMILES 向けの BERT 類似モデルを提供します。RoBERTa によるマスク言語モデリングのチェックポイントと、事前学習、ファインチューニング、分子特性予測の研究向けノートブックが含まれます。

オープンソースPython

分子特性予測

ChemML

オープンソース

ChemMLは、化学・材料データの分析、マイニング、モデリングを行うPythonツールスイートです。モジュール型設計を採用し、グラフニューラルネットワーク、AutoML、説明可能性に関する取り組みが記載されています。

オープンソースPython

分子特性予測 · 材料探索

Chemprop

モデル

Chemprop は、分子特性予測のためのメッセージパッシングニューラルネットワークを学習・評価する PyTorch ベースのツールキットです。CLI ワークフロー、Python モジュール、タスク別ノートブックを備えています。

オープンソースPython

分子特性予測

DeepMol

オープンソース

DeepMolは、化合物の標準化と特徴量化から、モデルの学習、評価、解釈、再利用可能なパイプラインまでをつなぐ、分子機械学習向けのPythonツールキットです。

オープンソースPython

分子特性予測

DGL-LifeSci

オープンソース

DGL-LifeSci は DGL と PyTorch に基づくツールキットで、化学・生物分野のグラフ学習用部品と例を提供します。

オープンソースPython

分子特性予測

DimeNet

モデル

DimeNetは、分子グラフ上の方向性メッセージパッシングに用いるDimeNetおよびDimeNet++の参照実装を提供し、学習ノートブック、テストセット予測ワークフロー、事前学習済みモデルを含みます。

Python

分子特性予測 · 量子化学

関連ガイド