ニューラルグラフフィンガープリント(Neural Graph Fingerprints)はサーキュラーフィンガープリントの一種です[1]。
同じサーキュラーフィンガープリントにはECFPがあります。ECFPは前のレイヤーのarrayを次のレイヤーの識別子に変換する際にハッシュ化を使用します。
ニューラルグラフフィンガープリントは、前のレイヤーのarrayを次のレイヤーの識別子に変換する際に、ニューラルネットワークを使用します。ニューラルグラフフィンガープリントは、さまざまなタスクに対して予測パフォーマンスが優れています。
[1] Convolutional Networks on Graphs for Learning Molecular Fingerprints, arXiv:1509.09292 (https://arxiv.org/pdf/1509.09292.pdf)
ニューラルグラフフィンガープリントの特徴
ニューラルグラフフィンガープリントを含むサーキュラーフィンガープリントでは、分子をグラフとして扱います。分子グラフでは、ノードは個々の原子を表し、エッジは結合を表します。ニューラルグラフフィンガープリントは、ノードの特徴をエッジを通して集めて分子全体の特徴量を作成する分子記述子です。
ニューラルグラフフィンガープリントには、固定フィンガープリントに比べていくつかの利点があります。
- 予測パフォーマンス:ニューラルグラフフィンガープリントは対象分子に対して最適化されたフィンガープリントを作成するため、固定フィンガープリントよりも予測パフォーマンスが優れています。
- 省資源:固定フィンガープリントで多くの部分構造をエンコードするには次元数を非常に大きくしなければなりません。例えば43,000次元もの高次元フィンガープリントも存在します。サーキュラーフィンガープリントは関連する特徴のみをエンコードするように最適化できるため無駄な次元をなくすことができます。そのため、その後の計算量を軽減できます。
- 解釈可能性:標準的なフィンガープリントは、各部分構造を完全に区別してエンコードし、部分構造間の類似性の概念はありません。対照的に、ニューラルグラフフィンガープリントは、類似しているが異なる部分構造によって活性化され、特徴表現がより意味のあるものになります。
図1は、ECFP(左)とニューラルグラフフィンガープリント(右)のイメージ図です。ノードは原子を表し、エッジは結合を表します。レイヤーを経るごとに、ノードの情報はエッジを通して広い範囲に広がります。
ECFPとニューラルグラフフィンガープリントの違い
ECFPは、標準的なサーキュラーフィンガープリント(Circular fingerprints)の代表例です。ECFPは、前のレイヤーにおいて原子とその原子に結合する原子の識別子を含んだarrayを作成し、このarrayをハッシュ化して次のレイヤーの識別子を生成します。サーキュラーフィンガープリントの各識別子は特定の部分構造を表します。各識別子によって表される部分構造のサイズは、レイヤーの深さに依存します。
前のレイヤーから次のレイヤーに変わることを「更新」と表現し、レイヤーの深さは「更新回数」に相当します。
ECFPとニューラルグラフフィンガープリントは、前のレイヤーのarrayを次のレイヤーの識別子に変換する際に、ハッシュ化を使用するかニューラルネットワークを使用するかが異なります。
識別子の更新方法 | 特徴 | |
ECFP | ハッシュ化 | 部分構造が類似していても異なる識別子と認識される |
ニューラルグラフフィンガープリント | ニューラルネットワーク | 部分構造の小さな違いは類似の部分構造と認識される |
ECFPとニューラルグラフフィンガープリントのコードのイメージを図2に示します。ニューラルグラフフィンガープリントで変更された部分は青字で強調されています。
まとめ
この記事ではニューラルグラフフィンガープリント(Neural Graph Fingerprints)について、文献[1]をもとに説明しました。また、同じサーキュラーフィンガープリントであるECFPとニューラルグラフフィンガープリントの違いについても説明しました。
[1] Convolutional Networks on Graphs for Learning Molecular Fingerprints, arXiv:1509.09292 (https://arxiv.org/pdf/1509.09292.pdf)