Обусловеност и зигзаг

Как моделите наистина се учат — от обикновено градиентно спускане до Adam

Градиентното спускане се държи много различно върху кръгла повърхност на загубата и върху разтегната. Обусловеността измерва точно това разтягане. Лошата обусловеност кара оптимизатора да зигзагира: една посока е стръмна, друга е плоска.

За квадратична загуба обусловеността се управлява от собствените стойности на Хесиана. Числото на обусловеност κ е отношението на най-голямата към най-малката кривина.

В машина за пинбол с тесни странични отбивачи и дълга тясна изходна пътека, силен удар кара топката да рикошира ту наляво, ту надясно, докато напредва напред само бавно. Лошата обусловеност прави същото с градиентното спускане: то отскача в стръмната посока и пълзи в плоската. Фигурата по-долу е точно тази машина. Плъзнете κ, за да разтегнете купата, пуснете спускането и гледайте как пътят рикошира напречно на тясната посока, докато едва напредва по дългата. (Оставете β на 0 засега; тя е главна героиня в урока за моментум.)

Къде се използва това в MLОбусловеността е една от причините архитектурата на невронната мрежа да има значение. Остатъчните връзки (residual connections), слоевете за нормализация, схемите за инициализация и адаптивните оптимизатори — всички те правят загубата по-лесна за навигиране, като променят ефективната геометрия, която вижда обучението, базирано на градиенти.
▶ Обусловеност и зигзаг
← Разписания и загряванеМоментум →