Fonctions et graphiques
Dans ce chapitre, nous allons afficher visuellement les graphiques des fonctions courantes ; comprendre la forme d’un graphique est plus important que mémoriser des formules.
Les surfaces de fonctions de perte et les fonctions d’activation sont essentiellement des variantes de ces formes de base. Chaque fonction dispose d’un graphique interactif commutable ; le changer et le faire glisser à la main est bien plus efficace que de regarder des illustrations statiques.
Pourquoi apprendre spécifiquement à « lire des graphiques »
Les formules mathématiques décrivent des « règles », tandis que les graphiques décrivent « à quoi ressemblent les règles ».
De nombreux problèmes fondamentaux en apprentissage profond sont essentiellement des problèmes de « forme de courbe ou de surface » :
| Problème d’apprentissage profond | Problème de forme sous-jacente |
|---|---|
| Pourquoi certaines fonctions de perte sont plus faciles à optimiser | Voir si sa surface est « en forme de bol » (fonction convexe) |
| Pourquoi sigmoid ralentit l’entraînement | Voir à quel point son graphique est « plat » aux deux extrémités |
| Pourquoi ReLU est devenu le choix par défaut | Voyez à quel point son graphe est « simple » |
Examiner chaque fonction avec des questions comme « Quelle est sa forme ? Comment sont les extrémités ? Comment est le milieu ? » vous aidera à mieux vous en souvenir que de mémoriser les formules par cœur.
Cinq graphes de fonctions de base
Fonction linéaire : y = kx + b
Sa forme est une droite.k est la pente, déterminant le degré et le sens de l'inclinaison (k>0 monte vers la droite, k<0 descend vers la droite) ;b est l'ordonnée à l'origine, déterminant le point où la droite coupe l'axe des y.
Le domaine de définition et l'ensemble image sont l'ensemble des nombres réels, et le taux de variation (la pente) est le même partout ; c'est le sens du mot « linéaire ».
Rôle en IA: l'opération la plus élémentaire d'un neuroneC'est précisément une fonction linéaire dans un espace de grande dimension. Les poids contrôlent la direction et le degré d'inclinaison, et le biais contrôle la translation globale.
Fonction quadratique : y = ax² + bx + c
Sa forme est une parabole.Ouverte vers le haut (en forme de bol), elle a une valeur minimale ;Ouverte vers le bas (bol inversé), elle a une valeur maximale.
Le sommet est le point de changement de direction de la courbe et peut être trouvé en complétant le carré :Le graphe est symétrique par rapport à la droite verticale passant par le sommet.
Rôle en IA: la fonction convexe la plus simple ressemble à ceci. L'erreur quadratique moyenne (MSE) approxime cette surface « en forme de bol » dans de nombreux scénarios simplifiés—la descente de gradient trouve facilement le point le plus bas sur une surface en forme de bol, car quelle que soit la direction dans laquelle vous descendez, vous vous dirigez vers le même fond de vallée.
Fonction exponentielle : y = aˣ (a>0 et a≠1)
La forme est une courbe qui s'élève avec une vitesse accélérée (lorsque a>1) ou décroît continuellement (lorsque 0<a<1) ; elle ne touche jamais l'axe des x, qui est son asymptote horizontale.
Le domaine est l'ensemble des nombres réels, et l'ensemble des valeurs estLorsque l'entrée croît linéairement, la sortie croît « de façon explosive » — c'est la propriété fondamentale de la fonction exponentielle.
Rôle en IA: dans softmax,et la décroissance exponentielle dans le terme de momentum de l'optimiseur Adam exploitent tous deux les propriétés d'« amplification des différences » ou d'« oubli progressif ».
Fonction logarithmique : y = logₐx (a>0 et a≠1)
C'est exactement l'« image miroir » de la fonction exponentielle (avec la droite y=x comme axe de symétrie). La courbe s'élève rapidement à partir de x=0, puis la croissance devient de plus en plus lente.
Le domaine est, et l'ensemble des valeurs est l'ensemble des nombres réels. Plus l'entrée est grande, plus la croissance est lente — complètement l'opposé de la fonction exponentielle.
Rôle en IA: dans la perte d'entropie croisée,il exploite précisément la forme du logarithme — « extrêmement raide près de 0, s'aplatissant près de 1 » — plus le modèle est confiant à tort, plus la pénalité est lourde.
Fonctions trigonométriques : y = sin(x), y = cos(x)
La forme est une onde qui se répète continuellement (périodicité) et oscille toujours entre -1 et 1 (caractère borné). sin(x) part de l'origine et monte ; cos(x) atteint sa valeur maximale 1 en x=0.
La période est, et l'ensemble des valeurs est。
Rôle en IA: l'encodage positionnel de Transformer superpose directement des formes d'onde sin/cos de différentes fréquences pour générer une « coordonnée » unique mais régulière pour chaque position dans la séquence (développé au chapitre 3).
Trois fonctions d'activation clés de l'IA
Les fonctions d'activation sont la « source de non-linéarité » de chaque couche d'un réseau de neurones, et leurs formes déterminent directement la facilité ou la difficulté de l'entraînement.
sigmoid:σ(x) = 1 / (1 + e⁻ˣ)
La forme est une courbe en S qui monte lentement de 0 à 1, en augmentant le plus rapidement au milieu (près de x=0), et s'aplatit aux deux extrémités.
La plage de valeurs est un intervalle ouvert, souvent interprété comme une « probabilité ».
L'effet secondaire le plus important : la pente aux deux extrémités tend vers 0.Lorsque la valeur absolue de l'entrée est grande (par ex., x=10 ou x=-10), la courbe sigmoïde est presque plate, et le gradient est presque nul.
Dans les réseaux profonds, si de nombreuses couches utilisent toutes la sigmoïde, le gradient est affaibli couche après couche par ces « régions plates » lors de la rétropropagation, et ne peut finalement pas atteindre les couches antérieures—c'est...Le problème de disparition du gradientL'origine géométrique la plus intuitive.
ReLU : f(x) = max(0, x)
La forme est une ligne linéaire par morceaux : lorsque x<0, elle colle à l'axe des x (la sortie est toujours 0), et lorsque x≥0, c'est une droite de pente 1.
La dérivée est toujours 0 sur le demi-axe négatif et toujours 1 sur le demi-axe positif. Il n'y a pas de processus d'« aplatissement progressif » comme avec la sigmoïde, et le calcul est extrêmement simple (une seule comparaison suffit).
Le gradient sur le demi-axe positif est toujours 1 et ne diminue pas lorsque l'entrée augmente, ce qui atténue grandement le problème de disparition du gradient. C'est la raison intuitive pour laquelle ReLU est devenu la fonction d'activation par défaut.
il a aussi son propre problème : le gradient du demi-axe négatif est toujours 0, ce qui peut amener certains neurones à « mourir » et à ne plus se mettre à jour—cela peut être directement vu d'après la forme de l'image. -> Il a aussi ses propres problèmes : le gradient sur le demi-axe négatif est toujours 0, ce qui peut amener certains neurones à « mourir » et à cesser de se mettre à jour—cela se voit directement d'après la forme de l'image.
tanh : f(x) = (eˣ - e⁻ˣ) / (eˣ + e⁻ˣ)
Une courbe en forme de S très similaire à la sigmoïde, mais centrée à l'origine, avec un intervalle de...。
Comparé à la sigmoïde, la sortie de tanh est centrée sur 0. Si la moyenne d'entrée de la couche suivante est proche de 0, l'entraînement tend à être plus stable—c'est pourquoi tanh est plus populaire dans certains scénarios.
Mais cela ne résout pas le problème fondamental de l'« aplatissement aux deux extrémités », ce qui explique aussi pourquoi les fonctions de la famille ReLU sont devenues populaires plus tard.
Pourquoi l'entropie croisée utilise -log(p)
Dans les problèmes de classification binaire, la probabilité que le modèle prédise la « classe correcte » est..., la perte d'entropie croisée est。
Intuitivement, on pourrait penser : utiliserLa perte ne serait-elle pas plus simple ? Lorsque les deux courbes sont placées côte à côte, la différence est immédiatement visible.
Exemples
import math
# ---- Partie 1 : La dérivée de la sigmoïde décroît à mesure que |x| augmente ----
def sigmoid(x):
return 1 / (1 + math.exp(-x))
def sigmoid_grad(x):
s = sigmoid(x)
return s * (1 - s) # Formule de la dérivée de la sigmoïde
print(sigmoid_grad(0)) # Au pic : 0.25, déjà la valeur maximale de la dérivée de la sigmoïde
print(sigmoid_grad(5)) # Lorsque |x|=5 : il reste moins de 0.007
print(sigmoid_grad(10)) # Lorsque |x|=10 : environ 0.0000456, le gradient disparaît presque
# ---- Partie 2 : La croissance de la pénalité -log(p) ----
for p in [1.0, 0.5, 0.1, 0.01]:
print(p, -math.log(p)) # Plus p est petit, plus la pénalité est raide ; à p=0.01, la pénalité a déjà atteint 4.6
L'exécution du code ci-dessus produit la sortie suivante :
0.25 0.006648056670790155 4.5395807735957664e-05 1.0 0.0 0.5 0.6931471805599453 0.1 2.302585092994046 0.01 4.605170185988091
Deux nombres méritent d'être retenus : le pic de la dérivée de la sigmoïde n'est que0.25; lorsque p chute de 0.5 à 0.01,la pénalité passe de 0.69 à 4.6.
Trois scénarios pour appliquer l'« intuition de la forme »
| Scénario | Quelle forme rechercher | Critère |
|---|---|---|
| Juger si la fonction de perte est facile à optimiser | Si la surface est proche d'une forme de « cuvette » (convexe) | Plus la forme se rapproche d'une cuvette, plus il est facile pour la descente de gradient de trouver le minimum global ; une surface bosselée (non convexe) peut rester bloquée dans un optimum local |
| Juger si la fonction d'activation ralentit l'entraînement | Si les deux extrémités de la courbe « s'aplatissent » | Plus c'est plat, plus le problème de disparition du gradient est évident |
| Juger si une fonction convient à une sortie de probabilité | Si la plage de valeurs est bornée | Ce n'est que lorsque la plage de valeurs est compressée dans un intervalle comme (0,1) qu'elle peut être interprétée comme une probabilité ; c'est la raison directe pour laquelle on choisit sigmoid et softmax |
Exercice: sans regarder les formules, jugez uniquement par intuition — entre ReLU et sigmoid, laquelle est la plus adaptée pour la couche finale du réseau pour une « sortie de probabilité de classification binaire » ? Pourquoi ?
Cliquez pour voir la réponse
sigmoid convient mieux car sa plage de valeurs est, ce qui peut naturellement s'interpréter comme « la probabilité d'appartenir à une certaine classe ».
L'intervalle de valeurs de ReLU est, n'a pas de borne supérieure, on ne peut donc pas l'utiliser directement comme probabilité.
Résumé du chapitre
| Fonction | Mots-clés de forme | Concept d'IA correspondant |
|---|---|---|
| Fonction linéaire | Ligne droite, même pente partout | Somme pondérée du neurone wx+b |
| Fonction quadratique | En forme de bol / en forme de bol inversé | Surface de la fonction de perte (intuition de fonction convexe) |
| Fonction exponentielle | Croissance ou décroissance accélérée | softmax, terme de momentum |
| Fonction logarithmique | La croissance devient de plus en plus lente. | Perte d'entropie croisée |
| Fonctions trigonométriques | Ondes périodiques | Encodage positionnel |
| sigmoid | En forme de S, aplatie aux deux extrémités. | Sortie de probabilité, la source de la disparition des gradients. |
| ReLU | Polyligne, le demi-axe négatif revient à zéro. | Fonction d'activation par défaut |
| tanh | En forme de S, centrée sur 0. | Scénarios nécessitant une "sortie à moyenne nulle" |