Maison >Problème commun >structure du réseau resnet
ResNet a été proposé conjointement par He Kaiming, Zhang Xiangyu, Ren Shaoqing et Sun Jian en 2015. En utilisant l'unité résiduelle pour former avec succès un réseau neuronal profond de 152 couches, il a remporté le championnat du concours ILSVRC 2015. , atteignant un taux d'erreur Top5 de 3,57 %, tandis que le nombre de paramètres est inférieur à celui de VGGNet, et l'effet est très remarquable. La structure de ResNet peut accélérer extrêmement rapidement la formation de réseaux neuronaux ultra-profonds, et la précision du modèle est également grandement améliorée.
L'inspiration originale de ResNet est venue de ce problème : lorsque la profondeur du réseau neuronal continue d'augmenter, un problème de dégradation se produira, c'est-à-dire , précision Le taux augmentera d'abord puis atteindra la saturation, et continuer à augmenter la profondeur entraînera une diminution de la précision. Il ne s’agit pas d’un problème de surapprentissage, car non seulement l’erreur sur l’ensemble de test augmente, mais l’erreur sur l’ensemble d’apprentissage lui-même augmentera également. (Apprentissage recommandé : Tutoriel vidéo PHP)
ResNet utilise une nouvelle idée L'idée de ResNet est de supposer que nous impliquons une couche réseau et qu'il existe un réseau optimisé. couche, puis souvent, les réseaux profonds que nous concevons comportent de nombreuses couches réseau redondantes. Nous espérons ensuite que ces couches redondantes pourront compléter le mappage d'identité pour garantir que les entrées et les sorties via la couche d'identité sont exactement les mêmes. Plus précisément, quelles couches sont des couches d'identité peuvent être déterminées par vous-même lors de la formation réseau. Changez plusieurs couches du réseau d'origine en un bloc résiduel.
Supposons qu'un réseau relativement peu profond atteigne une précision saturée, puis ajoutez plusieurs mappages congruents de la couche y=x, au moins l'erreur n'augmentera pas, c'est-à-dire qu'un réseau plus profond ne devrait pas entraîner une augmentation de l'erreur sur l'ensemble d'apprentissage. L'idée mentionnée ici d'utiliser le mappage congruent pour transmettre directement la sortie de la couche précédente à la couche suivante est la source d'inspiration de ResNet. Supposons que l'entrée d'un certain réseau neuronal soit x et que la sortie attendue soit H(x). Si nous transférons directement l'entrée x à la sortie comme résultat initial, alors l'objectif que nous devons apprendre à ce moment est F(x). ) = H(x) -x. Comme le montre la figure, il s'agit d'une unité d'apprentissage résiduelle ResNet (Unité Résiduelle
ResNet équivaut à changer l'objectif d'apprentissage Il n'apprend plus une sortie complète H(x), mais uniquement des sorties et The. la différence d'entrée H(x)-x est le résidu.
Vous pouvez voir que la sortie après changement linéaire et activation de la première couche. Cette figure montre cela dans le réseau résiduel, après le changement linéaire de la deuxième couche et avant. Lors de l'activation, F(x) ajoute la valeur d'entrée X de cette couche, puis sort après l'activation. Ajoutez X avant que la valeur de sortie de la deuxième couche ne soit activée. Ce chemin est appelé connexion raccourci.
Après avoir utilisé la structure de ResNet, on peut constater que le phénomène d'erreurs croissantes sur l'ensemble de formation provoqué par le nombre croissant de couches a été éliminé. L'erreur de formation du réseau ResNet diminuera progressivement au fur et à mesure. le nombre de couches augmente et les performances sur l'ensemble de test s'amélioreront également. Peu de temps après le lancement de ResNet, Google a emprunté l'essence de ResNet et a proposé Inception V4 et Inception ResNet V2. En fusionnant ces deux modèles, il a obtenu un taux d'erreur étonnant de 3,08 % sur l'ensemble de données ILSVRC. On peut voir que la contribution de ResNet et de ses idées à la recherche sur les réseaux de neurones convolutifs est en effet très significative et a une forte généralisabilité.
Pour plus d'articles techniques liés à PHP, veuillez visiter la colonne Tutoriel graphique PHP pour apprendre !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!