Les fonctions d’activation peuvent sembler complexes quand on débute le Deep Learning. Pourtant… il suffit de ces 3 choses pour les comprendre !
Le Deep Learning, c’est une sous partie du Machine Learning.
Son apport, c’est l’utilisation de couches de neurones. Ces couches, misent bout à bout, constituent un Réseau de Neurones.
Mais quelle est la place des fonctions d’activation dans tout ça ?
Un rôle simple
Les fonctions d’activation se situent dans chacune des couches de neurones.
À chaque fois que nos données traversent une couche, elles sont modifiés.
En fait, deux modifications sont appliquées dans chaque couche :
- les neurones qui vont transformer nos données
- la fonction d’activation qui va les scaler (les normaliser pour que leur valeurs ne soient pas dispersés)
Prenons un exemple simple :
Avec la fonction d’activation Sigmoïde, toutes nos données seront bornée entre 0 et 1.
Borner des valeurs entre 0 et 1, c’est ce qu’on appelle la normalisation.
La normalisation, c’est LA technique qui va permettre de faciliter l’apprentissage de notre modèle. ✨
Mais ce n’est pas l’unique utilité des fonctions d’activation !
Le coeur du Réseau de Neurones
Et si je vous disais que sans fonctions d’activation pas de Deep Learning ?
Plus haut, on a vu que deux modifications sont appliquées dans chaque couche du réseau de neurones.
Ces modifications sont en fait des fonctions.
Il y a donc la première fonction appliquée par les neurones. Puis la fonction suivante, celle qui nous intéresse dans cet article : la fonction d’activation.
C’est la fonction d’activation qui permet d’appliquer un réel changement sur données. Pourquoi ? Parce que l’activation est non-linéaire.
Effectivement, une suite de plusieurs fonctions linéaires équivaut en mathématique à une seule fonction linéaire.
C’est pourquoi notre modèle de Deep Learning perdrait en efficacité s’il utilisait uniquement des couches linéaires.
On veut alors que notre modèle soit non-linéaire et c’est pour ça qu’on introduit des fonctions d’activations.
Au fait, si ton objectif est d'apprendre le Deep Learning - j’ai préparé pour toi le Plan d’action pour Maîtriser les Réseaux de neurones.
7 jours de conseils gratuits d’un ingénieur spécialisé en Intelligence Artificielle pour apprendre à maîtriser les réseaux de neurones à partir de zéro :
- Planifie ton apprentissage
- Structure tes projets
- Développe tes algorithmes d’Intelligence Artificielle
J’ai basé ce programme sur des faits scientifiques, des approches éprouvées par des chercheurs mais également mes propres techniques que j'ai conçues au fil de mes expériences dans le domaine du Deep Learning.
Pour y accéder, clique ici :
À présent, on peut revenir à ce que je mentionnais précédemment.
On a écrit un article qui explique en détail la raison d’utiliser des fonctions non-linéaire. Pour les plus curieux, ça se passe ici ! 🔥
Les fonctions d’activation les plus utilisées
Passons à la partie pratique.
Concrètement, il existe des dizaines de fonction d’activation. Votre seul embarras sera de choisir laquelle utiliser.
Alors, quelles sont les fonctions d’activation les plus utilisées ?
Dans la plupart des projets, trois fonctions d’activations reviennent fréquemment :
- ReLu, la plus utilisée
- Sigmoid
- Softmax
Si vous comprenez ces fonctions là, vous aurez les bases pour bien démarrer le Deep Learning ! 🦎
Et voici la brique de code pour les utiliser avec la librairie Keras :
tf.keras.activations.relu(x)
tf.keras.activations.tanh(x)
tf.keras.activations.sigmoid(x)
D’autres fonctions d’activations existent, vous pouvez toutes les explorer dans cet article détaillé. Et en bonus de fin vous trouverez un tableau récapitulant dans quels cas les utiliser ! 😉
sources :
- Quora
- Photo by Pedro Lastra on Unsplash
Un dernier mot, si tu veux aller plus loin et apprendre le Deep Learning - j’ai préparé pour toi le Plan d’action pour Maîtriser les Réseaux de neurones.
7 jours de conseils gratuits d’un ingénieur spécialisé en Intelligence Artificielle pour apprendre à maîtriser les réseaux de neurones à partir de zéro :
- Planifie ton apprentissage
- Structure tes projets
- Développe tes algorithmes d’Intelligence Artificielle
J’ai basé ce programme sur des faits scientifiques, des approches éprouvées par des chercheurs mais également mes propres techniques que j'ai conçues au fil de mes expériences dans le domaine du Deep Learning.
Pour y accéder, clique ici :