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

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




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

 Re: Полигармонический каскад (хотелось бы обсудить)
Аватара пользователя
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: Полигармонический каскад (хотелось бы обсудить)
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: Полигармонический каскад (хотелось бы обсудить)
Аватара пользователя
Ну, конкретно в том примере - да, но вообще не обязательно. В общем случае стоит задача организовать "сложную" ассоциативную память через каскад "простых" ассоциативных памятей воспоминаний (без конкретизации того как именно устроена "простая" ассоциативная память).

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

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

 Re: Полигармонический каскад (хотелось бы обсудить)
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: Полигармонический каскад (хотелось бы обсудить)
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: Полигармонический каскад (хотелось бы обсудить)
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: Полигармонический каскад (хотелось бы обсудить)
ivan_shatov в сообщении #1714982 писал(а):
Вот куда бы я копнул в первую очередь: сделать набросок, с чемто вроде цнн вначале или трансформер, полигармоникой в середине и млп в конце. Если градиенты пройдут стабильно — это уже будет весьма резонансный результат, который "материализует" математику в работающий инструмент.

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

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

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

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

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


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

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

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

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


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

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

 Re: Полигармонический каскад (хотелось бы обсудить)
Появился повод вернуться к теме.
Статья на Хабре. Нестандартный бенчмарк для двух десятков алгоритмов машинного обучения, среди которых есть и Полигармонический каскад.

https://habr.com/ru/articles/1044858/

 Re: Полигармонический каскад (хотелось бы обсудить)
Поздравляю, что ж!

Я хочу отметить, что бенчмарк в статье действительно кошмарный. Но если говорить серьёзно - "это несерьёзно". Датасайентист создал задачу кликбейтную, но не реалистичную, не показательную. Это очень важно. Бенчмарк бесполезный в плане результатов. Извините.

А вы сами нащупали границы применимости? Временные ряды, CV, NLP?

 Re: Полигармонический каскад (хотелось бы обсудить)
Mihaylo в сообщении #1725750 писал(а):
Поздравляю, что ж!

Я хочу отметить, что бенчмарк в статье действительно кошмарный. Но если говорить серьёзно - "это несерьёзно". Датасайентист создал задачу кликбейтную, но не реалистичную, не показательную. Это очень важно. Бенчмарк бесполезный в плане результатов. Извините.

А вы сами нащупали границы применимости? Временные ряды, CV, NLP?


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

Хотя кое-что она все-таки показывает. Например, что в данных могут быть закономерности, которые бустинги и деревья не смогут выявить в принципе. Нейросети способны, но тяжело.
Полигармонический каскад... полигармонический каскад справляется. Что уже доказывает, что что-то да он умеет... пример задачи, где он обходит всех. Хотя задача искусственная, синтетическая... можно ли её считать показательной? Но когда я эту задачу придумывал, я не делал что-то специально под каскад... просто хотел сделать что-то предельно тяжелое но понятное по результатам. Чтобы самому лучше понять на что новая архитектура способна. А то что каскад в ней так уверенно всех обошел было неожиданно и для меня.

Настоящие более "правильные" исследования на признанных бенчмарках я проводил здесь:
https://arxiv.org/abs/2512.19524

там тоже весьма интересные результаты!

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

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


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