Ce projet est dédié à l'exploration de l'efficacité de diverses méthodes de détection des données out-of-distribution (OOD) dans les réseaux de neurones. Avec la dépendance croissante envers les modèles d'apprentissage profond dans des applications critiques, assurer que ces modèles peuvent identifier et gérer les entrées OOD—des échantillons de données significativement différents de ceux vus lors de l'entraînement—est primordial pour maintenir la fiabilité et la sécurité.
L'objectif principal est de réaliser un benchmarking des méthodes suivantes pour la détection OOD :
En plus de ces méthodes établies, notre projet introduit une approche novatrice exploitant K-means, PCA et NMF avec des calculs de distance (KNN et Mahalanobis) comme nouvelle méthode pour la détection OOD.
Pour installer les dépendances requises pour ce projet, veuillez exécuter la commande suivante :
pip install -r requirements.txt
Voir les différents notebooks dans le dossier : ./src/test/
.
Le projet est organisé comme suit :
data/
: Contient les ensembles de données organisés par type (ID, near OOD, far OOD).models/
: Stocke les modèles pré-entraînés sur chaque ensemble de données ID.src/
: Contient le code source pour les méthodes de détection OOD, le code source pour l'utilisation des modèles pre-entrainés et le preprocessing des données avant utilisation.results/
: Dossier pour stocker les résultats des benchmarks.notebooks/
: Jupyter notebooks pour l'analyse exploratoire et les visualisations.Ce projet est sous licence MIT. Voir le fichier LICENSE
pour plus de détails.