본문 바로가기
newsie

KAN: Kolmogorov-Arnold Network

by 잼민ai 2024. 5. 19.

흐헣ㅎ 마크다운으로 수업 내용 정리하는 거 질려버려서 한동안 블로그에 글 안 씀..

그러나 AI 대학원 지망생은 AI 소식에 항상 up-to-date한 상태여야 하기 때문에! 따끈따끈한 소식 들고 왔습니다.

 

지금까지의 패러다임 모델이었던 multi-layer perceptron 대신, 새로운 구조의 신경망을 MIT에서 발표했대요. 뭔지 한번 살펴나봅시다~!

논문: https://arxiv.org/abs/2404.19756

Overview

뭔가 학자들의 이름이 붙었다는 건.. 왠지.. 누군가가 정립한 공식(formula)나 정리(theorem)를 구현한 것 같은 스멜이 나네요.

우와 아니나다를까.. 

https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Arnold_representation_theorem

 

Kolmogorov–Arnold representation theorem - Wikipedia

From Wikipedia, the free encyclopedia Multivariate functions can be written using univariate functions and summing In real analysis and approximation theory, the Kolmogorov–Arnold representation theorem (or superposition theorem) states that every multiv

en.wikipedia.org

ㅋㅋㅋㅋ그럼 그렇지..

제가 근사이론을 잘 몰라서 부정확한 표현을 사용할 수도 있지만.. 이 정리의 요지는, 단일 변수 함수의 이진합의 유한한 합성으로 모든 다변수 함수를 표현할 수 있다는 거예요(사실 잘 모르겟음ㅋㅋ). 저는 수학을 야매로 수강한 CS니까.. 더는 나대지 않고 넘어가겠습니다.

어쨌든  활용해 구현한 네트워크의 구조를 한번 봅시다.

Liu, Z., Wang, Y., Vaidya, S., Ruehle, F., Halverson, J., Soljačić, M., Hou, T. Y., & Tegmark, M. (2024). KAN: Kolmogorov-Arnold Networks. arXiv https://arxiv.org/abs/2404.19756

다층 퍼셉트론과의 가장 큰 차이는 각각의 구조에서 learnable한 것이 무엇이냐는 걸 텐데, MLP는 가중치이고 KAN은 활성화함수라는 차이가 있어요. 퍼셉트론은 식을 보면 알 수 있지만, 입력 $\boldsymbol{x}$가 $\boldsymbol{w}\cdot\boldsymbol{x}+b$, 즉 선형으로 표현되어 활성화 함수에 들어가는 꼴인데요, 여기서 활성화함수는 보통 sigmoid, ReLU 등 정해진 함수를 많이 활용합니다. MLDL 과목을 들으면서 느낀 건데, 기존 모델들은 입력과 출력의 관계를 대체로 가중치를 활용한 선형 문제로 바꾸는 전략을 많이 취하는 것 같았어요..! 퍼셉트론도 linear한 모델이라는 게 큰 특징인데요, KAN은 그렇지가 않습니다.

 

표에서 KAN의 기반이 되는 Kolmogorov-Arnold 표현 정리를 보면 알 수 있듯이, 입력들이 $\phi_{q,p}$라는 함수에 먼저 들어갔다가 합산되는 과정이 있어요. 이때 함수 $\phi_{q,p}$는 non-linear인데, 이게 퍼셉트론과 비교했을 때 의미하는 바는.. 제 나름의 해석을 제시해보자면, 퍼셉트론에서 입력의 feature 각각은 (학습가능하지만 여전히 실수값인) 가중치로써 출력에 대한 '기여도'를 부여받았는데, KAN은 그런 feature 각각에 아예 함수를 적용해버림으로써 feature 각각이 출력과 어떤 관계를 갖는지를 조금 더 정밀하게 파악할 수 있도록 장점이 있다고 볼 수 있을 것 같아요. 제 해석이 틀렸다면 신나게 지적 부탁드립니다.. 공부 잘하고 싶어요ㅜ

 

그리고 이 모델 각각을 나타낸 구조가 의미하는 바가 무엇이냐.. 하는 의문이 들 수도 있습니다. 별건 아니구, 정점(node)과 간선(edge)으로 구성된 그래프 구조에서 이 신경망의 어떤 연산이 어디에서 일어나느냐~를 따졌을 때, 요런 차이가 있다는 거예요.

  MLP KAN
간선 가중치 ($\boldsymbol{w}$) 함수 ($\phi_{q,p}$, $\boldsymbol{\Phi_{q}}$)
정점 활성화 함수 합 ($\sum$)

 

그래서 어떤 이점이 있냐구? MLP보다 scaling도 빠르고 더 나은 정확도(accuracy)를 보인다고 하네요.

파이썬 패키지도 나왔습니다 대박: https://kindxiaoming.github.io/pykan/

 

Welcome to Kolmogorov Arnold Network (KAN) documentation! — Kolmogorov Arnold Network documentation

© Copyright 2024, Ziming Liu.

kindxiaoming.github.io


그럼 오늘의 newsie는 이만 가보겠습니다~

728x90