2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2
 
 Re: Полигармонический каскад (хотелось бы обсудить)
Сообщение12.01.2026, 21:22 
Но почему же в "нейронках" нет объяснения? А как же разделяющие гиперплоскости? Как же теорема о сходимости аппроксимации произвольной функции на трёхслойном перцептроне? И так далее...

 
 
 
 Re: Полигармонический каскад (хотелось бы обсудить)
Сообщение12.01.2026, 21:50 
Аватара пользователя
Mihaylo, пусть есть триллион обучающих примеров отображения $\vec{K}_i$ в $\vec{V}_i$. Не составляет особого труда запрограммировать "однослойную" ассоциативную память $\vec{K}_i \to \vec{V}_i$ (например так: topic161916.html), да вот беда: там будет триллион слагаемых. Чтобы уменьшить количество слагаемых возникает идея многослойной реализации ассоциативной памяти:$$
\vec{K}_i \to \vec{H}^{(1)}_i \to \vec{H}^{(2)}_i \to \ldots \to \vec{H}^{(N)}_i \to \vec{V}_i.
$$ Но не существует внятного объяснения как конкретно нужно выбрать эти самые скрытые "слои".

В методе минимизации функции "ошибки" градиентным спуском скрытые векторы $\vec{H}^{(n)}_i$ получаются сами такими какими получаются, без объяснения почему так, просто "так получилось".

 
 
 
 Re: Полигармонический каскад (хотелось бы обсудить)
Сообщение12.01.2026, 23:26 
SergeyGubanov в сообщении #1714583 писал(а):
Mihaylo, пусть есть триллион обучающих примеров отображения $\vec{K}_i$ в $\vec{V}_i$. Не составляет особого труда запрограммировать "однослойную" ассоциативную память $\vec{K}_i \to \vec{V}_i$ (например так: topic161916.html), да вот беда: там будет триллион слагаемых. Чтобы уменьшить количество слагаемых возникает идея многослойной реализации ассоциативной памяти:$$
\vec{K}_i \to \vec{H}^{(1)}_i \to \vec{H}^{(2)}_i \to \ldots \to \vec{H}^{(N)}_i \to \vec{V}_i.
$$ Но не существует внятного объяснения как конкретно нужно выбрать эти самые скрытые "слои".

В методе минимизации функции "ошибки" градиентным спуском скрытые векторы $\vec{H}^{(n)}_i$ получаются сами такими какими получаются, без объяснения почему так, просто "так получилось".


Правильно ли понимаю, что то, что Вы подразумеваете под "однослойной" ассоциативной памятью с триллионом слагаемых это нечто вроде вариации метода ближайшего соседа?

 
 
 
 Re: Полигармонический каскад (хотелось бы обсудить)
Сообщение13.01.2026, 10:00 
Аватара пользователя
Ну, конкретно в том примере - да, но вообще не обязательно. В общем случае стоит задача организовать "сложную" ассоциативную память через каскад "простых" ассоциативных памятей воспоминаний (без конкретизации того как именно устроена "простая" ассоциативная память).

 
 
 
 Re: Полигармонический каскад (хотелось бы обсудить)
Сообщение13.01.2026, 10:59 
SergeyGubanov в сообщении #1714583 писал(а):
Но не существует внятного объяснения как конкретно нужно выбрать эти самые скрытые "слои".

Правильно, ибо в конкретной ситуации выбор зависит от задачи и обучающего датасета, которые в целом - сложны. Обычно никто не хочет заморачиваться, не исследует эту проблему теоретически, ибо таких исследований можно провести бесконечное количество, а они затратны. Но всё же, для особых гиков, есть explainable AI.

 
 
 
 Re: Полигармонический каскад (хотелось бы обсудить)
Сообщение15.01.2026, 16:41 
Yuriy Bakhvalov в сообщении #1714419 писал(а):
Ссылки:
Код на гитхабе: https://github.com/xolod7/polyharmonic-cascade

Статьи:
English (arXiv)
Bakhvalov, Y. N. (2025). Solving a Machine Learning Regression Problem Based on the Theory of Random Functions. https://arxiv.org/abs/2512.12731
Bakhvalov, Y. N. (2025). Polyharmonic Spline Packages: Composition, Efficient Procedures for Computation and Differentiation. https://arxiv.org/abs/2512.16718
Bakhvalov, Y. N. (2025). Polyharmonic Cascade. https://arxiv.org/abs/2512.17671
Bakhvalov, Y. N. (2025). Initialization of a Polyharmonic Cascade, Launch and Testing. https://arxiv.org/abs/2512.19524

