Open mm04926412 opened 3 years ago
Thanks for your interest and kind words. The 3-body problem seems like a good fit indeed. I however don't know what "opening angles" are. Our method allows to easily model features that are not only attached to vertices (e.g., body position in space), but also pairs/edges (e.g., pairwise distance or force), triangles (e.g., surface area or flux, 3-wise relations), etc. Would that fit?
By opening angle I mean the angle between two pairwise connections or the 3-body interaction "from the perspective" of a particular node. When talking about a 2 simplex I imagine that at each node in the 2 simplex there is one of the "angles" of the triangle. What would be ideal would be to enrich a graph convolution of say, two pairwise distances with the angle that those two distance vectors create at the node. I hope the idea of the "3-wise relationship from the perspective of a particular node" gets what I'm trying to say across I am unfortunately not a mathematician so I'm limited in precision.
Quick drawing of the situation as I understood it:
In which case you could represent d_{12}
and α_{12}
as features of node v_3
and/or edge (v_1,v_2)
.
Yes I do seek to directly inccorporate α_{12} into the graph. If I understand your suggestion though wouldn't appending these features lead to node descriptors that are of different length depending on the ammount of connections coming off them.
As I understand it the simplicial neural network is essentially a hypergraph convolutional neural network where 3-edges are areas and 2-edges are distances. I would be curious about whether the convolution operator applied to the two distances and single Area implicitly provides the angle information or not?
wouldn't appending these features lead to node descriptors that are of different length depending on the ammount of connections coming off them
Oh so it's not always 3 bodies?
As I understand it the simplicial neural network is essentially a hypergraph convolutional neural network where 3-edges are areas and 2-edges are distances.
It can be seen in this way yes. (It's more hierarchical than hypergraphs.)
I would be curious about whether the convolution operator applied to the two distances and single Area implicitly provides the angle information or not?
Should be implicit indeed.
Essentially I have a collection of labelled point clouds of various shapes and sizes. The way we are currently treating these point clouds is to skeletonize them as simple complete graphs where every connection is a distance. The graph is effectively a euclidian distance matrix between featurized nodes which describe what the point "in and of itself" (like colour).
A limitation of this approach is that from the perspective of a single node there is limite geometric information and only the distances to neighbours are known. I've been looking to see if we could explicitly encode higher order information into these graphs so that the convolutions are richer and each node "knows" / "sees" the angles between its neighbours not just the distances. After reading the paper including geometrical information with 3-edges on hypergraphs seemed like a great thing to try but I note that the Area of a 2-simplex isnt a complete descriptor and that there is also the angles (where only one of the simplexes angles is relevant for a particular node).
I note that with the area of the 2 simplex and the 2 distances the node can "see" two edges and an area but the information available to the node is almost complete but I note the following triangles would have the same area and that AB and AC would be the same, i.e an angle of 10 degrees and 170 degrees (apologies for terrible drawing).
I would be curious how from the perspective of a single node that the "narrow" and "wide" 2-simplex would be differentiated?
I see. Distances are indeed better modeled as edge features than as a set of node features. A simplicial complex would be a good model of the geometry of your point cloud.
I would be curious how from the perspective of a single node that the "narrow" and "wide" 2-simplex would be differentiated?
Through communication with edge BC? (If BC holds its length.)
That makes sense to me, but this begs the question to me that if communication can occur with edge BC to differentiate the two cases I outline above can communication with edge BC also allow A to become "aware" of the area / angle from the second convolution onwards in a simple graph, achieving also the same thing as an explicit simplicial hyper edge?
If this is true I'm just curious if in practice the simplicial neural network has a performance advantage over the simple graph?
So for example I take this figure from the paper could A not learn the content of the hyper edge ABC (if it is useful) through communication with BC in the simple graph case, B learn from AC, C learn from AB etc? My hope, and indeed the argument I would make when attempting to apply your work to my field would be that from a pragmatic standpoint the explicit inclusion of these hyper edges provide a more robust representation that in practice will learn better despite the existance of no fundamental information bottleneck in the simple graph.
Would you say this is accurate, that the simplicial approach has pragmatic benefit only, or is there some difference between the simple graph and the simplicial hypergraph that allows it to have a fundamentally higher information content?
From an information point-of-view, there are many ways to model the problem. For example, both the set of all 3D positions (as node features) and the set of all pairwise distances (as edge features) fully specify the configuration of points. I'd argue here for the second as that representation is invariant to shifts/rotations/mirrors (i.e., E(3), the symmetry group of 3D Euclidean space). I'm less sure whether areas or volumes would be complete representations (or if they'd loose something).
If this is true I'm just curious if in practice the simplicial neural network has a performance advantage over the simple graph?
I don't think there's a shortcut to trying. I'd be curious!
So for example I take this figure from the paper could A not learn the content of the hyper edge ABC (if it is useful) through communication with BC in the simple graph case, B learn from AC, C learn from AB etc?
In the data we used for the paper it can't, because the information flows top-down. That is, a collaboration's value is defined on the maximal simplex, and the subsets inherit it (i.e., scientists inherit citations produced by collaborative papers). In your case it flows bottom-up: if you know the positions you can infer the distances, then areas, then volumes.
My hope, and indeed the argument I would make when attempting to apply your work to my field would be that from a pragmatic standpoint the explicit inclusion of these hyper edges provide a more robust representation that in practice will learn better despite the existence of no fundamental information bottleneck in the simple graph.
Redundancies might indeed help in practice. The information also flows differently (e.g., AB and AC are neighbors both through vertex A and triangle ABC).
have a fundamentally higher information content?
In this problem, all the information is in the points positions. Any other representation (distances, angles, areas, volumes, whatnot) is to help learning.
Ah I see, ok that puts the framing of how this work would be applied into context quite nicely as the main thing I wanted to know prior to implementing it was whether the motivation is greater specification or redundancy to improve performance / achieve a more robust inductive bias. If the implementation of this work does indeed lead to real world performance increases on some point cloud classification / regression tasks and publication is sought would you be interested being emailed an update / pre print?
Sure keep us posted. :)
Hi
I find this work very interesting and I've been interesting in applying it to my context where graph networks are popular. for the 3 body interactions is it possible to effectively include "opening angles" or other 3 body interactions from the perspective of a certain node or do things need to be expressed as hypervolumes? What would be the best way to approach 3 dimensional euclidian spaces with this method?
I hope what I'm getting across makes sense! Again thanks for this work it seems like a natural extension of graph networks.