Истории (не)успеха (ИИ)ЕИ
428 subscribers
161 photos
89 videos
2 files
242 links
Просто о математике, нейросетях, программировании, спорте, политике, культуре. Общение, контакты, международные онлайн дискуссии/лекции в формате лайвстрим, встречи на спорт в Мюнхене.
Download Telegram
🧩 В последние недели я немного занимался нейросетями для решения вращательных пазлов типа кубика Рубика, пирамидок и прочих.

Речь идёт о задачах вроде нахождения путей в графах Кэли, которые имеют колоссальное количество состояний.

Для примера:

* Кубик Рубика 3×3×3 — примерно 10^19 перемешанных состояний.
* Кубик 5×5×5 — уже примерно 10^90 состояний.
* Кубик 8×8×8 10^167 состояний!

😲 Для сравнения: это гораздо больше, чем число атомов в видимой Вселенной. Суперастрономические числа.

Решить такой пазл значит найти путь в графе от любого перемешанного состояния до собранного, где все грани одного цвета.
Да, интересно находить кратчайший путь, но пока оставим этот нюанс.

💡 Главное: классические алгоритмы поиска в графах здесь не работают — слишком много вершин и рёбер.

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

Продолжение будет (не сегодня 😉).
👍8🔥1
Продолжение. Начало — тут.

Я ещё не закончил разбираться с поиском в графах Кэли / подгруппах симметрической группы, но хочу поделиться промежуточными наблюдениями и парой вопросов, которые меня в этой теме занимают. Главное — задавать правильные вопросы; возможно, кто-то из дорогих читателей подскажет подходящую идею или задаст вопрос, которого у меня пока не хватает. Поскольку в телеграме длина поста ограничена, не буду сейчас гнаться за формальной точностью — по деталям, если будет интересно, отвечу в комментариях.

Итак, что конкретно делаем с нейросетью. Мы учим её предсказывать следующий ход для сборки пазла. Как это делаем: генерируем случайные «прогулки» по графу от собранного состояния к перемешанным состояниям длины от 2 до 𝑘. Эти пары (перемешанное состояние → следующий ход по пути к собранному состоянию) скармливаем нейросети в режиме супервайзинга. Ходов у нас конечное небольшое число — пусть это 𝑚. На входе сеть получает состояние, на выходе — распределение по
𝑚 возможным ходам: оценку вероятности того, что данный ход уменьшит дистанцию до собранного состояния.

На головоломках с размерами состояния порядка
10^15 – 10^20 подход работает прекрасно. Модель небольшая, много данных не требуется — даже при том, что число случайных прогулок на порядки меньше числа всех состояний, сеть быстро учится и решает такие пазлы без видимых проблем. По опыту: на этих масштабах сложно ошибиться с архитектурой/размером модели — всё, что я пробовал (простые CNN-подобные сети, трансформеры и т.п.), работало; параметры модели обычно значительно меньше полумиллиона обучаемых весов, и пространство скрытых состояний тоже невелико. Скоро выложу код и модели на Kaggle/репозиторий. Следующий шаг — атаковать головоломки с количеством состояний ≫ 10^40.

Вопросы, которые мне кажутся интересными (и по которым хотелось бы услышать мнение сообщества):

1) Какова конкретная связь между размером графа / порядком соответствующей группы и необходимым числом обучаемых параметров, размером датасета и выбором архитектуры? Неужели действительно «любая» архитектура будет работать одинаково, как мне пока кажется? Может, я ошибаюсь — опыта мало, хотелось бы навести порядок в голове.

2) Немного теории. Вращающиеся пазлы задаются как подгруппы симметрической группы (группа перестановок). Известно, что для абелевых (т.е. коммутативных) групп число достижимых состояний с ростом длины слова увеличивается полиномиально; в более общем виде теорема Громова говорит о связи между полиномиальным ростом и виртуальной нильпотентностью группы (нилпотентность группы это, грубо говоря - насколько группа близка к коммутативности). Пазлы, как правило, не нильпотентны и в вычислительных экспериментах демонстрируют экспоненциальный рост числа достижимых состояний по мере увеличения глубины. Тогда почему нейросети так хорошо справляются с такой «экспоненциальной» структурой? Какие факторы дают им преимущество?

Господа математики (и все причастные), что думаете?

Продолжение будет (не сегодня 😉).

П.С. всё написаное соответствует моему пониманию темы на сегодняшний день и я тут ни разу не эксперт, который на это потратил годы. пытаюсь покопать в этих направлениях и пишу о том, что вижу по мере раскопок :)
👍52🐳2
В общем, кратко, как это работает — а оно работает (см. тут):

1) Генерируем простым алгоритмом некоторое количество случайных прогулок по графу от собранного состояния до любых, куда заведёт генератор случайных чисел.

2) Компактифицируем дискретный граф 10^𝑛, переводя его в эмбеддинги в пространстве 𝑅^𝑑,где 𝑑≪𝑛. То есть пропускаем все сгенерированные состояния через нейросеть и говорим: вот это состояниe — оно на столько-то шагов от исходного. Учись, нейросеточка, на этом.

3) Пропускаем эти векторы через пару-тройку слоёв нейросети с нелинейностями — она ловит паттерны и учится одной простой вещи: предсказывать, насколько «близко к решению» текущее состояние, хотя никогда его напрямую не видела. Состояний-то слишком много. Поэтому ловим паттерны.

4) Beam Search делает своё дело: на каждом шаге проверяет варианты, смотрит на предсказанную «близость» и оставляет только топ‑k самых перспективных.

И вуаля — даже не видя все 10^n состояний, модель находит решение потому, что видит скрытые закономерности.
👍5
👆👆👆
Вообще, интересно наблюдать, как для решения задач в определённых алгебраических структурах могут применяться искусственные нейронные сети. Я пока занимался этим не так много, но вот что бросается в глаза: если у тебя есть какая-то, даже совсем не плохо исследованная математическая структура — например, симметрические группы как в случае с вверху обсуждаемыми вращательными пазлами — хочется понимать, какая нейросеть её «решает». Архитектура, размер пространства скрытых состояний, все гиперпараметры — хотелось бы видеть это как мост от известных математических инструментов к ИИ-системам, которые находят решения в этих структурах.

Да, можно решать пазлы методом тыка, подбирая размер сети и другие параметры «на глаз», но куда интереснее иметь какую-то теоретическую основу, которая объясняет, как из матаппарата структуры вырастает нейросеть, способная её эффективно обрабатывать 🤷‍♂️
👍82
начало тут 👆

🧩 Всем привет!

Есть серия соревнований на Kaggle, где в соревновательной форме можно попробовать решать открытые задачи математики на графах Кэли и подгруппах симметрической группы.

🎯 Суть
Нужно искать кратчайшие пути в графах Кэли — будь то оптимальные решения для куба Рубика 4×4×4 (Rubik’s Revenge), задачи на транспозоны или другие перестановочные головоломки.

В общем случае такие задачи NP-трудные.

Для малых размеров иногда можно найти оптимум, для больших — выигрывает тот, кто строит более короткие пути.

🔬 Научный контекст
Это классическая постановка: разложить элемент группы в произведение генераторов, или — найти путь в графе Кэли.

-Примеры: bubble sort, pancake sorting 🥞 (в котором, к слову, участвовал Билл Гейтс).

-Открытая гипотеза OEIS A065603 предсказывает, что диаметр (т.н. число Бога) равен ⌈(n+1)/2⌉ — она остаётся нерешённой уже 25 лет.

Важность темы подчёркивают работы М. Громова, Т. Тао и других. Дональд Кнут предлагал алгоритмические улучшения.

Применения: биоинформатика (оценка эволюционных расстояний), теория коммуникаций, оптимизация сетей и многое другое.

🤖 RL и компьютерные науки
Состояния = вершины графа Кэли.
Действия = рёбра (разрешённые перестановки).
Награды = всегда "1", пока не найдено решение (там 0).
Итого: классический RL с экстремально разреженной наградой.

Функция ценности = длина пути до решения, а уравнение Беллмана в этом случае напрямую отражает тривиальные соотношения на длинах путей.

Это отличная площадка для тестирования новых методов RL и pathfinding на пространствах колоссального размера (10³³ и больше).

🚀 Практика - соревнования
В соревнованиях можно попробовать себя не только с кубом Рубика, но и с другими задачами:

Pancake sorting
Transposons
Reversals
Glushkov problem
RapapportM2
Rubik's cube 444
Professor Tetraminx
Megaminx
Christophers jewel
SuperCube from IHES

Все они собраны в рамках проекта CayleyPy — это open-source crowd-sourcing инициатива для разработки AI-библиотеки по математике. Можно подключаться и вне Kaggle.

Если интересно поучаствовать, но кажется, что порог входа высокий — я могу сделать введение на созвоне и рассказать основы: что такое графы Кэли, как ставится задача и какие методы уже пробовали.

Продолжение тут и тут👇

#Puzzles #CayleyGraphs #SymmetricGroup #KaggleCompetitions
👍4
Вот несколько деталей и мотивация, почему это интересно 👆:

1️⃣ Соревнования только стартовали, а продлятся целый год — времени хватит на эксперименты, улучшения и изучение новых подходов.

2️⃣ Каждому пазлу прилагается ноутбук с примером решения.

Сегодня я выложу пример в Каггл пример ноутбука с решением для пазла Christopher’s Jewel. Но не обязательно решать так же.
Можно использовать любые методы — главное, кто найдёт самые короткие решения для заданного класса пазлов.

Если понадобится, могу помочь разобраться с ноутбуками.

3️⃣ Теоретический интерес:

Все эти соревнования основаны на нерешённых математических задачах о диаметре графа Кэли соответствующей группы.

Существует гипотеза о том, как диаметр растёт с увеличением числа элементов группы. Даже Теренс Тао пытался доказать её, но не смог.

Кто знает, может с помощью машинных методов именно вы добьётесь успеха? 💡

Например, чистые математики, которые тоже читают эту группу и не особо любят программировать и не занимаются МL могут скооперироваться с теми, кто любит программировать и МL - пишите в комменты!

4️⃣ Практическая сторона:

Некоторые задачи проще описать на примере кубика Рубика.
Для 3×3×3 известно так называемое число Бога — 20 вращений.
Для 4×4×4 и многих других головоломок диаметр не известен, и найти его — реально интересная и открытая проблема. Вот то что Теренс Тао не смог доказать, там ещё побиться надо, а это более реальный и вроде-бы быстрый, но таки новый математический результат! Есть возможность прославиться! 😀

5️⃣ И много других любопытных вопросов ждёт внутри соревнований: оптимальные пути, перестановочные головоломки, алгоритмические эксперименты, RL с разреженной наградой и т.д.

🚀 В общем, есть где развернуться и проверить себя на пересечении математики, программирования и AI.

Хотите лайв-стрим с введением в эти темы и парой советов как лучше в эту тему вьехать?
🔥4
Кто хочет лайв-стрим с введением в инструменты для соревнований по нахождениям путей в графах Кэли/подгруппах симметрической группы?
Anonymous Poll
27%
Я собираюсь участвовать и хочу лайв-стрим
64%
Я ещё не знаю, буду ли участвовать, но хочу лайв-стрим
0%
Я буду участвовать, но не хочу лайв-стрим
9%
Я не буду участвовать и не хочу лайв-стрим