Conditionnement et zigzag

Comment les modèles apprennent réellement, de la descente de gradient classique à Adam

La descente de gradient se comporte très différemment sur une surface de loss ronde et sur une surface étirée. Le conditionnement mesure cet étirement. Un mauvais conditionnement fait zigzaguer l'optimiseur : une direction est raide, une autre est plate.

Pour une loss quadratique, le conditionnement est contrôlé par les valeurs propres de la hessienne. Le nombre de conditionnement κ est le rapport entre la plus grande et la plus petite courbure.

Dans un flipper aux amortisseurs latéraux serrés et à la longue et étroite voie de sortie, un coup fort envoie la bille ricocher d'un côté à l'autre tout en n'avançant que lentement. Un mauvais conditionnement fait la même chose à la descente de gradient : elle rebondit dans la direction raide et rampe dans la direction plate. La figure ci-dessous est exactement cette machine. Faites glisser κ pour étirer le bol, lancez la descente, et regardez le chemin ricocher à travers la direction étroite tandis qu'il avance à peine le long de la direction longue. (Laissez β à 0 pour l'instant ; il sera la vedette de la leçon sur le Momentum.)

Où cela apparaît en MLLe conditionnement est l'une des raisons pour lesquelles l'architecture des réseaux de neurones compte. Les connexions résiduelles, les couches de normalisation, les schémas d'initialisation et les optimiseurs adaptatifs rendent tous la loss plus facile à parcourir en changeant la géométrie effective vue par l'entraînement à base de gradient.
▶ Conditionnement et zigzag
← Plannings et warmupMomentum →