Une compréhension intuitive de la profondeur d'une partie de convolution d'apprentissage

Lei Note du réseau Feng: Cet article est une compilation du blog de la technologie de groupe de Lei Feng, le titre original Intuitivement Comprendre Convolutions pour Deep apprentissage, auteur Irhum Shafkat.

Traduction | Zhipeng Relecture Zhao Pengfei | Dixiu Chuan finition | Jiang Fan

Ces dernières années, avec l'émergence d'un cadre puissant d'apprentissage profond, pour construire un réseau de neurones convolution devient très facile à apprendre dans le modèle de profondeur, ou même une seule ligne de code peut être complété.

Mais il faut comprendre convolution, en particulier pour la première fois le contact avec convolution réseau de neurones, il noyaux de convolution concept souvent confus, les filtres, et d'autres canaux et leur architecture d'empilage tel. Cependant convolution est un concept puissant et hautement évolutive, dans cet article, nous allons progressivement briser les principes de fonctionnement de convolution, son niveau liaisons réseau connecté pleinement, et d'explorer comment construire une solide hiérarchie visuelle, ce qui rend image haute performance caractéristique d'extraction.

2 convolution dimensions: opérateur

2 convolution dimensionnelle est une opération assez simple: depuis le début du noyau de convolution, qui est une petite matrice de poids. Le noyau de convolution à deux dimensions sur les données d'entrée « glissement » de certains éléments de la multiplication de la matrice d'entrée en cours, puis les résultats sont résumés dans un seul pixel de sortie.

Une norme convolutif

Ce processus est répété noyau de convolution savoir traverser toute l'image, une matrice à deux dimensions dans une autre matrice à deux dimensions. Dans lequel la sortie et l'entrée pondérée sensiblement dans la même position sur les données (poids du noyau de convolution est une valeur elle-même)

Si les données d'entrée entrent dans cette « zone à peu près semblable », détermine directement les données de sortie après que le noyau de convolution. Cela signifie que la taille du noyau de convolution détermine directement la quantité de convergence (ou plusieurs) fonction d'entrée lors de la création de nouvelles fonctionnalités.

Ceci est tout à fait contraire à la couche entièrement connecté. Dans l'exemple ci-dessus, nous vous proposons entrée est de 5 * 5 = 25, les données de sortie est égal à 3 * 3 = 9. Si l'on utilise une norme entièrement connecté couche, elle produira un 25 * 9 = 225 paramètre matrice de poids chaque sortie est la somme pondérée de toutes les données d'entrée. opération de Convolution nous permet de réaliser cette transformation avec seulement neuf paramètres, caractéristiques de chaque sortie ne sont pas « voir » chaque fonction d'entrée, mais juste « voir » la fonction d'entrée d'environ au même endroit. S'il vous plaît noter car il est essentiel pour nous plus tard dans la discussion.

Certaines techniques couramment utilisées

Avant de continuer à introduire convolution de réseau de neurones, la couche de convolution décrit deux techniques couramment utilisées: Rembourrage et Strides

  • Padding: Si vous voyez l'animation ci-dessus, vous remarquerez que dans le processus de convolution noyaux diapositive, le bord est essentiellement « coupé » out, comportera 5 * 5 transformation de la matrice est caractérisée par 3 * 3 matrice. Pixels sur le bord de l'éternité est pas au centre du noyau de convolution, parce que rien du noyau peut s'étendre au-delà des bords. Ce n'est pas idéal parce que nous voulons souvent la taille de la sortie est égale à l'entrée.

Certaines opérations de remplissage

Rembourrage a des moyens très intelligents pour résoudre ce problème: avec des pixels de « faux » supplémentaires (généralement une valeur de 0, si souvent utilisé le terme « zéro padding ») de bord rempli. Ainsi, lorsque le noyau de convolution peut permettre un coulissement pixel de bord brut en son centre, tout en prolongeant au-delà du bord du pixel factice, résultant en entrée et en sortie de la même taille.

Striding: Lors de l'exécution couche de convolution, on généralement souhaitable que la taille d'entrée de la sortie est plus faible. Il est courant dans le réseau neuronal convolutif, ce qui réduit le nombre de canaux augmente dans les mêmes dimensions spatiales. Une méthode consiste à utiliser la couche mise en commun (par exemple, 2 x 2, pris chaque moyen de grille / mi-hauteur des dimensions de l'espace). Une autre méthode consiste à utiliser Franchir:

Une opération de convolution de l'étape 2 de

idée Stride est de changer le noyau de convolution étape de déplacement des pixels sauter. Enjambée est un noyau de convolution représente une distance est glissée au-dessus de chaque pixel de l'une, est la glissière en une étape la plus élémentaire en tant que mode de convolution standard. 2 est représenté par un noyau de convolution de foulée déplacer l'étape 2, pour sauter les pixels adjacents, l'image originale est réduite à 1/2. Enjambée 3 est représenté par le noyau de convolution est une étape de déplacement 3, en sautant deux pixels adjacents, l'image est réduite à 1/3 de l'original

De plus en plus nouvelle structure de réseau, tel que ResNet, a complètement abandonné la couche de mise en commun. Lorsque la nécessité d'une méthode de réduction de l'image sera utilisée Stride.

Multi-canaux Version

Bien sûr, l'image de la figure comporte un seul canal d'entrée. En fait, la majeure partie de l'image d'entrée est un 3 canaux, le numéro de canal augmentera seulement la profondeur de votre réseau. Le canal sera généralement considéré comme une image entière, mettant l'accent sur tous ses éléments et ne pas se concentrer sur un côté de leurs différences.

La plupart du temps, nous traitons l'image à trois canaux de RBG (Crédit: André Mouton)

Filtre: un ensemble de noyaux de convolution

Les deux sont essentiellement la différence entre les termes: que dans le cas du canal 1 et le filtre du noyau est équivalent à deux termes, en général, ils sont différents. Chaque filtre est en fait un ensemble de noyau de convolution, chaque couche de canal d'entrée comporte un noyau de convolution, et est unique.

des couches de chaque convolution de sortie du filtre un seul canal, ils sont mis en oeuvre comme suit:

Chaque filtre à noyau de convolution sur un canal d'entrée respectif « coulisse », chaque résultat de calcul est générée. D'autres noyaux que le noyau peut avoir un poids plus important à certains des canaux d'entrée est supérieur à un certain noyau d'accentuation (par exemple, le filtre à noyau de convolution de canal rouge peut avoir un poids plus important que les autres canaux du noyau de convolution, par conséquent, la réaction des caractéristiques de canal rouge mieux que d'autres canaux).

Le résultat de chaque canal de traitement est coule ensuite ensemble pour former un canal. Filtres de noyau de convolution génèrent chacun un canal de sortie respectif, et enfin l'ensemble du filtre produit un canal de sortie totale.

Le dernier terme: parti pris. rôle polariser est d'augmenter ici le terme de polarisation pour chaque sortie de filtre pour produire un canal de sortie finale.

Autre nombre brut de filtres et le filtre unique Chengdu même: chaque filtre en utilisant un ensemble différent de terme de polarisation de noyau de convolution et le scalaire ayant la procédure ci-dessus pour traiter les données d'entrée, pour générer un canal de sortie final. Ils ont ensuite été réunis ensemble pour produire la sortie totale, dans lequel le nombre de canaux de sortie est le nombre de filtres. Avant que les données de sortie de convolution dans une autre couche, généralement aussi la fonction d'activation non linéaire. Pour terminer l'opération ci-dessus est répétée pour construire un réseau.

2 convolution dimensions: Intuition

Convolution est encore transformation linéaire

Même avec la couche de convolution de mécanisme, il est encore difficile avec le feed-forward de liaison standard de réseau, mais il n'explique pas pourquoi la convolution sera étendue au domaine du traitement des données d'image, et une bonne performance à cet égard.

Supposons que nous ayons une entrée d'un 4 × 4, nous devons convertir en un tableau 2 × 2. Si l'on utilise le réseau de précompensation, nous allons d'abord convertir l'entrée en une longueur de 4 x 4 pour les vecteurs 16 et 16 possède une entrée 4 d'entrée et de la couche dense connexion de sortie. Cette couche peut imaginer une matrice de poids W:

En résumé, il y a 64 paramètres.

En dépit de l'opération de convolution semble d'abord étrange, mais il est encore une transformation linéaire, il y a une matrice de transformation équivalente. Si on entre une taille de 4 × 4 K 3 après transformation nucléaire est appliquée pour obtenir la sortie de la 2 × 2, la matrice de transformation équivalente est:

Il y a neuf paramètres

(Note: Bien que la transformation de la matrice ci-dessus est équivalente à une matrice, mais l'opération proprement dite est généralement très différente comme une multiplication de matrice réalisée )

Circonvolution, dans son ensemble, continue d'être une transformation linéaire, mais en même temps, cela est un autre type de transformation. Une matrice à 64 éléments, seuls neuf paramètres sont réutilisés. Chaque noeud ne peut voir le nombre de sortie (import nucléaire interne) entrées spécifiques. Aucune interaction avec d'autres entrées, parce que le poids est réglé sur 0.

L'opération de convolution est considérée comme une matrice de poids a priori est très utile. Dans cet article, je les paramètres réseau prédéfinis. Par exemple, lorsque vous utilisez le modèle pré-formé pour faire la classification d'images, à condition que les paramètres du réseau à l'aide de pré-formation, comme une caractéristique d'une liaison de couche dense extracteur.

Dites En ce sens, il y a deux intuition est pourquoi il est très efficace (par rapport à leur remplacement). La migration pour en savoir plus efficace que les commandes d'initialisation aléatoire de grandeur, parce que vous avez seulement besoin d'optimiser les paramètres de la couche finale de entièrement connecté, ce qui signifie que vous pouvez avoir des performances exceptionnelles, chaque classe quelques images douzaine.

Ici, vous n'avez pas besoin d'optimiser tous les paramètres 64, parce que nous allons dont la plupart est fixé à 0 (et toujours maintenir cette valeur), la part restante est convertie en paramètres qui conduisent en fait seulement neuf paramètres à optimiser. Cette efficacité est importante, lorsque le réel dans 224 × 224 × 3784 l'image de la conversion entrée temps MNIST, il y aura 150.000 entrées. vue de la couche dense de l'entrée divisée par deux à 75000, ce qui nécessite encore paramètre 10 milliards. En revanche, ResNet-50 un total de seulement 2000 l'argument 5.000.000.

Ainsi, certains des paramètres fixes à 0, les paramètres de liaison pour améliorer l'efficacité, mais avec autre étude de la migration, l'étude de la migration, nous savons a priori n'est pas bon, car il dépend d'un grand nombre d'images, comment pouvons-nous savoir ce qui est bon ou mauvais il?

La réponse se trouve dans la combinaison des caractéristiques, en face du paramètre est un paramètre à apprendre.

localité

Au début de cet article, nous examinons les questions suivantes:

  • noyau de convolution à partir de seulement une petite région locale de pixels pour former une composition de sortie. En d'autres termes, les caractéristiques de sortie seulement « voir » les caractéristiques d'entrée d'une petite région.

  • le noyau de convolution est appliquée à l'ensemble de l'image, pour générer une matrice de sortie.

Donc, avec l'arrière-propagation est venu tout de noeuds classifiés du réseau, le noyau de convolution a une tâche intéressante d'apprendre des poids de l'entrée locale, les caractéristiques de génération. En outre, étant donné que le noyau de convolution lui-même est appliquée à l'ensemble de l'image, dans lequel le noyau de convolution doit être suffisamment générale pour apprendre, il peut être de toute partie de l'image.

Si tel était tout autre type de données, par exemple, l'installation APP de données ventilées, ce qui serait une catastrophe, car le nombre de vos applications installées et les types d'applications sont contiguës, ne signifie pas qu'ils ont quelque chose à voir avec l'application installée date et l'heure que les communes « caractéristiques locales, partagées. » Bien sûr, ils peuvent avoir une des caractéristiques de haut niveau potentiels se trouvent (par exemple. Les gens ont le plus besoin est ce que les applications), mais assez ne nous donne pas des raisons de croire que deux des deux premiers paramètres et paramètres complètement même. Ces quatre peut être une séquence (constante), et est toujours valide!

Cependant, le pixel est toujours dans un ordre cohérent d'apparition, et les pixels influence près de l'autre. Par exemple, si un pixel à proximité de tous les pixels sont rouges, alors le pixel est susceptible de rouge aussi. S'il y a un écart, ce qui est une anomalie intéressante, il peut être transformé en fonction, tous ces écarts peuvent être détectés en comparant avec les pixels environnants.

L'idée est en fait la base pour un grand nombre des premières vision par ordinateur des méthodes d'extraction de caractéristiques. Par exemple, pour la détection de bord, on peut utiliser le filtre de détection de bord Sobel, qui est un coeur, et une norme de convolution processus de fonctionnement mono-canal ayant comme paramètres fixes:

convolution de détection de bord vertical

Pour pas de bord de la matrice (par exemple fond de ciel), la plupart des pixels sont de la même valeur, la sortie du noyau de convolution est égale à zéro à ces points. Pour les matrices de bords verticaux, bords gauche et droit des pixels sont différents, les résultats du noyau de convolution est non nulle, révélant ainsi le bord. Dans la détection d'anomalie zone locale, un noyau de convolution d'agir uniquement sur une matrice 3 × 3, mais lorsqu'il est appliqué à l'image entière, mais aussi assez pour détecter une caractéristique particulière de l'image à une position quelconque dans la portée globale ,!

Ainsi, la différence essentielle que nous faisons dans l'étude approfondie de cette question est de se demander: l'énergie nucléaire est utile pour apprendre? Pour les couches initiales de la base de pixels d'origine, on peut raisonnablement attendre détecteur de caractéristiques ayant des caractéristiques de niveau relativement bas, comme des lignes secondaires.

Etude approfondie et la recherche accent est mis sur l'ensemble de la branche du interprétabilité du réseau de neurones. L'un des outils les plus puissants pour cette branche est caractérisée en utilisant une méthode d'optimisation pour visualiser . L'idée de base est simple: à l'image optimize (en utilisant généralement l'initialisation du bruit aléatoire) pour activer le filtre, le rendre aussi fort. Ceci est en effet très simple: si le bord est complètement rempli d'image optimisée, qui est le filtre lui-même et des preuves solides que trouver d'activation. Avec cela, nous pouvons jeter un regard dans l'étude de filtre, les résultats sont stupéfiants:

De GoogLeNet une troisième caractéristique du canal convolutif différente couche de visualisation, il est à noter, même lorsqu'ils détectent différents types de pointe, ils sont encore très bas détecteur de bord.

Caractérisé en ce canal 12 à partir de la deuxième et de la troisième visualisation de convolution.

Il convient de noter que la chose importante est le résultat d'une convolution de l'image encore d'image. Fond de sortie de la matrice de pixels dans le coin supérieur gauche de la dépouille d'image. Ainsi, vous pouvez exécuter une autre couche de convolution (par exemple, deux à gauche) au-dessus d'une autre pour extraire des caractéristiques plus profondes, que nous pouvons imaginer.

Cependant, peu importe la profondeur de notre détecteur de caractéristiques peut détecter, sans autre modification, ils peuvent encore ne fonctionne que sur une très petite image. Peu importe la profondeur de votre détecteur, vous ne pouvez pas être détecté à partir du tableau 3 × 3 d'un visage humain. Tel est le concept d'expérience de domaine.

champ réceptif

Tous les choix de conception de base l'architecture CNN est entrée à la fin de la taille du réseau devient de plus en plus petit depuis le début, alors que le nombre de canaux de plus en plus profond. Comme décrit précédemment, cette étape est souvent par des couches complètes ou piscines. Localité détermine l'entrée de la couche de sortie voir couche précédente. champ récepteur détermine la région d'entrée d'origine vu du point de vue de l'ensemble de sortie de réseau.

Les bandes concept convolution est que nous traitons uniquement avec une distance fixe, tout en ignorant milieu de ceux-ci. D'un autre point de vue, nous ne gardons que la sortie à une distance fixe, et enlever la partie restante de .

3 × 3 convolution, l'étape 2

Nous appliquons ensuite la sortie linéaire, et en fonction de la situation normale, la convolution se superpose une autre nouvelle couche. Ce qui est intéressant. Même si nous avons la même taille et la même région locale nucléaire (3 × 3), une bande appliquée à la sortie de convolution, aura un champ récepteur nucléaire plus:

En effet, les bandes de couche de sortie représente toujours la même image. Il n'a pas été redimensionnée comme culture, le seul problème est que la sortie de chaque pixel est une grande région (d'autres pixels à être mis au rebut), la position grossière « typique » à partir de la même entrée d'origine. Par conséquent, lorsque les noyaux de couche inférieure en cours d'exécution à la sortie, il est effectivement en cours d'exécution sur le pixel recueillies à partir d'une zone plus grande.

(Note: Si vous êtes familier avec l'expansion de convolution, note de convolution ci-dessus n'est pas l'expansion sont deux façons d'augmenter réceptifs convolution d'expansion de champ est une seule couche, ce qui se passe sur une convolution régulière, rayures suivi. convolution, le cadre intermédiaire est non-linéaire)

Chaque grand visualisant convolution de canal ensemble de blocs, en augmentant progressivement la complexité de l'écran

Ceci permet l'expansion du champ récepteur des caractéristiques de convolution de la couche de niveau bas (côté ligne) et la caractéristique de niveau plus élevé (courbe, texture) combinaison, comme nous l'avons vu dans la couche comme mixed3a.

Suivie par la mise en commun / à travers la couche, le réseau continue de créer un détecteur de niveau supérieur est une caractéristique des composants, (mode). Comme nous l'avons vu dans mixed4a.

Réseau, la taille de l'image répétée diminue, ce qui entraîne la convolution du cinquième bloc, seule la taille de l'entrée 7 × 7, par rapport à l'entrée 224 × 224. De ce point de vue, chaque pixel représente la matrice de 32 × 32 pixels, ce qui est assez grande.

Par rapport à la couche précédente, une couche de ce qui précède, l'activation d'un moyen de détection de limite, et ici, une caractéristique de haut niveau est activée sur un 7 × 7, par exemple des oiseaux.

L'ensemble du réseau à partir d'un petit filtre (GoogLeNet 64), seule la détection des caractéristiques de faible niveau, le développement de filtres avec un grand nombre (1024 dans la convolution finale du réseau), chaque filtre est utilisé pour trouver une fonction de haut niveau spécifique . Après couche de mise en commun est, chacun des 7 × 7 du tableau simplifié dans un pixel, chaque canal est un détecteur de caractéristique a une image entière correspondant au champ réceptif.

Par rapport aux travaux réalisés antérieurement à diffuser le réseau, où la sortie surprenant. Avant un vecteur standard généré à partir d'un ensemble abstrait de pixels dans l'image aux réseaux de communication, les données nécessite beaucoup de formation est difficile à manipuler.

Circonvolution réseau de neurones, avec les prieurs qui lui sont imposées, en apprenant des détecteurs de caractéristiques à faible niveau de départ, étape par étape l'expansion de son champ réceptif, l'apprentissage de l'intégration progressive de ces caractéristiques à faible niveau et les caractéristiques de haut niveau, abstrait pas chaque pixel combiné, mais puissant concept de hiérarchie visuelle.

La détection d'objets par le premier niveau, et les utiliser pour détecter les caractéristiques de haut niveau, avec le niveau de développement visuel, et, finalement, être en mesure de détecter l'ensemble des concepts visuels, tels que des visages humains, les oiseaux, les arbres, etc., ce qui explique pourquoi ils sont si puissants, mais il peut effectivement utiliser des données d'image.

Enfin, une description de l'attaque contre

Avec la construction du réseau de neurones de convolution de hiérarchie visuelle, on peut raisonnablement supposer que leur système visuel similaire à l'homme. Ils montrent une grande dans le traitement des images réelles, mais ils ont également échoué à certains égards, cela suggère fortement que leur système visuel humain et ne sont pas tout à fait similaire. Le principal problème: échantillon de confrontation , ces échantillons a été apporté des modifications spéciales conduit au modèle dupé.

Pour les humains, deux images sont évidemment panda, mais le modèle est pas le cas.

Si les humains peuvent remarquer ces cas conduisent à l'échec du modèle a été falsifié, puis contre l'échantillon est pas un problème. Le problème est que ces modèles sont vulnérables à l'échantillon, ces échantillons ont été légèrement modifiés, et apparemment ne tromperai pas tout être humain. Cela ouvre une porte, un petit échec comme un modèle pour les véhicules autonomes à partir d'un large éventail d'applications aux soins de santé, il est très dangereux.

Robustesse contre les attaques est très domaine de recherche, beaucoup de papiers, et même des problèmes de concurrence et des solutions amélioreront certainement l'architecture CNN pour le rendre plus sûr et plus fiable.

conclusion

Circonvolution réseau de neurones est de permettre aux applications de vision par ordinateur vont de simples à des modèles complexes qui pilotent les produits et services de votre photothèque pour détecter les visages humains pour améliorer le diagnostic médical. Il pourrait être la clé pour aller de l'avant méthode de vision par ordinateur, ou une nouvelle percée peut être en vue.

Dans tous les cas, une chose est certaine: ils sont tous chose étonnante est au cur d'un grand nombre d'applications innovantes d'aujourd'hui, et le plus en profondeur la compréhension.

références

  • Un guide à l'arithmétique de convolution pour l'apprentissage en profondeur (https://arxiv.org/abs/1603.07285)

  • CS231n convolutifs Neural Networks pour la reconnaissance visuelle - Convolutif Réseaux de Neurones (

  • Visualisation des fonctions - Comment les réseaux de neurones construire leur compréhension des images (de la note: les caractéristiques ont été produites ici visualisations avec la bibliothèque Lucid, une implémentation open source des techniques de cet article de revue) (https://distill.pub/2017/ fonctionnalité de visualisation /)

  • Attaquer Apprentissage avec les exemples accusatoires (https://blog.openai.com/adversarial-example-research/)

  • plus de ressources

  • fast.ai - Leçon 3: Améliorer votre image classificateur (

  • Conv Nets: une perspective modulaire (

  • Construire des modèles puissants de classification des images en utilisant très peu de données (https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html)

  • Lei Feng Lei Feng net net

    Il est temps de déterminer: Galaxy Note8 sera publié à New York le 26 Août!
    Précédent
    Hu Ge « Après avoir été marié » première apparition, et « moucherons » Wu Lei câlin chat sexy
    Prochain
    Depuis aucun charme téléphone bleu, Meizu Note8 ou un défi Lenovo K5 Pro!
    Intelli-atterrissage avant-garde Hoi Mei Di de réseau intelligent 4K UHD évaluation des joueurs
    Xiaolong 835 du successeur de PC frappé, Samsung est toujours le droit de saisir la première mondiale!
    terrain de jeu LPL avant que les joueurs sont devenus obsédés par la chasse voyage? Yan petite soeur non seulement la technologie de jeu à haute valeur ajoutée est plus puissant!
    La sortie de la version améliorée de chaussures Forrest Gump, Nike Cortez Flyknit Avez-vous l'esprit de l'eau?
    Rinspeed pilote automatique de libération Oasis + énergie solaire
    Les ventes, le bouche à oreille double récolte! OPPO R11 première broche recherchés par les utilisateurs
    téléphones défenseur des consommateurs CCTV papiers: Ce programme phare vus!
    Idol groupes sparring: recherche chaud sur Ouyang Nana et demander de l'aide! Le deuxième trimestre est les plus grands noms se sont réunis!
    Si Tesla éviter troublait condition médiocre, je suppose que Musk acceptera?
    La musique, la première voiture de production de masse FF91 sorti de la vente de 1.040.000
    MediaTek continuer à forcer la mi-marché, une nouvelle génération de Helio P70 ou se terminera bientôt!