Goto

Collaborating Authors

 edge type


ARoto translation invariance

Neural Information Processing Systems

A.1 Rotations in 2 dimensions In 2-dimensional settings, there exists a single scalar angular position, the yaw angle θ. In order to perform the transformation, we have to express the angular positions in a format suitable for linear transformations; we do so by transforming them to rotation matrices, perform a matrix multiplication, and then transform the angular positions back to angle format. In 2 dimensions, we use eq. After the rotation, we can convert them back to angle format using the 2-argument arc-tangent function: θ = atan2(sinθ,cosθ) (14) Simplified rotations In 2 dimensions, the computations can be simplified since rotations commute. First, we show that chained rotations result in angle addition/subtraction, that is: Q(θi) Q(θj) = cosθi sinθi sinθicosθi cosθj sinθj sinθjcosθj (15) = cosθicosθj sinθisinθj cosθisinθj sinθicosθj sinθicosθj +cosθisinθj sinθisinθj +cosθicosθj (16) = cos(θi +θj) sin(θi +θj) sin(θi +θj) cos(θi +θj) (17) = Q(θi +θj) (18) Following the same approach, we compute the inverse rotation: Q (θi) Q(θj) = Q( θi) Q(θj) = Q(θj θi) (19) Thus, instead of rotating the angular positions (expressed in rotation matrix form) using the rotation matrix Q, in practice we perform the transformation directly to the angles via addition/subtraction, and replace the matrix Qwith the identity matrix I1 1.







Learning Graph Structure With A Finite-State Automaton Layer

Neural Information Processing Systems

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.




Graph Transformer Networks

Neural Information Processing Systems

For example, a citation network has multiple types of nodes (e.g., authors, papers, conferences) and edges defined by their relations (e.g., author-paper, paper-conference), and it is called a heterogeneous graph. A naïve approach is to ignore the node/edge types and treat them as in a homogeneous graph (a standard graph with one type of nodes and edges).