Qu'est-ce qu'un réseau de neurones?
Un neuronale rouge est un modèle mathématique et informatique qui s'inspire des réseaux de neurones du cerveau humain.
Les réseaux de neurones artificiels ont été développés dans le domaine de intelligence artificielle et ont été utilisés dans de nombreuses tâches, telles que la reconnaissance des formes et la classification des données.
Comment fonctionne un réseau de neurones
Un réseau de neurones est composé de unités de traitement appels neurones.
Chaque neurone est relié à d'autres neurones par liens qui transmettent signalisations Y compris.
Les neurones et les liens ont pesos associés à eux, utilisé pour modifier le signal qui est transmis entre les neurones.
Comment un réseau de neurones est appris
Le apprentissage dans un réseau de neurones cela se fait en ajustant les poids des liens entre les neurones.
Ce réglage s'effectue à l'aide de la algorithme de rétropropagation, qui modifie les poids des liens de manière à minimiser les erreurs dans les sorties du réseau.
Comment implémenter un réseau de neurones en Python
Il existe de nombreuses bibliothèques logicielles qui peuvent être utilisées pour implémenter des réseaux de neurones en Python..
Certains des plus populaires sont TensorFlow, Keras y PyTorch.
dans cette procédure pas à pas, utilisons la bibliothèque Keras avec le backend de TensorFlow.
Pas 1: Importer les bibliothèques nécessaires
En premier lieu, nous devons importer les bibliothèques nécessaires pour ce tutoriel.
Importons la bibliothèque Keras et certaines des fonctions TensorFlow de quoi aurons-nous besoin.
”’
depuis keras.models import séquentiel
de keras.layers importer Dense
importer tensorflow en tant que tf
”’
Pas 2: Définir le réseau de neurones
Dans cette étape, définissons le modèle de notre réseau de neurones.
Nous allons utiliser un neuronal rouge entièrement connecté, qui est constitué de couches denses de neurones connectés entre tous les neurones de la couche précédente.
La première étape consiste à créer un Objet séquentiel. Cet objet est utilisé pour définir la structure du réseau neuronal.
”’
modèle = séquentiel()
”’
Ensuite, Nous ajoutons la première couche dense de neurones à notre modèle.
Cette couche aura 100 neurones, et la couche d’entrée aura 784 neurones (un pour chaque pixel d’une image MNIST).
La fonction Tourner Il est utilisé pour créer une couche dense de neurones.
”’
model.add(Tourner(100, input_dim=784, activation='relu'))
”’
Ensuite, Nous ajoutons une deuxième couche dense de neurones.
Cette couche aura 50 neurones.
”’
model.add(Tourner(50, activation='relu'))
”’
Pour terminer, Ajouter la couche de sortie.
Cette couche aura 10 neurones, un pour chaque chiffre de l’ensemble de données MNIST.
La fonction d’activation que nous utiliserons dans cette couche sera la Softmax, qui est une fonction d’activation utilisée dans Classification multiclasse.
”’
model.add(Tourner(10, activation='softmax'))
”’
Pas 3: Compiler le modèle
Une fois que nous avons défini le modèle de notre réseau neuronal, Besoin Compiler avant de pouvoir l’utiliser pour apprendre.
Dans cette étape, Spécifions le Fonction de coût et le Optimiseur que nous allons utiliser.
La Fonction de coût est une mesure de la performance du modèle dans l’apprentissage..
Le Optimiseur est l’algorithme utilisé pour ajuster les poids du réseau neuronal.
dans cette procédure pas à pas, Utilisons le Fonction de coût catégoriel d’entropie croisée et le Optimiseur de dégradé descendant stochastique.
”’
model.compile(perte='categorical_crossentropy',
optimizer='sgd',
métriques=[« exactitude »])
”’
Pas 4: Entraîner le modèle
Une fois que nous avons compilé le modèle, nous sommes prêts à vous former.
dans cette procédure pas à pas, nous allons utiliser le jeu de données MNIST.
Il contient un ensemble de données 60.000 images de chiffres manuscrits pour la formation et 10.000 images de chiffres manuscrits pour validation.
Nous allons entraîner notre réseau de neurones pendant 20 saisons, et nous allons utiliser un taille du lot de 128.
”’
model.fit(x_train, y_train,
taille_lot=128,
époques=20,
validation_data=(x_test, y_test))
”’
Pas 5: Évaluer le modèle
Une fois que nous avons formé le modèle, nous évaluerons ses performances sur le jeu de données de test.
Ce jeu de données contient 10.000 Images de chiffres manuscrits.
”’
score = model.assess(x_test, y_test, taille_lot=128)
”’
Le score qui est renvoyé est une liste avec deux valeurs.
La première valeur est la perte (Fonction de coût) du modèle dans le jeu de données de test.
La deuxième valeur est la Exactitude (exactitude) du modèle dans le jeu de données de test.
”’
imprimer(score)
Applications des réseaux neuronaux
Réseaux de neurones artificiels (Ann, Réseau de neurones artificiels) sont une famille de modèles de Apprentissage automatique en fonction de la structure et du fonctionnement de l' Système nerveux central d’êtres vivants, En particulier, l' cortex.
Il existe plusieurs applications des réseaux neuronaux, le plus notable étant le suivant:
la reconnaissance de formes
Le la reconnaissance de formes C'est l'une des applications les plus connues des réseaux de neurones.. C'est un processus par lequel certains modèles dans un ensemble de données peuvent être détectés et classés..
Quelques exemples de reconnaissance de formes sont la reconnaissance d'objets dans une image, reconnaissance vocale ou reconnaissance de caractères dans un document.
traitement du langage naturel
Le Traitement du langage naturel (PNL, Traitement du langage naturel) est une autre application des réseaux de neurones. C'est une discipline chargée d'analyser, comprendre et générer le langage naturel.
Certains exemples de traitement du langage naturel sont nommés reconnaissance d'entité, analyse des sentiments ou traduction automatique.
Détection d'une anomalie
La Détection d'une anomalie est une autre application des réseaux de neurones. C'est un processus par lequel des modèles anormaux ou inhabituels peuvent être détectés dans un ensemble de données..
Quelques exemples de détection d'anomalies sont la détection de fraude dans les transactions bancaires, la détection d'intrus dans un système informatique ou la détection d'erreurs dans un processus de fabrication.
Prédiction de séries chronologiques
La prédiction de séries chronologiques est une autre application des réseaux de neurones. C'est un processus par lequel les valeurs futures d'une série chronologique peuvent être prédites à partir des valeurs précédentes..
Quelques exemples de prévisions de séries chronologiques prévoient le prix d'une action sur le marché boursier., prévoir la demande d'un produit sur un marché ou prévoir la consommation d'énergie dans une ville.