Новый способ обучения нейросетей — manifold Muon

🎯 Главная идея — ИИ может давать последовательные и надёжные ответы. То, что сейчас считается «рандомностью» моделей, авторы называют исправимым багом.

*https://www.youtube.com/watch?v=t5zLjFjaocM
**https://300.ya.ru/v_tARNtQmU

тамкоды

00:00:00 Введение

  • Обсуждение возможности создания более стабильного ИИ через геометрию.
  • План: проблема обучения нейросетей, геометрическое решение, практика и будущее.

00:00:29 Проблема обучения нейросетей

  • Необходимость поддержания параметров нейросетей в здоровом диапазоне.
  • Риски при слишком больших или маленьких весах: взрывы значений или затухание обучения.
  • Стандартное решение — нормализация, но оно может быть сложным и ограничивать возможности модели.

00:01:47 Геометрическое решение

  • Идея заставить веса модели существовать на специальной математической поверхности.
  • Понятие касательного пространства и его применение в оптимизации.
  • Универсальный рецепт из трёх шагов: нахождение лучшего направления, шаг в этом направлении, ретракция.

00:03:01 Оптимизатор Manifold Moon

  • Градиентный спуск как частный случай в плоском евклидовом пространстве.
  • Оптимизатор Manifold Moon работает на многообразии Штифеля.
  • Многообразие Штифеля как гиперсфера для матриц, предотвращающая раздувание или сжатие данных.

00:03:48 Применение на практике

  • Цель: найти шаг, который максимально уменьшит ошибку модели.
  • Ограничение размера шага спектральной нормой.
  • Важное условие: шаг должен лежать в касательном пространстве.
  • Четырёхшаговый алгоритм: вспомогательная задача, вычисление оптимального шага, применение к весам, ретракция.
  • Эксперименты показывают эффективность метода на задаче классификации изображения.

00:05:08 Модульные многообразия

  • Теория модульных многообразий для сборки слоёв в единую сеть.
  • Три правила: выполнение функций слоёв по цепочке, объединение многообразий в декартово произведение, взвешенный максимум норм частей.
  • Автоматическое распределение бюджета скорости обучения по всей архитектуре.

00:06:09 Будущее ИИ

  • Возможные направления исследований: выбор многообразий для разных частей сети, упрощение обучения моделей с низкой точностью вычислений, разработка быстрых алгоритмов.
  • Исследование экзотических геометрий, например, неримановых.
  • Перспектива совместного проектирования архитектуры и оптимизации как следующего шага в развитии ИИ.

Transcript

