Graph Convolutional Networks (GCNs) made simple
HTML-код
- Опубликовано: 17 май 2020
- Join my FREE course Basics of Graph Neural Networks (www.graphneuralnets.com/p/bas...! This video introduces Graph Convolutional Networks and works through a Content Abuse example. For a hands on example with code, check out this blog: blog.zakjost.com/post/gcn_cit...
Mailing List: blog.zakjost.com/subscribe
Discord Server: / discord
Original Paper: openreview.net/pdf?id=SJU4ayYgl
Patreon: / welcomeaioverlords
By far the best intro explanation I've seen soon far, and its significantly helped me put the papers Ive been reading into context
Thank you for this simple and straight-forward explanation. GNNs have been intimidating up to this point because I couldn't visualize the operations.
Thank you so much for this great explanation!!. I've been searching and browsing for hours, and this is best I can found about GCNs.
So easy to apply something without understanding the process. graph networks can be tough to talk about. you did a great job with your descriptions, language and structure of the video. Looking forward to your video on relational GCNs.
Thanks for these videos man. You've got a good radio voice for this stuff, makes it clear and easy to consume without annoying "ums" and "ahhs".
I have in pain for 2 months to try understand wtf is GNN, GCN. Your video, just 9 minutes make it clear. Thank you very much. Looking forward to more from you
Thank you for the explanation! It answered my biggest question how neural network is modeled on graph and why it is useful!
Clear, honest, patient explanation. Thank you. You're doing this right, and you're a big asset to people who want to learn. Please don't change your approach at all.
The best explanation I have come across, going to use it as a part of my research project. Thanks!
Among the top 3 lecture series that I have seen on the topic on RUclips.
I am glad I watched this video to get quick idea about GCN. Thank you so much!
The best introduction to GCN I have come across. Thank you!
Thanks for taking the time to produce this. Very clear
Amazing explanation man. You got me so excited now. Please make more videos, I love it.
Amazing explanantion! I've tried understanding this elsewhere but it's really vague, your animations helped a ton. Thanks.
Simply beautiful ... many thanks for this video !
The best explanation on how GCN works! Great work!
Oh man, 10/10, incredible explanation. Such a great breakdown of the concepts and the jargon that is a bit of a barrier at the beginning
I can't thank you enough 😅
Great! The best explanation of the topic I found till now....good job man
I've recently started trying to understand GNNs, and have been hunting for videos & blogs that explain the concepts. This is hands down the best video out there!!
With every other video that I've watched, I'd only gain a partial understanding of the concept, and leave with so many unanswered question. Some videos would even confuse me more than I already was. LOL. But this video has done a phenomenal job of explaining what GNNs really are, and all the mathametical operations involved.
Thank you so much!
Excellent introduction. Loved it.
Best explanation I have seen so far!
Best straight-forward explanation i've ever seen. Thanks
Best tech video I've seen. Looking forward to more from you.
This video is awesome! Looking forward to more fantastic content!
God! I spent hours on articles and this video was sitting here all along. Thank you, a lot.
Thank you. Wonderful examples
thank you so much for those videos on graph NNs! they really help me to understand them conceprually
Great simple intro. Thanks for making this!
You're awesome! Absolutely amazing explanations!! THANK YOU
Great explanation.. Thanks for your time, effort for helping people.
great channel! I learned about you from your MLST episode! great work
I am a complete newbie to AI and I'm so happy I found this video, I got desperate trying to get behind the idea of GCNs but you made it so clear, wow! Thanks a lot for this video, I also joined the Discord server - such a cool idea to connect with people all over the world who are interested in AI! :-)
Glad you found it helpful-and welcome!
Nice and simple elaboration.
Thank you
Best explanation for GCN! Thank You.
literally made it so simple. amazing explanation
Well explained! Excellent work!
The best explanation I've seen soon far. Thanks a lot...
This whole series is excellent.
Really appreciate the quality of your videos Zak.
Thanks Kelvin!
Very well explained, thank you!
Great explanation, well done!
short and clear, many thanks!
Very well-explained. Thank you.
Great stuff Zak!
The most intuitive/layman explanation by far; Thank you very much !!! Subscribing. #Respect ++
Amazing video! Thanks so much!
Finally i understand this topic , thank you for put this simple
a very good explanation and very simple tnx man you made my day
I wish I saw this video days ago. Instant subscribe
This was such a great video!!
splendid work!
Great content !
Clear and concise!
Beautiful. Thanks a ton.
Amazing video!
Thanks buddy... best explanation
THANK YOU this was super helpful
Thank you. Excellent, clear introduction. Why can't anyone else do this? Are they just incompetent at explaining things or do they enjoy leaving out key pieces and giving students grief? Anyway, praise God that you're a different type of person and it's much, much appreciated.
I just can't thank you enough
literally the best explanation
Just when I needed.
This is a fantastic video
Incredible job! Thank you for making this!
Thanks Mom!
@@welcomeaioverlords You're welcome, son; I am very proud of you 😂
Thanks for the excellent introduction of GCN! You've made it so simple to understand. By any chance that you can provide an introduction of Graph Attention neuralnetwork?
great explanation
awesome explanation . Than you.
Explained really work.
Neat and clean!
thanks :) very nice explanation
Thank you very much 🙏🏻
Waiting for Relational GCNS..... Awesome explanation btw
Very well done. Good pace, and very helpful animations.
Video Suggestion: Graph Attention Networks for whole graph classification.
I wanted to cover GATs, so I’ll plan to cover that use case if/when that happens. Thanks for the comment!
Nice video!
Excellent bro. You are a crack.
Thanks!
amazing
WOW this is real amazing and very clear please more explanation graph attention model please
Thanks! I plan to cover GAT.
That was a good video
Great explanation. You should make videos much more frequently
Thanks for the compliment! I agree with you that I need to pickup the frequency.
Thank you for the lecture.
I have a list of datasets, each data contain information of adjacent face points. i have conveted those points to graph using NetworkX and Deep graph library. My problem is now how do I use those graph or adjacent face points for data clustering? Basically, How do I cluster using list of graph points?
Thanks
A+!!! subbbed
Thanks for the video. I have some questions. Do different nodes share the same weights (across layers)? How do you train the model based on backpropagation?
best one
Beautiful explanation! I wanted to ask what happens to the information at the node itself in the GCN layer ? Does that get aggregated with its neighbors?
That’s exactly right. In GCN, each node is given a self-connection, so it’s in its own neighborhood. Then it’s information is treated the same as its neighbors. Other model architectures handle this differently. For example, R-GCN gives self-connections special treatment by having a dedicated projection matrix. Others like GraphSAGE and GAT concatenate the node information with the neighborhood information, so the representation size doubles.
Great explanation, thanks! Are the fully connected NNs inside each GCN layer just 2-layer dense networks with just input and output layer? Or could they be deep NNs with multiple hidden layers?
In the paper, one GCN layer = 1 NN dense layer. It’s just a single learnable projection matrix. But that’s not a fundamental restriction.
thanks
If this video can come along with a hands-on coding tutorial it would be perfect!
blog.zakjost.com/post/gcn_citeseer/
Amazing tutorial ! i have seen a lot of explanation and this the best one clear and simple.
- But i have a question how we can use this as a learning process ,is the weight matrix will be shared between a different graphs ?(i mean after first learning we will have weights for layer 1 and layer 2 which used to classify nodes in graph 1,is these weight will updated for each node representation ,is these weight matrices will be updated by passing different graph until we finish the learning phase,so we can use the same filter (weights) to classify un-seen nodes in different graphs.)
- how we can apply same concept to classify the node(Pixel) in the image segmentation problem ,since each node(Pixel ) will have different number of classes.
- can you give an explanation for the pooling operation in Graph network
Glad you enjoyed. If you'd like to discuss further, please join the Discord server.
what if the node send message with loop?
Hey, great video. For a GCN is it necessary to have the adjacency matrix defined in advance or it can be learned?
GCN as originally described was not for link prediction tasks, but node/graph classification. So the graph connections should be pre-defined. But that's not to say you can't adapt it. The R-GCN paper describes a link prediction task, for example. They use GCN to learn node embeddings and then use those node embeddings with a DistMult scoring function and negative samples for training. This allows you to predict missing links in the adjacency matrix.
I want to ask about osnet . Is it consider as a gcn?
nice
where do we find the karate club input data? I want to this with my own data. already have the node connections as well as the weights of each connection. Great video btw
It's built into standard graph libraries, like DGL and NetworkX.
Thanks for your great videos. How can GCN differentiate zero-weight edges with not connected nodes?
Hi Ali. GCN doesn’t use edge weights. However, I’ve seen them included (even learned) in the GCN-LPA paper, which basically learns the edge weights that maximize performance of label propagation. So there are lots of options. That said, I don’t know what an edge weight of zero means.
@@welcomeaioverlords Thank you very much. I'm gonna read the paper.
3:55 is it the same neural network for every node? shared parameters? or a unique NN for every node?
Same. That's what makes it convolution-like: weight sharing.
Very good explanation! I was wondering why the implementation of GCN in PyTorch Geometric only permits Addition as aggregate function? It might be the wrong forum to ask this question.
Thanks for the video though! :)
I’m not familiar with PyG, but it looks like they use the normalization and adjacency reparameterization that they paper develops. This scales the messages by the inverse of degree, so should effectively take the average.
Brother you look like famous Hollywood star Brad Pitt. Even your voice is similar to him. love it.
I try to tell my wife this all the time.
great video but didn't get the first step of the example, maybe IP address and accounts is not a typical graph? what is the different to use a GCN in this or to use ip address and account information as a feature combine with the content and do classical classification? thanks
Thanks for the question Bryan. How do you use account ID and IP address as features in a model? They are very high cardinality, so it's not clear how you use them. This is precisely why graph methods are useful for these types of features.