Python >> Tutoriel Python >  >> Python Tag >> NumPy

Comment construire un réseau de neurones Feed Forward en Python - NumPy

Ce didacticiel Python vous aide à comprendre ce que sont les réseaux de neurones à anticipation et comment Python implémente ces réseaux de neurones.

construire un réseau de neurones Feed Forward en Python – NumPy

Avant d'apprendre à créer un réseau de neurones à anticipation en Python, apprenons quelques notions de base.

Définition : 

Le réseau neuronal feed-forward est un des premiers réseaux neuronaux artificiels qui est connu pour sa simplicité de conception. Les réseaux de neurones feed-forward se composent de trois parties. Ce sont :-

  • Calques d'entrée
  • Calques masqués
  • Couches de sortie

Réseau de neurones à rétroaction générale

 Fonctionnement des réseaux de neurones Feed Forward

Ces réseaux de neurones transportent toujours les informations uniquement dans le sens direct. Tout d'abord, la couche d'entrée reçoit l'entrée et transporte les informations de la couche d'entrée vers la couche cachée. Ensuite, la couche cachée subit certaines fonctions d'activation et la valeur calculée à partir de la fonction d'activation sert d'entrée à la couche de sortie. Encore une fois, la couche de sortie subit certaines fonctions d'activation et la valeur calculée à partir de ces fonctions d'activation sera la sortie finale.

Chaque couche cachée et couche de sortie subit une fonction d'activation et obtient une sortie de la fonction d'activation. Mais qu'est-ce que la fonction d'activation ?

Définition : 

Les fonctions d'activation sont l'une des caractéristiques importantes des réseaux de neurones artificiels. Les fonctions d'activation décident quel neurone doit être activé ou non. Cette fonction d'activation décide également si les informations reçues par le neurone sont pertinentes ou doivent être ignorées.

Réseau de neurones feed-forward pour l'entrée 1

Avantages :

  • Effectue une transformation non linéaire pour les calques masqués et les calques de sortie.
  • La transformation non linéaire aide le modèle de réseau neuronal à effectuer des tâches complexes.
  • Certains exemples de tâches complexes sont les traductions linguistiques, les classifications d'images, etc.,

Si les fonctions d'activation ne sont pas utilisées, le modèle de réseau neuronal n'effectuera pas ces tâches complexes.

Exemples de fonctions d'activation :

Sigmoïde, ReLu, Softmax etc.,

Calcul pour l'entrée 1

Implémentation de Feed Forward en Python avec NumPy

Code source :

import numpy as np


def relu(n):
    if n<0:
        return 0
    else:
        return n


inp=np.array([[-1,2],[2,2],[3,3]])
weights=[np.array([3,3]),np.array([1,5]),np.array([3,3]),np.array([1,5]),np.array([2,-1])]
for x in inp :
    node0=relu((x*weights[0]).sum())
    node1=relu((x*weights[1]).sum())
    node2=relu(([node0,node1]*weights[2]).sum())
    node3=relu(([node0,node1]*weights[3]).sum())
    op=relu(([node2,node3]*weights[4]).sum())
    print(x,op)

Explication :

Dans le code ci-dessus, trois exemples d'entrée sont présents. Dans chaque exemple, deux couches d'entrée sont présentes et quatre couches cachées sont présentes (node0, node1, node2, node3) et une couche de sortie est présente. Chaque couche cachée et couche de sortie utilise la fonction d'activation relu. Si la valeur calculée à l'aide de cette fonction d'activation est inférieure à zéro, la couche cachée ou la sortie de la fonction est nulle, sinon, la valeur sera la même que la valeur calculée.

Sortie :-

Cas -1 :-

Input-1 : -1
Input-2 : 2
Output : 24

Cas -2 :-

Input-1 : 2
Input-2 : 2
Output : 72

et Cas -3 :-

Input-1 : 3
Input-2 : 3
Output : 108

Vous pouvez également lire,

  • Exemple simple de régression linéaire avec scikit-learn en Python
  • utiliser sklearn StandardScaler() pour transformer les valeurs de l'ensemble de données d'entrée.