Contexte
NAS-Bench-101, développé par Google Brain, constitue le premier ensemble de données ouvert pour l'exploration d'architectures neuronales. Ce référentiel résout le problème des ressources computationnelles excessives en pré-calculant les performances de milleirs de modèles.
Méthodologie
Espace de recherche structuré
L'espace de recherche repose sur des cellules modulaires composées de 7 nœuds maximum. Chaque nœud exécute une opération parmi :
- Convolution 3x3
- Convolution 1x1
- MaxPooling 3x3
Les contraintes incluent :
- Matrice d'adjacence triangulaire supérieure 7×7
- Maximum 9 connexions
- Élimination des structures isomorphes par hachage graphique
Les stratégies de fusion :
- Concaténation pour les nœuds de sortie
- Addition pour les nœuds intermédiaires
- Projection 1x1 pour l'alignement des canaux
Stratégie d'entraînement
Paramètres fixes déterminés par grille de recherche :
- Optimiseur : RMSprop
- Taux d'apprentissage : décroissance cosinusoïdale
- Augmentation de données identique à ResNet
Utilisation pratique
Métriques disponibles
- Précision : entraînement/validation/test
- Temps d'entraînement
- Nombre de paramètres
Accès aux données
git clone https://github.com/google-research/nasbench
cd nasbench
pip install -e .
Exemple de requête
from nasbench import api
bench = api.NASBench('/chemin/vers/dataset.tfrecord')
config_modele = api.ModelSpec(
matrice=[
[0, 1, 0, 1, 0, 1, 0],
[0, 0, 1, 0, 0, 0, 1],
[0, 0, 0, 0, 1, 0, 0],
[0, 0, 0, 0, 1, 0, 1],
[0, 0, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 0]
],
operations=['input', 'conv3x3', 'conv1x1', 'maxpool3x3', 'conv3x3', 'conv1x1', 'output']
)
resultats = bench.interroger(config_modele)
stats_entrainement = bench.obtenir_compteurs()
Analyse expérimentale
Observations clés
- Corrélation validation/test : r=0.999
- Relation complexe entre paramètres, temps et précision
- Les modèles manuels (ex: ResNet) atteignent le front de Pareto
Impact des opérations
- Remplacer convolution par pooling réduit la précision
- Remplacer pooling par convolution améliore la précision
- Les convolutions 1x1 réduisent le temps d'entraînement
Localité structurelle
L'autocorrélation des marches aléatoires (RWA) montre que la similarité architecturale diminue au-delà d'une distance de 6, guidant les stratégies de recherche.