Il s'agit d'un sous-ensemble de l'apprentissage automatique qui se concentre sur l'utilisation de réseaux de neurones comportant de nombreuses couches pour modéliser et comprendre des modèles complexes dans les données.
Le réseau neuronal est un type d'algorithme d'apprentissage automatique conçu pour apprendre à partir des données en ajustant le poids des connexions entre les neurones en fonction des erreurs dans leurs prédictions.
L'unité fondamentale d'un réseau neuronal est le neurone artificiel, souvent simplement appelé neurone. Un neurone artificiel s'inspire des neurones biologiques du cerveau humain et est chargé d'effectuer un petit calcul spécifique dans le réseau.
1) Chaque neurone reçoit une ou plusieurs entrées, les traite (souvent en appliquant une fonction mathématique), puis produit une sortie.
2) Le neurone applique généralement une somme pondérée de ses entrées suivie d'une fonction d'activation pour introduire une non-linéarité. La sortie de cette fonction est ensuite transmise à la couche suivante du réseau ou sert de sortie finale si elle se trouve dans la couche de sortie.
Entrées : Le perceptron reçoit plusieurs entrées, chacune représentée par un nombre à virgule flottante.
Poids : Chaque entrée est multipliée par un poids correspondant, qui est également un nombre à virgule flottante. Le poids détermine l'importance de la contribution dans le processus de prise de décision.
Sommation : Les entrées pondérées sont ensuite additionnées pour produire une valeur unique.
Seuil (ou Biais) : Le perceptron compare le résultat de la sommation à une valeur seuil
Sortie :
Si la somme est supérieure à 0 (ou au seuil), le perceptron produit 1 (ou 1 dans certaines versions).
Si la somme est inférieure ou égale à 0, le perceptron génère -1 (ou 0 dans certaines versions).
(Remarque : les Perceptrons se limitent à résoudre des problèmes linéairement séparables, ce qui signifie qu'ils ne peuvent classer que des données qui peuvent être séparées par une ligne droite)
La plupart des problèmes intéressants, et même certains très simples, dépassaient manifestement la capacité de résolution d'un perceptron. Cette période, qui a duré approximativement entre les années 1970 et 1990, était appelée l'hiver de l'IA
Cette période a été marquée par la déception face aux premières technologies d'IA telles que les systèmes experts, qui avaient des difficultés en termes d'évolutivité et d'application dans le monde réel. En conséquence, le financement des gouvernements et des organisations s'est tari et la recherche en IA a considérablement ralenti.
1) Changement 1 :
Il s’agit de l’ajout d’une entrée supplémentaire appelée biais. Contrairement aux autres entrées, le biais n'est lié à aucune donnée externe ou sortie des neurones précédents.
Le biais est une valeur constante qui s'ajoute directement à la somme des entrées pondérées. Il agit comme un paramètre distinct de chaque neurone et permet d'ajuster la sortie indépendamment des valeurs d'entrée.
2) Changement 2 :
Au lieu de simplement comparer la somme à un seuil et d'afficher -1 ou 1, nous pouvons transmettre la somme (y compris le biais) via une fonction mathématique. Cette fonction générera une nouvelle valeur à virgule flottante qui peut se situer n'importe où dans une certaine plage
Fonction d'activation/mathématique/transfert
Il détermine le degré « d’activité » du neurone en fonction des entrées qu’il reçoit. De nombreuses fonctions d'activation introduisent la non-linéarité, permettant au réseau d'apprendre des relations non linéaires, ce qui est crucial pour résoudre des problèmes plus complexes.
Ex.
Fonction sigmoïde : Produit des valeurs comprises entre 0 et 1. Utile pour les problèmes de classification binaire.
Fonction Tanh (tangente hyperbolique) : Produit des valeurs comprises entre -1 et 1. Elle est similaire à la sigmoïde mais centrée sur 0.
ReLU (Unité Linéaire Rectifiée) : Sort l'entrée si elle est positive, sinon 0.
Leaky ReLU : Semblable à ReLU, mais permet un petit gradient non nul lorsque l'entrée est négative, aidant ainsi à éviter le problème du "ReLU mourant".
Types de fonctions d'activation :
1) Fonctions de ligne droite
a. Fonction d'identité :
La fonction d'identité est une fonction linéaire où la sortie est exactement égale à l'entrée.
f(x)=x
b. Fonctions linéaires :
Une fonction linéaire est toute fonction qui peut être représentée par une ligne droite.
f(x) = mxb
2) Fonctions d'étape
a. Fonction marche d'escalier :
Une fonction en escalier se compose de plusieurs segments linéaires avec des changements brusques à certaines valeurs d'entrée. Il se caractérise par des sauts discrets plutôt que par une courbe douce.
Ex.
Une fonction qui génère 0 pour les entrées entre 0 et un peu moins de 0,2, 0,2 pour les entrées de 0,2 à un peu moins de 0,4, et ainsi de suite.
b. Fonction de pas d'unité :
Sorties 0 pour les valeurs d'entrée inférieures à un seuil et 1 pour les valeurs d'entrée égales ou supérieures au seuil.
c. Fonction Heaviside :
3) Fonctions linéaires par morceaux
a. ReLU (Unité Linéaire Rectifiée)
Définition de la fonction :
Pour x≥0 :
f(x)=x
Pour x<0 :
f(x)=0
b. ReLU qui fuit
Définition de la fonction :
Pour x≥0 :
f(x)=x
Pour x<0 :
f(x)=αx (où α est une petite constante, par exemple 0,01)
c. ReLU paramétrique (PReLU)
Définition de la fonction :
Pour x≥0 :
f(x)=x
Pour x<0 :
f(x)=αx (où α est un paramètre apprenable)
4) Fonctions d'activation fluides
a. Fonction Softplus
Il s'agit d'une approximation douce de la fonction ReLU. Il aborde la transition brutale à zéro en offrant une alternative continue et différenciable.
Softplus(x) = ln(1 ex)
b. Fonction sigmoïde
La fonction sigmoïde écrase les valeurs d'entrée dans une plage comprise entre 0 et 1
σ(x)= 1 / 1 e−x
c. Fonction tangente hyperbolique (tanh)
La fonction tanh est similaire au sigmoïde mais écrase les valeurs d'entrée dans la plage [−1,1]. Il est centré autour de zéro, ce qui le rend utile pour normaliser les données.
tanh(x)=ex e−x
/ex−e−x
La fonction softmax est un élément crucial dans les tâches de classification au sein des réseaux de neurones, en particulier lorsque l'objectif est de prédire les probabilités de plusieurs classes.
Softmax convertit les scores de sortie bruts (souvent appelés logits) des neurones de sortie en une distribution de probabilité sur les classes. Chaque valeur de sortie est transformée en une probabilité dont la somme est égale à 1 dans toutes les classes.
1) Réseau neuronal Feed forward
Un réseau feed-forward est un type de réseau neuronal artificiel où les connexions entre les neurones ne forment pas de cycles. En d’autres termes, les données circulent dans un sens, de l’entrée vers la sortie, sans rebouclage.
Structure :
Un réseau feed-forward est organisé en couches : une couche d’entrée, une ou plusieurs couches cachées et une couche de sortie.
Chaque neurone reçoit des entrées de la couche précédente, applique des poids à ces entrées, les résume, ajoute un terme de biais et transmet le résultat via une fonction d'activation pour produire une sortie.
Types de réseaux Feed-Forward :
Perceptron monocouche :
La forme la plus simple d'un réseau feed-forward avec seulement une couche d'entrée et une couche de sortie
Ex. Utilisé pour les problèmes de classification binaire où les données sont linéairement séparables.
Perceptron multicouche (MLP) :
Il contient une ou plusieurs couches cachées entre les couches d'entrée et de sortie.
Ex. Il est utilisé dans des tâches telles que la classification, la régression et l'approximation de fonctions.
Réseau à fonction de base radiale (RBF)
Il utilise des fonctions de base radiale comme fonctions d'activation dans la couche cachée.
Ex. Il est utilisé pour l'approximation des fonctions et la reconnaissance des formes.
Applications :
Reconnaissance d'images
Reconnaissance vocale
Diagnostic médical
C'est le nombre de couches à travers lesquelles les données passent de l'entrée à la sortie. Ce sont les couches entre la couche d'entrée et la couche de sortie (à l'exclusion de la couche d'entrée). La profondeur du réseau est déterminée par le nombre de ces couches cachées.
Il s'agit d'un ensemble de neurones qui reçoivent chacun une entrée de chaque neurone de la couche précédente. Si une couche est constituée
composé uniquement de couches denses, on l'appelle parfois un réseau entièrement connecté.
Tableau zéro dimension
Ex.
Si une couche de réseau neuronal n’a qu’un seul neurone, sa sortie est une valeur scalaire unique. Mathématiquement, cette sortie peut être représentée sous la forme d'un tableau à dimension zéro.
Tableau unidimensionnel (tableau 1D)
Ex.
Lorsqu'une couche d'un réseau neuronal possède plusieurs neurones, la sortie peut être décrite comme une liste ou un vecteur de valeurs. Par exemple, si une couche contient 12 neurones, le résultat est un tableau 1D avec 12 éléments.
(Remarque : peu importe la taille ou la complexité de notre réseau neuronal, s'il n'a pas de fonctions d'activation et qu'il s'agit de fonctions linéaires, par exemple addition, soustraction, etc. ; alors il sera toujours équivalent à un seul neurone.)
Un terme général utilisé pour désigner un tableau de nombres disposés en forme de boîte avec n'importe quel nombre de dimensions. Il englobe des tableaux unidimensionnels (vecteur), bidimensionnels (matrice), tridimensionnels (volume) et de dimension supérieure.
La formation des réseaux de neurones implique d'ajuster les poids du réseau pour minimiser les erreurs de prédiction. Cela se fait grâce à un processus de mise à jour itérative des paramètres du réseau pour réduire une fonction de coût ou de perte
Il s'agit d'un type de réseau neuronal utilisé pour l'apprentissage non supervisé. L'idée clé est de compresser l'entrée dans un code de dimension inférieure, puis de reconstruire l'entrée originale à partir de ce code.
Encodeur :
Cette partie compresse les données d'entrée dans une représentation compacte.
Exemple : Pour une image, l'encodeur peut réduire ses dimensions de, disons, 128x128 pixels à un vecteur plus petit, comme 32 dimensions
Décodeur :
Cette partie reconstruit les données d'entrée originales à partir de la représentation compressée.
Exemple : le décodeur prendrait le vecteur à 32 dimensions et essaierait de recréer l'image de 128 x 128 pixels.
Ils sont formés pour minimiser la différence entre l'entrée et la sortie reconstruite. Cela se fait généralement à l'aide d'une fonction de perte, telle que Erreur quadratique moyenne (MSE) pour les données continues ou entropie croisée binaire pour les données binaires. L'objectif est d'ajuster les poids du réseau afin que la reconstruction soit aussi proche que possible de l'entrée d'origine.
1) Débruitage des auto-encodeurs
2) Auto-encodeurs variationnels
3) Encodeurs automatiques clairsemés
1) Sans perte :
Il s'agit d'un type de compression de données dans lequel les données originales peuvent être parfaitement reconstruites à partir des données compressées. Cela signifie qu'aucune information n'est perdue pendant le processus de compression et que les données décompressées sont identiques à l'original.
Algorithmes : utilisez des méthodes telles que le codage entropique et des techniques basées sur un dictionnaire. Les exemples incluent : Codage Huffman : code les symboles fréquents avec des codes plus courts et les symboles moins fréquents avec des codes plus longs. Lempel-Ziv-Welch (LZW) : crée un dictionnaire de séquences à partir des données et utilise des codes plus courts pour les séquences courantes. Codage de longueur d'exécution (RLE) : compresse les séquences de caractères répétés en stockant le caractère et son nombre.Ex. PNG,FLAC,ZIP
2) Perte :
Il réduit la taille du fichier en supprimant certaines données, souvent d'une manière moins perceptible pour les sens humains, mais entraînant une certaine perte de fidélité. L'objectif est d'obtenir une réduction significative de la taille des fichiers tout en conservant une qualité acceptable pour l'usage prévu.
Ex. JPEG, H.264 ou HEVC, MP3Transform Coding : convertit les données dans un domaine différent (comme le domaine fréquentiel) et les quantifie. Les exemples incluent : Transformation en cosinus discrète (DCT) : utilisée dans la compression d'images JPEG. Transformation en ondelettes discrètes (DWT) : utilisée dans JPEG 2000.
1) Réduction de dimensionnalité
2) Débruitage
Optimiseur : ajuste les poids pour minimiser la fonction de perte.
Fonction de perte : mesure dans quelle mesure les prédictions du modèle correspondent aux valeurs réelles.
Fonction d'activation : ajoute de la non-linéarité au modèle, lui permettant d'apprendre des modèles complexes.
Restez connecté !
Si vous avez apprécié cet article, n'oubliez pas de me suivre sur les réseaux sociaux pour plus de mises à jour et d'informations :
Twitter : madhavganesan
Instagram : madhavganesan
LinkedIn : madhavganesan
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!