Отрязване на градиента

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

Отрязването на градиента ограничава колко голяма може да стане една актуализация. Ако дадена партида произведе огромен градиент, отрязването го намалява по мащаб, преди стъпката на оптимизатора.

Отрязването не поправя нито целевата функция, нито данните. Мислете за него като за правило за безопасност: на една екстремна партида не бива да се позволява да запрати параметрите през повърхнината на загубата.

Регулаторът на скоростта на асансьора е подходящата аналогия. Асансьорът може да се движи нормално, но ако започне да се движи твърде бързо, регулаторът ограничава скоростта, преди движението да стане опасно. Отрязването на градиента пропуска нормалните градиенти и ограничава опасните пикове. Фигурата по-долу показва обекта, който бива отрязван: плъзнете точката около купата и наблюдавайте как стрелката на градиента се удължава, докато повърхнината става по-стръмна. Отрязването ограничава дължината на тази стрелка до c, като запазва посоката ѝ.

Къде се използва това в MLОтрязването на градиента е прост инструмент за стабилност. Често се комбинира с AdamW, загряване и смесена точност, защото тези рецепти иначе могат да пострадат от редки, но разрушителни скокове на градиента.
▶ Отрязване на градиента
← Диагностика на оптимизатораAdam срещу AdamW →