Реализация феномена двойного спуска в глубоком обучении по материалам статьи Grokking: Generalization beyond overfitting (см. ниже точное указание). К реализации прилагается обзорная статья (очерк Intuitive Learning, Paper.pdf), где исследуется связь переобучения с нахождением закономерностей в данных. Затрагиваюся следующие темы:
- Связь нормы, гладкости, регуляризации и простоты решения. Принцип "бритвы Оккама".
- flat minima, generalization gap
- epoch-wise DD (двойной спуск по эпохам)
Визуализация двойного спуска (30 000 итераций, batchsize=512, budget=3e5):
Функция потерь | Точность |
---|---|
Объяснение формы кривой двойного спуска, основываясь на epoch-wise модели и алгоритме 𝑆𝐺𝐷. Согласно ей можно выделить три этапа:
- Начальное обобщение (simple generalisation) Модель изучает простые закономерности. Test Error ↓
- Запоминание (memorizing) Если шума нет, то модель начинает концентрироваться на отдельных примерах, запоминая их и пытаясь встроить к уже изученным правилам. Если данные к тому же зашумлены, то неправильные примеры также запоминаются. Train Error ↓; Test Error ↑
- Объединение (consolidation) Модель объединяет успешные результаты этапов (1) и (2), путем регуляризации и упрощения функции. В результате Test Error ↓, двойной спуск завершён.
train.py # С настройкой параметров модели
(1) Операция
(2) Операции с перестановками в группе
Номер опыта | Batch size | Budget | Вид операции |
---|---|---|---|
1 | 512 | 3e5 | (1) |
2 | 256 | 3e4 | (1) |
3 | 256 | 3e4 | (2) |
Точность | Функция потерь |
---|---|
Точность | Функция потерь |
---|---|
@inproceedings{power2021grokking,
title={Grokking: Generalization beyond overfitting on small algorithmic datasets},
author={Power, Alethea and Burda, Yuri and Edwards, Harri and Babuschkin, Igor and Misra, Vedant},
booktitle={ICLR MATH-AI Workshop},
year={2021}
}