[mlpack] GSOC 2019 - Deep Learning Modules for Graphs for GSOC-19

Ryan Curtin ryan at ratml.org
Sun Mar 10 16:05:20 EDT 2019


On Sun, Mar 10, 2019 at 05:04:26AM +0530, Pradyumn Sinha wrote:
> Hello contributors,
> 
> I am a computer science undergraduate from Delhi Technological University
> (formerly DCE). For quite some time now, I have been pursuing research in
> graph embeddings and their applications in social media conjoined with nlp
> based features.  The work has been towards top conferences like ACL and
> NAACL.
> 
> A lot of work has come to the fore for deep learning systems for graphs. I
> will be very excited to develop some of the essential features in the
> MLPACK library during GSOC'19. Following are some possible components that
> I have outlined currently. I am also attaching links to the relevant
> literature along with them.
> 
> a) Graph Convolution Layers:
>         - Spectral Layer  - [1]
>         - Spatial Layer - [2] and [3]
> 
> b) Pooling Layers:
>        - Mean/Max/Sum Pooling - [4]
> 
> c) Graph Flattening Layer (for tasks like graph classification)
> 
> d) Sample codes on standard datasets for basic tasks and derivative
> implementations like Graph autoencoders.
> 
> e) Adding support for node embedding methods like node2vec - [5]
> 
> All work will have to be supported by the necessary tests and documentation.
> I would love to get inputs on this idea and assistance in structuring the
> timeline for the goals. It would give a clearer view of the requirements
> and a better assessment of the challenges.

Hi Pradyumn,

I definitely agree that deep learning for graphs is an increasingly
important field.  One thing that would be worth keeping in mind though,
as you prepare your application, is that mlpack takes input in the form
of 'arma::mat' (an Armadillo matrix) for all of its algorithms.  So if
you are looking at extending to neural networks on graphs, we will have
to be sure it is easy for users to put graphs into the library.  So you
should spend some time thinking about how that will work.

Also, if we add new features to mlpack, we should definitely add
examples and documentation, otherwise nobody will know about the new
features unless they dig around in the code (and most people don't).  So
be sure to think about that too. :)

Hope this helps!

Thanks,

Ryan

-- 
Ryan Curtin    | "I don't really come from outer space."
ryan at ratml.org |   - L.J. Washington


More information about the mlpack mailing list