Prerequsite:Алгоритм оптимизации Адама Алгоритм оптимизации Адама долгое время был основным алгоритмом обновления параметров, и в этой статье представлены AdamW и Adafator, используемые в процессе обучения больших моделей.
Оригиналбумага:Decoupled Weight Decay Regularization
AdamW означает Адам + Распад веса.
Адам полагает, что многие читатели уже поняли, что распад веса относительно легко объяснить. Чтобы предотвратить переобучение, при вычислении функции потерь необходимо добавить регулярный член L2:
При расчете градиента путем вывода:
Распад веса умножается перед обычным термином на
,Используется для масштабирования воздействия обычного термина:Регуляризация L2 приведет к тому, что параметры будут приближаться к 0, а Weight Decay смягчает эту тенденцию.。
AdamW применяет Weight Decay на последнем этапе обновления параметров алгоритма оптимизации, см. рисунок ниже (w на рисунке ниже эквивалентен приведенной выше формуле).
)。
Фиолетовая и зеленая части на рисунке эквивалентны формуле 2. Фиолетовая часть — это место, где исходный Адам применяет затухание веса, а зеленая часть — это место, где AdamW применяет затухание веса.
Реализацию кода можно найти в:Понимание Адама В
Оригиналбумага:Adafactor: Adaptive Learning Rates with Sublinear Memory Cost
Adafator не сохраняет скользящее среднее каждого элемента весовой матрицы, как Адам, но сохраняет сумму скользящих средних измерения строки или измерения столбца, что значительно уменьшает объем памяти, необходимый при обновлении параметров.
Подробный метод расчета Адафатора показан в алгоритме ниже:
в
и
Представляет квадратный градиент измерения строки и измерения столбца.
Представляет количество строк,
представляет количество столбцов,
Чтобы представить комбинацию измерений столбца, вы можете использовать
То есть производится эквивалентная замена размеров.
Таким образом, пространство, необходимое для хранения, сокращается с
кратные
кратно, что экономит значительное пространство для хранения.
ПРИМЕЧАНИЕ. Из-за
, что эквивалентно устранению распада веса Адама. Это приводит к тому недостатку, что Adafator имеет нестабильную производительность по сравнению с алгоритмом Адама. Иногда он может сходиться быстрее, чем Адам, а иногда не может.