GONZO_ML Telegram 2598
KAN: Kolmogorov-Arnold Networks
Ziming Liu, Yixuan Wang, Sachin Vaidya, Fabian Ruehle, James Halverson, Marin Soljačić, Thomas Y. Hou, Max Tegmark
Статья: https://arxiv.org/abs/2404.19756
Код: https://github.com/KindXiaoming/pykan
Docs: https://kindxiaoming.github.io/pykan/
Twitter: https://x.com/zimingliu11/status/1785483967719981538

Yes, we GAN! Yes, we KAN!

Свежую статью про KAN не расшарил за последние дни только ленивый (я — ленивый). Но обзоров по сути при этом довольно мало. Попробуем.

Авторы предлагают альтернативы классическим многослойным персептронам (MLP) под названием сети Колмогорова-Арнольда (Kolmogorov-Arnold Networks, KANs). Идея в том, что фиксированная для нейрона в MLP функция активации в KAN переезжает в изменяемую часть и становится обучаемой функцией (параметризуется сплайном) вместо веса. Это вроде бы небольшое изменение приводит к большой разнице.

Если отойти на шаг назад, то классические MLP опираются на Универсальную теорему аппроксимации (Universal Approximation Theorem, UAT), она же Теорема Цыбенко (https://web.njit.edu/~usman/courses/cs675_fall18/10.1.1.441.7873.pdf), говорящая, что однослойная сеть прямого распространения с сигмоидальной функцией активации может аппроксимировать любую непрерывную функцию многих переменных с любой заданной точностью при условии достаточного количества нейронов и правильного выбора весов. После этой теоремы было и много других её вариаций (https://en.wikipedia.org/wiki/Universal_approximation_theorem). Сам Джордж Цыбенко, кстати, ныне здравствующий американский математик и инженер (https://engineering.dartmouth.edu/community/faculty/george-cybenko) в том самом Дартмуте, где родился искусственный интеллект. Ну, полезная в общем теорема, даёт нам надёжный базис для использования нейросетей.

Есть на свете другая интересная теорема, Теорема Колмогорова-Арнольда (Kolmogorov-Arnold representation theorem, KART) или Теорема суперпозиции (https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Arnold_representation_theorem). Эта теорема гласит, что непрерывная функция многих переменных может быть представлена суперпозицией непрерывных функций одной переменной. То есть как бы все функции многих переменных можно записать с использованием функций одной переменной и сложения. Из интересного, в UAT равенство приближённое, а в KART строгое.

Если посмотреть на графы активаций, текущие через сеть, то в случае MLP они текут через обучаемые веса (находятся на рёбрах графа) и попадают в фиксированные функции активации (находятся в узлах). В случае KAN они текут через обучаемые функции активации на рёбрах (линейных весов как таковых уже нет), а в узлах просто суммируются.

Обучаемые одномерные функции активации на рёбрах графа параметризуются B-сплайнами. Для простого двуслойного KAN для n входов есть 2n+1 скрытых узлов, где происходят суммирования двух функций на рёбрах, которые затем суммируются в одно число через другие обучаемые рёбра. На картинке это проще, чем текстом.

Эту архитектуру KAN авторы обобщают до произвольных глубины и ширины сети. Оригинальная версия теоремы Колмогорова-Арнольда соответствует двухуровневой KAN (может быть описана списком размерностей слоёв [d, 2d+1, 1]), более общей версии теоремы для более глубоких сетей вроде как неизвестно, поэтому до конца не ясно как именно углублять и расширять. Но по аналогии с MLP они предлагают рецепт — simply stack more KAN layers! Кто хочет более технической нотации, в работе расписаны матрицы функций, описывающие слои KAN, а также композиция нескольких слоёв.

Все операции внутри KAN дифференцируемы, так что его можно обучать бэкпропом.
51👍21❤‍🔥8🔥1



tgoop.com/gonzo_ML/2598
Create:
Last Update:

KAN: Kolmogorov-Arnold Networks
Ziming Liu, Yixuan Wang, Sachin Vaidya, Fabian Ruehle, James Halverson, Marin Soljačić, Thomas Y. Hou, Max Tegmark
Статья: https://arxiv.org/abs/2404.19756
Код: https://github.com/KindXiaoming/pykan
Docs: https://kindxiaoming.github.io/pykan/
Twitter: https://x.com/zimingliu11/status/1785483967719981538

Yes, we GAN! Yes, we KAN!

Свежую статью про KAN не расшарил за последние дни только ленивый (я — ленивый). Но обзоров по сути при этом довольно мало. Попробуем.

Авторы предлагают альтернативы классическим многослойным персептронам (MLP) под названием сети Колмогорова-Арнольда (Kolmogorov-Arnold Networks, KANs). Идея в том, что фиксированная для нейрона в MLP функция активации в KAN переезжает в изменяемую часть и становится обучаемой функцией (параметризуется сплайном) вместо веса. Это вроде бы небольшое изменение приводит к большой разнице.

Если отойти на шаг назад, то классические MLP опираются на Универсальную теорему аппроксимации (Universal Approximation Theorem, UAT), она же Теорема Цыбенко (https://web.njit.edu/~usman/courses/cs675_fall18/10.1.1.441.7873.pdf), говорящая, что однослойная сеть прямого распространения с сигмоидальной функцией активации может аппроксимировать любую непрерывную функцию многих переменных с любой заданной точностью при условии достаточного количества нейронов и правильного выбора весов. После этой теоремы было и много других её вариаций (https://en.wikipedia.org/wiki/Universal_approximation_theorem). Сам Джордж Цыбенко, кстати, ныне здравствующий американский математик и инженер (https://engineering.dartmouth.edu/community/faculty/george-cybenko) в том самом Дартмуте, где родился искусственный интеллект. Ну, полезная в общем теорема, даёт нам надёжный базис для использования нейросетей.

Есть на свете другая интересная теорема, Теорема Колмогорова-Арнольда (Kolmogorov-Arnold representation theorem, KART) или Теорема суперпозиции (https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Arnold_representation_theorem). Эта теорема гласит, что непрерывная функция многих переменных может быть представлена суперпозицией непрерывных функций одной переменной. То есть как бы все функции многих переменных можно записать с использованием функций одной переменной и сложения. Из интересного, в UAT равенство приближённое, а в KART строгое.

Если посмотреть на графы активаций, текущие через сеть, то в случае MLP они текут через обучаемые веса (находятся на рёбрах графа) и попадают в фиксированные функции активации (находятся в узлах). В случае KAN они текут через обучаемые функции активации на рёбрах (линейных весов как таковых уже нет), а в узлах просто суммируются.

Обучаемые одномерные функции активации на рёбрах графа параметризуются B-сплайнами. Для простого двуслойного KAN для n входов есть 2n+1 скрытых узлов, где происходят суммирования двух функций на рёбрах, которые затем суммируются в одно число через другие обучаемые рёбра. На картинке это проще, чем текстом.

Эту архитектуру KAN авторы обобщают до произвольных глубины и ширины сети. Оригинальная версия теоремы Колмогорова-Арнольда соответствует двухуровневой KAN (может быть описана списком размерностей слоёв [d, 2d+1, 1]), более общей версии теоремы для более глубоких сетей вроде как неизвестно, поэтому до конца не ясно как именно углублять и расширять. Но по аналогии с MLP они предлагают рецепт — simply stack more KAN layers! Кто хочет более технической нотации, в работе расписаны матрицы функций, описывающие слои KAN, а также композиция нескольких слоёв.

Все операции внутри KAN дифференцируемы, так что его можно обучать бэкпропом.

BY gonzo-обзоры ML статей


Share with your friend now:
tgoop.com/gonzo_ML/2598

View MORE
Open in Telegram


Telegram News

Date: |

As five out of seven counts were serious, Hui sentenced Ng to six years and six months in jail. Avoid compound hashtags that consist of several words. If you have a hashtag like #marketingnewsinusa, split it into smaller hashtags: “#marketing, #news, #usa. SUCK Channel Telegram Hashtags are a fast way to find the correct information on social media. To put your content out there, be sure to add hashtags to each post. We have two intelligent tips to give you: Invite up to 200 users from your contacts to join your channel
from us


Telegram gonzo-обзоры ML статей
FROM American