HyperAIHyperAI
il y a un mois

Réduction de réseau par recherche d'architecture transformable

Xuanyi Dong; Yi Yang
Réduction de réseau par recherche d'architecture transformable
Résumé

La réduction de réseau (network pruning) permet de diminuer les coûts de calcul d'un réseau sur-paramétré sans altérer ses performances. Les algorithmes de réduction prédominants prédéfinissent la largeur et la profondeur des réseaux réduits, puis transfèrent les paramètres du réseau non réduit vers ceux réduits. Pour surmonter les limitations structurelles des réseaux réduits, nous proposons d'appliquer la recherche d'architecture neuronale (neural architecture search) afin de rechercher directement un réseau avec des tailles flexibles de canaux et de couches. Le nombre de canaux/couches est appris en minimisant la perte du réseau réduit. La carte de caractéristiques (feature map) du réseau réduit est une agrégation de K fragments de cartes de caractéristiques (générés par K réseaux de différentes tailles), qui sont échantillonnés selon une distribution de probabilité. La perte peut être propagée non seulement aux poids du réseau, mais également à la distribution paramétrée pour ajuster explicitement la taille des canaux/couches. Plus précisément, nous appliquons une interpolation canal par canal (channel-wise interpolation) pour aligner les cartes de caractéristiques avec des tailles différentes lors de l'agrégation. La probabilité maximale pour chaque taille dans la distribution sert à définir la largeur et la profondeur du réseau réduit, dont les paramètres sont appris par transfert de connaissances, par exemple, par distillation des connaissances, à partir des réseaux originaux. Des expériences menées sur CIFAR-10, CIFAR-100 et ImageNet démontrent l'efficacité de notre nouvelle approche en matière de réduction de réseau comparativement aux algorithmes traditionnels. Diverses méthodes de recherche et de transfert de connaissances ont été utilisées pour montrer l'efficacité des deux composantes. Le code source est disponible à l'adresse suivante : https://github.com/D-X-Y/NAS-Projects.