Algorithme | principe de réalisation de la figure montre un mouvement réseau de neurones convolution à deux dimensions

Figure: pixabay

Maintenant, l'ampleur et de l'importance des applications de réseau de neurones convolutionnels dans le domaine de l'intelligence artificielle peuvent être décrits comme allant de soi. Afin de permettre à tout le monde une compréhension claire du type de convolution, je peux aperçu rapide des différents types de convolution et ses avantages. Par souci de simplicité, je suis seulement préoccupé par la convolution à deux dimensions.

1, convolution (Convolutions)

Tout d'abord, nous devons définir quelques couches de convolution de paramètres.

La figure 1 noyau de convolution de dimension de taille 3, les étapes 1

Taille du noyau: la taille du noyau définit la convolution de vision. 3-- choix commun est à deux dimensions, à savoir 3x3 pixels.

Étape: définir un pas à pas lors du déplacement de l'image du noyau. Bien que sa valeur par défaut est généralement 1, mais on peut utiliser deux étapes, similaires au maximum de l'image de l'échantillon mis en commun.

padding: comment définir le traitement de remplissage de trame échantillon. A (moitié) maintenant une taille de rembourrage de sortie de convolution spatiale est égale à la taille d'entrée, et si le noyau est supérieur à 1, de ne pas ajouter la convolution va éliminer une partie des limites.

les canaux d'entrée et de sortie: couche de convolution nécessite un certain nombre de canaux d'entrée (I), et calculer un certain nombre de canaux de sortie (O). Ces paramètres peuvent être calculés par la couche requise I * O * K, où K est le nombre égal à la valeur du noyau.

2, l'expansion de convolution (dilatée Convolutions) (et convolution Mingelusi)

Convolution extension de convolution introduire une autre couche sont appelés paramètres de rapport d'expansion. Cela définit la valeur de l'espacement entre les noyaux. Le taux d'expansion du noyau 23x3 noyau 5x5 aura le même champ de vision, alors que seulement neuf paramètres. Imaginer l'utilisation d'un noyau de 5x5 et de supprimer chaque espacement de ligne et de colonne.

La figure 2 convolution à deux dimensions, le taux de croissance de 2 à 3 noyaux, pas de remplissage

Il permet au système d'offrir une gamme plus large d'observation au même coût de calcul. Expansion dans convolution en temps réel des zones divisées particulièrement populaires. Si vous avez besoin d'une plus grande plage de visualisation, et ne peut pas se permettre plus noyau ou plus convolution, envisager de l'utiliser.

3, convolution de transposition (Transposée Convolutions) (également connu sous le nom circonvolution enroulée du segment ou la déconvolution)

Certaines personnes utilisent déconvolution ce nom, ce n'est pas particulièrement pertinent, car il n'est pas une déconvolution. Pour aggraver les choses déconvolution existe, mais il est rare dans la profondeur de champ d'étude. Le processus de déconvolution réelle est inversée convolution. Imaginer l'entrée d'image à une seule couche de convolution. Maintenant sortie pour être placé dans une boîte noire, et l'image d'origine est sortie à nouveau. La boîte noire était une opération de déconvolution. Ceci est la convolution mathématique de la couche d'inversion.

Convolution est transposé d'une manière similaire à celle de la résolution spatiale et il est supposé déconvolution produit une couche est le même. Cependant, les opérations mathématiques même a eu lieu les valeurs sont différentes. La transposition est de convolution effectue classiques de la couche de convolution, mais il reprendra sa transformation spatiale.

La figure 3 dimensions convolution pas de rembourrage, les étapes 2 et 3 core

Sur ce point, vous pouvez vous sentir confus, alors regardons un exemple spécifique. L'image est amené à une couche de convolution 5x5. Son rythme est réglé sur 2, rembourrage désactivé, le noyau est 3x3. Le résultat est une image 2x2.

Si nous voulons inverser ce processus, nous avons besoin de mathématiques pour générer contre neuf valeurs de pixels de chacune de nos entrées. Après cela, nous avons mis le rythme de 2 pour parcourir l'image de sortie. Ce sera une déconvolution.

La figure 4 transposée convolution à deux dimensions pas de remplissage, les étapes 2 et 3 core

Les opérations telles Transposer ne seront pas la convolution. La seule chose commune est qu'il assure que la sortie sera une image d'un 5x5, alors que toujours effectuer une opération de convolution normale. Pour y parvenir, nous devons effectuer une belle rembourrage sur l'entrée.

Comme vous pouvez l'imaginer maintenant, cette étape ne revient pas sur le processus d'en haut. À l'exclusion d'au moins la valeur.

Il est seulement dans le passé sur la base de l'opération de convolution de résolution spatiale et à la reconstruction. Cela peut ne pas être une inversion mathématique, mais pour l'architecture COdeurDECodeur, il est toujours très utile. De cette façon, nous pouvons évoluer la combinaison d'image convoluée, plutôt que deux processus distincts séparément.

4, une convolution séparable (séparable Convolutions)

Dans une convolution séparable, on opération noyau peut être divisé en plusieurs étapes. Nous convolution y = conv (x, k), où y est l'image de sortie, x est l'image d'entrée, k est le noyau. Cette étape est très simple. Ensuite, nous supposons k peut être calculé par l'équation suivante: k = k1.dot (K2). Cela fera une convolution séparable, parce que nous pouvons faire une convolution à deux dimensions de k1 et pour atteindre les k2 mêmes résultats, plutôt que k convolution à deux dimensions faire.

5 la figure Sobel filtres X et Y

Nous noyau habituellement Sobel pour le traitement d'image, par exemple. Vous pouvez et .T noyau obtenu en multipliant le même vecteur. Lorsque vous effectuez la même opération, vous avez seulement besoin de six au lieu de neuf paramètres.

L'exemple ci-dessus montre que l'on appelle l'espace convolution séparable, pour autant que je sache, ce n'est pas dans l'apprentissage en profondeur. Je veux juste vous assurer que lorsque les autres luttaient pour fonctionner, vous ne serez pas si confus. Dans un réseau de neurones, nous utilisons habituellement quelque chose appelé réseau de neurones de convolution séparable de profondeur.

Ceci effectue une convolution spatiale, tout en maintenant des canaux séparés, la profondeur de convolution. À mon avis, afin d'approfondir la compréhension, il peut être utilisé comme un exemple de modèle.

Supposons une convolution 3x3 dans une couche sur un 16 canaux d'entrée et 32 voies de sortie. Il doit se produire dans chacun des canaux 16 par un noyau 3x332 est traversée pour produire une cartographie 512 (16x32) caractéristique. Ensuite, nous avons mis en correspondance avec la synthèse d'une grande somme par les caractéristiques de chaque carte du canal d'entrée. Étant donné que nous pouvons le faire 32 fois, donc nous obtenons le canal de sortie désiré 32.

Ainsi, pour le même exemple, la profondeur de la performance de convolution séparable et comment est-il? Nous parcourons les 16 canaux, chacun avec un noyau 3x3, fonction carte 16 peut être donnée. Maintenant, avant de faire des opérations de fusion, nous allons parcourir les 16 cartes de fonction, contenant chacun 321x1 convolution, puis seulement par ce début ajoutant. Cela conduit à l'décrite ci-dessus 4608 (16x32x3x3) opposée aux paramètres 656 (16x3x3) + 16x32x1x1 paramètres.

Cet exemple est une implémentation spécifique d'une profondeur de convolution séparable, dans lequel le multiplicateur est un soi-disant profonde. Ceci est de loin le plus commun de ces paramètres de calque.

Nous faisons cela parce que l'espace d'hypothèses et informations détaillées peuvent être découplés. Par comparaison, les performances du modèle Xception, vous pouvez trouver cette théorie semble être valide. En fait, le dispositif mobile peut également être utilisé dans une profondeur de convolution séparable. Parce que leurs paramètres peuvent être utilisés efficacement.

5 résumé

Jusqu'à présent, on peut dire pour l'introduction du type de réseau de convolution prendra fin. J'espère vous aider à un bref regard sur cette question. Et la prochaine, nous allons vous montrer quelques animations de convolution pour vous aider à faire cette étape profonde compréhension.

01 foulée sans rembourrage pas

02 pas la foulée de remplissage aléatoire

03 et demi sans foulée de rembourrage

04 foulée complète sans rembourrage

05 rembourrage non non foulée Transpose

06 pas transposé la foulée de remplissage aléatoire

07 et demi sans rembourrage foulée Transpose

08 foulée complète sans rembourrage Transpose

09 Il n'y a pas foulée de rembourrage

10 Il y a eu la foulée de rembourrage

Il doit y avoir bourrage 11 étapes (impair)

Source: Intelligence artificielle Turing

la science Fun | modélisation mathématique et la résolution du développement de l'amour
Précédent
« Peu importe comment les pauvres, doivent économiser de l'argent pour Voyage. »
Prochain
Âgé de 54 ans de la police d'ouvrir une deuxième carrière, vous êtes ici, il est un miracle!
Academia | eaux et les îles de la recherche du système de lutte contre le terrorisme sur le renseignement
Pour manger vaut aller, vous avez été à quelques?
Ressources | populaires outils d'apprentissage machine open source, et l'inventaire des projets (collecte recommandée)
Guangzhou-Shenzhen-Hong Kong Express Rail Pass enfin! 14 minutes directement, il y a cette chose que vous devez savoir
Vue: Ne parlez pas vers le bas C Lo QI basket et les ondes radio roi, ne perd pas son aide Messi!
Chanson Zhiping: Je crois que les futurs entrepreneurs croient
Ce feu de la figure! Un peu gêné, mais la douleur était rapide ......
Où été Août? Le voyage à vous recommander pour trouver un été frais
Enregistrer! Ou sauver!
Je vous conseille de ne pas aller facilement à la Nouvelle-Zélande, parce que ......
Que Dali, Lijiang calme que simple, confortable que le Shangri-La! Ceci est la petite ville idyllique comme