|
|
| (3 промежуточные версии не показаны) |
| Строка 1: |
Строка 1: |
| - | {{well|Статья написана с использованием LLM '''DeepSeek-V4''' и проверена участником [[Участник:Vokov|К.В.Воронцов]] 19:49, 12 июня 2026 (MSD)
| + | #REDIRECT [[Сеть Колмогорова — Арнольда]] |
| - | Промпт приводится полностью в [[Обсуждение:Скользящий контроль]]
| + | |
| - | }}
| + | |
| - | {{TOCright}}
| + | |
| - | '''Сети Колмогорова-Арнольда''' (англ. ''Kolmogorov-Arnold Networks'', '''KAN''') — класс [[Искусственная нейронная сеть|искусственных нейронных сетей]], в которых линейные веса и фиксированные функции активации традиционных [[Многослойный перцептрон|многослойных перцептронов]] (MLP) заменены на обучаемые нелинейные функции, определённые на рёбрах графа сети.
| + | |
| - | | + | |
| - | Архитектура KAN опирается на [[Теорема представления Колмогорова-Арнольда|теорему представления Колмогорова-Арнольда]], доказанную в 1957 году. В контексте современного машинного обучения и статистики KAN рассматриваются как мощное средство для [[Символьная регрессия|символьной регрессии]], решения дифференциальных уравнений и построения интерпретируемых моделей, выступая глубоким нелинейным обобщением [[Обобщённые аддитивные модели|обобщённых аддитивных моделей]] (GAM).
| + | |
| - | | + | |
| - | В отличие от «чёрных ящиков» стандартных нейросетей, KAN позволяют извлекать аналитические формулы из данных, что сделало их одним из ключевых инструментов в области научного машинного обучения (Scientific Machine Learning, SciML) к середине 2020-х годов.
| + | |
| - | | + | |
| - | == Историческая справка и мотивация ==
| + | |
| - | | + | |
| - | === 13-я проблема Гильберта и чистая математика ===
| + | |
| - | История сетей KAN начинается не в компьютерных науках, а в чистой математике. В 1900 году Давид Гильберт сформулировал 23 проблемы, среди которых 13-я проблема касалась вопроса: ''можно ли любую непрерывную функцию трёх переменных представить в виде суперпозиции непрерывных функций двух переменных?''
| + | |
| - | | + | |
| - | Ответ был найден лишь спустя более чем полвека. В 1957 году советские математики [[Колмогоров, Андрей Николаевич|Андрей Николаевич Колмогоров]] и его ученик [[Арнольд, Владимир Игоревич|Владимир Игоревич Арнольд]] (которому на момент доказательства было всего 19 лет) показали, что суперпозиция функций одного переменного достаточна для представления функций любого числа переменных<ref name="Kolmogorov1957">Kolmogorov, A. N. (1957). ''On the representation of continuous functions of many variables by superposition of continuous functions of one variable and addition''. Doklady Akademii Nauk SSSR, 114(5), 953-956.</ref><ref name="Arnold1957">Arnold, V. I. (1957). ''On the representation of continuous functions of three variables by superpositions of continuous functions of two variables''. Doklady Akademii Nauk SSSR, 114(4), 679-681.</ref>.
| + | |
| - | | + | |
| - | Изначально теорема носила чисто экзистенциальный характер: она доказывала ''существование'' таких функций, но не давала конструктивного метода их построения, из-за чего долгое время не находила практического применения в вычислительной математике.
| + | |
| - | | + | |
| - | === Переход в машинное обучение ===
| + | |
| - | В машинном обучении доминировал другой математический результат — [[Теорема универсальной аппроксимации|теорема универсальной аппроксимации]] (Cybenko, 1989)<ref name="Cybenko1989">Cybenko, G. (1989). ''Approximation by superpositions of a sigmoidal function''. Mathematics of Control, Signals and Systems, 2(4), 303-314.</ref>, которая обосновывала использование [[Многослойный перцептрон|многослойных перцептронов]] (MLP). В MLP веса на рёбрах линейны, а нелинейность вносится фиксированными [[Функция активации|функциями активации]] (ReLU, Tanh) в узлах. Это обеспечивает высокую вычислительную эффективность, но делает модели неинтерпретируемыми.
| + | |
| - | | + | |
| - | Прорыв произошёл в 2024 году, когда группа исследователей из MIT, Caltech и других университетов (Ziming Liu, Yixuan Wang и др.) опубликовала работу, в которой предложила заменить линейные веса MLP на обучаемые одномерные функции (параметризованные [[B-сплайн|B-сплайнами]])<ref name="Liu2024">Liu, Z., Wang, Y., Vaidya, S., Ruehle, F., Halbleib, A., Chen, Y., ... & Tegmark, M. (2024). ''KAN: Kolmogorov-Arnold Networks''. Advances in Neural Information Processing Systems (NeurIPS), 2024. arXiv:2404.19756.</ref>. Это позволило «оживить» теорему Колмогорова-Арнольда, превратив её из абстрактного математического факта в работающую архитектуру глубокого обучения.
| + | |
| - | | + | |
| - | == Математическое обоснование ==
| + | |
| - | | + | |
| - | === Оригинальная теорема ===
| + | |
| - | [[Теорема представления Колмогорова-Арнольда]] утверждает, что любую непрерывную функцию <tex>f: [0,1]^n \to \mathbb{R}</tex> многих переменных можно записать в виде:
| + | |
| - | | + | |
| - | <tex display="block"> f(x_1, \dots, x_n) = \sum_{q=1}^{2n+1} \Phi_q \left( \sum_{p=1}^n \phi_{q,p}(x_p) \right) </tex>
| + | |
| - | | + | |
| - | где <tex>\phi_{q,p}</tex> — заранее известные, ''не зависящие от <tex>f</tex>'' функции одного переменного (внутренние функции), а <tex>\Phi_q</tex> — непрерывные функции одного переменного, зависящие от <tex>f</tex> (внешние функции).
| + | |
| - | | + | |
| - | === Адаптация для машинного обучения ===
| + | |
| - | В классической теореме внутренние функции фиксированы, что затрудняло её использование для аппроксимации данных. В архитектуре KAN это ограничение снимается: '''все функции на рёбрах сети делаются обучаемыми'''.
| + | |
| - | | + | |
| - | Если в стандартном MLP выходной сигнал узла вычисляется как <tex>y = \sigma(\sum w_i x_i + b)</tex>, где <tex>\sigma</tex> — фиксированная функция, а <tex>w_i</tex> — обучаемые скаляры, то в KAN узел просто суммирует сигналы, а на рёбрах применяются обучаемые нелинейные функции <tex>\phi_{i,j}</tex>:
| + | |
| - | | + | |
| - | <tex display="block"> \text{KAN}(\mathbf{x}) = \mathbf{\Phi} \otimes \mathbf{x} </tex>
| + | |
| - | | + | |
| - | где <tex>\mathbf{x} = (x_1, \dots, x_n)^T</tex> — входной вектор, <tex>\mathbf{\Phi}</tex> — матрица размером <tex>m \times n</tex>, состоящая из одномерных функций <tex>\phi_{i,j}</tex>, а операция <tex>\otimes</tex> означает применение функций с последующим суммированием по строкам:
| + | |
| - | | + | |
| - | <tex display="block"> y_i = \sum_{j=1}^n \phi_{i,j}(x_j), \quad i = 1, \dots, m </tex>
| + | |
| - | | + | |
| - | === Параметризация сплайнами ===
| + | |
| - | Для параметризации функций <tex>\phi_{i,j}(x)</tex> в KAN используются [[B-сплайн|B-сплайны]]. Функция на ребре представляется как линейная комбинация базисных сплайнов:
| + | |
| - | | + | |
| - | <tex display="block"> \phi(x) = \sum_{k} c_k B_k(x) </tex>
| + | |
| - | | + | |
| - | где <tex>c_k</tex> — обучаемые коэффициенты (веса), а <tex>B_k(x)</tex> — базисные функции B-сплайна, определяемые набором узлов (knots). В процессе [[Обратное распространение ошибки|обратного распространения ошибки]] градиенты вычисляются как по коэффициентам <tex>c_k</tex>, так и по положениям узлов, что позволяет сети адаптировать форму функции к данным.
| + | |
| - | | + | |
| - | == Архитектура и принцип работы ==
| + | |
| - | | + | |
| - | Для инженера по машинному обучению важно понимать фундаментальное различие в топологии вычислений между MLP и KAN:
| + | |
| - | | + | |
| - | # '''Расположение нелинейности:''' В MLP нелинейность находится в ''узлах'' (нейронах), а рёбра осуществляют линейное преобразование. В KAN нелинейность находится на ''рёбрах'', а узлы лишь суммируют входящие сигналы (линейная операция).
| + | |
| - | # '''Отсутствие явных весов:''' В KAN нет скалярных весов <tex>w</tex> и смещений <tex>b</tex> в привычном понимании. Их роль выполняют параметры сплайнов.
| + | |
| - | # '''Глобальная и локальная адаптация:''' Сплайны позволяют KAN легко комбинировать глобальную аппроксимацию (за счёт базисных функций) и локальную адаптацию (за счёт изменения параметров в конкретных узлах сетки).
| + | |
| - | | + | |
| - | == Статистическая и ML-интерпретация ==
| + | |
| - | | + | |
| - | === Связь со статистикой ===
| + | |
| - | С точки зрения статистики, KAN можно рассматривать как глубокое расширение [[Обобщённые аддитивные модели|обобщённых аддитивных моделей]] (GAM), предложенных Хейсти и Тибширани в 1986 году<ref name="Hastie1986">Hastie, T., & Tibshirani, R. (1986). ''Generalized Additive Models''. Statistical Science, 1(3), 297-310.</ref>. Если классический GAM моделирует отклик как сумму сглаженных функций предикторов <tex>g(y) = \beta_0 + f_1(x_1) + \dots + f_p(x_p)</tex>, то KAN позволяют строить иерархические суперпозиции таких сглаживаний, сохраняя при этом аддитивную структуру на каждом слое.
| + | |
| - | | + | |
| - | === Интерпретируемость и символьная регрессия ===
| + | |
| - | Главное преимущество KAN для исследователя данных — прозрачность. Поскольку каждое ребро представляет собой одномерную функцию, её можно визуализировать. Более того, применив технику «очищения» (pruning) — обнуления незначимых сплайнов с последующей фитировкой оставшихся узлов простыми аналитическими функциями (синусами, экспонентами, полиномами) — инженеры могут извлекать из обученной сети точные физические или математические уравнения. Это делает KAN идеальным инструментом для [[Символьная регрессия|символьной регрессии]].
| + | |
| - | | + | |
| - | == Области применения ==
| + | |
| - | | + | |
| - | К середине 2020-х годов KAN заняли прочную нишу в задачах, где важны интерпретируемость, точность на малых данных и интеграция с физическими законами:
| + | |
| - | | + | |
| - | # '''AI for Science (ИИ для науки):''' Решение [[Дифференциальные уравнения в частных производных|дифференциальных уравнений в частных производных]] (PDE). KAN показывают на порядок лучшую сходимость и точность по сравнению с MLP в задачах [[Физико-информированные нейронные сети|физико-информированных нейронных сетей]] (PINNs), благодаря гладкости сплайнов<ref name="Liu2024" />.
| + | |
| - | # '''Медицина и биоинформатика:''' Построение интерпретируемых моделей для табличных данных, где врачу или биологу важно понимать, как именно признак влияет на прогноз.
| + | |
| - | # '''Обучение с подкреплением (RL):''' Использование KAN в качестве агентов позволяет анализировать стратегии, выраженные в виде символьных формул.
| + | |
| - | # '''Обработка временных рядов:''' Адаптации KAN (например, Time-series KAN) успешно применяются для прогнозирования, обеспечивая устойчивость к сдвигу распределений (concept drift).
| + | |
| - | | + | |
| - | == Ограничения и вычислительная сложность ==
| + | |
| - | | + | |
| - | Несмотря на математическую элегантность, KAN имеют ряд ограничений, о которых инженер должен помнить при выборе архитектуры:
| + | |
| - | | + | |
| - | * '''Вычислительные затраты:''' Вычисление сплайнов и их производных требует больше операций, чем простое сравнение с нулем в функции ReLU. На больших объёмах неструктурированных данных (например, в компьютерном зрении или NLP) KAN проигрывают MLP и [[Трансформер (архитектура)|трансформерам]] в скорости обучения из-за отсутствия таких же глубоко оптимизированных CUDA-ядер (хотя библиотеки вроде ''EfficientKAN'' значительно сократили этот разрыв).
| + | |
| - | * '''Масштабирование:''' На данный момент KAN не демонстрируют такого же безупречного скейлинга на триллионах токенов, как трансформеры. Их «стихия» — это задачи с умеренной размерностью, сложными физическими законами и требованием к интерпретируемости.
| + | |
| - | * '''Проклятие размерности:''' Как и любые методы, опирающиеся на теорему Колмогорова-Арнольда, KAN могут требовать экспоненциального роста числа параметров при работе с данными сверхвысокой размерности без учёта их внутренней структуры.
| + | |
| - | | + | |
| - | == Практические рекомендации по применению ==
| + | |
| - | | + | |
| - | Если вы специалист по данным и рассматриваете KAN для своего проекта, используйте следующий чек-лист:
| + | |
| - | # '''Используйте KAN''', если у вас табличные данные, небольшие выборки (data-scarce regime), или если вам нужно вывести аналитическую формулу из данных (например, для калибровки физической модели).
| + | |
| - | # '''Используйте KAN''', если вы решаете задачи SciML (PDE, физика жидкостей, квантовая механика), где гладкость сплайнов дает выигрыш в градиентах.
| + | |
| - | # '''Оставайтесь на MLP/Transformer''', если вы обучаете модель на миллионах изображений или текстов, где важна пропускная способность (throughput) и масштабирование на кластерах GPU.
| + | |
| - | | + | |
| - | == См. также ==
| + | |
| - | * [[Теорема универсальной аппроксимации]]
| + | |
| - | * [[Обобщённые аддитивные модели]]
| + | |
| - | * [[Символьная регрессия]]
| + | |
| - | * [[Физико-информированные нейронные сети]]
| + | |
| - | * [[Сплайн]]
| + | |
| - | | + | |
| - | == Примечания ==
| + | |
| - | | + | |
| - | <references />
| + | |
| - | | + | |
| - | == Литература ==
| + | |
| - | * ''Liu Z., Wang Y., Vaidya S., Ruehle F., Halbleib A., Chen Y., ... & Tegmark M.'' 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. — Vol. 1, no. 3. — P. 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. — Vol. 114, no. 5. — P. 953-956.
| + | |
| - | * ''Arnold V. I.'' On the representation of continuous functions of three variables by superpositions of continuous functions of two variables // Doklady Akademii Nauk SSSR. — 1957. — Vol. 114, no. 4. — P. 679-681.
| + | |
| - | * ''Cybenko G.'' Approximation by superpositions of a sigmoidal function // Mathematics of Control, Signals and Systems. — 1989. — Vol. 2, no. 4. — P. 303-314.
| + | |