На русском (preprints.ru)
Бахвалов Ю. Н. (2024). Решение регрессионной задачи машинного обучения на основе теории случайных функций. https://doi.org/10.24108/preprints-3113020
Бахвалов Ю. Н. (2024). Пакеты полигармонических сплайнов, их объединение, эффективные процедуры вычисления и дифференцирования. https://doi.org/10.24108/preprints-3113111
Бахвалов Ю. Н. (2025). Полигармонический каскад. https://doi.org/10.24108/preprints-3113501
Бахвалов Ю. Н. (2025). Инициализация полигармонического каскада, запуск и проверка. https://doi.org/10.24108/preprints-3113659

Очень интересная работа на мой взгляд, респект!

Правда вычислительная сложность выше чем у аналогов(SVM, MLP, тем более деревянные штуки), но это судя по вашему примеру с гигхаба, не оптимизированному и вероятно не очень то и сконфигурированному. Думаю есть перспективы у подхода, если бы до Вапника с SVM успели, то прославились бы.

Жаль нынче все фанатеют с "фичалёрнинга"(как из сырых данных, далёких от списков векторов с осмысленными индексами, проецировать в "латентные пространства" где вектора хотя бы от части вектора, а не непонятно что)

 
 
 
 Re: Полигармонический каскад (хотелось бы обсудить)
Сообщение16.01.2026, 10:38 
ivan_shatov в сообщении #1714891 писал(а):
Очень интересная работа на мой взгляд, респект!

Правда вычислительная сложность выше чем у аналогов(SVM, MLP, тем более деревянные штуки), но это судя по вашему примеру с гигхаба, не оптимизированному и вероятно не очень то и сконфигурированному. Думаю есть перспективы у подхода, если бы до Вапника с SVM успели, то прославились бы.

Жаль нынче все фанатеют с "фичалёрнинга"(как из сырых данных, далёких от списков векторов с осмысленными индексами, проецировать в "латентные пространства" где вектора хотя бы от части вектора, а не непонятно что)

Спасибо.

А Вы пробовали запускать? Много зависит от железа (на gpu или cpu). В 4-той статье есть описание тестов с указанием времени (на эпоху).

Выглядит так, что там где большая размерность пространства (и большие матрицы при вычислениях) работает вполне быстро. Для RTX 3070 MNIST - 1.5 сек на эпоху, Epsilon (где 2 тыс. входных признаков, датасет 500 тыс. на train) - 5 сек на эпоху, если модель упрощенная (причем результат на упрощенной модели после первой же эпохи сразу выше чем у некоторых других методов максимум).

Вот датасет HIGGS действительно медленно выполняется. Всего 28 параметров, каскад 20 слоев, матрицы не самые большие. Эффективность падает. При том, что сам датасет на 11 млн. примеров, для исполнения на обычном ПК не маленький.

Но то, что это первая версия кода и вероятно она далеко не оптимальная, согласен.
Например, математические преобразования из 4-той статьи должны давать существенное ускорение. Но в реальности это дает како-то эффект только на матрицах размеров >150. Очевидно, что может быть не оптимальное соотношение между собой составляющих структура каскада/железо/код. Но с другой стороны, я проводил только тесты на RTX 3070. Мне неизвестно, что будет на других GPU. Сейчас больше занят теорией.

 
 
 
 Re: Полигармонический каскад (хотелось бы обсудить)
Сообщение16.01.2026, 14:36 
Yuriy Bakhvalov в сообщении #1714953 писал(а):
А Вы пробовали запускать? Много зависит от железа (на gpu или cpu). В 4-той статье есть описание тестов с указанием времени (на эпоху).

Выглядит так, что там где большая размерность пространства (и большие матрицы при вычислениях) работает вполне быстро. Для RTX 3070 MNIST - 1.5 сек на эпоху, Epsilon (где 2 тыс. входных признаков, датасет 500 тыс. на train) - 5 сек на эпоху, если модель упрощенная (причем результат на упрощенной модели после первой же эпохи сразу выше чем у некоторых других методов максимум).

Вот датасет HIGGS действительно медленно выполняется. Всего 28 параметров, каскад 20 слоев, матрицы не самые большие. Эффективность падает. При том, что сам датасет на 11 млн. примеров, для исполнения на обычном ПК не маленький.

