| > It seems like the overall goal is to provide some intuition for how automatic differentiation & program synthesis might be implemented efficiently using matrices. Right! I wish I had emphasized that theme a little more. This is basically a long digression on how to think about automatic differentiation in the context of program synthesis, two topics which I enjoy thinking about. > However, I'm a little confused on how the section on Weifeiler-Lehman & checking for isomorphic graphs ties in to the rest of the article? Great question! I introduce isomorphism testing for two reasons: 1. It is an example of a general purpose algorithm which, although we do not show it, can be implemented completely using matrix multiplication. 2. It is an example of how message passing on graphs works. This helps us build an intuition for how to implement more complex graph algorithms. Hamilton (2020), does a much better job at introducing the WL algorithm and why it matters in the context of graph representation learning: https://cs.mcgill.ca/~wlh/comp766/notes.html Feel free to drop me an email if I can help clear anything up. Thanks for reading carefully and leaving a comment! |