0:00
А что, если ключ к созданию более
0:01
стабильного и надёжного искусственного
0:03
интеллекта лежит не столько в новых
0:06
архитектурах, сколько в геометрии?
0:08
Давайте-ка посмотрим на одну очень
0:09
крутую идею, которая как раз об этом.
0:12
Итак, наш план такой. Начнём с одной из
0:15
главных проблем при обучении нейросетей.
0:18
Затем посмотрим на элегантное
0:20
геометрическое решение, разберёмся, как
0:22
оно работает на практике, и, наконец,
0:25
попробуем заглянуть в будущее, которое
0:27
всё это открывает. Начнём вот с чего.
0:30
Когда мы обучаем огромные нейронные
0:33
сети, есть одна фундаментальная задача.
0:35
Нужно постоянно следить, чтобы все их
0:37
внутренние параметры, все эти тензоры
0:40
оставались в здоровом диапазоне. Здесь
0:43
нужно поймать очень тонкий баланс. Если
0:45
веса сети становятся слишком большими,
0:48
всё, значения взрываются, начинаются
0:50
ошибки, численные переполнения, обучение
0:52
идёт в разнос. А если наоборот веса
0:55
становятся слишком маленькими, то
0:56
значения просто исчезают и сеть вообще
0:59
перестаёт чему-либо учиться. Тупик. Ну
1:02
есть, конечно, стандартное решение
1:04
нормализация. Это когда мы просто
1:06
принудительно загоняем значение в нужной
1:08
рамки. Её часто используют для активации
1:11
или для обновления градиентов, а вот для
1:14
самих весов модели реже. Почему? Ну, это
1:17
может быть и вычислительно сложнее, и,
1:19
что важнее, иногда даже ограничивает
1:21
возможности самой модели.
1:23
И вот тут-то и появляется одна очень
1:25
изящная мысль. А что, если подойти к
1:28
проблеме с другой стороны? Что если
1:30
заставить веса модели с самого начала
1:32
существовать на некой специальной
1:34
математически правильной поверхности,
1:37
где никаких взрывов и затуханий просто
1:39
не может быть? И вот эта идея как раз и
1:42
уводит нас в мир геометрии, а точнее к
1:45
понятию многообразия.
1:47
Что это такое? Ну, представьте себе
1:50
Землю. В глобальном масштабе это сфера,
1:53
шар. Ну вот мы стоим на ней, и для
1:55
нас-то она плоская. Вот эта локальная
1:58
плоскость в любой точке и называется в
2:00
геометрии касательным пространством.
2:03
Так. И что это нам даёт? А вот что.
2:06
Вместо того, чтобы разрешать обновлением
2:08
весов прыгать куда попало, а потом
2:10
насильно их возвращать обратно, можно
2:12
сразу проектировать шаги так, чтобы они
2:14
оставались на этой поверхности, то есть
2:16
двигались в пределах касательного
2:18
пространства. Возвращаясь к нашей
2:20
аналогии, мы как бы аккуратно шагаем по
2:22
поверхности земли, а не пытаемся бурить
2:25
туннель напрямик. В итоге получается
2:27
такой универсальный рецепт из трёх
2:30
шагов. Первое: находим самое лучшее
2:32
направление на нашей локальной плоскости
2:34
в касательном пространстве. Второе,
2:37
делаем шаг в этом направлении. И третье,
2:39
с помощью маленькой поправки, она
2:41
называется ретракция, мы как бы
2:43
приземляемся обратно на нашу
2:45
искривлённую поверхность. И самое
2:47
главное, что этот подход работает для
2:49
любой формы многообразия. И вот здесь
2:52
начинается самое интересное.
2:53
Оказывается, если менять само
2:55
многообразие и то, как мы измеряем на
2:57
нём расстояние, можно получить целое
2:59
семейство разных оптимизаторов. Обычный
3:01
градиентный спуск, к которому все
3:03
привыкли, да, это же просто частный
3:04
случай, когда мы работаем в простом
3:06
плоском евклидовом пространстве. А мы
3:08
нацелились на кое-что поинтереснее, на
3:11
оптимизатор Moneyfold Moon. Он как раз и
3:13
работает на таком хитром многообразии
3:15
штифеля. Хорошо, теория звучит красиво,
3:18
а как это применить на практике? Ну, то
3:20
есть к матрицам весов в самой настоящей
3:22
нейронке. Для этого нам и нужно
3:25
многообразие штифеля. Если по-простому,
3:28
это как бы гиперсфера только для матриц.
3:31
То есть это набор таких матриц, у
3:32
которых все сингулярные числа, а это,
3:35
грубо говоря, мера того, насколько
3:36
матрица растягивает пространство. Так
3:39
вот, они все равны единице. И это
3:41
заставляет матрицу вести себя очень
3:43
прилично, не позволяя ей ни раздувать,
3:45
ни сжимать данные слишком сильно. Итак,
3:48
с чего мы начинаем? Цель-то у нас вполне
3:51
стандартная для любой оптимизации. Найти
3:53
такой шаг, такое обновление для весов,
3:56
которое как можно сильнее уменьшит
3:58
ошибку модели. Но тут появляется первое
4:01
важное правило. Мы ограничиваем размер
4:04
нашего шага. А измеряем мы его с помощью
4:07
так называемой спектральной нормы. Это
4:09
опять же его максимальный растягивающий
4:12
эффект. И вот этот эффект не должен быть
4:14
больше, чем наша скорость обучения. А
4:17
вот и второе, самое главное условие, та
4:20
самая фишка. Наш шаг, наше обновление
4:23
обязано лежать в касательном
4:25
пространстве. Помните, как с землёй? Мы
4:27
идём по поверхности, а не копаем
4:29
напрямик. Именно это ограничение и
4:32
держит нас на нашем правильном, здоровом
4:34
многообразии штифера. И как же решить
4:37
такую задачку со всеми этими правилами?
4:40
Оказывается, решение укладывается в
4:41
довольно изъячный четырёхговый алгоритм.
4:44
Сначала решается вспомогательная
4:45
задачка, чтобы найти нужное направление.
4:48
Потом вычисляется сам оптимальный шаг.
4:50
Дальше он применяется к весам. И в самом
4:52
конце та самая ретракция, которая
4:54
гарантирует, что мы снова идеально
4:56
приземлились на наше многообразие. И
4:59
знаете, это не просто теория. Первые же
5:01
эксперименты показывают, штука работает.
5:03
На задаче классификации изображения этот
5:05
метод обошёл стандартный популярный
5:07
оптимизатор.
5:09
О’кей, для одного слоя это работает
5:12
здорово. Но нейросеть — это же много
5:14
слоёв. Как быть с целой сетью? А ответ
5:18
кроется в теории модульных многообразий.
5:20
Звучит сложно, но идея красивая. Она
5:23
позволяет нам собирать такие правильные
5:25
слои в единую сечь, прямо как из кубиков
5:28
LEGO, у каждого из которых свои особые
5:30
правила. И делается это по трём простым
5:33
правилам. Во-первых, функции слоёв
5:35
просто выполняются по цепочке, одна за
5:37
другой. Во-вторых, их многообразие
5:39
объединяются в так называемое декартовое
5:41
произведение. Простой пример: если взять
5:43
линию и диск, их произведение даст нам
5:46
цилиндр. Ну и в-третьих, общая норма для
5:48
нового модуля — это просто взвешенный
5:50
максимум норм его частей. И вот эта,
5:52
казалось бы, абстрактная математика даёт
5:54
потрясающий практический результат. Она
5:56
позволяет автоматически, по-умному
5:58
распределить бюджет скорости обучения по
6:00
всей архитектуре. И всё это, конечно,
6:02
открывает просто огромное поле для новых
6:04
идей и исследований в области обучения
6:06
ИИ. Тут можно копать и копать. Например,
6:10
какие многообразия лучше всего подойдут
6:12
для разных частей сети, скажем, для
6:14
голов внимания в трансформерах? Или,
6:16
может, такой подход упростит обучение
6:18
моделей с низкой точностью вычислений? А
6:21
можно ли придумать ещё более быстрые
6:22
алгоритмы для решения этих
6:24
оптимизационных задач? И это мы ещё не
6:26
говорим об исследовании совсем уж
6:28
экзотических не римановых геометрий, где
6:30
всё ещё сложнее и интереснее. В конечном
6:33
счёте вся эта работа подталкивает к
6:35
очень важной мысли. Возможно, мы
6:37
движемся к будущему, где архитектура
6:39
нейросети и оптимизатор для неё не будут
6:42
больше подбирать по отдельности, где они
6:44
будут проектироваться вместе как единый
6:46
неделимый механизм. И это, конечно,
6:48
заставляет задаться вопросом, а не
6:50
является ли именно такой вот совместный
6:51
дизайн архитектуры и оптимизации тем
6:53
самым следующим большим шагом вперёд для
6:56
всего искусственного интеллекта?

Поделиться: