Skip to content
This repository has been archived by the owner on Mar 22, 2024. It is now read-only.

Latest commit

 

History

History
62 lines (38 loc) · 1.67 KB

api.graph_neural_network.rst

File metadata and controls

62 lines (38 loc) · 1.67 KB

Graph Neural Networks

GINet layer

Graph Interaction Networks layer

This layer is inspired by Sazan Mahbub et al. "EGAT: Edge Aggregated Graph Attention Networks and Transfer Learning Improve Protein-Protein Interaction Site Prediction", BioRxiv 2020

  1. Create edges feature by concatenating node feature
e_{ij} = LeakyReLu (a_{ij} * [W * x_i || W * x_j])
  1. Apply softmax function, in order to learn to consider or ignore some neighboring nodes
\alpha_{ij}  = softmax(e_{ij})
  1. Sum over the nodes (no averaging here)
z_i = \sum_j (\alpha_{ij} * Wx_j + b_i)

Herein, we add the edge feature to the step 1)

e_{ij} = LeakyReLu (a_{ij} * [W * x_i || W * x_j || We * edge_{attr} ])
.. automodule:: deeprank_gnn.ginet
    :members:
    :undoc-members:


Fout Net layer

This layer is described by eq. (1) of "Protein Interface Predition using Graph Convolutional Network", by Alex Fout et al. NIPS 2018

z = x_i * Wc + 1 / Ni Sum_j x_j * Wn + b
.. automodule:: deeprank_gnn.foutnet
    :members:
    :undoc-members:

sGraphAttention (sGAT) layer

This is a new layer that is similar to the graph attention network but simpler

z_i = 1 / Ni Sum_j a_ij * [x_i || x_j] * W + b_i

|| is the concatenation operator: [1,2,3] || [4,5,6] = [1,2,3,4,5,6] Ni is the number of neighbor of node i Sum_j runs over the neighbors of node i a_ij is the edge attribute between node i and j

.. automodule:: deeprank_gnn.sGat
    :members:
    :undoc-members: