Neural Tangent Kernel (NTK)
Le noyau tangent neuronal (NTK) mesure la façon dont les prédictions d’un réseau réagissent aux changements de paramètres, établissant un lien entre l’entraînement des réseaux neuronaux et les méthodes à noyau.
Le noyau tangent neuronal (NTK) est une fonction de similarité qui mesure la façon dont les sorties d’un réseau neuronal pour deux entrées réagissent aux mêmes petites modifications des paramètres du modèle. Les prédictions correspondant à des entrées sont fortement couplées lorsque leurs gradients par rapport aux paramètres sont alignés. Cela établit un lien entre l’entraînement des réseaux neuronaux et les méthodes à noyau, qui apprennent à partir des similarités deux à deux entre les exemples.
Arthur Jacot, Franck Gabriel et Clément Hongler ont introduit ce terme en 2018 dans Neural Tangent Kernel: Convergence and Generalization in Neural Networks, établissant un cadre mathématique pour analyser l’évolution des prédictions pendant l’entraînement.
Fonctionnement du noyau tangent neuronal#
Pour un réseau neuronal à sortie scalaire, calcule la dérivée de la sortie par rapport à chaque paramètre entraînable. Ces dérivées forment un vecteur gradient qui décrit la sensibilité de la prédiction aux poids du modèle. Le NTK entre deux entrées est le produit scalaire de leurs vecteurs gradient.
Sur un jeu de données, ces valeurs deux à deux forment une matrice à noyau, également appelée matrice de Gram. Sa diagonale mesure la sensibilité de chaque prédiction aux changements de paramètres ; les éléments hors diagonale décrivent le couplage entre différents exemples. Pour plusieurs sorties, chaque paire d’entrées produit un bloc contenant les interactions entre les coordonnées de sortie, comme dans le calcul empirique du NTK.
Pendant la descente de gradient, le noyau détermine comment la réduction de l’erreur de prédiction pour un exemple modifie les prédictions ailleurs. Les gradients concernés sont les dérivées des sorties du réseau ; la rétropropagation fournit les mécanismes de dérivation. La fonction de perte détermine ensuite la direction et l’intensité des mises à jour qui corrigent les erreurs.
Largeur infinie, convergence et généralisation#
La largeur d’un réseau correspond à son nombre d’unités cachées, ou de canaux dans une couche convolutionnelle. Avec la paramétrisation NTK et des hypothèses appropriées sur l’initialisation et l’entraînement, l’augmentation de la largeur des couches cachées vers l’infini produit un noyau limite déterministe qui reste constant pendant l’entraînement. Le NTK empirique d’un réseau de taille finie est évalué avec ses paramètres réels et peut évoluer au fil de l’entraînement.
Dans le régime à noyau constant, l’entraînement suit l’approximation au premier ordre du réseau autour de l’initialisation. Il s’agit d’un réseau linéarisé : ses prédictions dépendent linéairement des changements de paramètres, tout en conservant une dépendance non linéaire aux entrées. Le terme associé entraînement paresseux décrit un régime où les caractéristiques tangentes changent peu. L’apprentissage de caractéristiques implique que ces caractéristiques évoluent considérablement pendant l’optimisation.
Pour une perte quadratique et un flot de gradient à noyau constant — la limite en temps continu de petits pas de gradient — les erreurs diminuent le plus rapidement selon les vecteurs propres du noyau associés aux valeurs propres les plus grandes. Les vecteurs propres identifient des motifs parmi les exemples, et les valeurs propres déterminent leur vitesse d’apprentissage. Cela explique pourquoi l’arrêt anticipé agit comme une régularisation : il limite l’ajustement des composantes apprises lentement, y compris celles associées au bruit et au surapprentissage. Les prédictions sur des entrées inédites dépendent de leurs similarités selon le noyau avec les données d’entraînement.
Applications et concepts connexes#
Les méthodes NTK permettent la régression à noyau et l’analyse de la classification d’images. Le NTK convolutionnel (CNTK) étend cette construction aux réseaux neuronaux convolutionnels. Sanjeev Arora et ses collègues ont utilisé le calcul exact du CNTK pour la classification sur CIFAR-10, fournissant un équivalent fondé sur les noyaux à l’entraînement de réseaux convolutionnels de taille finie.
Le noyau de processus gaussien de réseau neuronal (NNGP) décrit la covariance entre les sorties de réseaux initialisés aléatoirement dans la limite d’une largeur infinie. Le NTK décrit la dynamique d’entraînement induite par le gradient. De même, le sondage linéaire entraîne un classificateur linéaire sur des représentations figées ; la linéarisation NTK utilise comme caractéristiques les dérivées par rapport aux paramètres entraînables sélectionnés.
La sélection des paramètres modifie donc le noyau tangent qui régit l’entraînement. Lors du réglage fin de Ultralytics YOLO26, l’argument freeze maintient certaines couches figées, de sorte que leurs paramètres ne contribuent à aucune direction de mise à jour dans le noyau d’entraînement effectif.
Calcul d’un NTK empirique#
Cet exemple PyTorch calcule le noyau pour deux images de chiffres manuscrits issues du jeu de données digits inclus dans scikit-learn. Installe les dépendances avec pip install torch scikit-learn.
import torch
from sklearn.datasets import load_digits
from torch import nn
torch.manual_seed(0)
digits = load_digits()
inputs = torch.tensor(digits.data[:2], dtype=torch.float32) / 16
model = nn.Sequential(nn.Linear(64, 8), nn.Tanh(), nn.Linear(8, 1))
parameters = tuple(model.parameters())
outputs = model(inputs)
# Chaque ligne du jacobien contient les dérivées des paramètres pour une sortie.
rows = []
for output in outputs[:, 0]:
gradients = torch.autograd.grad(output, parameters, retain_graph=True)
rows.append(torch.cat([gradient.flatten() for gradient in gradients]))
jacobian = torch.stack(rows)
kernel = jacobian @ jacobian.T
print(kernel)La matrice 2 x 2 affichée contient les deux autosensibilités et leur couplage entre exemples. Sa construction en tant que jacobian @ jacobian.T rend le NTK empirique à sortie scalaire symétrique et semi-défini positif, avec un rang limité à la fois par le nombre d’exemples et par le nombre de paramètres entraînables.










