Skip to content

Commit d006fca

Browse files
Neural-Link Teamtensorflow-copybara
authored andcommitted
Open source the implementation of Graph Agreement Models.
PiperOrigin-RevId: 266445340
1 parent dcd8cc7 commit d006fca

File tree

18 files changed

+4906
-1
lines changed

18 files changed

+4906
-1
lines changed
Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
# Research projects in Neural Structured Learning
22

3-
The implementations of A2N [1] are provided in the "a2n" folder on a strict "as
3+
## A2N
4+
5+
The implementations of A2N [1] are provided in the `a2n` folder on a strict "as
46
is" basis, without warranties or conditions of any kind. Also, these
57
implementations may not be compatible with certain TensorFlow versions (such as
68
2.0 or above) or Python versions.
79

810
[[1] T. Bansal, D. Juan, S. Ravi and A. McCallum. "A2N: Attending to Neighbors for Knowledge Graph Inference." ACL 2019](https://www.aclweb.org/anthology/P19-1431)
11+
12+
## Graph Agreement Models
13+
14+
The implementations of Graph Agreement Models (GAMs) are provided in the `gam`
15+
folder on a strict "as is" basis, without warranties or conditions of any kind.
16+
Also, these implementations may not be compatible with certain TensorFlow
17+
versions (such as 2.0 or above) or Python versions.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
Neural structured learning methods such as Neural Graph Machines [1], Graph
2+
Convolutional Networks [2] and their variants have successfully combined the
3+
expressiveness of neural networks with graph structures to improve on learning
4+
tasks. Graph Agreement Models is a technique that can be applied to these
5+
methods to handle the noisy nature of real world graphs. Traditional graph-based
6+
algorithms, such as label propagation, were designed with the underlying
7+
assumption that the label of a node can be imputed from that of the neighboring
8+
nodes and edge weights. However, most real world graphs are either noisy or have
9+
edges that do not correspond to label agreement uniformly across the graph.
10+
Graph Agreement Models(GAM) introduce an auxiliary model that predicts the
11+
probability of two nodes sharing the same label as a learned function of their
12+
features. This agreement model is then used when training a node classification
13+
model by encouraging agreement only for those pairs of nodes that it deems
14+
likely to have the same label, thus guiding its parameters to better local
15+
optima. The classification and agreement models are trained jointly in a
16+
co-training fashion.
17+
18+
This code repository contains an implementation of Graph Agreement Models. The
19+
code is organized into the following folders:
20+
21+
* data: Classes and methods for accessing semi-supervised learning datasets.
22+
* models: Classes and methods for classification models and graph agreement
23+
models.
24+
* trainer: Classes and methods for training the classification models, and
25+
agreement models individually as well as in a co-traioning fashion.
26+
* experiments: Python run script for training Graph Agreement Models on MNIST
27+
and other datasets.
28+
29+
The implementations of Graph Agreement Models (GAMs) are provided in the `gam`
30+
folder on a strict "as is" basis, without warranties or conditions of any kind.
31+
Also, these implementations may not be compatible with certain TensorFlow
32+
versions (such as 2.0 or above) or Python versions.
33+
34+
## Reference
35+
36+
[[1] T. Bui, S. Ravi and V. Ramavajjala. "Neural Graph Learning: Training Neural Networks Using Graphs." WSDM 2018](https://ai.google/research/pubs/pub46568.pdf)
37+
38+
39+
[[2] T. Kipf and M. Welling. "Semi-supervised classification with graph convolutional networks." ICLR 2017](https://arxiv.org/pdf/1609.02907.pdf)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Copyright 2019 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# https://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Copyright 2019 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# https://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.

0 commit comments

Comments
 (0)