Предлагаю полный перевод второй статьи на тему нейронных сетей на основе алгоритма Колмогорова-Арнольда (KAN), опубликованной в августе 2024 года. В этой работе исследователи продолжают развивать тему KAN, раскрывают ее связь с наукой, а также приводят некоторые практические советы по использованию библиотеки pykan, написанной на python, в которой реализован алгоритм KAN.
Перевод первой статьи размещен по адресу.
Аннотация
Основная проблема ИИ + Наука (AI + Science) заключается в их изначальной несовместимости: сегодняшний ИИ в первую очередь основан на коннекционизме, в то время как наука опирается на символизм. Чтобы соединить два мира, мы предлагаем структуру для бесшовной синергии сетей Колмогорова-Арнольда (KAN) и науки. Структура подчеркивает использование KAN для трех аспектов научного открытия: определение соответствующих признаков, выявление модульных структур и открытие символических формул. Синергия двунаправленная: наука к KAN (включение научных знаний в KAN) и KAN к науке (извлечение научных идей из KAN). Мы выделяем основные новые функции в pykan: (1) MultKAN: KAN с узлами умножения. (2) kanpiler: компилятор KAN, который компилирует символические формулы в KAN. (3) преобразователь деревьев: преобразование KAN (или любых нейронных сетей) в древовидные графы. На основе этих инструментов мы демонстрируем способность KAN открывать различные типы физических законов, включая сохраняющиеся величины, лагранжианы, симметрии и конститутивные законы.
1. Введение
В последние годы ИИ + Наука стали многообещающей новой областью, что привело к значительным научным достижениям, включая прогнозирование сворачивания белков [37], автоматическое доказательство теорем [95, 83], прогноз погоды [41] и другие. Общей чертой этих задач является то, что все они могут быть хорошо сформулированы в виде проблем с четкими целями, оптимизируемыми системами ИИ-черного ящика. Хотя эта парадигма работает исключительно хорошо для прикладной науки, существует другой вид науки: наука, движимая любопытством. В исследованиях, движимых любопытством, процедура является более исследовательской, часто не имеющей четких целей, кроме «получения большего понимания». Для ясности, наука, движимая любопытством, далеко не бесполезна; совсем наоборот. Научные знания и понимание, полученные посредством любопытства, часто закладывают прочную основу для завтрашних технологий и способствуют широкому спектру приложений.
Хотя и прикладная, и любознательная наука бесценны и незаменимы, они задают разные вопросы. Когда астрономы наблюдают движение небесных тел, прикладные исследователи сосредотачиваются на прогнозировании их будущих состояний, в то время как любознательные исследователи изучают физику, лежащую в основе движения. Другим примером является AlphaFold, которая, несмотря на свой огромный успех в прогнозировании белковых структур, остается в сфере прикладной науки, поскольку она не предоставляет новых знаний на более фундаментальном уровне (например, атомных сил). Гипотетически AlphaFold должен был открыть важную неизвестную физику, чтобы достичь своих высокоточных предсказаний. Однако эта информация остается скрытой от нас, оставляя AlphaFold в значительной степени черным ящиком. Поэтому мы выступаем за новые парадигмы ИИ для поддержки любознательной науки. Эта новая парадигма ИИ + Наука требует более высокой степени интерпретируемости и интерактивности в инструментах ИИ, чтобы их можно было легко интегрировать в научные исследования.
Недавно новый тип нейронной сети, называемый сетью Колмогорова-Арнольда (KAN) [57], показал себя многообещающим для задач, связанных с наукой. В отличие от многослойных персептронов (MLP), которые имеют фиксированные функции активации на узлах, KAN имеют обучаемые функции активации на ребрах. Поскольку KAN могут раскладывать многомерные функции на одномерные функции, интерпретируемость может быть получена путем символической регрессии этих 1D-функций. Однако их определение интерпретируемости несколько узкое, поскольку оно приравнивается почти исключительно к способности извлекать символические формулы. Это ограниченное определение сужает сферу их применения, поскольку символические формулы не всегда необходимы или возможны в науке. Например, если в физике символьные уравнения являются мощным инструментом и широко распространены, то в химии и биологии системы часто слишком сложны, чтобы их можно было представить с помощью таких уравнений. В этих областях модульные структуры и ключевые особенности могут быть достаточными для характеристики интересных аспектов этих систем. Еще одним упущенным из виду аспектом является обратная задача — внедрение знаний в KAN: как мы можем внедрить предварительные знания в KAN в духе обучения на основе физики?
Мы совершенствуем и расширяем KAN, чтобы их было легко использовать в науке, движимой любопытством. Цель этой статьи можно кратко сформулировать следующим образом:
Чтобы быть более конкретным, научные объяснения могут иметь разные уровни, начиная от самых грубых / простых / корреляционных и заканчивая самыми тонкими / сложными / причинно-следственными:
• Важные характеристики: Например, « полностью определяется и , в то время как другие факторы не имеют значения». Другими словами, существует функция , такая, что .
• Модульные структуры: например, « и независимо друг от друга аддитивно влияют на «. Это означает, что существуют такие функции и , что .
• Символические формулы: Например, « зависит от как синусоидальная функция и от как экспоненциальная функция». Другими словами, .
В статье рассказывается о том, как включить и извлечь эти свойства из KAN. Структура статьи выглядит следующим образом (показано на рисунке 1): В разделе 2 мы дополняем исходную CAN узлами умножения, представляя новую модель под названием MultKAN. В разделе 3 мы исследуем способы внедрения научных индуктивных методов в KAN, уделяя особое внимание важным функциям (раздел 3.1), модульным структурам (раздел 3.2) и символическим формулам (раздел 3.3).
В разделе 4 мы предлагаем методы извлечения научных знаний из KAN, снова охватывая важные функции (раздел 4.1), модульные структуры (раздел 4.2) и символьные формулы (раздел 4.3). В разделе 5 мы применяем KAN к различным задачам научного поиска, используя инструменты, разработанные в предыдущих разделах. Эти задачи включают в себя обнаружение сохраняющихся величин, симметрий, лагранжианов и определяющих законов. Коды доступны по адресу https://github.com/KindXiaoming/pykan и также могут быть установлены с помощью pip install pykan. Хотя статья называется “KAN 2.0”, выпущенная версия pykan — 0.2.x.
2. MultKAN: Увеличение количества KAN за счет умножения
Теорема о представлении Колмогорова-Арнольда (Kolmogorov-Arnold representation theorem KART) утверждает, что любая непрерывная функция большой размерности может быть разложена на конечную композицию одномерных непрерывных функций и переменной:
Это означает, что сложение является единственной истинной многомерной операцией, в то время как другие многомерные операции (включая умножение) могут быть выражены как операции сложения в сочетании с одномерными функциями. Например, чтобы умножить два положительных числа x и y, мы можем выразить это как *, правая часть которого состоит только из сложения и одномерных функций (log и exp). (*Значения и могут быть отрицательными, поэтому можно использовать большое значение и выразить . Другие конструкции включают квадратичные функции, такие как или .
Однако, учитывая распространенность умножений как в науке, так и в повседневной жизни, желательно явно включать умножения в KAN, что потенциально может повысить как интерпретируемость, так и потенциал модели.
Kolmogorov-Arnold Network (KAN) В то время как уравнение KART (1) соответствует двухслойной сети, Лю и др. [57] удалось расширить его на произвольную глубину, признав, что кажущиеся различными внешние функции и внутренние функции могут быть объединены с помощью предложенных ими слоев KAN. Глубину L KANN можно построить, просто наложив L слоев KAN. Форма глубины L KAN представлена целочисленным массивом , где обозначает количество нейронов в -м нейронном слое. Слой KAN с входными размерами и выходными размерами преобразует входной вектор в
и вся сеть представляет собой композицию из L слоев KAN, т.е.,
На диаграммах KAN можно интуитивно представить сеть, состоящую из узлов (суммирование) и ребер (обучаемые активации), как показано на рисунке 2 вверху слева. При обучении на наборе данных, сгенерированном из , KAN (рисунок 2 внизу слева) использует два дополнительных узла, что делает неясным, действия сети. Однако после некоторого размышления мы понимаем, что она использует равенство , но это далеко не очевидно.
Multiplicative Kolmogorov-Arnold Networks (MultKAN) Для явного введения операций умножения мы предлагаем MultKAN, который может более четко выявлять мультипликативные структуры в данных. MultKAN (показан на рисунке 2 вверху справа) похож на KAN, причем оба имеют стандартные слои KAN. Мы называем входные узлы слоя KAN узлами, а выходные узлы слоя KAN подузлами. Разница между KAN и MultKAN заключается в преобразованиях из подузлов текущего слоя в узлы следующего слоя. В KAN узлы напрямую копируются из подузлов предыдущего слоя. В MultKAN некоторые узлы (узлы сложения) копируются из соответствующих подузлов, в то время как другие узлы (узлы умножения) выполняют умножение на k подузлах из предыдущего слоя. Для простоты далее мы установим *.
*(Для простоты мы задали , но пакет pykan позволяет использовать любое целое число . Пользователи даже могут задавать разные значения для разных узлов умножения. Однако если в одном слое используются разные значения , распараллеливание этих умножений может быть затруднено.)
На основе диаграммы MultKAN (рисунок 2 вверху справа) можно интуитивно понять, что MultKAN — это обычный KAN с необязательными вставленными умножениями. Для математической точности мы определяем следующие обозначения: Количество операций сложения (умножения) в слое обозначается как соответственно. Они собираются в массивы: ширина сложения и ширина умножения . Когда , MultKAN сводится к KAN. Например, на рисунке 2 (вверху справа) показан MultKAN с и .
Слой MultKAN состоит из стандартного KANLayer и слоя умножения . принимает входной вектор и выводит . Слой умножения состоит из двух частей: часть умножения выполняет умножения пар подузлов, в то время как другая часть выполняет тождественное преобразование. Написанный на Python, преобразует следующим образом:
где — поэлементное умножение. MultKANLayer можно кратко представить как . Таким образом весь MultKAN:
Поскольку в слоях умножения нет обучаемых параметров, все методы разреженной регуляризации (например, и энтропийная регуляризация) для KAN [57] могут быть напрямую применены к MultKAN. Для задачи умножения MultKAN действительно учится использовать один узел умножения, что позволяет ему выполнять простое умножение, поскольку все изученные функции активации являются линейными (рисунок 2 внизу справа).
Хотя KAN ранее рассматривались как особый случай MultKAN, мы расширяем определение и рассматриваем «KAN» и «MultKAN» как синонимы. По умолчанию, когда мы ссылаемся на KAN, умножение разрешено. Если мы конкретно ссылаемся на KAN без умножения, мы явно это укажем.
3. Наука в KAN
В науке знание предметной области имеет решающее значение, позволяя нам эффективно работать даже с небольшими или нулевыми данными. Поэтому полезно принять подход, основанный на физике, для KAN: мы должны включить доступные индуктивные предубеждения в KAN, сохраняя их гибкость для открытия новой физики из данных.
Мы исследуем три типа индуктивных предубеждений, которые могут быть интегрированы в KAN. От самых грубых/легких/корреляционных до самых тонких/сложных/причинных – это: важные признаки (раздел 3.1), модульные структуры (раздел 3.2) и символические формулы (раздел 3.3).
3.1 Добавление важных признаков в KAN
В задаче регрессии цель состоит в том, чтобы найти функцию , такую, что . Предположим, мы хотим ввести вспомогательную входную переменную , преобразуя функцию в . Хотя вспомогательная переменная a не добавляет новой информации, она может увеличить выразительную силу нейронной сети. Это связано с тем, что сети не нужно тратить ресурсы на вычисление вспомогательной переменной. Кроме того, вычисления могут стать проще, что приведет к улучшению интерпретируемости. Пользователи могут добавлять вспомогательные функции к входам с помощью метода augment_input:
В качестве примера рассмотрим формулу для релятивистской массы , где — масса покоя, — скорость точечной массы, а — скорость света. Поскольку физики часто работают с безразмерными числами и , они могут ввести и наряду с и в качестве входных данных. Рисунок 3 показывает KAN с этими вспомогательными переменными и без них: (a) иллюстрирует KAN, составленный из символической формулы (см. раздел 3.3 для компилятора KAN), которая требует 5 ребер; (b)(c) показывает KAN со вспомогательными переменными, требующими только 2 или 3 ребра и достигающими потерь 10−6 и 10−4 соответственно. Обратите внимание, что (b) и (c) отличаются только величиной seed. Seed равный 1 представляет собой неоптимальное решение, поскольку оно также определяет как ключевой признак (feature). Это неудивительно, так как в классическом пределе , . Разнообразие, вызванное различными seed, можно рассматривать либо как особенность, либо как ошибку (bug): Как особенность, это разнообразие может помочь найти неоптимальные решения, которые, тем не менее, могут предложить интересные идеи; как ошибка, оно может быть устранено с помощью метода проверки гипотез, предложенного в разделе 4.3.
3.2 Строительство модульных конструкций для KAN
Модульность распространена в природе: например, кора головного мозга человека разделена на несколько функционально различных модулей, каждый из которых отвечает за определенные задачи, такие как восприятие или принятие решений. Эта модульность упрощает понимание нейронных сетей, поскольку позволяет нам интерпретировать кластеры нейронов совместно, а не анализировать каждый нейрон по отдельности.
Структурная модульность характеризуется кластерами связей, где внутрикластерные связи намного сильнее межкластерных. Чтобы обеспечить модульность, мы вводим модульный метод, который сохраняет внутрикластерные связи, удаляя межкластерные связи. Модули указываются пользователями. Синтаксис:
Например, если пользователь хочет назначить модулю определенные узлы/подузлы — скажем, 0-й узел в слой 1, 1-й и 3-й подузлы в слой 1, 1-й и 3-й узлы в слой 2 — он может использовать module(1, ‘[0] -> [1,3] -> [1,3]’). Если говорить конкретно, то существует два типа модульности: разделимость и симметрия.
Разделимость Мы говорим, что функция считается разделимой, если ее можно выразить как сумму или произведение функций непересекающихся групп переменных. Например, функция четырех переменных является максимально мультипликативно разделимой, если она имеет вид , создавая четыре различные группы (1), (2), (3), (4). Пользователи могут создавать эти модули, вызывая метод module четыре раза: module(0, ‘[ i ]->[ i ]’), = 0, 1, 2, 3, как показано на рисунке 4 (а). Последний вызов можно пропустить, так как первых трех достаточно для определения групп. Более слабые формы мультипликативной разделимости могут быть (вызов module(0, ‘[ 0,1 ]->[ 0,1 ]’ )) или (вызов module(0, ‘[ 0 ]->[ 0 ]’ )).
Обобщенная симметрия Мы говорим, что функция симметрична относительно переменных , если . Это свойство называется симметрией, поскольку значение остается неизменным до тех пор, пока остается постоянным, даже если и изменяются. Например, функция является вращательно-инвариантной в 2D, если где . Когда симметрия затрагивает только подмножество переменных, ее можно считать иерархической, поскольку и сначала взаимодействуют через (2-слойный KAN), а затем взаимодействует с другими переменными через (2-слойный KAN). Предположим, что функция с четырьмя переменными имеет иерархическую форму ,
как показано на рисунке 4 (b). Мы можем использовать метод module для создания этой структуры, вызвав module(0, ‘[ 0,1 ] -> [ 0,1 ] -> [ 0,1 ] -> [ 0 ]’), гарантируя, что группы переменных не будут взаимодействовать в первых двух слоях.
3.3 Составление символических формул в KAN
Ученые часто находят удовлетворение в представлении сложных явлений посредством символических уравнений. Однако, хотя эти уравнения и лаконичны, им может не хватать выразительной силы, необходимой для охвата всех нюансов из-за их специфических функциональных форм. Напротив, нейронные сети очень выразительны, но могут неэффективно тратить время обучения и данные на изучение знаний предметной области, уже известных ученым. Чтобы использовать сильные стороны обоих подходов, мы предлагаем двухэтапную процедуру:
(1) компилировать символические уравнения в KAN и
(2) настраивать эти KAN с использованием данных.
Первый шаг направлен на внедрение известных знаний предметной области в KAN, в то время как второй шаг фокусируется на изучении новой «физики» из данных.
kanpiler (KAN compiler). Цель kanpiler — преобразовать символическую формулу в KAN. Процесс, показанный на рисунке 5 (a), включает три основных шага: (1) Символическая формула разбирается на древовидную структуру, где узлы представляют выражения, а ребра обозначают операции/функции. (2) Затем это дерево модифицируется для приведения в соответствие со структурой графа KAN. Изменения включают перемещение всех листовых узлов на входной слой через фиктивные ребра и добавление фиктивных подузлов/узлов для соответствия архитектуре KAN. Эти фиктивные ребра/узлы/подузлы выполняют только тождественное преобразование. (3) Переменные объединяются в первом слое, эффективно преобразуя дерево в граф. Для наглядности на ребрах размещены одномерные кривые для представления функций. Мы протестировали kanpiler на наборе данных Фейнмана, и он успешно обрабатывает все 120 уравнений. Примеры показаны на рисунке 5 (b). Kanpiler принимает входные переменные (как символы sympy) и выходное выражение (как выражение sympy) и возвращает модель KAN.
Обратите внимание, что возвращаемая модель KAN находится в символическом режиме, т.е. символические функции точно закодированы. Если вместо этого мы используем кубические сплайны для аппроксимации этих символических функций, мы получим потери MSE [57], где N — число интервалов сетки (пропорционально числу параметров модели).
Расширение ширины/глубины для увеличения выразительной мощности Сеть KAN, сгенерированная kanpiler, компактна, без избыточных ребер, которые могут ограничить ее выразительную мощность и помешать дальнейшей тонкой настройке. Для решения этой проблемы мы предлагаем методы expand_width и expand_depth для расширения сети, чтобы она стала шире и глубже, как показано на рисунке 5 (c). Методы расширения изначально добавляют нулевые функции активации, которые страдают от нулевых градиентов во время обучения. Поэтому метод возмущения следует использовать для возмущения этих нулевых функций до ненулевых значений, что делает их обучаемыми с ненулевыми градиентами.
4. KAN в науку
Сегодняшние черные ящики глубоких нейронных сетей являются мощными, но интерпретация этих моделей остается сложной задачей. Ученые ищут не только высокопроизводительные модели, но и возможность извлекать значимые знания из моделей. В этом разделе мы сосредоточимся на повышении интерпретируемости научных целей KAN. Мы рассмотрим три уровня извлечения знаний из KAN, от самых базовых до самых сложных: важные признаки (раздел 4.1), модульные структуры (раздел 4.2) и символические формулы (раздел 4.3).
4.1 Определение важности переменных KAN
Определение важности переменных имеет решающее значение для многих задач. Учитывая регрессионную модель , где , мы стремимся назначить баллы (scores) входным переменным для оценки их важности. Лю и др. [57] использовали функцию L1 norm для указания важности ребер, но эта метрика может быть проблематичной, поскольку она учитывает только локальную информацию.
Чтобы решить эту проблему, мы вводим более эффективную оценку атрибуции, которая лучше отражает важность переменных, чем норма L1. Для простоты предположим, что есть узлы умножения, поэтому нам не нужно различать узлы и подузлы* (*для подузлов, принадлежащих узлу умножения, подузлы наследуют свои оценки от узла умножения). Предположим, что у нас есть L-слой KAN с шириной . Мы определяем как стандартное отклонение активаций на ребре , а как стандартное отклонение активаций на узле . Затем мы определяем оценку узла (атрибуции) и оценку ребра (атрибуции) . В [57] мы просто определили и . Однако это определение не учитывает более поздние сегменты сети; даже если узел или ребро имеет бо́льшую норму, они могут не вносить вклад в выход, если остальная часть сети фактически является нулевой функцией. Поэтому теперь мы вычисляем оценки узлов и ребер итеративно от выходного слоя до входного слоя. Мы устанавливаем все выходные измерения так, чтобы они имели единичные оценки, т. е. , * , и вычисляем оценки следующим образом:
(*другие варианты могут быть сделаны на основе воспринимаемой важности каждого выходного измерения, хотя это менее критично, когда выходные данные, как правило, одномерны)
Сравнение и Мы обнаружили, что обеспечивает более точное отражение важности ребер. На рисунке 6 мы сравниваем KAN, обученные на двух уравнениях и , и визуализируем KAN с оценками важности (L1 norm) или (оценка атрибуции). Для первого уравнения оценки атрибуции показывают более чистый график, чем нормы L1, так как многие активные ребра в первом слое не вносят вклад в конечный результат из-за неактивных последующих ребер. Оценка атрибуции учитывает это, что приводит к более осмысленному графику. Для второго уравнения , мы можем сказать исходя из её символического вида, что все четыре переменные одинаково важны. Оценки атрибуции правильно отражают равную важность всех четырех переменных, тогда как норма L1 неверно предполагает, что и важнее, чем и .
Отсечение входных данных на основе оценок атрибуции В реальных наборах данных размерность входных данных может быть большой, но только несколько переменных могут быть релевантными. Чтобы решить эту проблему, мы предлагаем отсечение нерелевантных признаков на основе оценок атрибуции, чтобы мы могли сосредоточиться на наиболее релевантных. Пользователи могут применить prune_input, чтобы сохранить только наиболее релевантные переменные. Например, если есть 100 входных признаков, упорядоченных по убыванию релевантности в функции , , и после обучения только первые пять признаков показывают значительно более высокие оценки атрибуции, метод prune_input сохранит только эти пять признаков. Отсеченная сеть становится компактной и интерпретируемой, тогда как исходная KAN со 100 входными данными слишком плотна для прямой интерпретации.
4.2 Определение модульных структур из KAN
Хотя оценка атрибуции дает ценную информацию о том, какие ребра или узлы важны, она не раскрывает модульные структуры, т. е. как связаны важные ребра и узлы. В этой части мы стремимся раскрыть модульные структуры из обученных KAN и MLP, исследуя два типа модульности: анатомическую модульность и функциональную модульность.
4.2.1 Анатомическая модульность
Анатомическая модульность относится к тенденции нейронов, расположенных близко друг к другу в пространстве, иметь более сильные связи, чем те, которые находятся дальше друг от друга. Хотя искусственные нейронные сети не имеют физических пространственных координат, было показано, что введение концепции физического пространства улучшает интерпретируемость [51, 52]. Мы принимаем метод обмена нейронами из [51, 52], который сокращает связи, сохраняя при этом функциональность сети. Мы называем этот метод auto_swap. Анатомическая модульная структура, выявленная путем обмена нейронами, облегчает идентификацию модулей, даже визуально, для двух задач, показанных на рисунке 7: (1) многозадачный разреженный паритет; и (2) иерархическое голосование большинства. Для многозадачной разреженной четности у нас есть 10 входных бит , и выход , где обозначает сложение по модулю 2. Задача демонстрирует модульность, поскольку каждый выход зависит только от подмножества входов. Функция auto_swap успешно идентифицирует модули как для KAN, так и для MLP, при этом KAN обнаруживает более простые модули. Для иерархического голосования большинством с 9 входными битами , и выходом , где обозначает голосование большинством (выход 1, если два или три входа равны 1, в противном случае 0). KAN раскрывает модульную структуру даже до auto_swap, и диаграмма становится более организованной после auto_swap. MLP показывает некоторую модульную структуру из шаблона весов первого слоя, указывая на взаимодействия между переменными, но глобальная модульная структура остается неясной независимо от auto_swap.
4.2.2 Функциональная модульность
Функциональная модульность относится к общей функции, представленной нейронной сетью. Учитывая сеть Oracle, где внутренние детали, такие как веса и активации скрытых слоев, недоступны (слишком сложны для анализа), мы все равно можем собирать информацию о функциональной модульности посредством прямых и обратных проходов на входах и выходах. Мы определяем три типа функциональной модульности (см. Рисунок 8 (a)), основываясь в основном на [84].
Разделимость: Функция f аддитивно разделима, если
Обратите внимание, что , когда , .
Чтобы обнаружить разделимость, мы можем вычислить матрицу Гессиан
и проверить блочную структуру.
Если для всех и , то мы знаем, что аддитивно разделима. Для мультипликативной разделимости мы можем преобразовать ее в аддитивную разделимость, взяв логарифм:
Для обнаружения мультипликативной разделимости мы определяем и
проверяем блочную структуру. Пользователи могут вызвать test_separability для проверки общей разделимости.
Обобщенная разделимость: Функция f имеет обобщенную разделимость, если
Для обнаружения обобщенной отделимости мы вычисляем
где мы использовали . Обратите внимание, что является
мультипликативно разделимым, это может быть обнаружено с помощью теста на разделимость, предложенного выше. Пользователи могут вызвать test_general_separability для проверки на аддитивную или мультипликативную разделимость.
Обобщенная симметрия: Функция имеет обобщенную симметрию (по первым k переменным), если
Обозначим и . Это свойство называется обобщенной симметрией, поскольку сохраняет одно и то же значение до тех пор, пока остается постоянным, независимо от индивидуальных значений . Вычислим градиент f относительно : . Поскольку является скалярной функцией, она не
меняет направление . Таким образом, направление не зависит от , т. е.
что является условием симметрии. Пользователи могут вызвать метод test_symmetry для проверки симметрии.
Древовидный преобразователь Три типа функциональной модульности образуют иерархию: симметрия является наиболее общей, общая разделимость является промежуточной, а разделимость является наиболее специфической. Математически,
Чтобы получить максимальную иерархию модульных структур, мы применяем обобщенное обнаружение симметрии рекурсивно, формируя группы всего с переменными и расширяя их до всех переменных. Например, рассмотрим функцию с 8 переменными
которая имеет четыре обобщенные симметрии , включающие группы ; две обобщенные симметрии , включающие группы . Таким образом, каждая группа содержит две группы , демонстрируя иерархию. Для каждой обобщенной симметрии мы также можем проверить, является ли обобщенная симметрия далее обобщенно разделимой или разделимой. Пользователи могут использовать метод plot_tree для получения графа дерева для функции (функцией могут быть любые выражения Python, нейронные сети и т. д.). Для модели нейронной сети пользователи могут просто вызвать model.tree(). Граф дерева может иметь стиль «дерево» (по умолчанию) или «ящик» («box»).
Примеры На рисунке 8 (b) приведены два примера. Когда точные символьные функции вводятся в plot_tree, получаются графы истинного дерева. Нас особенно интересует, работает ли преобразователь деревьев для нейронных сетей. Для этих простых случаев и KAN, и MLP могут найти правильный граф, если они достаточно обучены. На рисунке 8 (b) (внизу) показана эволюция графов деревьев во время обучения KAN и MLP. Особенно интересно наблюдать, как нейронные сети постепенно усваивают правильную модульную структуру. В первом случае , и KAN, и MLP постепенно приобретают больше индуктивных смещений (их промежуточные состояния различны), пока не достигнут правильной структуры.
Во втором случае, , обе модели изначально обнаруживают мультипликативную разделимость для всех трех переменных, показывая даже более высокую симметрию, чем правильная структура. После обучения обе модели «понимают», что: для лучшего соответствия данным (потери становятся ниже), такая высокосимметричная структура больше не может быть выполнена и должна быть ослаблена до менее строгой структуры. Дополнительное наблюдение заключается в том, что KAN имеет промежуточную структуру, не найденную в MLP. Есть два предостережения, которые мы хотели бы упомянуть: (1) результаты могут зависеть от начального значения и/или порога. (2) все тесты полагаются на производные второго порядка, которые могут быть ненадежными из-за того, что модель обучается только на информации нулевого порядка. Состязательные конструкции, такие как могут привести к проблемам, потому что хотя при при . Хотя такие крайние случаи маловероятны на практике, гладкость необходима для обеспечения успешности наших методов.
4.3 Определение символических формул из KAN
Символические формулы являются наиболее информативными, поскольку они четко раскрывают как важные характеристики, так и модульные структуры, как только они становятся известны. В работе Лю и др. [57] авторы показали ряд примеров, из которых они могут извлекать символические формулы, имея при необходимости некоторые предварительные знания. С помощью новых инструментов, предложенных выше (важность характеристик, модульные структуры и символические формулы), пользователи могут использовать эти новые инструменты для легкого взаимодействия и совместной работы с KAN, что упрощает символическую регрессию. Ниже мы представляем три приема, проиллюстрированные на рисунке 9.
Прием A: обнаружить и использовать модульные структуры Сначала мы можем обучить общую сеть и исследовать ее модульность. После того, как модульная структура идентифицирована, мы инициализируем новую модель с этой модульной структурой в качестве индуктивных смещений. Например, рассмотрим функцию Сначала мы инициализируем большую KAN (предположительно достаточно выразительную), чтобы подогнать набор данных с разумной точностью. После обучения из обученной KAN извлекается древовидный граф (ссылка на раздел 4.2), который показывает мультипликативную разделимость. Затем мы можем построить модульную структуру во второй KAN (ссылка на раздел 3.2), обучить ее, а затем символизировать все одномерные функции, чтобы вывести формулу.
Прием B: разреженная инициализация Символические формулы обычно соответствуют KAN с разреженными связями (см. Рисунок 5 (b)), поэтому разреженная инициализация KAN лучше согласует их с индуктивными смещениями символических формул. В противном случае, плотно инициализированные KAN требуют тщательной регуляризации для обеспечения разреженности. Разреженная инициализация может быть достигнута путем передачи аргумента «sparse_init=True» инициализатору KAN. Например, для функции разреженно инициализированная KAN очень похожа на окончательно обученную KAN, требуя лишь незначительных корректировок в обучении. В отличие от этого, плотная инициализация потребует длительного обучения для удаления ненужных ребер.
Прием C: Проверка гипотезы Когда мы сталкиваемся с несколькими разумными гипотезами, мы можем попробовать их все (ветвясь в «параллельные вселенные»), чтобы проверить, какая гипотеза является наиболее точной и/или самой простой. Чтобы облегчить проверку гипотез, мы создаем систему контрольных точек, которая автоматически сохраняет версии модели всякий раз, когда вносятся изменения (например, обучение, обрезка). Например, рассмотрим функцию . Начнем со случайно инициализированного KAN, имеющего версию 0.0. После обучения он эволюционирует до версии 0.1, где активируется как при , так и при . Выдвигаем гипотезу, что могут понадобиться только или . Сначала мы устанавливаем ребро на ноль и обучаем модель, получая тестового RMSE (версия 0.2). Чтобы проверить альтернативную гипотезу, мы хотим вернуться к точке ветвления (версия 0.1) для чего вызываем model.rewind( ‘0.1’ ), которая возвращает модель обратно к версии 0.1. Чтобы указать, что вызвана перемотка, версия 0.1 переименовывается в версию 1.1. Теперь мы устанавливаем ребро равным нулю, обучаем модель, получая тестового RMSE (версия становится 1.2). Сравнение версий 0.2 и 1.2 показывает, что вторая гипотеза лучше из-за меньших потерь при одинаковой сложности (обе гипотезы имеют два ненулевых ребра).
5. Применение
Предыдущие разделы в основном были сосредоточены на проблемах регрессии в педагогических целях. В этом разделе мы применяем KAN для обнаружения физических концепций, таких как сохраняющиеся величины, лагранжианы, скрытые симметрии и конститутивные законы. Эти примеры иллюстрируют, как инструменты, предложенные в этой статье, могут быть эффективно интегрированы в реальные научные исследования для решения этих сложных задач.
5.1 Открытие сохраняющихся величин
Сохраняющиеся величины — это физические величины, которые остаются постоянными с течением времени. Например, свободно падающий мяч преобразует свою гравитационную потенциальную энергию в кинетическую энергию, в то время как полная энергия (сумма обеих форм энергии) остается постоянной (при условии пренебрежимо малого сопротивления воздуха). Сохраняющиеся величины имеют решающее значение, поскольку они часто соответствуют симметриям в физических системах и могут упростить вычисления за счет уменьшения размерности системы. Традиционно вывод сохраняющихся величин с помощью бумаги и карандаша может быть трудоемким и требует обширных знаний предметной области. Недавно были исследованы методы машинного обучения для обнаружения сохраняющихся величин [55, 53, 54, 58, 32, 89]. Мы следуем подходу Лю и др. [53], определивших дифференциальное уравнение, которому должны удовлетворять сохраняющиеся величины, тем самым преобразуя проблему поиска сохраняющихся величин в решение дифференциальных уравнений. Они использовали многослойные персептроны (MLP) для параметризации сохраняющихся величин. Мы в основном следуем их процедуре, но заменяем MLP на KAN. Конкретнее, они рассматривают динамическую систему с переменной состояния , управляемую уравнением . Необходимым и достаточным условием для того, чтобы функция была сохраняющейся величиной, является выполнение условия для всех . Например, в одномерном гармоническом осцилляторе фазовое пространство характеризуется положением и импульсом, , а уравнение эволюции имеет вид . Энергия является сохраняющейся величиной, поскольку
. Мы параметризуем с помощью KAN и обучаем его, используя функции потерь где — нормализованный градиент, а — i-я точка данных, равномерно взятая из гиперкуба .
Мы выбираем 2D гармонический осциллятор для тестирования KAN, характеризующийся . Он имеет три сохраняющиеся величины: (1) энергия
вдоль направления : ; (2) энергия вдоль направления :
; (3) угловой момент . Мы обучаем [4, [0, 2], 1] KAN с
тремя различными случайными начальными числами, как показано на рисунке 10, которые соответствуют H1, H2 и H3 соответственно.
5.2 Открытие лагранжианов
В физике механика Лагранжа — это формулировка классической механики, основанная на принципе стационарного действия. Она описывает механическую систему с использованием фазового пространства и гладкой функции L, известной как лагранжиан. Для многих систем , где и представляют собой кинетическую и потенциальную энергию системы соответственно. Фазовое пространство обычно описывается как , где и обозначают координаты и скорости соответственно. Уравнение движения может быть
выведено из лагранжиана через уравнение Эйлера-Лагранжа: , или эквивалентно
Учитывая фундаментальную роль лагранжиана, интересным вопросом является то, можем ли мы вывести лагранжиан из данных. Следуя [19], мы обучаем лагранжеву нейронную сеть предсказывать из. LNN использует MLP для параметризации и вычисляет уравнение (18) для предсказания мгновенных ускорений . Однако LNN сталкиваются с двумя основными проблемами: (1) Обучение LNN может быть нестабильным из-за производных второго порядка и инверсии матрицы в уравнении (18). (2) LNN не обладают интерпретируемостью, поскольку сами MLP нелегко интерпретировать. Мы решаем эти проблемы с помощью KAN.
Чтобы решить первую задачу, отметим, что матричное обращение гессиана становится проблематичным, когда гессиан имеет собственные значения, близкие к нулю. Чтобы смягчить это, мы инициализируем как положительно определенную матрицу (или положительное число в 1D). Поскольку — это масса в классической механике, а кинетическая энергия обычно равна , кодирование этих априорных знаний в KAN проще, чем в MLP (с использованием kanpiler, представленного в разделе 3.3). Kanpiler может преобразовать символическую формулу T в KAN (как показано на рисунке 11). Мы используем эту преобразованную KAN для инициализации и продолжаем обучение, что приводит к гораздо большей стабильности по сравнению со случайной инициализацией. После обучения символическая регрессия может быть применена к каждому ребру для извлечения символических формул, решая вторую задачу.
Мы показываем два 1D примера на рисунке 11, одиночный маятник и релятивистская масса в однородном поле. Скомпилированные KAN показаны слева, с ребрами на , отображающими квадратичные функции, и ребрами на как нулевые функции.
Одиночный маятник Часть остается квадратичной функцией , в то время
как часть учится быть функцией косинуса, так как . На рисунке 11 вверху результаты suggest_symbolic отображают пять функций, которые лучше всего соответствуют сплайнам, учитывая как пригодность, так и простоту. Как и ожидалось, косинус и квадратичная функция появляются в верхней части списков.
Релятивистская масса в однородном поле После обучения кинетическая энергия отклоняется от , поскольку для релятивистской частицы . На рисунке 11 (внизу) символическая регрессия успешно находит , но не может идентифицировать из-за своей композиционной природы, поскольку наша символическая регрессия ищет только простые функции. Предполагая, что первая композиция функций является квадратичной, мы создаем еще один [1, 1, 1] KAN для соответствия и устанавливаем первую функцию как квадратичную функцию с помощью fix_symbolic и обучаем только вторую функцию. После обучения мы видим, что истина появляется среди пяти лучших кандидатов. Однако немного лучше подходит для сплайна, на что указывает более высокое значение R-квадрата. Это говорит о том, что символическая регрессия чувствительна к шуму (из-за несовершенного обучения), и априорные знания имеют решающее значение для правильного суждения. Например, знание того, что кинетическая энергия должна стремиться к бесконечности по мере приближения скорости к скорости света, помогает подтвердить, что является правильным членом, поскольку не демонстрирует ожидаемого стремления к бесконечности.
5.3 Обнаружение скрытой симметрии
Филип Андерсон утверждал, что «было бы лишь небольшим преувеличением сказать, что физика — это изучение симметрии», подчеркивая, насколько открытие симметрии было бесценным как для углубления нашего понимания, так и для более эффективного решения проблем.
Однако симметрии иногда не проявляются, а скрываются, только проявляясь путем применения некоторого преобразования координат. Например, после того, как Шварцшильд открыл свою одноименную метрику черной дыры, Painlevé, Gullstrand и Lemaître потребовалось 17 лет, чтобы раскрыть ее скрытую трансляционную симметрию. Они продемонстрировали, что пространственные сечения можно сделать трансляционно инвариантными с помощью умного преобразования координат, тем самым углубив наше понимание черных дыр [65]. Лю и Тегмарк [56] показали, что преобразование Gullstrand-Painlevé можно обнаружить, обучив MLP за считанные минуты. Однако они не получили чрезвычайно высокой точности (т.е. машинной точности) для решения. Мы пытаемся вернуться к этой проблеме с помощью KAN.
Предположим, что в пространстве-времени имеется черная дыра Шварцшильда с массой , центром в точке и радиусом . Метрика Шварцшильда описывает, как искажаются пространство и время вокруг нее:
Применяя преобразование Gullstrand-Painlevé ,
, , метрика в новых координатах становится:
которая демонстрирует трансляционную инвариантность в пространственном сечении (нижний правый блок представляет собой евклидову метрику). Лю и Тегмарк [56] использовали многослойный перцептрон для обучения отображению из в
. Определяя матрицу Якоби , преобразуется в
. Мы берем нижний правый блок ′ и берем его разность с евклидовой метрикой, чтобы получить потерю MSE. Потери минимизируются путем выполнения градиентных спусков на MLP. Чтобы упростить задачу, они предполагают знание и используют только MLP (1 вход и 1 выход) для прогнозирования
временной разницы , из радиуса .
MLP и KAN находят разные решения Мы обучили как MLP, так и KAN минимизировать эту функцию потерь, и результаты показаны на рисунке 12. Поскольку задача имеет 1 входное измерение и 1 выходное измерение, KAN эффективно сводится к сплайну. Изначально мы ожидали, что KAN превзойдут MLP, поскольку сплайны, как известно, превосходят MLP в низкоразмерных условиях [63]. Однако, в то время как MLP может достичь потерь, KAN застревает на потерях, несмотря на уточнения сетки. Оказалось, что KAN и MLP узнали два разных решения: в то время как MLP нашел глобально гладкое решение (рисунок 12 (a)), KAN узнал решение доменной стенки (рисунок 12 (b)). Решение доменной стенки имеет особую точку, которая разделяет всю кривую на два сегмента. Левый сегмент правильно изучает , в то время как правый сегмент изучает , что также является допустимым решением, но отличается от левого сегмента знаком минус. В особой точке появляется пик потерь (рисунок 12 (c)). Можно считать это особенностью KAN, поскольку решения с доменными стенками распространены в природе. Однако, если считать это недостатком, KAN все еще могут получать глобально гладкие решения, добавляя регуляризации (для уменьшения колебаний сплайна) или экспериментируя с различными случайными начальными числами (примерно 1 из 3 случайных начальных чисел находит глобально гладкие решения).
KAN могут достигать чрезвычайной точности Хотя MLP находит глобально гладкое решение и достигает потерь , потери все еще далеки от машинной точности. Мы обнаружили, что ни более длительное обучение, ни увеличение размера MLP не привели к значительному уменьшению потерь. Поэтому мы обратились к KAN, которые, как сплайны в 1D, могут достигать произвольной точности за счет уточнения сетки (при бесконечных данных). Сначала мы использовали MLP в качестве учителя, генерируя контролируемые пары для обучения KAN для соответствия контролируемым данным. Таким образом, KAN инициализируется для глобально гладкого решения. Затем мы итеративно уточняли KAN, увеличивая количество интервалов сетки до 1000. В конечном итоге точно настроенные KAN достигают потерь , близких к машинной точности (рисунок 12 (d)).
5.4 Изучение конститутивных законов
Конститутивный закон определяет поведение и свойства материала, моделируя его реакцию на внешние силы или деформации. Одной из простейших форм конститутивного закона является закон Гука [34], который линейно связывает деформацию и напряжение эластичных материалов. Конститутивные законы охватывают широкий спектр материалов, включая эластичные материалы [80, 68], пластичные материалы [64] и жидкости [8]. Традиционно эти законы были выведены из первых принципов, основанных на теоретических и экспериментальных исследованиях [79, 81, 6, 29]. Однако недавние достижения представили подходы, основанные на данных, которые используют машинное обучение для обнаружения и уточнения этих законов из выделенных наборов данных [73, 91, 59, 60].
Мы следуем стандартным обозначениям и экспериментальным установкам в упругой части NCLaw [59] и определяем материальный закон как параметризованную функцию , где обозначает тензор деформации, — первый тензор напряжений Piola–Kirchhoff , а — параметры в материнском законе.
Многие изотропные материалы имеют линейные материальные законы при малой деформации:
Однако, когда деформация становится больше, начинают проявляться нелинейные эффекты. Например, материал NeoHookean имеет следующий конститутивный закон:
где и — так называемые параметры Lamé, определяемые так называемым модулем
Юнга и коэффициентом Пуассона как , .
Для простоты выберем и , отсюда и .
Предположим, что мы работаем с нео-гуковскими материалами, и наша цель — использовать KAN для предсказания тензора из тензора . Предположим, мы не знаем, что это нео-гуковские материалы, но у нас есть предварительное знание того, что линейный конститутивный закон приблизительно действителен для малой деформации. Из-за симметрии достаточно продемонстрировать, что мы можем точно предсказать и из 9 матричных элементов . Мы хотим скомпилировать линейные конститутивные законы в KAN, которые представляют собой , и . Мы хотим извлечь неогуковские законы из обученных KAN, представляющих собой , и . Мы генерируем синтетический набор данных, выбирая из и используя неогуковский конститутивный закон для вычисления P. Наше взаимодействие с KAN проиллюстрировано на рисунке 13. В обоих случаях мы успешно вычислили истинные символические формулы с помощью некоторых индуктивных предубеждений. Однако главный вывод заключается не в том, что мы можем заново найти точные символьные формулы — учитывая, что предварительные знания искажают процесс, — а в том, что в реальных сценариях, где ответы неизвестны и пользователи могут делать предположения на основе предварительных знаний, пакет pykan позволяет легко проверить или учесть предварительные знания.
Предсказание На шаге 1 мы компилируем линейный конститутивный закон в KAN с помощью kanpiler, что приводит к потере . На шаге 2 мы привносим возмущение в KAN так, чтобы она стала обучаемой (на что указывает изменение цвета с красного на фиолетовый; красный обозначает чисто символическую часть, в то время как фиолетовый указывает на то, что активны как символическая, так и сплайновая части). На шаге 3 мы обучаем возмущенную модель до сходимости, что дает потерю . На шаге 4, предполагая, что детерминант является ключевой вспомогательной переменной, мы используем expand_width (для KAN) и augment_input (для набора данных), чтобы включить детерминант |F |. На шаге 5 мы обучаем KAN до сходимости, что дает потерю . На шаге 6 мы символизируем KAN, чтобы получить символическую формулу , что дает потерю .
Прогнозирование Мы экспериментировали с кодированием линейного конститутивного закона в качестве априорного знания и без него. С предварительными знаниями: на шаге 1 мы компилируем линейный конститутивный закон в KAN, что приводит к потере . Затем мы выполняем ряд операций, включая расширение (шаг 2), возмущение (шаг 3), обучение (шаг 4), сокращение (шаг 5) и, наконец, символизацию (шаг 6). Влияние предварительных знаний очевидно, поскольку окончательный KAN определяет только незначительные корректирующие члены линейного конститутивного закона. Окончательный KAN символизируется как , что дает потерю , лишь немного лучше, чем линейный конститутивный закон. Без предварительных знаний: на шаге 1 мы случайным образом инициализируем модель KAN. На шаге 2 мы обучаем KAN с регуляризацией. На шаге 3 мы обрезаем KAN, чтобы сделать ее более компактной. На шаге 4 мы символизируем KAN, получая , что близко соответствует точной формуле, достигая потери . Сравнение двух сценариев — одного с предварительными знаниями и одного без них — показывает неожиданный результат: в этом примере предварительные знания кажутся вредными, возможно, потому, что линейный конститутивный закон, вероятно, находится вблизи (плохого) локального минимума, из которого модели трудно выйти. Однако мы, вероятно, не должны случайным образом экстраполировать этот вывод на более сложные задачи и более крупные сети. Для более сложных задач нахождение локального минимума с помощью градиентного спуска может быть достаточно сложным, что делает желательным приблизительное начальное решение. Кроме того, более крупные сети могут быть достаточно перепараметризованы, чтобы исключить плохие локальные минимумы, гарантируя, что все локальные минимумы будут глобальными и взаимосвязанными.
6. Связанные работы
Сети Колмогорова-Арнольда (KAN), вдохновленные теоремой Колмогорова-Арнольда о представлении (KART), были недавно предложены Лю и др. [57]. Хотя связь между KART и сетями долгое время считалась несущественной [30], Лю и др. обобщили исходную двухслойную сеть до произвольной глубины и продемонстрировали их перспективность для научно-ориентированных задач с учетом их точности и интерпретируемости. Последующие исследования изучали применение KAN в различных областях, включая графы [12, 22, 38, 99], уравнения в частных производных [87, 78] и обучение операторов [1, 78, 67], табличные данные [70], временные ряды [85, 28, 93, 27], распознавание человеческой активности [49, 50], нейронауку [96, 33], квантовую науку [40, 46, 4], компьютерное зрение [17, 7, 44, 16, 76, 10], обучение ядра [101], ядерную физику [48], электротехнику [69], биологию [71]. Лю и др. использовали B-сплайны для параметризации 1D-функций, а другие исследования изучали различные функции активации, включая wavelet [11, 76], радиальную базисную функцию [47], ряды Фурье [92]), конечный базис [35, 82], базисные функции Якоби [2], полиномиальные базисные функции [75], рациональные функции [3]. Также были предложены другие методы для KAN, включая регуляризацию [5], Kansformer (объединяющий трансформатор и KAN) [15], адаптивное обновление сетки [72], federated learning [98], сверточные KAN [10]. Продолжаются дебаты относительно того, действительно ли KAN превосходят другие нейронные сети (особенно MLP) в различных областях [7, 16, 42, 77, 97], что говорит о том, что, хотя KAN показывают перспективы для задач машинного обучения, необходимы дальнейшие разработки, чтобы превзойти самые современные модели.
Машинное обучение для физических законов Основная цель KAN — помочь в открытии новых физических законов из данных. Предыдущие исследования показали, что машинное обучение можно использовать для изучения различных типов физических законов, включая уравнения движения [90, 13, 43, 20], законы сохранения [55, 53, 54, 58, 32, 89], симметрии [39, 56, 94], фазовые переходы [88, 14], лагранжианы и гамильтонианы [19, 31] и символическую регрессию [18, 61, 23, 74] и т. д. Однако для того, чтобы сделать нейронные сети интерпретируемыми, часто требуются знания, специфичные для предметной области, что ограничивает их общность. Мы надеемся, что KAN превратятся в универсальные базовые модели для физических открытий.
Механистическая интерпретируемость стремится понять, как нейронные сети работают на фундаментальном уровне [21, 62, 86, 25, 66, 100, 51, 24, 45, 26]. Некоторые исследования в этой области сосредоточены на разработке моделей, которые по своей сути являются интерпретируемыми [24] или на предложении методов обучения, которые явно способствуют интерпретируемости [51]. KAN попадают в эту категорию, поскольку теорема Колмогорова-Арнольда раскладывает многомерную функцию на набор одномерных функций, которые значительно легче интерпретировать, чем многомерные функции.
7. Обсуждение
KAN интерполирует между программным обеспечением 1.0 и 2.0 Ключевое различие между сетями Колмогорова-Арнольда (KAN) и другими нейронными сетями (программное обеспечение 2.0, термин, введенный Andrej Karpathy) заключается в их большей интерпретируемости, что позволяет пользователям манипулировать ими, аналогично традиционному программному обеспечению (программное обеспечение 1.0). Однако KAN не являются полностью традиционным программным обеспечением, поскольку они (1) обучаемы (хорошо), что позволяет им изучать новые вещи из данных, и (2) имеют пониженную интерпретируемость (плохо), поскольку они становятся менее интерпретируемыми и контролируемыми по мере увеличения масштабов сети. На рисунке 14 (a) визуализируется положение программного обеспечения 1.0, программного обеспечения 2.0 и KAN на плоскости интерпретируемости-обучаемости, иллюстрируя, как KAN могут сбалансировать компромиссы между этими двумя парадигмами. Целью данной статьи является предложение различных инструментов, которые делают KAN более похожими на программное обеспечение 1.0, используя при этом обучаемость программного обеспечения 2.0.
Повышение эффективности. Первоначальный пакет pykan [57] был плох в эффективности. Мы включили несколько методов для повышения его эффективности.
1. Эффективные оценки сплайнов. Вдохновленные Efficient KAN [9], мы оптимизировали оценки сплайнов, избегая ненужных расширений входных данных. Для KAN с L слоями, N нейронами на слой и размером сетки G использование памяти было сокращено с до .
2. Включение символической ветви (symbolic branch) только при необходимости. Слой KAN содержит как сплайновую, так и символическую ветвь. Символическая ветвь требует гораздо больше времени, чем сплайновая, поскольку ее нельзя распараллелить (нужны катастрофические двойные циклы). Однако во многих приложениях символическая ветвь не нужна, поэтому мы можем пропустить ее, когда это возможно, что значительно сокращает время выполнения, особенно когда сеть большая.
3. Сохранение промежуточных активаций только при необходимости. Для построения диаграмм KAN необходимо сохранять промежуточные активации. Изначально активации сохранялись по умолчанию, что приводило к замедлению времени выполнения и чрезмерному использованию памяти. Теперь мы сохраняем промежуточные активации только при необходимости (например, для построения графиков или применения регуляризаций при обучении). Пользователи могут включить эти улучшения эффективности с помощью одной строки: model.speed().
4. Ускорение на GPU. Изначально все модели запускались на CPU из-за мелкомасштабного характера проблем. Теперь мы сделали модель совместимой с GPU* (*Модели можно обучать на графических процессорах, но не все функции уже поддерживаются графическими процессорами) . Например, обучение [4,100,100,100,1] с Adam для 100 шагов раньше занимало целый день на CPU (до внедрения 1, 2, 3), но теперь занимает 20 секунд на CPU и менее одной секунды на GPU. Однако KAN все еще отстают от MLP по эффективности, особенно в больших масштабах. Сообщество работает над бенчмаркингом и повышением эффективности KAN, и разрыв в эффективности был значительно сокращен [36].
Поскольку цель этой статьи — сделать KAN более похожими на программное обеспечение 1.0, при выборе между 1.0 (интерактивность и универсальность) и 2.0 (эффективность и конкретика) мы отдаем приоритет интерактивности и универсальности, а не эффективности. Например, мы храним афишированные данные в моделях (что потребляет дополнительную память), поэтому пользователи могут просто вызвать model.plot() для генерации диаграммы KAN без ручного выполнения прямого прохода для сбора данных.
Интерпретируемость Хотя обучаемые одномерные функции в KAN более интерпретируемы, чем весовые матрицы в MLP, масштабируемость остается проблемой. По мере масштабирования моделей KAN, даже если все сплайн-функции интерпретируются по отдельности, становится все труднее управлять объединенным выводом этих 1D-функций. Следовательно, KAN может оставаться интерпретируемой только тогда, когда масштаб сети относительно мал (рисунок 14 (b), толстая красная линия). Важно отметить, что интерпретируемость зависит как от внутренних факторов (связанных с самой моделью), так и от внешних факторов (связанных с методами интерпретируемости). Расширенные методы интерпретируемости должны быть способны обрабатывать интерпретируемость на различных уровнях. Например, интерпретируя KAN с помощью символической регрессии, обнаружения модульности и атрибуции признаков (рисунок 14 (b), тонкие красные линии), граница Парето интерпретируемости по сравнению с масштабом выходит за рамки того, чего может достичь только KAN. Перспективным направлением будущих исследований является разработка более продвинутых методов интерпретируемости, которые могут еще больше раздвинуть текущие границы Парето.
Будущая работа В этой статье представлена структура, которая интегрирует KAN с научными знаниями, фокусируясь в первую очередь на мелкомасштабных примерах, связанных с физикой. В дальнейшем два перспективных направления включают применение этой структуры к более масштабным проблемам и ее распространение на другие научные дисциплины за пределами физики.
Признание
Мы хотели бы поблагодарить Yizhou Liu, Di Luo, Akash Kundu и многих пользователей GitHub за плодотворное обсуждение и конструктивные предложения. Мы выражаем особую благодарность пользователю GitHub Blealtan за публикацию их потрясающей работы по повышению эффективности KAN.
Z.L. и M.T. поддерживаются IAIFI через грант NSF PHY-2019786.
Ссылки
[1] D. W. Abueidda, P. Pantidis, and M. E. Mobasher. Deepokan: Deep operator network based on kolmogorov arnold networks for mechanics problems. arXiv preprint arXiv:2405.19143, 2024.
[2] A. A. Aghaei. fkan: Fractional kolmogorov-arnold networks with trainable jacobi basis functions. arXiv preprint arXiv:2406.07456, 2024.
[3] A. A. Aghaei. rkan: Rational kolmogorov-arnold networks. arXiv preprint arXiv:2406.14495, 2024.
[4] T. Ahmed and M. H. R. Sifat. Graphkan: Graph kolmogorov arnold network for small molecule-protein interaction predictions. In ICML’24 Workshop ML for Life and Material Science: From Theory to Industry Applications, 2024.
[5] M. G. Altarabichi. Dropkan: Regularizing kans by masking post-activations. arXiv preprint arXiv:2407.13044, 2024.
[6] E. M. Arruda and M. C. Boyce. A three-dimensional constitutive model for the large stretch behavior of rubber elastic materials. Journal of the Mechanics and Physics of Solids, 41(2):389–412, 1993.
[7] B. Azam and N. Akhtar. Suitability of kans for computer vision: A preliminary investigation. arXiv preprint arXiv:2406.09087, 2024.
[8] G. K. Batchelor. An introduction to fluid dynamics. Cambridge university press, 2000.
[9] Blealtan. Blealtan/efficient-kan: An efficient pure-pytorch implementation of kolmogorovarnold network (kan).
[10] A. D. Bodner, A. S. Tepsich, J. N. Spolski, and S. Pourteau. Convolutional kolmogorovarnold networks. arXiv preprint arXiv:2406.13155, 2024.
[11] Z. Bozorgasl and H. Chen. Wav-kan: Wavelet kolmogorov-arnold networks. arXiv preprint arXiv:2405.12832, 2024.
[12] R. Bresson, G. Nikolentzos, G. Panagopoulos, M. Chatzianastasis, J. Pang, and M. Vazirgiannis. Kagnns: Kolmogorov-arnold networks meet graph learning. arXiv preprint arXiv:2406.18380, 2024.
[13] S. L. Brunton, J. L. Proctor, and J. N. Kutz. Discovering governing equations from data by sparse identification of nonlinear dynamical systems. Proceedings of the national academy of sciences, 113(15):3932–3937, 2016.
[14] J. Carrasquilla and R. G. Melko. Machine learning phases of matter. Nature Physics, 13(5):431–434, 2017.
[15] Y. Chen, Z. Zhu, S. Zhu, L. Qiu, B. Zou, F. Jia, Y. Zhu, C. Zhang, Z. Fang, F. Qin, et al. Sckansformer: Fine-grained classification of bone marrow cells via kansformer backbone and hierarchical attention mechanisms. arXiv preprint arXiv:2406.09931, 2024.
[16] M. Cheon. Demonstrating the efficacy of kolmogorov-arnold networks in vision tasks. arXiv preprint arXiv:2406.14916, 2024.
[17] M. Cheon. Kolmogorov-arnold network for satellite image classification in remote sensing. arXiv preprint arXiv:2406.00600, 2024.
[18] M. Cranmer. Interpretable machine learning for science with pysr and symbolicregression. jl. arXiv preprint arXiv:2305.01582, 2023.
[19] M. Cranmer, S. Greydanus, S. Hoyer, P. Battaglia, D. Spergel, and S. Ho. Lagrangian neural networks. arXiv preprint arXiv:2003.04630, 2020.
[20] M. Cranmer, A. Sanchez Gonzalez, P. Battaglia, R. Xu, K. Cranmer, D. Spergel, and S. Ho. Discovering symbolic models from deep learning with inductive biases. Advances in neural information processing systems, 33:17429–17442, 2020.
[21] H. Cunningham, A. Ewart, L. Riggs, R. Huben, and L. Sharkey. Sparse autoencoders find highly interpretable features in language models. arXiv preprint arXiv:2309.08600, 2023.
[22] G. De Carlo, A. Mastropietro, and A. Anagnostopoulos. Kolmogorov-arnold graph neural networks. arXiv preprint arXiv:2406.18354, 2024.
[23] O. Dugan, R. Dangovski, A. Costa, S. Kim, P. Goyal, J. Jacobson, and M. Soljaci ˇ c. Occamnet: ´A fast neural model for symbolic regression at scale. arXiv preprint arXiv:2007.10784, 2020.
[24] N. Elhage, T. Hume, C. Olsson, N. Nanda, T. Henighan, S. Johnston, S. ElShowk, N. Joseph, N. DasSarma, B. Mann, D. Hernandez, A. Askell, K. Ndousse, A. Jones, D. Drain, A. Chen, Y. Bai, D. Ganguli, L. Lovitt, Z. Hatfield-Dodds, J. Kernion, T. Conerly, S. Kravec, S. Fort, S. Kadavath, J. Jacobson, E. Tran-Johnson, J. Kaplan, J. Clark, T. Brown, S. McCandlish, D. Amodei, and C. Olah. Softmax linear units. Transformer Circuits Thread, 2022. https://transformer-circuits.pub/2022/solu/index.html.
[25] N. Elhage, T. Hume, C. Olsson, N. Schiefer, T. Henighan, S. Kravec, Z. Hatfield-Dodds, R. Lasenby, D. Drain, C. Chen, et al. Toy models of superposition. arXiv preprint arXiv:2209.10652, 2022.
[26] J. Engels, I. Liao, E. J. Michaud, W. Gurnee, and M. Tegmark. Not all language model features are linear. arXiv preprint arXiv:2405.14860, 2024.
[27] R. Genet and H. Inzirillo. A temporal kolmogorov-arnold transformer for time series forecasting. arXiv preprint arXiv:2406.02486, 2024.
[28] R. Genet and H. Inzirillo. Tkan: Temporal kolmogorov-arnold networks. arXiv preprint arXiv:2405.07344, 2024.
[29] A. N. Gent. A new constitutive relation for rubber. Rubber chemistry and technology, 69(1):59–61, 1996.
[30] F. Girosi and T. Poggio. Representation properties of networks: Kolmogorov’s theorem is irrelevant. Neural Computation, 1(4):465–469, 1989.
[31] S. Greydanus, M. Dzamba, and J. Yosinski. Hamiltonian neural networks. Advances in neural information processing systems, 32, 2019.
[32] S. Ha and H. Jeong. Discovering conservation laws from trajectories via machine learning. arXiv preprint arXiv:2102.04008, 2021.
[33] L. F. Herbozo Contreras, J. Cui, L. Yu, Z. Huang, A. Nikpour, and O. Kavehei. Kan-eeg: Towards replacing backbone-mlp for an effective seizure detection system. medRxiv, pages 2024–06, 2024.
[34] R. Hooke. Lectures de potentia restitutiva, or of spring explaining the power of springing bodies. Number 6. John Martyn, 2016.
[35] A. A. Howard, B. Jacob, S. H. Murphy, A. Heinlein, and P. Stinis. Finite basis kolmogorovarnold networks: domain decomposition for data-driven and physics-informed problems. arXiv preprint arXiv:2406.19662, 2024.
[36] Jerry-Master. Jerry-master/kan-benchmarking.
[37] J. Jumper, R. Evans, A. Pritzel, T. Green, M. Figurnov, O. Ronneberger, K. Tunyasuvunakool, R. Bates, A. Žídek, A. Potapenko, et al. Highly accurate protein structure prediction with alphafold. nature, 596(7873):583–589, 2021.
[38] M. Kiamari, M. Kiamari, and B. Krishnamachari. Gkan: Graph kolmogorov-arnold networks. arXiv preprint arXiv:2406.06470, 2024.
[39] S. Krippendorf and M. Syvaeri. Detecting symmetries with neural networks. Machine Learning: Science and Technology, 2(1):015010, 2020.
[40] A. Kundu, A. Sarkar, and A. Sadhu. Kanqas: Kolmogorov arnold network for quantum architecture search. arXiv preprint arXiv:2406.17630, 2024.
[41] R. Lam, A. Sanchez-Gonzalez, M. Willson, P. Wirnsberger, M. Fortunato, F. Alet, S. Ravuri, T. Ewalds, Z. Eaton-Rosen, W. Hu, et al. Learning skillful medium-range global weather forecasting. Science, 382(6677):1416–1421, 2023.
[42] T. X. H. Le, T. D. Tran, H. L. Pham, V. T. D. Le, T. H. Vu, V. T. Nguyen, Y. Nakashima, et al. Exploring the limitations of kolmogorov-arnold networks in classification: Insights to software training and hardware implementation. arXiv preprint arXiv:2407.17790, 2024.
[43] P. Lemos, N. Jeffrey, M. Cranmer, S. Ho, and P. Battaglia. Rediscovering orbital mechanics with machine learning. Machine Learning: Science and Technology, 4(4):045002, 2023.
[44] C. Li, X. Liu, W. Li, C. Wang, H. Liu, and Y. Yuan. U-kan makes strong backbone for medical image segmentation and generation. arXiv preprint arXiv:2406.02918, 2024.
[45] K. Li, A. K. Hopkins, D. Bau, F. Viégas, H. Pfister, and M. Wattenberg. Emergent world representations: Exploring a sequence model trained on a synthetic task. In The Eleventh International Conference on Learning Representations, 2023.
[46] X. Li, Z. Feng, Y. Chen, W. Dai, Z. He, Y. Zhou, and S. Jiao. Coeff-kans: A paradigm to address the electrolyte field with kans. arXiv preprint arXiv:2407.20265, 2024.
[47] Z. Li. Kolmogorov-arnold networks are radial basis function networks. arXiv preprint arXiv:2405.06721, 2024.
[48] H. Liu, J. Lei, and Z. Ren. From complexity to clarity: Kolmogorov-arnold networks in nuclear binding energy prediction, 2024.
[49] M. Liu, S. Bian, B. Zhou, and P. Lukowicz. ikan: Global incremental learning with kan for human activity recognition across heterogeneous datasets. arXiv preprint arXiv:2406.01646, 2024.
[50] M. Liu, D. Geißler, D. Nshimyimana, S. Bian, B. Zhou, and P. Lukowicz. Initial investigation of kolmogorov-arnold networks (kans) as feature extractors for imu based human activity recognition. arXiv preprint arXiv:2406.11914, 2024.
[51] Z. Liu, E. Gan, and M. Tegmark. Seeing is believing: Brain-inspired modular training for mechanistic interpretability. Entropy, 26(1):41, 2023.
[52] Z. Liu, M. Khona, I. R. Fiete, and M. Tegmark. Growing brains: Co-emergence of anatomical and functional modularity in recurrent neural networks. arXiv preprint arXiv:2310.07711, 2023.
[53] Z. Liu, V. Madhavan, and M. Tegmark. Machine learning conservation laws from differential equations. Physical Review E, 106(4):045307, 2022.
[54] Z. Liu, P. O. Sturm, S. Bharadwaj, S. J. Silva, and M. Tegmark. Interpretable conservation laws as sparse invariants. Phys. Rev. E, 109:L023301, Feb 2024.
[55] Z. Liu and M. Tegmark. Machine learning conservation laws from trajectories. Phys. Rev. Lett., 126:180604, May 2021.
[56] Z. Liu and M. Tegmark. Machine learning hidden symmetries. Physical Review Letters, 128(18):180201, 2022.
[57] Z. Liu, Y. Wang, S. Vaidya, F. Ruehle, J. Halverson, M. Soljačić, T. Y. Hou, and M. Tegmark. ´Kan: Kolmogorov-arnold networks. arXiv preprint arXiv:2404.19756, 2024.
[58] P. Y. Lu, R. Dangovski, and M. Soljaci ˇ c. Discovering conservation laws using optimal trans- ´port and manifold learning. Nature Communications, 14(1):4744, 2023.
[59] P. Ma, P. Y. Chen, B. Deng, J. B. Tenenbaum, T. Du, C. Gan, and W. Matusik. Learning neural constitutive laws from motion observations for generalizable pde dynamics. In International Conference on Machine Learning, pages 23279–23300. PMLR, 2023.
[60] P. Ma, T.-H. Wang, M. Guo, Z. Sun, J. B. Tenenbaum, D. Rus, C. Gan, and W. Matusik. Llm and simulation as bilevel optimizers: A new paradigm to advance physical scientific discovery. In Forty-first International Conference on Machine Learning, 2024.
[61] G. Martius and C. H. Lampert. Extrapolation and learning equations. arXiv preprint arXiv:1610.02995, 2016.
[62] K. Meng, D. Bau, A. J. Andonian, and Y. Belinkov. Locating and editing factual associations in GPT. In A. H. Oh, A. Agarwal, D. Belgrave, and K. Cho, editors, Advances in Neural Information Processing Systems, 2022.
[63] E. J. Michaud, Z. Liu, and M. Tegmark. Precision machine learning. Entropy, 25(1):175, 2023.
[64] R. v. Mises. Mechanik der festen körper im plastisch-deformablen zustand. Nachrichten von der Gesellschaft der Wissenschaften zu Göttingen, Mathematisch-Physikalische Klasse, 1913:582–592, 1913.
[65] C. Misner, K. Thorne, and J. Wheeler. Gravitation. Princeton University Press, 2017.
[66] N. Nanda, L. Chan, T. Lieberum, J. Smith, and J. Steinhardt. Progress measures for grokking via mechanistic interpretability. In The Eleventh International Conference on Learning Representations, 2023.
[67] G. Nehma and M. Tiwari. Leveraging kans for enhanced deep koopman operator discovery. arXiv preprint arXiv:2406.02875, 2024.
[68] R. W. Ogden. Non-linear elastic deformations. Courier Corporation, 1997.
[69] Y. Peng, M. He, F. Hu, Z. Mao, X. Huang, and J. Ding. Predictive modeling of flexible ehd pumps using kolmogorov-arnold networks. arXiv preprint arXiv:2405.07488, 2024.
[70] E. Poeta, F. Giobergia, E. Pastor, T. Cerquitelli, and E. Baralis. A benchmarking study of kolmogorov-arnold networks on tabular data. arXiv preprint arXiv:2406.14529, 2024.
[71] P. Pratyush, C. Carrier, S. Pokharel, H. D. Ismail, M. Chaudhari, and D. B. KC. Calmphoskan: Prediction of general phosphorylation sites in proteins via fusion of codon aware embeddings with amino acid aware embeddings and wavelet-based kolmogorov arnold network. bioRxiv, pages 2024–07, 2024.
[72] S. Rigas, M. Papachristou, T. Papadopoulos, F. Anagnostopoulos, and G. Alexandridis. Adaptive training of grid-dependent physics-informed kolmogorov-arnold networks. arXiv preprint arXiv:2407.17611, 2024.
[73] A. Sanchez-Gonzalez, J. Godwin, T. Pfaff, R. Ying, J. Leskovec, and P. Battaglia. Learning to simulate complex physics with graph networks. In International conference on machine learning, pages 8459–8468. PMLR, 2020.
[74] M. Schmidt and H. Lipson. Distilling free-form natural laws from experimental data. science, 324(5923):81–85, 2009.
[75] S. T. Seydi. Exploring the potential of polynomial basis functions in kolmogorov-arnold networks: A comparative study of different groups of polynomials. arXiv preprint arXiv:2406.02583, 2024.
[76] S. T. Seydi. Unveiling the power of wavelets: A wavelet-based kolmogorov-arnold network for hyperspectral image classification. arXiv preprint arXiv:2406.07869, 2024.
[77] H. Shen, C. Zeng, J. Wang, and Q. Wang. Reduced effectiveness of kolmogorov-arnold networks on functions with noise. arXiv preprint arXiv:2407.14882, 2024.
[78] K. Shukla, J. D. Toscano, Z. Wang, Z. Zou, and G. E. Karniadakis. A comprehensive and fair comparison between mlp and kan representations for differential equations and operator networks. arXiv preprint arXiv:2406.02917, 2024.
[79] E. Sifakis and J. Barbic. Fem simulation of 3d deformable solids: a practitioner’s guide to theory, discretization and model reduction. In Acm siggraph 2012 courses, pages 1–50. 2012.
[80] W. S. Slaughter. The linearized theory of elasticity. Springer Science & Business Media, 2012.
[81] B. Smith, F. D. Goes, and T. Kim. Stable neo-hookean flesh simulation. ACM Transactions on Graphics (TOG), 37(2):1–15, 2018.
[82] H.-T. Ta. Bsrbf-kan: A combination of b-splines and radial basic functions in kolmogorovarnold networks. arXiv preprint arXiv:2406.11173, 2024.
[83] T. H. Trinh, Y. Wu, Q. V. Le, H. He, and T. Luong. Solving olympiad geometry without human demonstrations. Nature, 625(7995):476–482, 2024.
[84] S.-M. Udrescu, A. Tan, J. Feng, O. Neto, T. Wu, and M. Tegmark. Ai feynman 2.0: Paretooptimal symbolic regression exploiting graph modularity. Advances in Neural Information Processing Systems, 33:4860–4871, 2020.
[85] C. J. Vaca-Rubio, L. Blanco, R. Pereira, and M. Caus. Kolmogorov-arnold networks (kans) for time series analysis. arXiv preprint arXiv:2405.08790, 2024.
[86] K. R. Wang, A. Variengien, A. Conmy, B. Shlegeris, and J. Steinhardt. Interpretability in the wild: a circuit for indirect object identification in GPT-2 small. In The Eleventh International Conference on Learning Representations, 2023.
[87] Y. Wang, J. Sun, J. Bai, C. Anitescu, M. S. Eshaghi, X. Zhuang, T. Rabczuk, and Y. Liu. Kolmogorov arnold informed neural network: A physics-informed deep learning framework for solving pdes based on kolmogorov arnold networks. arXiv preprint arXiv:2406.11045, 2024.
[88] S. J. Wetzel. Unsupervised learning of phase transitions: From principal component analysis to variational autoencoders. Physical Review E, 96(2):022140, 2017.
[89] S. J. Wetzel, R. G. Melko, J. Scott, M. Panju, and V. Ganesh. Discovering symmetry invariants and conserved quantities by interpreting siamese neural networks. Phys. Rev. Res., 2:033499, Sep 2020.
[90] T. Wu and M. Tegmark. Toward an artificial intelligence physicist for unsupervised learning. Physical Review E, 100(3):033311, 2019.
[91] H. Xu, F. Sin, Y. Zhu, and J. Barbic. Nonlinear material design using principal stretches. ˇACM Transactions on Graphics (TOG), 34(4):1–11, 2015.
[92] J. Xu, Z. Chen, J. Li, S. Yang, W. Wang, X. Hu, and E. C.-H. Ngai. Fourierkan-gcf: Fourier kolmogorov-arnold network–an effective and efficient feature transformation for graph collaborative filtering. arXiv preprint arXiv:2406.01034, 2024.
[93] K. Xu, L. Chen, and S. Wang. Kolmogorov-arnold networks for time series: Bridging predictive power and interpretability. arXiv preprint arXiv:2406.02496, 2024.
[94] J. Yang, R. Walters, N. Dehmamy, and R. Yu. Generative adversarial symmetry discovery. In International Conference on Machine Learning, pages 39488–39508. PMLR, 2023.
[95] K. Yang, A. Swope, A. Gu, R. Chalamala, P. Song, S. Yu, S. Godil, R. J. Prenger, and A. Anandkumar. Leandojo: Theorem proving with retrieval-augmented language models. Advances in Neural Information Processing Systems, 36, 2024.
[96] S. Yang, L. Qin, and X. Yu. Endowing interpretability for neural cognitive diagnosis by efficient kolmogorov-arnold networks. arXiv preprint arXiv:2405.14399, 2024.
[97] R. Yu, W. Yu, and X. Wang. Kan or mlp: A fairer comparison. arXiv preprint arXiv:2407.16674, 2024.
[98] E. Zeydan, C. J. Vaca-Rubio, L. Blanco, R. Pereira, M. Caus, and A. Aydeger. F-kans: Federated kolmogorov-arnold networks. arXiv preprint arXiv:2407.20100, 2024.
[99] F. Zhang and X. Zhang. Graphkan: Enhancing feature extraction with graph Kolmogorov arnold networks. arXiv preprint arXiv:2406.13597, 2024.
[100] Z. Zhong, Z. Liu, M. Tegmark, and J. Andreas. The clock and the pizza: Two stories in mechanistic explanation of neural networks. In Thirty-seventh Conference on Neural Information Processing Systems, 2023.
[101] S. Zinage, S. Mondal, and S. Sarkar. Dkl-kan: Scalable deep kernel learning using kolmogorov-arnold networks. arXiv preprint arXiv:2407.21176, 2024.
ссылка на оригинал статьи https://habr.com/ru/articles/860738/
Добавить комментарий