Recherche de site Web

Types de fonctions d'activation dans ANN


Cet article, nous en apprendrons davantage sur ANN et ses types. Nous verrons également des programmes sur différents types d’Activation. Avant de plonger dans les types, apprenons ce qu'est ANN.

ANNE

Le réseau neuronal artificiel (ANN) est une branche de l'apprentissage automatique qui effectue des calculs en formant une structure de réseau neuronal biologique où chaque neurone peut transmettre le signal ou les données traitées à d'autres neurones connectés. Cette structure est similaire au cerveau humain dans lequel les neurones sont interconnectés les uns aux autres. Un réseau neuronal est créé lorsqu'une connexion de nœuds ou de neurones forme une connexion. Les réseaux de neurones artificiels sont des types de modèles qui fonctionnent de manière similaire au système nerveux humain.

Il y a trois couches d'ANN

Couche d'entrée

Dans cette couche, nous donnons des entrées sous forme de données au réseau neuronal. Le nombre de neurones dans cette couche est le même que le nombre d'entités dans les données.

Couche cachée

Cette couche est appelée cachée car c'est la couche où les données sont traitées et la couche est cachée derrière la couche d'entrée. La sortie de cette couche sera transférée vers la couche de sortie.

Couche de sortie

C'est dans cette couche que la sortie du réseau est produite.

Les neurones de chaque couche sont reliés les uns aux autres par des poids. Les poids sont ajustés pendant la formation afin que le réseau puisse apprendre à produire le résultat souhaité.

Représentation du réseau ANN −

Le diagramme d'image ci-dessus représente le réseau neuronal où la première couche est la couche d'entrée où nous fournissons les données au modèle et après sa manipulation, elle transmettra la sortie à la couche cachée qui est présente après la couche d'entrée. Le résultat qui sortira de la couche cachée sera donné en sortie de la couche de sortie. Chacun des neurones se voit attribuer un poids qui représente la force de la valeur d'entrée.

Types de fonctions d'activation dans ANN

Il existe de nombreux types de fonctions d'activation présentes dans ANN, mais nous verrons les fonctions qui sont principalement utilisées -

Fonction d'activation sigmoïde

Cette activation est une fonction non linéaire dans ANN qui est utilisée pour mapper les données d'entrée à la valeur comprise entre 0 et 1 qui dénote la probabilité. Cette fonction d'activation est utilisée dans les problèmes de classification binaire comme couche de sortie.

Exemple


import numpy as np
import matplotlib.pyplot as plt

def sigmoid_Activation_fun(inp):
   return 1 / (1 + np.exp(-inp))

inp= np.linspace(-10, 10, 100)

# applying sigmoid function
out = sigmoid_Activation_fun(inp);

plt.plot(inp, out)
plt.xlabel('Input')
plt.ylabel('Output')
plt.title('Sigmoid Activation Function')
plt.show()

Sortir

Unité Linéaire Rectifiée (ReLU)

ReLu est largement utilisé parmi toutes les autres fonctions d'activation qui apportent la non-linéarité en mappant les valeurs négatives à 0 et en laissant la valeur positive inchangée. Il permet un apprentissage beaucoup plus rapide pendant la formation et évite le problème du gradient de disparition. Comparé à d'autres fonctions d'activation comme Tanh et sigmoïde, il offre de meilleures performances.

Exemple


import numpy as np
import matplotlib.pyplot as plt

def relu_activation_fun(inp):
   return np.maximum(0, inp)

inp = np.linspace(-10, 10, 100)

# Applying the ReLU
out = relu_activation_fun(inp)

plt.plot(inp, out)
plt.xlabel('Input')
plt.ylabel('Output')
plt.title('ReLU Activation Function')
plt.show()

Sortir

Tangente hyperbolique (Tanh)

Fonction tangente hyperbolique, également appelée fonction tanh et nous l'utilisons de la même manière que la fonction sigmoïde et mappons les valeurs d'entrée dans une plage de -1 à 1. Cette fonction d'activation est principalement utilisée dans la couche cachée de l'ANN.

Exemple


import numpy as np
import matplotlib.pyplot as plt

def Hyperbolic_tanh_fun(inp):
   return np.tanh(inp)

inp = np.linspace(-10, 10, 100)

# Applying tanh activation function
out= Hyperbolic_tanh_fun(inp)

plt.plot(inp, out)
plt.xlabel('Input')
plt.ylabel('Output')
plt.title('Tanh Activation Function')
plt.show()

Sortir

ReLU qui fuit

Il s'agit d'une version modifiée de la fonction ReLU où le ReLU fixait la petite valeur à 0 mais cela autorisera la petite valeur négative. Cette version modifiée améliore les performances du réseau neuronal.

Exemple


import numpy as np
import matplotlib.pyplot as plt

def leaky_relu(inp, alpha=0.01):
   return np.where(inp >= 0, inp, alpha * inp)

inp = np.linspace(-10, 10, 100)

# Applying leaky ReLU activation function
out = leaky_relu(inp)

plt.plot(inp, out)
plt.xlabel('Input')
plt.ylabel('Output')
plt.title('Leaky ReLU Activation Function')
plt.show()

Sortir

Fonction d'activation Softmax

La fonction d'activation softmax est un type de fonction d'activation à l'aide de laquelle nous calculons la distribution de probabilité et garantit que la somme de ces probabilités est égale à 1. Cette fonction d'activation est principalement utilisée dans la couche de sortie des problèmes de classification multi-classes.

Exemple


import numpy as np
import matplotlib.pyplot as plt

def softmax_activation_function(inp):
   exps = np.exp(inp)
   return exps / np.sum(exps)

inp = np.array([1, 2, 3, 4, 5])

# Applying softmax activation function
out = softmax_activation_function(inp)

plt.bar(range(len(inp)), out)
plt.xlabel('Class')
plt.ylabel('Probability')
plt.xticks(range(len(inp)))
plt.title('Softmax Activation Function')
plt.show()

Sortir

Nous choisissons généralement la fonction d'activation en fonction des exigences du problème que nous voulons résoudre et du résultat de l'ANN. Comme les fonctions tanh et sigmoïde, elles sont souvent utilisées dans les problèmes de classification, tandis que les fonctions ReLU sont souvent utilisées dans les problèmes de régression.

Conclusion

Ainsi, nous apprenons à connaître ANN et ses types. Nous avons vu différents types de fonctions d'activation comme la fonction sigmoïde, ReLU, tanh, ReLU qui fuit dans ANN et son utilisation. Pour utiliser correctement la fonction d'activation, nous devons en avoir la connaissance pour construire des modèles de réseaux neuronaux artificiels. Chaque fonction d'activation a ses propriétés, son mécanisme de travail, son comportement et son processus de formation uniques. Nous pouvons utiliser ces fonctions dans notre tâche ANN pour améliorer le modèle.

Articles connexes