Meta graph convolutional neural network-assisted resilient swarm communications

Overview

Resilient UAV Swarm Communications with Graph Convolutional Neural Network

This repository contains the source codes of

Resilient UAV Swarm Communications with Graph Convolutional Neural Network

Zhiyu Mou, Feifei Gao, Jun Liu, and Qihui Wu

Fei-Lab

Problem Descriptions

In this paper, we study the self-healing of communication connectivity (SCC) problem of unmanned aerial vehicle (UAV) swarm network (USNET) that is required to quickly rebuild the communication connectivity under unpredictable external destructions (UEDs). Firstly, to cope with the one-off UEDs, we propose a graph convolutional neural network (GCN) and find the recovery topology of the USNET in an on-line manner. Secondly, to cope with general UEDs, we develop a GCN based trajectory planning algorithm that can make UAVs rebuild the communication connectivity during the self-healing process. We also design a meta learning scheme to facilitate the on-line executions of the GCN. Numerical results show that the proposed algorithms can rebuild the communication connectivity of the USNET more quickly than the existing algorithms under both one-off UEDs and general UEDs. The simulation results also show that the meta learning scheme can not only enhance the performance of the GCN but also reduce the time complexity of the on-line executions.

Display of Main Results Demo

One-off UEDs

randomly destruct 150 UAVs                             randomly destruct 100 UAVs

150 100

General UEDs

general UEDs with global information           general UEDs with monitoring mechanism

general_global_info general

Note: these are gifs. It may take a few seconds to display. You can refresh the page if they cannot display normally. Or you can view them in ./video.

Environment Requirements

pytorch==1.6.0
torchvision==0.7.0
numpy==1.18.5
matplotlib==3.2.2
pandas==1.0.5
seaborn==0.10.1
cuda supports and GPU acceleration

Note: other versions of the required packages may also work.

The machine we use

CPU: Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz
GPU: NVIDIA GeForce RTX 3090

Necessary Supplementary Downloads

As some of the necessary configuration files, including .xlsx and .npy files can not be uploaded to the github, we upload these files to the clouds. Anyone trying to run these codes need to download the necessary files.

Download initial UAV positions (necessary)

To make the codes reproducible, you need to download the initial positions of UAVs we used in the experiment from https://cloud.tsinghua.edu.cn/f/c18807be55634378b30f/ or https://drive.google.com/file/d/1q1J-F2OAY_VDaNd1DWCfy_N2loN7o1XV/view?usp=sharing. Upzip the download files to ./Configurations/.

Download Trained Meta Parameters (alternative, but if using meta learning without training again, then necessary)

Since the total size of meta parameters is about 1.2GB, we have uploaded the meta parameters to https://cloud.tsinghua.edu.cn/f/2cb28934bd9f4bf1bdd7/ and https://drive.google.com/file/d/1QPipenDZi_JctNH3oyHwUXsO7QwNnLOz/view?usp=sharing. You need to download the file from either two links and unzip them to ./Meta_Learning_Results/meta_parameters/if you want to use the trained meta parameters. Otherwise, you need to train the meta parameters again (directly run Meta-learning_all.py)

Download Meta Learning Loss Functions Pictures (alternative)

The loss function pictures of meta learning are available on https://cloud.tsinghua.edu.cn/f/fc0d84f2c6374e29bcbe/ and https://drive.google.com/file/d/1cdceleZWyXcD1GxOPCYlLsRVTwNRWPBy/view?usp=sharing. You can store them in ./Meta_Learning_Results/meta_loss_pic/

Quick Start

Simulate SCC under one-off UEDs

directly run ./Experiment_One_off_UED.py

python Experiment_One_off_UED.py

Simulate meta learning process

directly run ./Meta-learning_all.py

python Meta-learning_all.py

Simulate SCC under general UEDs

directly run ./Experiment_General_UED.py

python Experiment_General_UED.py

File and Directory Explanations

  • ./Configurations/

the initial positions of 200 UAVs

  • ./Drawing/

the drawing functions

  • ./Experiment_Fig/

the experiment figures and the drawing source codes

  • ./Main_algorithm_GCN/

the proposed algorithms in the paper

  • ./Main_algorithm_GCN/CR_MGC.py

the CR-MGC algorithm (Algorithm 2 in the paper)

  • ./Main_algorithm_GCN/GCO.py

the GCO algorithm

  • ./Main_algorithm_GCN/Smallest_d_algorithm.py

algorithm of finding the smallest distance to make the RUAV graph a CCN (Algorithm 1 in the paper)

  • ./Meta_Learning_Results/

the results of meta learning

  • ./Meta_Learning_Results/meta_loss_pic

the loss function pictures of 199 mGCNs

  • ./Meta_Learning_Results/meta_parameters

the meta parameters (Since the total size of meta parameters is about 1.2GB, we have uploaded the meta parameters to https://cloud.tsinghua.edu.cn/f/2cb28934bd9f4bf1bdd7/ or https://drive.google.com/file/d/1QPipenDZi_JctNH3oyHwUXsO7QwNnLOz/view?usp=sharing)

  • ./Traditional_Algorithm/

the implementations of traditional algorithms

  • ./video/

the gif files of one-off UEDs

  • ./Configurations.py

the simulation parameters

  • ./Environment.py

the Environment generating UEDs

  • ./Experiment_General_UED.py/

the simulation under general UEDs

  • ./Experiment_One_off_UED.py/

the simulation under one-off UEDs

  • ./Experiment_One_off_UED_draw_Fig_12_d.py/

draw the Fig. 12(d) in the simulation under one-off UEDs

  • ./Meta-learning_all.py/

the meta learning

  • ./Swarm.py/

the integration of algorithms under one-off UEDs

  • ./Swarm_general.py/

the integration of algorithms under general UEDs

  • ./Utils.py/

the utility functions

Note that some unnecessary drawing codes used in the paper are not uploaded to this responsitory.

Efficient Deep Learning Systems course

Efficient Deep Learning Systems This repository contains materials for the Efficient Deep Learning Systems course taught at the Faculty of Computer Sc

Max Ryabinin 173 Dec 29, 2022
Springer Link Download Module for Python

♞ pupalink A simple Python module to search and download books from SpringerLink. 🧪 This project is still in an early stage of development. Expect br

Pupa Corp. 18 Nov 21, 2022
Keeper for Ricochet Protocol, implemented with Apache Airflow

Ricochet Keeper This repository contains Apache Airflow DAGs for executing keeper operations for Ricochet Exchange. Usage You will need to run this us

Ricochet Exchange 5 May 24, 2022
Anti-UAV base on PaddleDetection

Paddle-Anti-UAV Anti-UAV base on PaddleDetection Background UAVs are very popular and we can see them in many public spaces, such as parks and playgro

Qingzhong Wang 2 Apr 20, 2022
Neural Surface Maps

Neural Surface Maps Official implementation of Neural Surface Maps - Luca Morreale, Noam Aigerman, Vladimir Kim, Niloy J. Mitra [Paper] [Project Page]

Luca Morreale 49 Dec 13, 2022
(ICCV 2021 Oral) Re-distributing Biased Pseudo Labels for Semi-supervised Semantic Segmentation: A Baseline Investigation.

DARS Code release for the paper "Re-distributing Biased Pseudo Labels for Semi-supervised Semantic Segmentation: A Baseline Investigation", ICCV 2021

CVMI Lab 58 Jan 01, 2023
A PyTorch implementation of PointRend: Image Segmentation as Rendering

PointRend A PyTorch implementation of PointRend: Image Segmentation as Rendering [arxiv] [Official Implementation: Detectron2] This repo for Only Sema

AhnDW 336 Dec 26, 2022
Fast and scalable uncertainty quantification for neural molecular property prediction, accelerated optimization, and guided virtual screening.

Evidential Deep Learning for Guided Molecular Property Prediction and Discovery Ava Soleimany*, Alexander Amini*, Samuel Goldman*, Daniela Rus, Sangee

Alexander Amini 75 Dec 15, 2022
CS506-Spring2022 - Code and Slides for Boston University CS 506

CS 506 - Computational Tools for Data Science Code, slides, and notes for Boston

Lance Galletti 17 May 06, 2022
Code for the bachelors-thesis flaky fault localization

Flaky_Fault_Localization Scripts for the Bachelors-Thesis: "Flaky Fault Localization" by Christian Kasberger. The thesis examines the usefulness of sp

Christian Kasberger 1 Oct 26, 2021
MAU: A Motion-Aware Unit for Video Prediction and Beyond, NeurIPS2021

MAU (NeurIPS2021) Zheng Chang, Xinfeng Zhang, Shanshe Wang, Siwei Ma, Yan Ye, Xinguang Xiang, Wen GAo. Official PyTorch Code for "MAU: A Motion-Aware

ZhengChang 20 Nov 25, 2022
Physics-informed convolutional-recurrent neural networks for solving spatiotemporal PDEs

PhyCRNet Physics-informed convolutional-recurrent neural networks for solving spatiotemporal PDEs Paper link: [ArXiv] By: Pu Ren, Chengping Rao, Yang

Pu Ren 11 Aug 23, 2022
Resilient projection-based consensus actor-critic (RPBCAC) algorithm

Resilient projection-based consensus actor-critic (RPBCAC) algorithm We implement the RPBCAC algorithm with nonlinear approximation from [1] and focus

Martin Figura 5 Jul 12, 2022
JudeasRx - graphical app for doing personalized causal medicine using the methods invented by Judea Pearl et al.

JudeasRX Instructions Read the references given in the Theory and Notation section below Fire up the Jupyter Notebook judeas-rx.ipynb The notebook dra

Robert R. Tucci 19 Nov 07, 2022
Implementation of popular bandit algorithms in batch environments.

batch-bandits Implementation of popular bandit algorithms in batch environments. Source code to our paper "The Impact of Batch Learning in Stochastic

Danil Provodin 2 Sep 11, 2022
Contrastive unpaired image-to-image translation, faster and lighter training than cyclegan (ECCV 2020, in PyTorch)

Contrastive Unpaired Translation (CUT) video (1m) | video (10m) | website | paper We provide our PyTorch implementation of unpaired image-to-image tra

1.7k Dec 27, 2022
AI Face Mesh: This is a simple face mesh detection program based on Artificial intelligence.

AI Face Mesh: This is a simple face mesh detection program based on Artificial Intelligence which made with Python. It's able to detect 468 different

Md. Rakibul Islam 1 Jan 13, 2022
A pytorch implementation of the CVPR2021 paper "VSPW: A Large-scale Dataset for Video Scene Parsing in the Wild"

VSPW: A Large-scale Dataset for Video Scene Parsing in the Wild A pytorch implementation of the CVPR2021 paper "VSPW: A Large-scale Dataset for Video

45 Nov 29, 2022
Code for Paper Predicting Osteoarthritis Progression via Unsupervised Adversarial Representation Learning

Predicting Osteoarthritis Progression via Unsupervised Adversarial Representation Learning (c) Tianyu Han and Daniel Truhn, RWTH Aachen University, 20

Tianyu Han 7 Nov 22, 2022
Image-popularity-score - A novel deep regression method for image scoring.

Image-popularity-score - A novel deep regression method for image scoring.

Shoaib ahmed 1 Dec 26, 2021