Skip to content

sensorlab/self-supervised-spectrum-sensing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Self-supervised Learning for Clustering of Wireless Spectrum Activity

In recent years, much work has been done on processing of wireless spectrum data involving machine learn- ing techniques in domain-related problems for cognitive radio networks, such as anomaly detection, modulation classification, technology classification and device fingerprinting. Most of the solutions are based on labeled data, created in a controlled manner and processed with supervised learning approaches. However, spectrum data measured in real-world environment is highly nondeterministic, making its labeling a laborious and expensive process, requiring domain expertise, thus being one of the main drawbacks of using supervised learning approaches in this domain. In this paper, we investigate the utilization of self-supervised learning (SSL) for exploring spectrum activities in a real-world unlabeled data. In particular, we assess the performance of SSL models, based on the reference DeepCluster architecture. We carefully consider the current state-of-the-art feature extractors, taking into account the performance and complexity trade-offs. Our findings demonstrate that SSL models achieve superior performance regarding the feature quality and clustering performance compared to baseline feature learning approaches. With SSL models we achieve significant reduction of the feature vectors size by two orders of magnitude, while improving the performance by a factor ranging from 2 to 2.5 across the evaluation metrics, supported by visual assessment. Furthermore, we showcase how adapting the reference SSL architecture to domain-specific data is followed by a substantial reduction in model complexity up to one order of magnitude, without compromising, and in some cases, even improving the clustering performance.

workflow

Setup

The notebooks and python files should be in a same folder. Model constants and paths which are in separate file SSLConstants.py should be adapted to the user working environment (models saving paths, loading paths, ect.)

Experimenting

Dataset for training models and example model is available at (https://github.com/sensorlab/SpectrumSensingMaaS). Training models and saving statictics data is performed with the TrainScript.ipynb python notebook. Check the comments in the notebook for more details. Python notebook for model analysis, evaluation and visualization is provided as ModelAnalysis.ipynb. All the necessary functions for both notebooks are contained in the SSLUtils.py file. In the current state, when working all the files should be in a same folder.

Citation

If you use this code in your research, citation of the following paper would be greatly appreciated:

@article{MILOSHESKI2023353,
title = {Self-supervised learning for clustering of wireless spectrum activity},
journal = {Computer Communications},
volume = {212},
pages = {353-365},
year = {2023},
issn = {0140-3664},
doi = {https://doi.org/10.1016/j.comcom.2023.10.009},
url = {https://www.sciencedirect.com/science/article/pii/S0140366423003729},
author = {Ljupcho Milosheski and Gregor Cerar and Blaž Bertalanič and Carolina Fortuna and Mihael Mohorčič},
keywords = {Spectrum, Analysis, Clustering, Self-supervised, Machine learning},
}

Funding

This work was supported by the European Commission NANCY project (No. 101096456) and Slovenian Research Agency (P2-0016).

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

5 watching

Forks

Contributors