Synthèse de l'optimisation, et formulaire
L'optimisation en un paragraphe, le formulaire, et les erreurs fréquentes.
Synthèse
Nous sommes partis d'une règle utilisée depuis deux cours sans preuve. La direction opposée au gradient n'est pas une bonne direction : c'est la meilleure, par Cauchy-Schwarz, et la borne qu'elle atteint est la norme du gradient, mesurée à quand 2000 directions tirées au hasard plafonnent à de cette valeur. Le signe négatif est imposé par l'analyse des trois cas du signe de la pente.
Le lot complet calcule ce gradient exactement, et échoue : après un passage sur 60 000 exemples il atteint , le niveau du hasard, parce qu'il n'a produit qu'une mise à jour. Figer un petit échantillon corrige le coût mais optimise la mauvaise fonction : sur ses 64 exemples, sur le test. Le mini-lot retiré à chaque pas satisfait les quatre critères : son gradient est un estimateur exactement sans biais, et son écart quadratique décroît en , loi vérifiée sur trois ordres de grandeur avec .
Le pas obéit à un seuil exact sur un quadratique, qui devient en dimension et fait apparaître le conditionnement. Sur le réseau, la mesure corrige la théorie sur un point : la perte ne diverge jamais, elle plafonne à , qui est le plancher numérique et non l'infini. Le témoin honnête de la divergence est la norme des paramètres, qui passe de à .
Le point de départ est contraint par deux obstacles prouvés : la symétrie de l'initialisation nulle, démontrée par récurrence et confirmée par un écart entre lignes exactement nul ; et la saturation de la loi normale centrée réduite, qui envoie des neurones là où la dérivée est sous . Le critère « conserver la variance » fait tomber : prédiction , mesure .
Reste ce qu'aucun de ces réglages ne répare : la borne d'un quart impose une atténuation exponentielle en profondeur, soit 256 sur quatre couches, mesurée à 190. La profondeur avec sigmoïde est structurellement impossible, et la ReLU est la première réponse.
Formulaire
Tableau des objets
| Symbole | Signification | Ensemble | Dimension |
|---|---|---|---|
direction unitaire de recherche | sphère unité de | ||
dérivée directionnelle selon | scalaire | ||
mini-lot d'indices à l'itération | partie de | cardinal | |
taille du mini-lot | scalaire, hyperparamètre | ||
gradient estimé sur le mini-lot | |||
variance des gradients individuels | scalaire | ||
hessienne de la perte | matrices symétriques | ||
valeur propre de | scalaire | ||
conditionnement | scalaire | ||
largeur de la couche d'entrée | scalaire | ||
norme d'opérateur, plus grande valeur singulière | scalaire |
# 0. Mise a l'echelle des entrees page 6mu, sigma = X_train.mean(axis=0), X_train.std(axis=0)vivants = sigma > seuil # 67 pixels sur 784 sont mortsX_train[:, vivants] = (X_train[:, vivants] - mu[vivants]) / sigma[vivants]X_test[:, vivants] = (X_test[:, vivants] - mu[vivants]) / sigma[vivants]# mu et sigma viennent de L'ENTRAINEMENT SEUL : les calculer sur tout# le jeu serait une fuite de donnees. # 1. Initialisation page 5for l in couches: # variance 1/d_in : elle tombe du critere de conservation, (D1)-(D4) W[l] = rng.normal(0.0, sqrt(1.0 / d_in[l]), size=(d_out[l], d_in[l])) b[l] = zeros(d_out[l]) # rien ne les symetrise entre eux # 2. Boucle d'apprentissage pages 2, 3, 4for t in range(T): idx = rng.choice(N, size=B, replace=False) # sans biais, critere (C2) cache = propagation_avant(theta, X[idx]) grads = retropropagation(theta, cache, Y[idx]) # gradient EXACT for cle in theta: theta[cle] -= eta * grads[cle] # direction prouvee, signe prouveErreurs fréquentes
| Ce qu'on croit | Ce qui est vrai |
|---|---|
« Stochastique » veut dire approximatif | Le gradient de mini-lot est un estimateur exactement sans biais. Ce qui est approximatif, c'est une réalisation ; la moyenne, elle, est juste. |
Un grand pas fait apparaître des valeurs indéfinies | Mesuré : jusqu'à , aucune valeur non finie. La perte plafonne à , qui est le plancher numérique du code. Le témoin de la divergence est la norme des paramètres. |
Un petit pas est le choix prudent | À , la précision est après un passage complet, et la courbe descend proprement : l'échec ressemble à un succès lent. |
Le lot complet est plus coûteux par exemple | Il est fois moins coûteux par exemple. Son défaut est le nombre de mises à jour, pas l'arithmétique. |
L'initialisation nulle converge lentement | Elle ne converge pas du tout vers un réseau à 128 neurones : elle en simule un à un seul, et l'écart entre lignes reste exactement nul. |
Saturation et évanescence sont la même chose | La saturation est un état d'un neurone, que l'initialisation contrôle. L'évanescence est un effet multiplicatif de la profondeur qu'aucune initialisation ne supprime. |
On peut standardiser avant de séparer les jeux | C'est une fuite de données : le score sera meilleur qu'il ne devrait, et rien ne le signalera. |
La standardisation est toujours un gain net | Sur ces données elle apporte de précision, et crée au passage des valeurs allant jusqu'à sur les pixels de bord. |
Un calcul. On dispose d'un million d'exemples et l'on veut que l'écart quadratique moyen du gradient de mini-lot vaille au plus de la norme du gradient complet. On mesure et une norme de . Quelle taille de lot faut-il ? Ce lot est-il praticable ? Que conclus-tu sur la stratégie « réduire le bruit en agrandissant le lot » ?
Une question conceptuelle. La page 2 prouve que la direction opposée au gradient est la meilleure. La page 4 montre qu'un pas trop grand fait empirer la perte. Ces deux résultats sont-ils contradictoires ? Réponds en identifiant précisément l'hypothèse de la page 2 qui n'est plus vérifiée à la page 4.
Attendu · Un calcul chiffré, et une phrase qui nomme l'hypothèse.
Suite du parcours
Ce que le cours suivant remboursera
| Dette | D'où elle vient |
|---|---|
Sur-apprentissage, écart entre précision d'entraînement et de test | cours précédent, entraînement complet |
Le candidat figé atteint sur ses 64 exemples et sur le test | page 3 de ce chapitre : le cas d'école du sur-apprentissage, fabriqué exprès |
Pénalisation des grands poids : la norme passe de à pendant un entraînement sain | page 4 : la norme croît toujours, et rien ne l'en empêche |
Le correctif propre à la standardisation par pixel | page 6, les valeurs à |