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