Сеть Колмогорова — Арнольда
Материал из MachineLearning.
| (1 промежуточная версия не показана) | |||
| Строка 1: | Строка 1: | ||
| - | {{well|Статья написана с использованием LLM '''Gemini 3.1 Pro Preview''' и проверена участником [[Участник:Polina Khadralinova|Polina Khadralinova]]}} | + | {{well|Статья написана с использованием LLM '''Gemini 3.1 Pro Preview''' (с интеграцией материалов участника Iurii Zhuravlev) и проверена участником [[Участник:Polina Khadralinova|Polina Khadralinova]]}} |
Промпт приводится полностью в [[Обсуждение:Сеть Колмогорова — Арнольда]] | Промпт приводится полностью в [[Обсуждение:Сеть Колмогорова — Арнольда]] | ||
| - | '''Сеть Колмогорова — Арнольда''' ('''KAN''', от англ. ''Kolmogorov-Arnold Network'') — это архитектура искусственных нейронных сетей, предложенная в качестве фундаментальной альтернативы классическому многослойному перцептрону (MLP). Названа в честь выдающихся математиков А. Н. Колмогорова и В. И. Арнольда. | + | '''Сеть Колмогорова — Арнольда''' ('''KAN''', от англ. ''Kolmogorov-Arnold Network'') — это архитектура [[Искусственная нейронная сеть|искусственных нейронных сетей]], предложенная в 2024 году в качестве фундаментальной альтернативы [[Многослойный персептрон|классическому многослойному перцептрону (MLP)]]. Названа в честь выдающихся советских математиков А. Н. Колмогорова и В. И. Арнольда. С точки зрения статистики, KAN можно рассматривать как глубокое нелинейное обобщение [[Обобщённые линейные модели|обобщённых аддитивных моделей (GAM)]]. |
== Концепция: глобальная архитектура и смена ролей == | == Концепция: глобальная архитектура и смена ролей == | ||
| - | + | Чтобы понять суть KAN, удобнее всего использовать подход «сверху вниз», начав с макроуровня и перейдя к микроуровню отдельного нейрона, постоянно сравнивая новую архитектуру с классическим MLP. | |
| - | На | + | На макроуровне передача сигнала от слоя к слою в этих сетях организована принципиально по-разному. В классическом MLP слой — это монолитная матрица весов. Вектор входных данных умножается на эту матрицу, к результату прибавляется вектор смещений, и только после этого ко всему новому вектору поэлементно применяется фиксированная [[Функция активации|функция активации]]. Сигнал преобразуется глобальными линейными операциями, а нелинейность добавляется локально на узлах-нейронах. В KAN слой не имеет матрицы скалярных весов. Вместо этого сигнал, исходящий из предыдущего слоя, разбивается на отдельные потоки. Каждый такой поток (каждое ребро графа) проходит через свою собственную, уникальную обучаемую функцию активации. Лишь после того, как все сигналы нелинейно исказились на рёбрах, они собираются в узле следующего слоя простым суммированием. |
На микроуровне эта разница становится очевидной при взгляде на формулы. Шаг вычислений в классическом MLP для узла с индексом <tex>j</tex> выглядит так: | На микроуровне эта разница становится очевидной при взгляде на формулы. Шаг вычислений в классическом MLP для узла с индексом <tex>j</tex> выглядит так: | ||
| Строка 17: | Строка 17: | ||
Здесь нет ни скалярных весов <tex>w_{ji}</tex>, ни внешней функции активации <tex>\sigma</tex>. Вся сложность заключена в <tex>\phi_{ji}</tex> — обучаемой одномерной функции активации, расположенной прямо на ребре, соединяющем узел <tex>i</tex> и узел <tex>j</tex>. | Здесь нет ни скалярных весов <tex>w_{ji}</tex>, ни внешней функции активации <tex>\sigma</tex>. Вся сложность заключена в <tex>\phi_{ji}</tex> — обучаемой одномерной функции активации, расположенной прямо на ребре, соединяющем узел <tex>i</tex> и узел <tex>j</tex>. | ||
| - | Идея KAN заключается в полной смене ролей узлов и рёбер в графе вычислений. В классическом MLP рёбра — это просто линейные множители (веса), а узлы — это активные нелинейные процессоры. В KAN всё ровно наоборот: рёбра становятся мощными нелинейными процессорами (через сплайны), а узлы деградируют до примитивных маршрутизаторов, которые просто складывают пришедшие к ним числа. | + | Идея KAN заключается в полной смене ролей узлов и рёбер в [[Граф вычислений|графе вычислений]]. В классическом MLP рёбра — это просто линейные множители (веса), а узлы — это активные нелинейные процессоры. В KAN всё ровно наоборот: рёбра становятся мощными нелинейными процессорами (функции параметризуются через [[Сплайн|B-сплайны]]), а узлы деградируют до примитивных маршрутизаторов, которые просто складывают пришедшие к ним числа. |
== Математический фундамент == | == Математический фундамент == | ||
| - | Для понимания математической базы не обязательно глубоко погружаться в топологию. Достаточно понять основную идею теоремы о суперпозициях, доказанной в 1957 году А. Н. Колмогоровым и В. И. Арнольдом. | + | Для понимания математической базы не обязательно глубоко погружаться в топологию. Достаточно понять основную идею [[Теорема представления Колмогорова-Арнольда|теоремы о суперпозициях]], доказанной в 1957 году А. Н. Колмогоровым и В. И. Арнольдом в ходе решения тринадцатой проблемы Гильберта. |
| - | Говоря простым языком, теорема утверждает удивительный факт: абсолютно любую, сколь угодно сложную многомерную функцию (зависящую от множества переменных) можно собрать, используя только функции от одной переменной и простое сложение. Представьте себе сложнейший многомерный ландшафт. Теорема говорит, что его можно точно сконструировать, накладывая друг на друга простые одномерные кривые | + | Говоря простым языком, теорема утверждает удивительный факт: абсолютно любую, сколь угодно сложную многомерную функцию (зависящую от множества переменных) можно собрать, используя только функции от одной переменной и простое сложение. Представьте себе сложнейший многомерный ландшафт. Теорема говорит, что его можно точно сконструировать, накладывая друг на друга простые одномерные кривые. |
Строго математически для функции <tex>f</tex> от <tex>n</tex> переменных (обозначим их <tex>x_1, \dots, x_n</tex>) это записывается так: | Строго математически для функции <tex>f</tex> от <tex>n</tex> переменных (обозначим их <tex>x_1, \dots, x_n</tex>) это записывается так: | ||
| Строка 32: | Строка 32: | ||
* Символы суммирования (<tex>\sum</tex>) показывают, что слои просто складываются. | * Символы суммирования (<tex>\sum</tex>) показывают, что слои просто складываются. | ||
| - | Авторы KAN взяли эту двухуровневую математическую конструкцию (где есть внутренние и внешние функции) и обобщили её. Если теорема 1957 года говорит о двух слоях суперпозиций, то архитектура KAN позволяет выстраивать глубокие нейросети из десятков таких слоев, надеясь, что сеть сама выучит нужные формы одномерных функций <tex>\phi</tex> в процессе тренировки. | + | Авторы KAN взяли эту двухуровневую математическую конструкцию (где есть внутренние и внешние функции) и обобщили её. Если теорема 1957 года говорит о двух слоях суперпозиций, то архитектура KAN позволяет выстраивать [[Глубокие нейронные сети|глубокие нейросети]] из десятков таких слоев, надеясь, что сеть сама выучит нужные формы одномерных функций <tex>\phi</tex> в процессе тренировки. |
== Информационный пузырь 2024 года и почему всё сломалось == | == Информационный пузырь 2024 года и почему всё сломалось == | ||
| - | Весной 2024 года публикация | + | Весной 2024 года публикация группы исследователей (Ziming Liu и др.) о сетях KAN спровоцировала колоссальный хайп в индустрии машинного обучения. Блоги и научно-популярные издания пестрили заголовками о том, что KAN — это «убийца классических нейросетей». |
| - | Главной причиной ажиотажа стало обещание решить фундаментальную проблему «чёрного ящика». Поскольку в KAN на каждом ребре находится обучаемая функция от одной переменной, исследователь может просто построить график этой функции. Оказалось, что при обучении на физических данных сеть часто коллапсирует, обнуляя ненужные рёбра, а на оставшихся рёбрах формируются четкие графики известных математических функций: <tex>\sin(x)</tex>, <tex>\exp(x)</tex> или <tex>x^2</tex>. Это породило надежду на прорыв в символьной регрессии и парадигме «AI for Science» | + | Главной причиной ажиотажа стало обещание решить фундаментальную проблему «чёрного ящика». Поскольку в KAN на каждом ребре находится обучаемая функция от одной переменной, исследователь может просто построить график этой функции. Оказалось, что при обучении на физических данных сеть часто коллапсирует, обнуляя ненужные рёбра, а на оставшихся рёбрах формируются четкие графики известных математических функций: <tex>\sin(x)</tex>, <tex>\exp(x)</tex> или <tex>x^2</tex>. Это породило надежду на прорыв в символьной [[Регрессионный анализ|регрессии]] и парадигме «AI for Science» (например, для решения [[Нейронные дифференциальные уравнения|дифференциальных уравнений]] и построения PINN). |
Однако эйфория оказалась преждевременной. Попытки масштабного внедрения KAN вместо классических MLP столкнулись с двумя непреодолимыми барьерами: теоретическим и аппаратным. | Однако эйфория оказалась преждевременной. Попытки масштабного внедрения KAN вместо классических MLP столкнулись с двумя непреодолимыми барьерами: теоретическим и аппаратным. | ||
| Строка 44: | Строка 44: | ||
В маркетинговых материалах часто заявлялось, что превосходство KAN «доказано теоремой Колмогорова — Арнольда». Это лукавство. | В маркетинговых материалах часто заявлялось, что превосходство KAN «доказано теоремой Колмогорова — Арнольда». Это лукавство. | ||
| - | В оригинальном доказательстве 1957 года внутренние функции <tex>\phi_{q,p}</tex> — это математические монстры. Они представляют собой фрактальные, везде недифференцируемые объекты | + | В оригинальном доказательстве 1957 года внутренние функции <tex>\phi_{q,p}</tex> — это математические монстры. Они представляют собой фрактальные, везде недифференцируемые объекты. Их невозможно вычислить на компьютере и, тем более, невозможно обучать [[Метод обратного распространения ошибки|обратным распространением ошибки (Backpropagation)]], так как у них нет производной. |
| - | Чтобы заставить сеть работать на практике, авторы KAN были вынуждены заменить эти фракталы на гладкие функции — кусочные полиномы (B-сплайны). Но здесь вступает в силу теорема А. Г. Витушкина, которая строго доказывает: точное представление гладких функций многих переменных через суперпозицию гладких функций одной переменной в общем случае невозможно. Как только мы меняем невычислимые фракталы на вычислимые гладкие сплайны, KAN теряет все математические гарантии оригинальной теоремы. То, что осталось — это лишь эвристика, вдохновленная красивой теоремой, а не строгий математический триумф. | + | Чтобы заставить сеть работать на практике, авторы KAN были вынуждены заменить эти фракталы на гладкие функции — кусочные полиномы ([[Сплайн|B-сплайны]]). Но здесь вступает в силу теорема А. Г. Витушкина, которая строго доказывает: точное представление гладких функций многих переменных через суперпозицию гладких функций одной переменной в общем случае невозможно. Как только мы меняем невычислимые фракталы на вычислимые гладкие сплайны, KAN теряет все математические гарантии оригинальной теоремы. То, что осталось — это лишь эвристика, вдохновленная красивой теоремой, а не строгий математический триумф. |
=== Практический изъян: аппаратная несовместимость === | === Практический изъян: аппаратная несовместимость === | ||
Даже если закрыть глаза на теорию, проект разбивается об архитектуру современного вычислительного железа. | Даже если закрыть глаза на теорию, проект разбивается об архитектуру современного вычислительного железа. | ||
| - | Все современные графические процессоры (GPU) спроектированы ради одной сверхбыстрой операции: умножения плотных матриц | + | Все современные графические процессоры (GPU) спроектированы ради одной сверхбыстрой операции: умножения плотных матриц. Классический MLP идеально ложится на эту архитектуру. Вычисление целого слоя в MLP сводится к одной массивной, аппаратно векторизованной матричной операции: |
::<tex>Y = X \cdot W</tex> | ::<tex>Y = X \cdot W</tex> | ||
| - | Здесь | + | Здесь глубоко оптимизированные CUDA-ядра могут обрабатывать гигантские блоки данных за доли миллисекунды. |
| - | Архитектура KAN катастрофически несовместима с GPU. Вместо одного простого умножения матриц, сеть должна динамически вычислять значения | + | Архитектура KAN катастрофически несовместима с GPU. Вместо одного простого умножения матриц, сеть должна динамически вычислять значения сплайнов. Для каждого отдельного ребра <tex>\phi_{ji}</tex> требуется выполнить поиск интервала в локальной сетке (grid) и вычислить уникальную полиномиальную комбинацию. Это приводит к фатальным проблемам: |
* Невозможность использования тензорных ядер (операция больше не является перемножением матриц). | * Невозможность использования тензорных ядер (операция больше не является перемножением матриц). | ||
| - | * Катастрофическая фрагментация памяти, | + | * Катастрофическая фрагментация памяти, уничтожающая паттерны коалесцированного доступа к видеопамяти. |
| - | * Многократно возросшее потребление памяти | + | * Многократно возросшее потребление памяти. |
| - | + | Несмотря на появление оптимизированных библиотек (таких как ''EfficientKAN''), сети обучаются неприемлемо медленно — на порядки дольше, чем MLP аналогичного размера. KAN обречены оставаться узконишевым лабораторным инструментом для малых размерностей данных, будучи абсолютно непригодными для реальных промышленных задач. | |
| + | |||
| + | == См. также == | ||
| + | * [[Многослойный персептрон]] | ||
| + | * [[Граф вычислений]] | ||
| + | * [[Сплайн]] | ||
| + | * [[Теорема представления Колмогорова-Арнольда]] | ||
| + | * [[Скользящий контроль]] | ||
| + | * [[Переобучение]] | ||
| + | |||
| + | == Литература == | ||
| + | * {{статья | автор = Liu Z., Wang Y., Vaidya S. et al. | заглавие = KAN: Kolmogorov-Arnold Networks | издание = Advances in Neural Information Processing Systems (NeurIPS) | год = 2024 | ссылка = arXiv:2404.19756 }} | ||
| + | * {{статья | автор = Hastie T., Tibshirani R. | заглавие = Generalized Additive Models | издание = Statistical Science | год = 1986 | том = 1 | номер = 3 | страницы = 297-310 }} | ||
| + | * {{статья | автор = Kolmogorov A. N. | заглавие = On the representation of continuous functions of many variables by superposition of continuous functions of one variable and addition | издание = Doklady Akademii Nauk SSSR | год = 1957 | том = 114 | номер = 5 | страницы = 953–956 }} | ||
[[Категория:Машинное обучение]] | [[Категория:Машинное обучение]] | ||
| + | [[Категория:Архитектуры нейронных сетей]] | ||
Текущая версия
| | Статья написана с использованием LLM Gemini 3.1 Pro Preview (с интеграцией материалов участника Iurii Zhuravlev) и проверена участником Polina Khadralinova |
Промпт приводится полностью в Обсуждение:Сеть Колмогорова — Арнольда
Сеть Колмогорова — Арнольда (KAN, от англ. Kolmogorov-Arnold Network) — это архитектура искусственных нейронных сетей, предложенная в 2024 году в качестве фундаментальной альтернативы классическому многослойному перцептрону (MLP). Названа в честь выдающихся советских математиков А. Н. Колмогорова и В. И. Арнольда. С точки зрения статистики, KAN можно рассматривать как глубокое нелинейное обобщение обобщённых аддитивных моделей (GAM).
Содержание |
Концепция: глобальная архитектура и смена ролей
Чтобы понять суть KAN, удобнее всего использовать подход «сверху вниз», начав с макроуровня и перейдя к микроуровню отдельного нейрона, постоянно сравнивая новую архитектуру с классическим MLP.
На макроуровне передача сигнала от слоя к слою в этих сетях организована принципиально по-разному. В классическом MLP слой — это монолитная матрица весов. Вектор входных данных умножается на эту матрицу, к результату прибавляется вектор смещений, и только после этого ко всему новому вектору поэлементно применяется фиксированная функция активации. Сигнал преобразуется глобальными линейными операциями, а нелинейность добавляется локально на узлах-нейронах. В KAN слой не имеет матрицы скалярных весов. Вместо этого сигнал, исходящий из предыдущего слоя, разбивается на отдельные потоки. Каждый такой поток (каждое ребро графа) проходит через свою собственную, уникальную обучаемую функцию активации. Лишь после того, как все сигналы нелинейно исказились на рёбрах, они собираются в узле следующего слоя простым суммированием.
На микроуровне эта разница становится очевидной при взгляде на формулы. Шаг вычислений в классическом MLP для узла с индексом выглядит так:
Где — сигнал от предыдущего узла с индексом
,
— скалярный вес на ребре,
— смещение, а
— фиксированная функция активации (например, ReLU), «зашитая» внутри самого узла
.
В архитектуре KAN математика шага кардинально иная:
Здесь нет ни скалярных весов , ни внешней функции активации
. Вся сложность заключена в
— обучаемой одномерной функции активации, расположенной прямо на ребре, соединяющем узел
и узел
.
Идея KAN заключается в полной смене ролей узлов и рёбер в графе вычислений. В классическом MLP рёбра — это просто линейные множители (веса), а узлы — это активные нелинейные процессоры. В KAN всё ровно наоборот: рёбра становятся мощными нелинейными процессорами (функции параметризуются через B-сплайны), а узлы деградируют до примитивных маршрутизаторов, которые просто складывают пришедшие к ним числа.
Математический фундамент
Для понимания математической базы не обязательно глубоко погружаться в топологию. Достаточно понять основную идею теоремы о суперпозициях, доказанной в 1957 году А. Н. Колмогоровым и В. И. Арнольдом в ходе решения тринадцатой проблемы Гильберта.
Говоря простым языком, теорема утверждает удивительный факт: абсолютно любую, сколь угодно сложную многомерную функцию (зависящую от множества переменных) можно собрать, используя только функции от одной переменной и простое сложение. Представьте себе сложнейший многомерный ландшафт. Теорема говорит, что его можно точно сконструировать, накладывая друг на друга простые одномерные кривые.
Строго математически для функции от
переменных (обозначим их
) это записывается так:
В этой формуле:
-
— это наши входные данные (отдельные переменные).
-
— внутренние функции одной переменной (первый слой наших «кривых»).
-
— внешние функции одной переменной (второй слой «кривых», который обрабатывает сумму результатов первого слоя).
- Символы суммирования (
) показывают, что слои просто складываются.
Авторы KAN взяли эту двухуровневую математическую конструкцию (где есть внутренние и внешние функции) и обобщили её. Если теорема 1957 года говорит о двух слоях суперпозиций, то архитектура KAN позволяет выстраивать глубокие нейросети из десятков таких слоев, надеясь, что сеть сама выучит нужные формы одномерных функций в процессе тренировки.
Информационный пузырь 2024 года и почему всё сломалось
Весной 2024 года публикация группы исследователей (Ziming Liu и др.) о сетях KAN спровоцировала колоссальный хайп в индустрии машинного обучения. Блоги и научно-популярные издания пестрили заголовками о том, что KAN — это «убийца классических нейросетей».
Главной причиной ажиотажа стало обещание решить фундаментальную проблему «чёрного ящика». Поскольку в KAN на каждом ребре находится обучаемая функция от одной переменной, исследователь может просто построить график этой функции. Оказалось, что при обучении на физических данных сеть часто коллапсирует, обнуляя ненужные рёбра, а на оставшихся рёбрах формируются четкие графики известных математических функций: ,
или
. Это породило надежду на прорыв в символьной регрессии и парадигме «AI for Science» (например, для решения дифференциальных уравнений и построения PINN).
Однако эйфория оказалась преждевременной. Попытки масштабного внедрения KAN вместо классических MLP столкнулись с двумя непреодолимыми барьерами: теоретическим и аппаратным.
Теоретический изъян: потеря математических гарантий
В маркетинговых материалах часто заявлялось, что превосходство KAN «доказано теоремой Колмогорова — Арнольда». Это лукавство.
В оригинальном доказательстве 1957 года внутренние функции — это математические монстры. Они представляют собой фрактальные, везде недифференцируемые объекты. Их невозможно вычислить на компьютере и, тем более, невозможно обучать обратным распространением ошибки (Backpropagation), так как у них нет производной.
Чтобы заставить сеть работать на практике, авторы KAN были вынуждены заменить эти фракталы на гладкие функции — кусочные полиномы (B-сплайны). Но здесь вступает в силу теорема А. Г. Витушкина, которая строго доказывает: точное представление гладких функций многих переменных через суперпозицию гладких функций одной переменной в общем случае невозможно. Как только мы меняем невычислимые фракталы на вычислимые гладкие сплайны, KAN теряет все математические гарантии оригинальной теоремы. То, что осталось — это лишь эвристика, вдохновленная красивой теоремой, а не строгий математический триумф.
Практический изъян: аппаратная несовместимость
Даже если закрыть глаза на теорию, проект разбивается об архитектуру современного вычислительного железа.
Все современные графические процессоры (GPU) спроектированы ради одной сверхбыстрой операции: умножения плотных матриц. Классический MLP идеально ложится на эту архитектуру. Вычисление целого слоя в MLP сводится к одной массивной, аппаратно векторизованной матричной операции:
Здесь глубоко оптимизированные CUDA-ядра могут обрабатывать гигантские блоки данных за доли миллисекунды.
Архитектура KAN катастрофически несовместима с GPU. Вместо одного простого умножения матриц, сеть должна динамически вычислять значения сплайнов. Для каждого отдельного ребра требуется выполнить поиск интервала в локальной сетке (grid) и вычислить уникальную полиномиальную комбинацию. Это приводит к фатальным проблемам:
- Невозможность использования тензорных ядер (операция больше не является перемножением матриц).
- Катастрофическая фрагментация памяти, уничтожающая паттерны коалесцированного доступа к видеопамяти.
- Многократно возросшее потребление памяти.
Несмотря на появление оптимизированных библиотек (таких как EfficientKAN), сети обучаются неприемлемо медленно — на порядки дольше, чем MLP аналогичного размера. KAN обречены оставаться узконишевым лабораторным инструментом для малых размерностей данных, будучи абсолютно непригодными для реальных промышленных задач.
См. также
- Многослойный персептрон
- Граф вычислений
- Сплайн
- Теорема представления Колмогорова-Арнольда
- Скользящий контроль
- Переобучение
Литература
- Liu Z., Wang Y., Vaidya S. et al. KAN: Kolmogorov-Arnold Networks // [arXiv:2404.19756 Advances in Neural Information Processing Systems (NeurIPS)]. — 2024.
- Hastie T., Tibshirani R. Generalized Additive Models // Statistical Science. — 1986. — Т. 1. — № 3. — С. 297-310.
- Kolmogorov A. N. On the representation of continuous functions of many variables by superposition of continuous functions of one variable and addition // Doklady Akademii Nauk SSSR. — 1957. — Т. 114. — № 5. — С. 953–956.

