DeepTrackAI / deeplay

Other
5 stars 6 forks source link

Graph Neural Networks #52

Closed JesusPinedaC closed 10 months ago

JesusPinedaC commented 10 months ago

This pull request introduces the GraphConvolutionalNeuralNetwork component as outlined in "Semi-Supervised Classification with Graph Convolutional Networks". Additionally, the pull request brings in a new processing block called TransformPropagateUpdate, designed to cover a broad spectrum of graph operations.

The GraphConvolutionalNeuralNetwork component applies the Laplacian normalization ($D^{-1/2}\hat{A}D^{-1/2}$ where $\hat{A} = A + I$) by default on the adjacency matrix. This normalization supports various forms of adjacency matrices, including square matrices, edge indices, and sparse matrices.

I have modified the unit tests to ensure that each change is thoroughly verified.

BenjaminMidtvedt commented 10 months ago

Can be merged after the corrections to PR #51