Сеть Колмогорова — Арнольда
Материал из MachineLearning.
Polina Khadralinova (Обсуждение | вклад)
(Новая: {{well|Статья написана с использованием LLM '''Gemini 3.1 Pro Preview''' и проверена участником [[Участник:Polina Khadralinova|Po...)
К следующему изменению →
Версия 12:29, 11 июля 2026
| | Статья написана с использованием LLM Gemini 3.1 Pro Preview и проверена участником Polina Khadralinova |
Промпт приводится полностью в Обсуждение:Сеть Колмогорова — Арнольда
Сеть Колмогорова — Арнольда (KAN, от англ. Kolmogorov-Arnold Network) — это архитектура искусственных нейронных сетей, предложенная в качестве фундаментальной альтернативы классическому многослойному перцептрону (MLP). Названа в честь выдающихся математиков А. Н. Колмогорова и В. И. Арнольда.
Содержание |
Концепция: глобальная архитектура и смена ролей
Чтобы понять суть KAN, удобнее всего использовать подход «сверху вниз», начав с макроуровня и перейдя к микроуровню отдельного нейрона, постоянно сравнивая новую архитектуру с классическим MLP.
На макроуровне передача сигнала от слоя к слою в этих сетях организована принципиально по-разному. В классическом MLP слой — это монолитная матрица весов. Вектор входных данных умножается на эту матрицу, к результату прибавляется вектор смещений, и только после этого ко всему новому вектору поэлементно применяется фиксированная функция активации. Сигнал преобразуется глобальными линейными операциями, а нелинейность добавляется локально на узлах-нейронах. В KAN слой не имеет матрицы скалярных весов. Вместо этого сигнал, исходящий из предыдущего слоя, разбивается на отдельные потоки. Каждый такой поток (каждое ребро графа) проходит через свою собственную, уникальную обучаемую функцию активации. Лишь после того, как все сигналы нелинейно исказились на рёбрах, они собираются в узле следующего слоя простым суммированием.
На микроуровне эта разница становится очевидной при взгляде на формулы. Шаг вычислений в классическом MLP для узла с индексом выглядит так:
Где — сигнал от предыдущего узла с индексом
,
— скалярный вес на ребре,
— смещение, а
— фиксированная функция активации (например, ReLU), «зашитая» внутри самого узла
.
В архитектуре KAN математика шага кардинально иная:
Здесь нет ни скалярных весов , ни внешней функции активации
. Вся сложность заключена в
— обучаемой одномерной функции активации, расположенной прямо на ребре, соединяющем узел
и узел
.
Идея KAN заключается в полной смене ролей узлов и рёбер в графе вычислений. В классическом MLP рёбра — это просто линейные множители (веса), а узлы — это активные нелинейные процессоры. В KAN всё ровно наоборот: рёбра становятся мощными нелинейными процессорами (через сплайны), а узлы деградируют до примитивных маршрутизаторов, которые просто складывают пришедшие к ним числа.
Математический фундамент
Для понимания математической базы не обязательно глубоко погружаться в топологию. Достаточно понять основную идею теоремы о суперпозициях, доказанной в 1957 году А. Н. Колмогоровым и В. И. Арнольдом.
Говоря простым языком, теорема утверждает удивительный факт: абсолютно любую, сколь угодно сложную многомерную функцию (зависящую от множества переменных) можно собрать, используя только функции от одной переменной и простое сложение. Представьте себе сложнейший многомерный ландшафт. Теорема говорит, что его можно точно сконструировать, накладывая друг на друга простые одномерные кривые (как нити или проволоки).
Строго математически для функции от
переменных (обозначим их
) это записывается так:
В этой формуле:
-
— это наши входные данные (отдельные переменные).
-
— внутренние функции одной переменной (первый слой наших «кривых»).
-
— внешние функции одной переменной (второй слой «кривых», который обрабатывает сумму результатов первого слоя).
- Символы суммирования (
) показывают, что слои просто складываются.
Авторы KAN взяли эту двухуровневую математическую конструкцию (где есть внутренние и внешние функции) и обобщили её. Если теорема 1957 года говорит о двух слоях суперпозиций, то архитектура KAN позволяет выстраивать глубокие нейросети из десятков таких слоев, надеясь, что сеть сама выучит нужные формы одномерных функций в процессе тренировки.
Информационный пузырь 2024 года и почему всё сломалось
Весной 2024 года публикация статьи о сетях KAN спровоцировала колоссальный хайп в индустрии машинного обучения. Блоги, социальные сети и научно-популярные издания пестрили заголовками о том, что KAN — это «убийца классических нейросетей».
Главной причиной ажиотажа стало обещание решить фундаментальную проблему «чёрного ящика». Поскольку в KAN на каждом ребре находится обучаемая функция от одной переменной, исследователь может просто построить график этой функции. Оказалось, что при обучении на физических данных сеть часто коллапсирует, обнуляя ненужные рёбра, а на оставшихся рёбрах формируются четкие графики известных математических функций: ,
или
. Это породило надежду на прорыв в символьной регрессии и парадигме «AI for Science» — когда нейросеть не просто предсказывает ответ, а буквально выдает человеку готовую аналитическую формулу открытого ею физического закона.
Однако эйфория оказалась преждевременной. Попытки масштабного внедрения KAN вместо классических MLP столкнулись с двумя непреодолимыми барьерами: теоретическим и аппаратным.
Теоретический изъян: потеря математических гарантий
В маркетинговых материалах часто заявлялось, что превосходство KAN «доказано теоремой Колмогорова — Арнольда». Это лукавство.
В оригинальном доказательстве 1957 года внутренние функции — это математические монстры. Они представляют собой фрактальные, везде недифференцируемые объекты, родственные кривым Пеано. Их невозможно вычислить на компьютере и, тем более, невозможно обучать градиентным спуском (Backpropagation), так как у них нет производной.
Чтобы заставить сеть работать на практике, авторы KAN были вынуждены заменить эти фракталы на гладкие функции — кусочные полиномы (B-сплайны). Но здесь вступает в силу теорема А. Г. Витушкина, которая строго доказывает: точное представление гладких функций многих переменных через суперпозицию гладких функций одной переменной в общем случае невозможно. Как только мы меняем невычислимые фракталы на вычислимые гладкие сплайны, KAN теряет все математические гарантии оригинальной теоремы. То, что осталось — это лишь эвристика, вдохновленная красивой теоремой, а не строгий математический триумф.
Практический изъян: аппаратная несовместимость
Даже если закрыть глаза на теорию, проект разбивается об архитектуру современного вычислительного железа.
Все современные графические процессоры (GPU) спроектированы ради одной сверхбыстрой операции: умножения плотных матриц (GEMM). Классический MLP идеально ложится на эту архитектуру. Вычисление целого слоя в MLP сводится к одной массивной, аппаратно векторизованной матричной операции:
Здесь тензорные ядра (Tensor Cores) могут обрабатывать гигантские блоки данных за доли миллисекунды.
Архитектура KAN катастрофически несовместима с GPU. Вместо одного простого умножения матриц, сеть должна динамически вычислять значения B-сплайнов. Для каждого отдельного ребра требуется выполнить поиск интервала в локальной сетке (grid) и вычислить уникальную полиномиальную комбинацию. Это приводит к следующим фатальным проблемам:
- Невозможность использования тензорных ядер (операция больше не является перемножением матриц).
- Катастрофическая фрагментация памяти, так как каждому ребру нужны свои параметры сплайна, что уничтожает паттерны коалесцированного доступа к видеопамяти.
- Многократно возросшее потребление памяти (вместо одного числа
на ребро нужно хранить параметры всей сетки сплайна).
В результате KAN обучаются неприемлемо медленно — на порядки дольше, чем MLP аналогичного размера. Вычисление сплайнов катастрофически плохо распараллеливается. До появления специализированных процессоров (например, «Spline Processing Units»), KAN обречены оставаться узконишевым лабораторным инструментом для задач символьной регрессии на малых размерностях данных, будучи абсолютно непригодными для реальных промышленных задач.

