Live data from Hacker News

TensorFlow Graph Neural Networks

blog.tensorflow.org

21–23 of 23 posts

Re: TensorFlow Graph Neural Networks

#21
post #16
post #7

Earlier quoted context omitted.

What's an example problem for which such networks work well?

They show a simple one in the post > In the example below, we build a model using the TF-GNN Keras API to recommend movies to a user based on what they watched and genres that they liked. > The code above works great, but sometimes we may want to use a more powerful custom model architecture for our GNNs. For example, in our previous use case, we might want to specify that certain movies or genres hold more weight wh…

Couldn't you use a regular DNN with one-hot encoding of all the movies seen by a user (and the corresponding genres)? And boosting can give more weight to certain movies or genres.

Re: TensorFlow Graph Neural Networks

#22
post #7

I’m glad to see support for GNNs with tensorflow. Working with gnns for the past few years, personally for me it gets tiring to roll my own framework.

What's an example problem for which such networks work well?

I've seen lots of good come out of GNNs in the biomedical space.

For example, in drug discovery you can treat any molecule and its biochemical properties as a graph so you can store the entire structure as a graph. So you make a million graphs of the biocompounds you know, a million graphs of random/similar compounds, and see which of the new million molecules the GNN will predict to work on disease X.

Long review here that might be closed access: https://academic.oup.com/bib/article/22/6/bbab159/6278145

Re: TensorFlow Graph Neural Networks

#23
post #16

Earlier quoted context omitted.

They show a simple one in the post > In the example below, we build a model using the TF-GNN Keras API to recommend movies to a user based on what they watched and genres that they liked. > The code above works great, but sometimes we may want to use a more powerful custom model architecture for our GNNs. For example, in our previous use case, we might want to specify that certain movies or genres hold more weight wh…

Couldn't you use a regular DNN with one-hot encoding of all the movies seen by a user (and the corresponding genres)? And boosting can give more weight to certain movies or genres.

It appears the difference can be found in the depth of knowledge. A one-hot encoding, followed by an embedding, followed by some fully connected layers only takes the actual titles into account.

A GNN can take into account everything you know about movies, including incomplete data. Therefore a GNN will see that user A likes everything with actor X, user B really wants the genre to be Y, user C likes actor Z, but only before 2000, and combinations of that. Therefore the GNN can do better, hell, it can even predict what movie properties would do well, which would be tough to get out of the embedding network.

You could encode all this data in your embedding, but this will be a much smaller and much more flexible network.

Post reply on HN