Réseau neuronal résiduel

Un réseau neuronal résiduel (ResNet) [1] est un réseau neuronal artificiel (ANN). Il s'agit d'une variante du HighwayNet , le premier réseau neuronal à action directe très profond avec des centaines de couches, beaucoup plus profond que les réseaux neuronaux précédents. Les sauts de connexion ou « raccourcis » sont utilisés pour passer par-dessus certaines couches (les HighwayNets peuvent également avoir des poids pour les saut eux-mêmes, grâce à une matrice de poids supplémentaire pour leurs portes). Les neurones à l'origine d'un saut de connexion sont appelés les neurones « amonts ». Les modèles ResNet typiques sont mis en œuvre avec des sauts à double ou triple couche qui contiennent des non-linéarités (ReLU) et une normalisation par lots entre les deux. Les modèles avec plusieurs sauts parallèles sont appelés DenseNets[2]. Dans le contexte des réseaux de neurones résiduels, un réseau non résiduel peut être décrit comme un réseau simple.

Forme canonique d'un réseau neuronal résiduel. Une couche − 1 est ignoré sur l'activation de − 2.

Comme dans le cas des réseaux de neurones récurrents à mémoire longue et à court terme[3], il existe deux raisons principales d'ajouter des connexions de saut : pour éviter le problème d’évanescence des gradients, conduisant ainsi à une optimisation plus facile des réseaux de neurones, où les mécanismes de déclenchement faciliter le flux d'informations à travers de nombreuses couches (« autoroutes de l'information »)[4], ou pour atténuer le problème de dégradation (saturation de la précision) ; où l'ajout de couches supplémentaires à un modèle suffisamment profond peut augmenter les erreurs liées à l'apprentissage[1]. Dans le cas le plus simple, seuls les poids de la connexion de la couche précédente sont adaptés, sans poids explicites pour la couche amont. Cela fonctionne mieux lorsqu'une seule couche non linéaire est franchie ou lorsque les couches intermédiaires sont toutes linéaires. Si ce n'est pas le cas, une matrice de pondération explicite doit être apprise pour la connexion ignorée (un HighwayNet doit être utilisé).

Les sauts peuvent permettre une simplification efficace du réseau, en utilisant moins de couches dans les étapes de formation initiales[pas clair] . Cela accélère l'apprentissage en réduisant l'impact de l’évanescence des gradients, car il y a moins de couches à traverser. Le réseau restaure ensuite progressivement les couches ignorées au fur et à mesure qu'il apprend l' espace des caractéristiques . Vers la fin de l'entraînement, lorsque toutes les couches sont développées, il reste plus proche du collecteur[pas clair] et apprend ainsi plus vite. Un réseau de neurones sans parties résiduelles explore davantage l'espace des caractéristiques. Cela le rend plus vulnérable aux perturbations et nécessite des données d'entraînement supplémentaires pour compenser.

Un réseau neuronal résiduel a été utilisé pour remporter le concours ImageNet [5] 2015[1], et est devenu le réseau neuronal le plus cité du 21e siècle[6].

Étant donné une matrice de poids pour les poids de connexion de la couche pour , et une matrice de poids pour les poids de connexion de la couche à , alors la propagation vers l'avant à travers la fonction d'activation (alias HighwayNets) est

 : activations (sorties) des neurones dans la couche ,
 : fonction d'activation pour la couche ,
 : matrice de poids pour les neurones entre les couches et ,

Si le nombre de sommets sur la couche est égal au nombre de sommets sur le calque et si est la matrice d'identité, la propagation vers l'avant à travers la fonction d'activation se simplifie en Dans ce cas, la connexion entre les couches et s'appelle un bloc d'identité .

Dans le cortex cérébral, ces sauts vers l'avant sont effectués pour plusieurs couches. Habituellement, tous les sauts vers l'avant partent de la même couche et se connectent successivement aux couches ultérieures. Dans le cas général, cela sera exprimé comme (alias DenseNets)

.

Propagation vers l'arrière modifier

Pendant l'apprentissage par rétropropagation pour le chemin normal

et pour les chemins de saut (presque identiques)

.

Dans les deux cas

un taux d'apprentissage ( ,
le signal d'erreur des neurones au niveau de la couche , et
l'activation des neurones au niveau de la couche .

Si le chemin de saut a des poids fixes (par exemple la matrice d'identité, comme ci-dessus), alors ils ne sont pas mis à jour. Si elles peuvent être mises à jour, la règle est une règle de mise à jour de rétropropagation ordinaire.

Dans le cas général, il peut y avoir sauter les matrices de pondération des chemins, donc

Comme les règles d'apprentissage sont similaires, les matrices de poids peuvent être fusionnées et apprises durant la même étape.

Références modifier

  1. a b et c Kaiming He, Xiangyu Zhang, Shaoqing Ren et Jian Sun « Deep Residual Learning for Image Recognition » () (DOI 10.1109/CVPR.2016.90, arXiv 1512.03385, lire en ligne)
  2. Gao Huang, Zhuang Liu, Laurens Van Der Maaten et Kilian Q. Weinberger « Densely Connected Convolutional Networks » () (DOI 10.1109/CVPR.2017.243, arXiv 1608.06993, lire en ligne)
  3. Sepp Hochreiter et Jürgen Schmidhuber, « Long short-term memory », Neural Computation, vol. 9, no 8,‎ , p. 1735–1780 (PMID 9377276, DOI 10.1162/neco.1997.9.8.1735, S2CID 1915014, lire en ligne)
  4. Srivastava, Greff et Schmidhuber, « Training Very Deep Networks », Advances in Neural Information Processing Systems 28, Curran Associates, Inc., vol. 28,‎ , p. 2377–2385 (lire en ligne)
  5. Deng, Dong, Socher et Li, « Imagenet: A large-scale hierarchical image database », CVPR,‎ (lire en ligne)
  6. (en) Jürgen Schmidhuber, « The most cited neural networks all build on work done in my labs », AI Blog, IDSIA, Switzerland,‎ (lire en ligne, consulté le ).