Learning Graph Structure With A Finite-State Automaton Layer
Not on the map. Why?
Abstract (arXiv)
Graph-based neural network models are producing strong results in a number of domains, in part because graphs provide flexibility to encode domain knowledge in the form of relational structure (edges) between nodes in the graph. In practice, edges are used both to represent intrinsic structure (e.g., abstract syntax trees of programs) and more abstract relations that aid reasoning for a downstream task (e.g., results of relevant program analyses). In this work, we study the problem of learning to derive abstract relations from the intrinsic graph structure. Motivated by their power in program analyses, we consider relations defined by paths on the base graph accepted by a finite-state automaton. We show how to learn these relations end-to-end by relaxing the problem into learning finite-state automata policies on a graph-based POMDP and then training these policies using implicit differentiation. The result is a differentiable Graph Finite-State Automaton (GFSA) layer that adds a new edge type (expressed as a weighted adjacency matrix) to a base graph. We demonstrate that this layer can find shortcuts in grid-world graphs and reproduce simple static analyses on Python programs. Additionally, we combine the GFSA layer with a larger graph-based model trained end-to-end on the variable misuse program understanding task, and find that using the GFSA layer leads to better performance than using hand-engineered semantic edges or other baseline methods for adding learned edge types.
Key facts. Cited by 10 papers in the map (data through 14 Oct 2026). First posted on arXiv 9 Jul 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 4; 2022: 4; 2023: 1; 2024: 1.
10 papers.
- 2021Generating Useful Accident-Prone Driving Scenarios via a Learned Traffic Priorcited by 139
- 2021SLAPS: Self-Supervision Improves Structure Learning for Graph Neural Networkscited by 110
- 2022Federated Graph Machine Learning: A Survey of Concepts, Techniques, and Applicationscited by 14
- 2021Convergent Graph Solverscited by 12
- 2022A Library for Representing Python Programs as Graphs for Machine Learningcited by 4
- 2021Learning to Extend Program Graphs to Work-in-Progress Codecited by 3
- 2022Robust Graph Structure Learning via Multiple Statistical Testscited by 3
- 2023COMEX: A Tool for Generating Customized Source Code Representationscited by 3
- 2022Bridging Graph Position Encodings for Transformers with Weighted Graph-Walking Automatacited by 1
- 2024GraphFSA: A Finite State Automaton Framework for Algorithmic Learning on Graphscited by 0
- 2024GraphFSA: A Finite State Automaton Framework for Algorithmic Learning on Graphs20 Aug 2024
- 2023COMEX: A Tool for Generating Customized Source Code Representations10 Jul 2023
- 2022Bridging Graph Position Encodings for Transformers with Weighted Graph-Walking Automata13 Dec 2022
- 2022Robust Graph Structure Learning via Multiple Statistical Tests8 Oct 2022
- 2022A Library for Representing Python Programs as Graphs for Machine Learning15 Aug 2022
- 2022Federated Graph Machine Learning: A Survey of Concepts, Techniques, and Applications24 Jul 2022
- 2021Generating Useful Accident-Prone Driving Scenarios via a Learned Traffic Prior9 Dec 2021
- 2021Convergent Graph Solvers3 Jun 2021
- 2021Learning to Extend Program Graphs to Work-in-Progress Code28 May 2021
- 2021SLAPS: Self-Supervision Improves Structure Learning for Graph Neural Networks9 Feb 2021