2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

化合物によるGCNのさまざまな実装コードをまとめてみる

Last updated at Posted at 2020-12-26

はじめに

化合物によるGCNのさきがけとなる、David Duvenaudらの論文 "Convolutional Networks on Graphs for Learning Molecular Fingerprints" (https://arxiv.org/abs/1509.09292) を元にGCNを実装し、遊んでみようとしたところ、元の論文がAutogradというマイナーなライブラリで開発されており、そのまま修正するのは厳しかったので、他のオープンソースの実装コードを色々調べてみた時のメモ

調べた実装コード

  • 論文の著作者の実装(オリジナル)
  • DeepChem
  • Chainer-Chemistory
  • OpenChem

調べた箇所

今回調べたのは、原子や結合のコード化ではなく、ニューラルネットの組み方の部分である。

論文の著作者の実装(オリジナル)

DeepChem

  • 利用DLフレームワーク:TensorFlow
  • URL: https://deepchem.io/
  • GCNの実装コード:
  • https://github.com/deepchem/deepchem/blob/master/deepchem/models/graph_models.py
    の GraphConvModel および _GraphConvKerasModel クラス
  • コメント(論文の実装との違い等):
  • 元の論文ではreturn sum(all_layer_fps), atom_activations, array_rep のところで各レイヤーの出力を加算するところがあるが、この実装では最終レイヤーの出力のみを利用している。
  • コンボリューションの各レイヤーの最後に、周りのノードと合わせてのプーリング操作が入っているが、元の論文にはない。

Chainer-Chemistory

OpenChem

おわりに

  • 手法1つとっても様々な実装の仕方があることが分かった。
  • Chainer-Chemistoryの実装が最も気に入っている。ただ、フレームワークはPyTorchを使いたいため、Chainer-Chemistoryのソースを参考にしながらPyTorchで実装することとしたい。
2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?