Guide de l'apprentissage en profondeur CNN

Publié: 2022-10-14

La capacité de l'intelligence artificielle à combler l'écart entre les compétences humaines et celles de la machine a considérablement augmenté. Les professionnels et les amateurs se concentrent sur de nombreuses facettes du domaine pour obtenir d'excellents résultats. Le domaine de la vision par ordinateur est l'une de plusieurs de ces disciplines.

Table des matières

Nos programmes d'IA et de ML aux États-Unis

Master of Science en Machine Learning & AI de LJMU et IIITB Programme exécutif PG en apprentissage automatique et intelligence artificielle de l'IIITB
Pour explorer tous nos cours, visitez notre page ci-dessous.
Cours d'apprentissage automatique

Le domaine vise à donner aux ordinateurs la capacité de voir et de comprendre le monde comme les humains et d'utiliser cette compréhension pour diverses tâches, y compris la reconnaissance d'images et de vidéos, l'analyse et la catégorisation d'images, la recréation des médias, les systèmes de recommandation, le traitement du langage naturel, etc. est le principal algorithme utilisé pour développer et affiner les améliorations de l'apprentissage en profondeur dans la vision par ordinateur au fil du temps. Découvrons-en plus sur l'algorithme d'apprentissage en profondeur !

Obtenez une certification d'apprentissage automatique des meilleures universités du monde. Gagnez des programmes de maîtrise, Executive PGP ou Advanced Certificate pour accélérer votre carrière.

Qu'est-ce qu'un réseau de neurones à convolution ?

Un réseau de neurones convolutifs ou CNN est une méthode d'apprentissage en profondeur qui peut prendre en compte une image d'entrée, donner à divers éléments et objets de l'importance de l'image, tels que des poids et des biais apprenables, et les distinguer. Comparativement parlant, un CNN nécessite beaucoup moins de prétraitement que les autres techniques de classification. CNN a la capacité d'apprendre ces filtres et propriétés, alors que, dans les techniques primitives, les filtres sont fabriqués à la main.

L'architecture d'un CNN est influencée par l'organisation du cortex visuel et ressemble au réseau de connectivité des neurones du cerveau humain. Les neurones individuels réagissent aux stimuli uniquement dans cette zone de champ visuel restreinte, connue sous le nom de champ récepteur. Une série de tels chevauchements couvrent tout le champ visuel.

L'architecture du réseau de neurones à convolution

L'architecture des réseaux de neurones convolutifs diffère de celle des réseaux de neurones conventionnels. Un réseau neuronal régulier transforme une entrée en la faisant passer à travers plusieurs couches cachées. Chaque couche est constituée d'un ensemble de neurones reliés à tous les neurones de la couche située en dessous. La dernière couche de sortie entièrement connectée est celle où les prédictions sont représentées.

Les réseaux de neurones convolutifs sont structurés un peu différemment. Les couches sont d'abord disposées en trois dimensions : largeur, hauteur et profondeur. De plus, seule une partie des neurones de la couche suivante sont connectés à ceux de la couche inférieure. La sortie sera ensuite condensée en un seul vecteur de score de probabilité et regroupée avec la couche de convolution.

CNN se compose de deux parties :

L'extraction d'entités à partir de couches cachées

Le réseau effectuera une série d'opérations de convolution et de mise en commun dans cette section pour détecter les caractéristiques. C'est là que le réseau identifierait les rayures d'un tigre, deux oreilles et quatre pattes si vous en aviez une image.

Classement des sections

En plus de ces fonctionnalités récupérées, les couches de convolution fonctionneront comme un classificateur dans ce cas. Ils donneront la probabilité que l'objet de l'image corresponde à la prédiction de l'algorithme.

Extraction de fonctionnalités

L'un des composants clés de CNN est la convolution. La combinaison mathématique de deux fonctions pour produire une troisième fonction est appelée convolution. Il combine deux ensembles de données. Une carte de caractéristiques est créée en effectuant une convolution sur les données d'entrée dans le cas d'un CNN à l'aide d'un filtre ou d'un noyau. La convolution est effectuée en déplaçant le filtre sur l'entrée. Chaque emplacement effectue une multiplication matricielle et additionne la sortie sur la carte des caractéristiques.

On fait plusieurs convolutions sur l'entrée, en utilisant un filtre différent pour chaque opération. En conséquence, diverses cartes d'entités sont produites. La sortie de la couche de convolution est finalement assemblée à l'aide de toutes ces cartes d'entités.

Comme tous les autres réseaux neuronaux, nous utilisons un processus d'activation pour rendre notre sortie non linéaire, où la fonction d'activation est utilisée pour envoyer la sortie de la convolution dans un réseau neuronal convolutif.

Types de réseau de neurones à convolution

Couche de convolution :

Le composant fondamental de CNN est la couche de convolution. Il porte la majorité de la charge de calcul sur le réseau. Cette couche crée un produit scalaire entre deux matrices, dont l'une est le noyau, une collection de paramètres apprenables, et l'autre est la zone contrainte du champ récepteur. Comparé à une image, le noyau est plus petit dans l'espace mais plus profond. Cela indique que la largeur et la hauteur du noyau seront spatialement petites si l'image est composée de trois canaux ; cependant, la profondeur augmentera jusqu'aux trois canaux.

Le noyau se déplace sur la hauteur et la largeur de l'image pendant le passage vers l'avant, créant une représentation d'image de cette région réceptive. En conséquence, une représentation bidimensionnelle de l'image appelée carte d'activation est créée, révélant la réponse du noyau à chaque emplacement de l'image. Une foulée est un nom pour la taille coulissante du noyau.

Couche de regroupement :

Cette couche ne fait que réduire la puissance de calcul nécessaire au traitement des données. Ceci est accompli en réduisant davantage les dimensions de la matrice en surbrillance. Nous essayons d'extraire les caractéristiques dominantes d'une petite partie du voisinage dans cette couche.

La mise en commun moyenne et la mise en commun maximale sont deux types différents de stratégies de mise en commun.

Contrairement à Max-pooling, qui prend simplement la valeur la plus élevée parmi toutes celles à l'intérieur de la région de pooling, Average-pooling fait la moyenne de toutes les valeurs dans la région de pooling.

Nous avons maintenant une matrice avec les éléments clés de l'image après regroupement des calques, et cette matrice a des dimensions encore plus petites, ce qui sera très utile dans l'étape suivante.

Couche entièrement connectée :

Une méthode peu coûteuse d'apprentissage des permutations non linéaires des caractéristiques de haut niveau fournies par la sortie de la couche convolutive consiste à ajouter une couche entièrement connectée. Dans cette zone, la couche entièrement connectée apprend maintenant une fonction qui peut ne pas être linéaire.

Après l'avoir converti dans un format approprié pour notre perceptron à plusieurs niveaux, nous aplatirons l'image d'entrée en un vecteur colonne. Un réseau neuronal à anticipation reçoit la sortie aplatie et la rétropropagation est utilisée pour chaque itération d'apprentissage. Le modèle peut catégoriser les images à l'aide de la méthode de classification Softmax en identifiant les caractéristiques dominantes et spécifiques de bas niveau à travers de nombreuses époques.

Couches de non-linéarité :

Les couches de non-linéarité sont souvent incluses juste après la couche de convolution pour ajouter de la non-linéarité à la carte d'activation car la convolution est une opération linéaire et les images sont tout sauf linéaires.

Les opérations non linéaires se présentent sous diverses formes, les plus courantes étant :

Sigmoïde

La formule mathématique de la non-linéarité sigmoïde est () = 1/(1+e ). Il démolit un nombre à valeur réelle dans la plage comprise entre 0 et 1. Le gradient d'un sigmoïde devient presque nul lorsque l'activation est soit à la queue, ce qui est une caractéristique sigmoïde très défavorable. La rétropropagation tuera efficacement le gradient si le gradient local devient trop petit. De plus, supposons que l'entrée du neurone soit exclusivement positive. Dans ce cas, la sortie sigmoïde sera soit exclusivement positive, soit exclusivement négative, conduisant à une dynamique en zigzag de mises à jour de gradient pour le poids.

Tanh

Tanh condense un nombre à valeur réelle dans la plage [-1, 1]. Comme les neurones sigmoïdes, l'activation sature, mais contrairement à eux, sa sortie est centrée sur zéro.

ReLU

L'unité linéaire rectifiée (ReLU) a récemment gagné en popularité. Il effectue le calcul de la fonction ()=max (0,). En d'autres termes, l'activation n'existe qu'à des seuils nuls. ReLU accélère la convergence de six fois et est plus fiable que sigmoïde et tanh.

Malheureusement, ReLU peut être cassant pendant l'entraînement, ce qui est un inconvénient. Un fort gradient peut le mettre à jour en empêchant le neurone de se mettre à jour davantage. Cependant, nous pouvons faire en sorte que cela fonctionne en choisissant un taux d'apprentissage approprié.

Blogs populaires sur l'apprentissage automatique et l'intelligence artificielle

IdO : histoire, présent et avenir Tutoriel d'apprentissage automatique : Apprendre le ML Qu'est-ce que l'algorithme ? Simple et facile
Salaire d'ingénieur en robotique en Inde: tous les rôles Une journée dans la vie d'un ingénieur en apprentissage automatique : que font-ils ? Qu'est-ce que l'IoT (Internet des objets)
Permutation vs combinaison : Différence entre permutation et combinaison Top 7 des tendances en matière d'intelligence artificielle et d'apprentissage automatique Apprentissage automatique avec R : tout ce que vous devez savoir

Commencez votre guide sur CNN Deep Learning avec UpGrad

Inscrivez-vous au Master of Science en apprentissage automatique et intelligence artificielle à UpGrad en collaboration avec LJMU.

Le programme de certificat prépare les étudiants aux rôles techniques actuels et futurs en fournissant des sujets pertinents pour l'industrie. Les projets réels, les études de cas multiples et les universitaires internationaux proposés par des experts en la matière sont également fortement mis en avant dans le programme.

En vous inscrivant, vous pouvez profiter des fonctionnalités exclusives d'UpGrad, telles que la surveillance du réseau, les sessions d'étude et le support d'apprentissage à 360 degrés.

Qu'est-ce que l'algorithme d'apprentissage en profondeur de CNN ?

Le fonctionnement de CNN consiste à obtenir une image, à lui attribuer un poids en fonction des différents éléments de l'image, puis à les séparer les uns des autres. Comparé à d'autres algorithmes d'apprentissage en profondeur, CNN nécessite extrêmement peu de prétraitement des données.

Qu'est-ce qui distingue CNN de l'apprentissage en profondeur ?

L'apprentissage en profondeur est plus souvent utilisé dans le marketing pour paraître plus professionnel qu'il ne l'est. Il existe de nombreuses variétés de réseaux de neurones profonds, dont CNN. Les CNN sont très appréciés en raison de leurs nombreuses utilisations avantageuses dans l'identification d'images.

Pourquoi CNN est-il supérieur à entièrement connecté ?

Les convolutions n'ont pas de connexions denses et tous les nœuds d'entrée n'ont pas d'impact sur chaque nœud de sortie. Grâce à cela, les couches convolutionnelles peuvent désormais apprendre avec plus de flexibilité. De plus, il y a moins de poids par couche, ce qui profite aux entrées de grande dimension comme les données d'image.

CNN n'est-il utilisé que pour les photos ?

Oui. Tout tableau de données 2D et 3D peut être traité à l'aide de CNN.