Топология бассейна притяжения
Lets switch gears
Есть очень красивый чисто топологический сюжет, описанный Ветровым.
Вот есть машобуч. В нем как правило надо подогнать какие-то параметры, так чтобы функция, заданная с помощью этих параметров хорошо интерполировала/экстраполировала обучающую выборку. Как правило это решается введением лосса - функции потерь, и минимизации этой функции методом градиентного спуска (или какими-нибудь инженерными свистелками, вроде стохастического градиента).
С одной стороны, градиентный спуск - это превосходная вещь, интерпретируемая, легко прогается, связана с хорошей математикой вроде теории Морса. С другой стороны, мы учим студентов быть осторожными: если стоит задача найти глобальный минимум, то градиентный спуск может быть плохим помощником - вдруг мы свалимся в неправильный локальный минимум?
И тут приходят машинщики и такие говорят "Мы применяем градиентный спуск, и он прямо очень хорошо работает, лучше, чем ожидается. Мы не сваливаемся в плохие локальные минимумы (где лосс маленький на трейне, и большой на тесте), а те, в которые сваливаемся - они прямо очень похожи на глобальные." Почему так? Полного ответа нет, но есть интересное наблюдение.
Для функции f:R^d-->R (стремящейся к +∞ при x-->∞ и с глобальным минимумом 0 для простоты) рассмотрим фильтрацию подуровня
LS(t)={x|f(x)<t},
lower set filtration, прямо как в топологическом анализе данных. Затапливаем график функции водой грубо говоря.
И вот интуиция из матана, теории Морса и т.д. нам говорит, что при увеличении t вначале - в момент t=0 - возникнет озеро вокруг точки глобального минимума, потом возникнет озеро где-то в другом месте - в неправильном локальном минимуме, возникнут еще сколько-то озер. Потом, когда параметр t начнет проходить через критические значения в седловых точках, наши озера начнут объединяться в озера побольше и т.д.
Однако, если размерность d равна 100500 триллионов, то картинка происходящего будет другой. При затоплении за очень малое время возникнут гуголы локальных минимумов, которые в это же самое время слипнутся в связный кластер. Концептуально это довольно понятно: морсовских значений должно быть настолько дохрена, что любой отрезок [0,ε] содержит как кучу значений индекса 0, так и кучу значений индекса 1, перестройки на которых сразу же соединяют болота в минимумах.
Математически - есть про это интересные работы, например вот тут https://arxiv.org/abs/1110.5872 злой матан. Обсуждают про связь этих эффектов со спиновыми стёклами.
Практически, есть работа Ветрова https://arxiv.org/abs/1802.10026 где показано, что если взять два случайных минимума функции потерь большой модели, то между ними можно проложить путь, целиком проходящий "по минимумам". Говоря иначе, множество LS(ε) при малых ε - связно. Более того, в качестве пути можно тупо взять двузвенную ломаную.
Это всё, конечно, не означает, что теория Морса не работает. Но это означает, что на больших размерностях и "компьютерных" порядках малости теория Морса может дать неверные интуиции о происходящем.