Но то, что это первая версия кода и вероятно она далеко не оптимальная, согласен.
Например, математические преобразования из 4-той статьи должны давать существенное ускорение. Но в реальности это дает како-то эффект только на матрицах размеров >150. Очевидно, что может быть не оптимальное соотношение между собой составляющих структура каскада/железо/код. Но с другой стороны, я проводил только тесты на RTX 3070. Мне неизвестно, что будет на других GPU. Сейчас больше занят теорией.
Да, пробовал. По сложности алгоритма согласен, нельзя судить о потенциале по первым реализациям. Взять тот же млп: наивная реализация без оптимизаций сегодня выглядела бы потешно, но после десятилетий магии, с адамами и сотней эвристик, они работают на три порядка быстрее исходников иногда. Ваш алгоритм пока в стадии близкой к чистой математики, хотя уже с промышленными библиотеками под капотом, но поле для низкоуровневой оптимизаций огромное. Например, точное решение слау на каждом шаге — это явный переор, когда есть итеративные методы вроде сопряжённых градиентов (квадрат вместо куба сложности) или случайные проекции и тп. Можно сэкономить до 100х времени, проиграв 0.1% точности на одной эпохе, которая наверстается в следующих.

ИМХО самое ценное в вашем подходе — наличие аналитического градиента, который можно прокидывать через цепочку(как мне кажется..). Это сразу открывает путь к гибридным архитектурам: трансформер или цнн как фича-экстрактор → ваш полигармонический слой как "умный" агрегатор или интерполятор → млп на выходе. В отличие от других ядерных методов, которые часто остаются изолированными модулями, ваш слой может стать дифференцируемым блоком в энд2энд пайплайне.

Вот куда бы я копнул в первую очередь: сделать набросок, с чемто вроде цнн вначале или трансформер, полигармоникой в середине и млп в конце. Если градиенты пройдут стабильно — это уже будет весьма резонансный результат, который "материализует" математику в работающий инструмент. Всем очень хочется использовать быстрые и робастные ядерные методы в пайплайнах, где это возможно, вместо капризных и тормознутых нейросеток, но давно потеряли надежду, может быть Вы тот самый волшебник который вернёт её?

Оптимизацию сделают уже падаваны, не барское это дело, но вот попробовать с в цепочку его воткнуть, с фичаэкстрактором в начале и млп в конце это тема.

 
 
 
 Re: Полигармонический каскад (хотелось бы обсудить)
Сообщение18.01.2026, 14:23 
ivan_shatov в сообщении #1714982 писал(а):
Вот куда бы я копнул в первую очередь: сделать набросок, с чемто вроде цнн вначале или трансформер, полигармоникой в середине и млп в конце. Если градиенты пройдут стабильно — это уже будет весьма резонансный результат, который "материализует" математику в работающий инструмент.

Спасибо за вдохновляющее сообщение!

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

Но пока приоритет это подготовка к публикации в серьезном журнале того, что есть. Сейчас про полигармонический каскад никто не знает. Боюсь, что без серьезной публикации (в топовом журнале) на меня многие смотрят как на "очередного доказальщика теоремы Ферма".

 
 
 
 Re: Полигармонический каскад (хотелось бы обсудить)
Сообщение18.01.2026, 17:40 
Если будет время, готов немного поучаствовать в оптимизации кода. Если что, у меня RTX 5060Ti 16Gb.

 
 
 
 Re: Полигармонический каскад (хотелось бы обсудить)
Сообщение20.01.2026, 09:58 
Mihaylo в сообщении #1715183 писал(а):
Если будет время, готов немного поучаствовать в оптимизации кода. Если что, у меня RTX 5060Ti 16Gb.


Спасибо. Было бы даже просто интересно сначала посмотреть на время выполнения на RTX 5060Ti. Время автоматически выводится в терминал по эпохам.

Проще всего запустить тест для MNIST. Там в readme указано что запускать. Первый раз при запуске дополнительное время может потребовать загрузка датасета.

Нужно обратить внимание: при запуске в терминале при выводе сообщений, одно из них будет указывать на чем выполняется обучение (cpu или gpu). Нужно обязательно проверить, что там в сообщении будет именно gpu (даже если в настройках при запуске и так было gpu, видеокарта может не подключиться и тогда автоматически перейдет на cpu).

 
 
 
 Re: Полигармонический каскад (хотелось бы обсудить)
Сообщение20.01.2026, 13:43 
ivan_shatov в сообщении #1714982 писал(а):
Да, пробовал.


А Вы не помните, какое было время исполнения на эпоху? А также какая конфигурация процессор/видеокарта?

И хочу обратиться ко всем участникам форума. Если кто-нибудь будет запускать полигармонический каскад на каком-нибудь из тестов (тех что в репозитории). Пожалуйста, напишите сюда, что получилось, время работы и на каком железе это было. Очень интересно сравнить.

 
 
 [ Сообщений: 27 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group