Introduction aux algorithmes d'apprentissage profond
L'apprentissage en profondeur est une étape pour se rapprocher de l'intelligence artificielle qui pourrait prendre des décisions comme le cerveau humain, c'est-à-dire avoir la capacité d'apprendre par essais et erreurs tout comme les humains. Le cerveau humain possède des milliards de neurones (environ 86 milliards; source: Wikipedia). Avec les neurones artificiels, l'apprentissage profond aide également à imiter l'esprit humain. Pour traiter les informations et prendre la décision via des réseaux de neurones artificiels, il existe des algorithmes, appelés algorithmes d'apprentissage en profondeur. Les algorithmes apprennent progressivement dans chaque couche, c'est-à-dire; plus de valeur est ajoutée à partir des entités de la couche suivante. Un modèle d'apprentissage en profondeur peut s'adapter si les données sont petites ou incomplètes ou trop simples. Les algorithmes d'apprentissage en profondeur sont efficaces lorsque les données sont vastes.
Algorithmes d'apprentissage profond
Pour créer un modèle d'apprentissage en profondeur, il faut écrire plusieurs algorithmes, les mélanger et créer un réseau de neurones. L'apprentissage en profondeur a un coût de calcul élevé. Pour aider les modèles d'apprentissage en profondeur, il existe des plates-formes d'apprentissage en profondeur telles que Tensor Flow, Py-Torch, Chainer, Keras, etc. modèle d'apprentissage en profondeur. Nous connectons ces unités perceptron ensemble pour créer un réseau neuronal, il comprend 3 sections:
- Couche d'entrée
- Couches masquées
- Couche de sortie
Un perceptron a des nœuds d'entrée (dendrites dans le cerveau humain), une fonction d'actionnement pour prendre une petite décision et des nœuds de sortie (axone dans le cerveau humain). Nous verrons comment fonctionne un perceptron, les connecter ensemble créera un modèle d'apprentissage en profondeur. Les informations d'entrée (nombre de variables / caractéristiques d'entrée) reçoivent un certain poids et sont transmises à la fonction d'actionnement. La fonction d'actionnement prend une décision et envoie une sortie. La sortie de ce perceptron sera entrée dans d'autres neurones. Une fois le lot traité, une erreur de rétropropagation est calculée au niveau de chaque neurone, à l'aide d'une fonction de coût / entropie croisée. De cette façon, les poids d'entrée sont réaffectés et l'ensemble du processus se poursuit jusqu'à ce que l'entropie croisée satisfasse la condition.
Nous avons différentes fonctions d'actionnement comme les fonctions sigmoïdes, la fonction tangente hyperbolique, l'unité linéaire rectifiée (ReLU), pour prendre une petite décision. Un modèle d'apprentissage en profondeur a besoin d'une grande quantité de données pour construire un bon modèle. Généralement, un modèle avec plus de 3 couches cachées est traité comme un réseau neuronal profond. Fondamentalement, le Deep Learning est un ensemble de neurones avec un certain nombre de paramètres définis pour chaque couche. Pour créer le modèle Deep Learning, les architectures populaires sont RNN, CNN, etc.
Méthodes architecturales pour les algorithmes d'apprentissage profond
Pour construire cette architecture, les algorithmes suivants sont utilisés:
1. Propagation arrière
Dans cet algorithme, nous calculons des dérivées partielles. En général, la méthode de descente de gradient pour l'optimisation, les dérivées (gradients) sont calculées à chaque itération. Dans le deep learning, les fonctions ne sont pas simples, elles sont la composition de différentes fonctions. Dans ce cas, il est difficile de calculer des gradients, nous utilisons donc une différenciation approximative pour calculer les dérivées. Plus le nombre de paramètres est élevé, plus la différenciation approximative sera coûteuse.
2. Descente de gradient stochastique
Dans la descente en gradient, l'objectif est de trouver des minima globaux ou une solution optimale. Mais pour y parvenir, nous devons également considérer des solutions de minima locaux (non souhaitables). Si la fonction objectif est une fonction convexe, il est facile de trouver les minima globaux. La valeur initiale de la fonction et le taux d'apprentissage sont des paramètres décisifs pour trouver des minima globaux. Cela peut facilement être compris en considérant une rivière venant du sommet de la montagne et en recherchant le contrefort (minima mondiaux). Mais en chemin, il y aura des hauts et des bas (minima locaux) qu'il faut éviter. Le point d'origine de la rivière et sa vitesse (valeur initiale et taux d'apprentissage dans notre cas) sont des facteurs décisifs pour trouver des minima globaux.
3. Taux d'apprentissage
Le taux d'apprentissage est comme la vitesse de la rivière, il peut réduire le temps d'entraînement et augmenter les performances. En général, pour apprendre n'importe quelle technique / sport, au début le taux d'apprentissage est relativement élevé qu'à la fin quand on doit le maîtriser. Après la phase intermédiaire, l'apprentissage sera lent, l'accent sera mis sur le réglage fin. La même chose est appliquée dans l'apprentissage en profondeur des changements trop importants sont traités par un taux d'apprentissage plus élevé et en diminuant lentement le taux d'apprentissage plus tard pour un réglage fin.
4. Normalisation des lots
Dans l'apprentissage en profondeur, la valeur initiale du poids (choisie au hasard) et l'apprentissage, le taux est défini pour un mini-lot. Au début, il y aurait de nombreuses valeurs aberrantes, et pendant la rétropropagation, ces valeurs aberrantes doivent être compensées pour calculer les poids pour obtenir la sortie. Cette compensation se traduit par des époques supplémentaires. Donc, pour l'éviter, nous utilisons la normalisation par lots.
5. Abandon
Dans l'apprentissage en profondeur, nous rencontrons généralement le problème du sur-ajustement. Le sur-ajustement dans les grands réseaux avec plusieurs paramètres rend difficile la prévision des données de test. Donc, pour éviter cela, nous utilisons la méthode d'abandon, qui supprime des unités aléatoires pendant la formation en créant différents «réseaux amincis». Lors du test, les prévisions de ces réseaux éclaircis sont moyennées, ce qui permet d'éviter le sur-ajustement.
6. Sac de mots
Nous utilisons un sac continu de mots pour prédire le mot suivant. Par exemple, nous voyons dans un e-mail que l'écriture automatique pour terminer la phrase fait partie de la PNL. Cela se fait en considérant de nombreuses phrases et pour un mot spécifique entourant les mots qui sont capturés. Ces mots spécifiques et les mots environnants sont transmis au réseau neuronal. Après le modèle d'apprentissage, il peut prédire le mot spécifique en fonction des mots environnants.
7. Mémoire longue durée
LSTM est très utile dans les problèmes de prédiction de séquence comme la traduction de la langue, la prévision des ventes et la recherche du prix de l'action. LSTM a l'avantage sur les autres techniques car il est capable de prendre en compte les données précédentes. Le LSTM modifie le mécanisme des états de cellule. Il se souvient d'oublier des choses. Les 3 principaux aspects du LSTM le distinguent des autres techniques d'apprentissage en profondeur. Le premier est le moment où le neurone doit avoir une entrée, le deuxième quand se souvenir des données précédentes et ce qu'il faut oublier et le troisième est quand passer la sortie.
Conclusion
Un modèle d'apprentissage en profondeur est une étape vers la réplication de l'esprit humain. Au lieu des neurones biologiques, l'apprentissage en profondeur utilise un réseau neuronal artificiel. Le Deep Learning a un coût de calcul élevé, qui peut être diminué par l'utilisation de frameworks de Deep Learning tels que Tensor Flow et Py-Torch etc. RNN, CNN sont des méthodes architecturales pour les modèles de Deep Learning. Différents algorithmes d'apprentissage en profondeur utilisés dans ces architectures sont abordés dans cet article.
Articles recommandés
Ceci est un guide des algorithmes d'apprentissage en profondeur. Nous discutons ici des méthodes architecturales pour les algorithmes d'apprentissage profond ainsi que des couches. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -
- Introduction aux algorithmes d'apprentissage automatique
- Top 14 des applications de l'apprentissage automatique
- Intelligence artificielle vs apprentissage automatique vs apprentissage profond
- Top 13 des questions et réponses utiles pour l'entretien approfondi