Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Robust Heterogeneous Graph Neural Network (RoHeHAN)
This is an implementation of
RoHeHAN
, a robust heterogeneous graph neural network designed to defend against adversarial attacks on heterogeneous graphs.tensorlayerx
andgammagl
libraries.Usage
To reproduce the RoHeHAN results on the ACM dataset, run the following command:
TL_BACKEND="torch" python rohehan_trainer.py --num_epochs 100 --gpu 0
Performance
Reference performance numbers for the ACM dataset:
ACM dataset link: https://github.com/Jhy1993/HAN/raw/master/data/acm/ACM.mat
Example Commands
You can adjust training settings, such as the number of epochs, learning rate, and dropout rate, with the following commands:
TL_BACKEND="torch" python rohehan_trainer.py --num_epochs 200 --lr 0.005 --dropout 0.6 --gpu 0
Notes
settings
in the RoHeGAT layer control the attention purifier mechanism, which ensures robustness against adversarial attacks by pruning unreliable neighbors.This implementation builds on the idea of using metapath-based transiting probability and attention purification to improve the robustness of heterogeneous graph neural networks (HGNNs).