📢 Дорогие коллеги, хочу напомнить про эти соревнования!
Если вы давно думали «зайти» в машинное обучение, но не знали, с чего начать — это идеальная возможность. Особенно для тех, у кого есть базовая математика (группы, подгруппы), но нет опыта с нейросетями.
🤔 Почему это интересно математику или софт-разработчику?
Мы работаем с вращательными головоломками — вроде кубика Рубика. С математической точки зрения это элементы группы перестановок огромного порядка:
• Кубик 3x3x3 → 4.3 * 10^19 состояний.
• Другие, более сложные пазлы → еще на десятки порядков больше.
Математически любая вращательная головоломка - это подгруппа так называемой симметрической группы.
⚠️ Проблема: Нам нужно найти кратчайший путь к собранному состоянию головоломки. Но пространство настолько огромно, что полный перебор невозможен.
🧭
Идея: Нам нужен не «решатель», а подсказчик
по принципу «тепло–холодно». Функция, которая говорит, насколько какой из следующих ходов (мувов) приближает нас к решению (собранному состоянию кубика Рубика). Эту функцию и вычисляет нейросеть.
🏗 Как это устроено внутри?
Любая нейросеть — это сложная математическая функция с настраиваемыми параметрами. В нашем случае мы используем архитектуру
Residual neural network (или сокращенно
ResNet).
Процесс обучения (
Random Walks):
Как нейросеть узнает, «тепло» или «холодно»? Мы учим её на обратных примерах:
Берем собранный кубик и делаем от него случайное количество вращений (Random Walk), например, 20 вращений. Мы точно знаем, что из этого состояния до цели — 20 шагов. Показываем это состояние сети и корректируем её веса, пока её предсказание не совпадет с реальностью. Так она постепенно начинает «чувствовать» расстояние до цели.
Разберём структуру нашей сети:
🔹 1. Вход (Input)
Мы подаем полное описание состояния головоломки. Технически это кодируется как вектор чисел.
• Каждый кусочек → набор индексов.
• Всё вместе → длинный вектор, описывающий положение всей системы в пространстве группы.
🔹 2. Скрытые слои (Hidden layers)
Вектор проходит через цепочку слоев. Каждый слой «переосмысливает» данные:
• Первые слои видят простые вещи (например: «этот кусок не на месте»).
• Средние слои начинают замечать паттерны и блоки элементов.
• Глубокие слои улавливают глобальную структуру и «дальность» до цели.
🔹 3. Остаточные блоки (Идея «поправок»)
В обычных глубоких сетях сигнал об ошибке «затухает», не успевая распространиться по всей сети, и сеть перестает учиться.
Residual blocks используют идею
y = x + F(x). Слой не переписывает информацию полностью, а лишь вычисляет
поправку к текущему значению. Это создает «скоростную трассу» для данных: сигнал проходит через десятки слоев без искажений, позволяя строить по-настоящему глубокие и умные модели.
🔹 4. Выход (Output)
Оценка расстояния до решения (например, «до цели 15 шагов»).
🔗 Как это работает в связке?
Алгоритм поиска пробует разные ходы, для каждого спрашивает нейросеть «насколько стало теплее?» и выбирает только лучшиe.
🏆 Перспективы для участников
Aрхитектура
ResNet зарекомендовала себя как надежная база. Однако мир ИИ не стоит на месте. Если вы сможете
адаптировать другие архитектуры (например, трансформеры или графовые сети) и
получите лучшие результаты —
вы выиграете! Но для старта ResNet — норм вариант.
✨ Вместо заключения
Всё это может показаться слишком сложным. Но как только вы начнете решать первые пазлы и увидите, как нейросеть находит выход в пространстве из квадриллионов состояний — всё встанет на свои места.
Нейросеть здесь — это не магия, а умный оценщик в пространстве группы. Она делает возможным поиск там, где перебор грубой силой бессилен.
P.S.Чтобы начать и войти в тему можно взять какой-нибудь из уже готовых ноутбуков, например
этот. И попросить кого-нибудь рассказать что там и как.
Легко сделаем!
P.P.S.Решить все эти пазлы с помощью нейросетей — не проблема. Они обучаются на случайных прогулках по графу состояний буквально за 10 минут. Настоящий
вызов — находить именно кратчайшие пути и собирать головоломки за
минимальное число вращений. И это действительно
современный челлендж!
Обсуждение 2
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram