This repository contains the code for the paper Fleet Active Learning: A Submodular Maximization Approach
This work introduces a fleet active learning framework for multi-robot systems.
Click to expand
In multi-robot systems, robots often gather data to improve the performance of their deep neural networks (DNNs) for perception and planning. Ideally, these robots should select the most informative samples from their local data distributions by employing active learning approaches. However, when the data collection is distributed among multiple robots, redundancy becomes an issue as different robots may select similar data points. To overcome this challenge, we propose a fleet active learning (FAL) framework in which robots collectively select informative data samples to enhance their DNN models. Our framework leverages submodular maximization techniques to prioritize the selection of samples with high information gain. Through an iterative algorithm, the robots coordinate their efforts to collectively select the most valuable samples while minimizing communication between robots. We provide a theoretical analysis of the performance of our proposed framework and show that it is able to approximate the NP-hard optimal solution. We demonstrate the effectiveness of our framework through experiments on real-world perception and classification datasets, which include autonomous driving datasets such as Berkeley DeepDrive. Our results show an improvement by up to 25.0% in classification accuracy, 9.2% in mean average precision and 48.5% in the submodular objective value compared to a completely distributed baseline.Fleet Active Learning Framework: Each robot
Experimental Results: Each column represents a different dataset. Row 1 shows the submodular objective of the cloud dataset across the rounds. Both the Centralized and Interactive policies achieve similar objectives, while the Distributed fails to reach the same level of performance. Row 2 presents the accuracy of the retrained neural networks using the dataset
For the installation of the required packages and datasets, please first create a virtual environment with Python 3.9.7. You can use the following command to create a virtual environment using conda:
conda create -n fal python=3.9.7
Then, activate the virtual environment:
conda activate fal
This repository uses poetry for package management. Please install poetry using the following command:
pip3 install poetry
Then, you can install the required packages using the following command:
poetry lock && poetry install
The MNIST and CIFAR10 datasets are automatically downloaded by the PyTorch package.
The Advere-Weather dataset can be downloaded from
Adverse-Weather
After downloading the Adverse-Weather dataset, please run the following command to create labels for the dataset:
run_exps/create_labels_adverseweather.sh
The Berkeley DeepDrive dataset can be downloaded from Berkeley DeepDrive
After downloading the Berkeley DeepDrive dataset, please run the following command to create object detection labels in YOLO format:
run_exps/create_YOLO_labels_deepdrive.sh
To run experiments on different datasets, please run the following commands: For MNIST:
run_exps/run_mnist.sh
For CIFAR10:
run_exps/run_cifar10.sh
For Adverse-Weather:
run_exps/run_adverseweather.sh
For Berkeley DeepDrive:
run_exps/run_deepdrive.sh
For Berkeley DeepDrive Object Detection Benchmarks:
run_exps/run_deepdrive_detection.sh
For Federated Learning Benchmarks:
run_exps/run_mnist_fl.sh
run_exps/run_cifar10_fl.sh
run_exps/run_adverseweather_fl.sh
run_exps/run_deepdrive_fl.sh
Please cite our paper if you find this work useful for your research:
@inproceedings{
akcin2023fleet,
title={Fleet Active Learning: A Submodular Maximization Approach},
author={Oguzhan Akcin and Orhan Unuvar and Onat Ure and Sandeep P. Chinchali},
booktitle={7th Annual Conference on Robot Learning},
year={2023},
url={https://openreview.net/forum?id=low-53sFqn}
}