Back

Speaker "Sujit Pal" Details Back

 

Topic

Deep Learning with Graphs -- an introduction to Graph Neural Networks (with code examples in Pytorch Geometric)

Abstract

A graph is a data structure composed of nodes interconnected by edges. Many real world data can be represented by graphs, in application domains as diverse as social networks to biochemistry. Graph Neural Networks (GNN) are a relatively new type of Deep Learning architecture that have evolved to work effectively with these data structures. Traditional network architectures such as Convolutional Neural Networks (CNN) and Recurrent Neural Networks are designed around the idea of leveraging spatial and temporal locality respectively, and are thus optimized for use in 2-d and 3-d images and sequential data such as text, audio, and time series, which exhibit these properties. GNNs, on the other hand, are designed to work with typical characteristics of graph structure, such as their complex topology and indeterminate size. GNNs are flexible enough to solve different classes of graph tasks, i.e. node level tasks such as node classification, edge level tasks such as link prediction and recommendation, and graph or subgraph level tasks such as finding graph isomorphism, etc. GNNs thus provide an efficient and scalable way to do deep learning against graph structured data and solve novel problems. In this tutorial, we will introduce GNN concepts and popular GNN architectures such as Graph Convolution Network (GCN), GraphSAGE, and Graph Attention Network (GAT), and describe how they can be used to solve different types of graph tasks. We will demonstrate examples of different types of GNN using Pytorch and Pytorch Geometric. Pytorch is a popular library for deep learning in Python, and Pytorch Geometric is a library for doing deep learning specifically on irregular data structures such as graphs.
Who is this presentation for?
* Data Scientists who are looking to start working with Graph Neural Networks
Prerequisite knowledge:
* Python -- intermediate, should have used Python for doing various programming tasks * PyTorch -- basic, should have used PyTorch to build Neural (not graph based) models
What you'll learn?
* how to implement Graph Neural Networks with PyTorch and PyTorch-Geometric (PyG)

Profile

Sujit Pal is a Machine Learning Engineer with interests in Semantic Search, Ontology, Natural Language Processing (NLP), Machine Learning (ML) and Deep Learning (DL). At Elsevier, he has worked on several initiatives involving search, big data and machine learning. His path to DL has been incremental, starting with learning NLP as a way to improve search, ML as a way to improve NLP, and DL as a more powerful way to do ML. He has co-authored a [book on Deep Learning](https://www.amazon.com/Deep-Learning-Keras-Antonio-Gulli-ebook/dp/B06Y2YMRDW) and writes about technology on his blog [Salmon Run](http://sujitpal.blogspot.com).