논문 리뷰: 콜모고로프-아놀드 신경망(KAN)
개요 및 요약
Kolmogorov–Arnold Networks(KAN)은 그 이름 그대로 콜모고로프-아놀드 표현 정리Kolmogorov–Arnold representation theorem에 영감을 받아 개발된 신경망으로써, 관련된 아이디어 자체는 수십년 전부터 논의되었으나 지로시Girosi와 포지오Poggio 등이 1989부터 ‘Representation Properties of Networks: Kolmogorov’s Theorem Is Irrelevant’라는 논문에서 지적한 바와 같이 해당 정리와 큰 연관성을 가지지는 않는다1. 다만 대다수의 유명한 신경망들이 네트워크의 구축 방법에 따라 직관적인 네이밍을 하는데도 굳이 수학자들의 이름을 따온 것은 그만큼 이론적인 기반이 탄탄하다는 점을 강조하고 싶었던 것 같다. 24년 4월 아카이브2에 투고되고 지금 포스팅을 작성하는 24년 9월 27일 기준 벌써 200회 가까이 인용되었으니 소기의 목적은 달성하지 않았다 싶다.
KAN의 컨셉은 확고한데, 현대의 인공지능이라고 하면 절대적인 대세인 MLPMulti-Layer Perceptron와 양강구도를 형성하고 기존의 MLP, 딥러닝이 블랙박스 기법으로써 가진 한계를 돌파하겠다는 것이다. 성능 자체는 좋지만 그 원리를 규명하지 않은 채 받아들이기 곤란한, 이를테면 금융이나 의료, 우주, 군수 등의 분야에도 진출하려면 반드시 연구가 이루어져야 하는 부분이고, 지금까지 중에서는 그래도 꽤나 참신한 접근법을 보이고 있다.
다만 모델 퍼포먼스를 포함해서 학습 속도 등과 관련해서는 아무래도 과장이 꽤나 있고, 정작 중요한 수식화를 다소 주먹구구식으로 해결한 점은 확실히 경계해야 한다.
0. Abstract
KAN은 콜모고로프-아놀드 표현 정리에 영감을 받았으며 기존의 MLP가 이미 정해진 활성화함수를 가지고 노드에서 가중치를 업데이트하는 것과 달리 KAN은 활성화함수 자체가 학습을 통해 형태를 바꾸며 링크에서 가중치를 업데이트 하겠다는 전략을 취한다. KAN을 관통하는 주제는 해석가능성interpretability으로써, 저자들이 제안하는 몇몇가지 사례에서 수학자들과 물리학자들에게 유용한 공동연구자가 될 수 있으며 MLP에 대해 유망한 대안이 될 것이라 주장한다.
1. Introduction
MLP의 가장 큰 문제점인 해석가능성부터 지적한다. MLP가 시벤코 정리를 이론적 근거로 발전했듯 KAN은 콜모고로프-아놀드 표현 정리를 근간으로 삼고 있다. MLP가 데이터들의 선형결합에 비선형함수를 취해가며 뇌를 모방하는 컨셉을 가지고, 그 계산이 얼마나 복잡하고 방대하더라도 GPU가 실제로 그런 태스크를 행렬 연산으로 풀어내기 시작하면서 큰 발전을 이루어내었다. 반면 KAN은 기본 세팅부터 $1$차원 함수, 더 구체적으로는 스플라인을 통해 모델이 학습되기를 원한다. 누구라도 이런 설명을 보면 자연스럽게 드는 생각은 ‘그럼 연산이 너무 오래 걸리는 거 아닌가?’ 그리고 ‘GPU를 못 쓴다는 소리 아닌가?‘인데, 다행스럽게도 보통은 MLP에 비해서 네트워크의 사이즈가 아주 작아도 성능을 낼 수 있다고 언급한다.
그 다음으로는 기존에도 신경망을 구축하기 위해 콜모고로프-아놀드 표현 정리를 시도하려는 시도는 있어왔지만 해당 정리에서 명시하는 조건을 너무 정확하게 지키려다보니 현대적 기법을 쓰기 곤란했다는 설명과 함께, 저자들은 그러한 구조를 임의적으로 바꾸고 다양한 시도를 했다는 언급이 있다. 어떻게 보면 콜모고로프-아놀드 표현 정리랑 결별했다는 걸 자백하는 대목이나 마찬가지인데, 실제로도 바로 다음 단락에서 KAN은 스플라인과 MLP의 조합에 불과하다는 걸 시인한다.
저자들은 초록부터해서 계속해서 KAN이 차원의 저주curse of dimension을 극복했다는 식의 주장을 계속해서 반복하는데, 솔직히 그 부분은 그다지 공감이 되지 않는다. KAN의 잠재성을 보여주기 위해 여러가지 다양한 문제에 도전했고, 여전히 수학자와 과학자에게 도움이 될 것이라 어필한다. 솔직한 말로 현재 수준으론 공학계나 산업계의 대세를 빼앗아올 수 어렵고, 신경망의 네이밍부터 일관되게 기초과학에 집중하는 것이라 보면 될 것 같다. 연구에 사용된 코드는 깃허브 원격저장소 https://github.com/KindXiaoming/pykan에서 확인할 수 있다.
2. Kolmogorov–Arnold Networks (KAN)
다시 MLP와 시벤코 정리, KAN과 콜모고로프-아놀드 표현 정리의 관계를 강조한다.
2.1 Kolmogorov-Arnold Representation theorem
콜모고로프-아놀드 표현 정리는 유계인 도메인에서 연속인 다변수함수가 유한한 단변수 연속함수들의 합성과 덧셈 이항연산으로 나타날 수 있다는 정리다. 더 정확히는, 스무스한 $f : [0, 1]^{n} \to \mathbb{R}$ 는 $\phi_{q,p} : [0, 1] \to \mathbb{R}$ 과 $\Phi_{q} : \mathbb{R} \to \mathbb{R}$ 에 대해서 $$ f \left( x_{1} , \cdots , x_{n} \right) = \sum_{q=1}^{2n+1} \Phi_{q} \left( \sum_{p=1}^{n} \phi_{q,p} \left( x_{p} \right) \right) $$ 와 같이 나타날 수 있다는 것이다. 문제는 콜모고로프-아놀드 표현 정리가 단지 존재성만을 언급하는 정리인데 이들 $\phi_{q,p}$ 와 $\Phi_{q}$ 에 아무런 제약이 없다는 것이다. 그렇다면 실제로 저러한 근사가 존재한다고 할지라도 현실적으로 저 함수를 찾아내지 못할 수도 있으며, 머신러닝 쪽에서는 아예 사형선고를 받았다고까지 덧붙인다.
그러나 저자들은 이 정리의 유용성을 낙관적으로 보고 있으며, 수식에서 말하는 구조를 정확히 지키는 것에 집착하지 않겠다고 한다. 또한 과학과 일상 속에서는 스무스하고 스파스한 구조가 많기 때문에 실제로는 잘 작동할 수 있다고 보는 것 같다.
2.2 KAN architecture
이제부터 몇가지 노테이션이 소개된다. 우선 KAN의 형태는 다음과 같이 정수의 배열로 나타낸다. $$ \left[ n_{0} , n_{1} , \cdots , n_{L} \right] $$ $n_{l}$ 는 $l$번째 레이어의 노드 수고, 이 KAN은 입력 레이어와 출력 레이어를 포함해 $\left( L+1 \right)$ 개의 레이어를 포함하고 있다. $l$번째 레이어의 $i$번째 노드는 $\left( l, i \right)$ 와 같이 나타내고, 이 노드의 값을 $x_{l,i}$ 와 같이 나타낸다. $l$번째 레이어와 $(l+1)$번째 레이어 사이에는 정확히 $n_{l} n_{l+1}$ 개의 링크(활성화 함수)가 있으며, 두 뉴런 $(l,i)$ 와 $\left( l+1, j \right)$ 를 연결하는 링크의 활성화 함수를 $\phi_{l,j,i}$ 와 같이 나타낸다. 여기서 인덱스의 범위는 당연히 $l = 0, \cdots, L-1$ 와 앞 레이어 $i = 1 , \cdots , n_{l}$ 그리고 뒷 레이어 $j = 1 , \cdots , n_{l+1}$ 로 정해진다.
뒷 레이어 노드의 값 $x_{l+1, j}$ 은 $$ x_{l+1, j} = \sum_{i=1}^{n_{l}} \phi_{l,j,i} \left( x_{l, i} \right) $$ 와 같이 나타내며, 이들의 벡터는 $\mathbf{x}_{l} = \left( x_{l, 1} , \cdots , x_{l, n_{l}} \right)$ 와 같이 볼드체로 표기한다. 이 과정을 좀 더 이해하기 쉽게 행렬 폼으로 나타내면 다음과 같다. $$ \begin{align*} & \mathbf{x}_{l+1} \\ =& \Phi_{l} \left( \mathbf{x}_{l+1} \right) \\ =& \begin{bmatrix} \phi_{l,1,1} (\cdot) & \phi_{l,1,2} (\cdot) & \cdots & \phi_{l,1,n_{l}} (\cdot) \\ \phi_{l,2,1} (\cdot) & \phi_{l,2,2} (\cdot) & \cdots & \phi_{l,2,n_{l}} (\cdot) \\ \vdots & \vdots & \ddots & \vdots \\ \phi_{l,n_{l+1},1} (\cdot) & \phi_{l,n_{l+1},2} (\cdot) & \cdots & \phi_{l,n_{l+1},n_{l}} (\cdot) \end{bmatrix} \mathbf{x}_{l} \\ =& \begin{bmatrix} \phi_{l,1,1} \left( x_{l, 1} \right) + \phi_{l,1,2} \left( x_{l, 2} \right) + \cdots + \phi_{l,1,n_{l}} \left( x_{l, n_{l}} \right) \\ \phi_{l,2,1} \left( x_{l, 1} \right) + \phi_{l,2,2} \left( x_{l, 2} \right) + \cdots + \phi_{l,2,n_{l}} \left( x_{l, n_{l}} \right) \\ \vdots \\ \phi_{l,n_{l+1},1} \left( x_{l, 1} \right) + \phi_{l,n_{l+1},2} \left( x_{l, 2} \right) + \cdots + \phi_{l,n_{l+1},n_{l}} \left( x_{l, n_{l}} \right) \end{bmatrix} \\ =& \begin{bmatrix} \sum_{i=1}^{n_{l}} \phi_{l,1,i} \left( x_{l, i} \right) \\ \sum_{i=1}^{n_{l}} \phi_{l,2,i} \left( x_{l, i} \right) \\ \vdots \\ \sum_{i=1}^{n_{l}} \phi_{l,n_{l+1},i} \left( x_{l, i} \right) \end{bmatrix} \end{align*} $$ 이는 수학적으로 엄밀한 표현이 아니므로 주의해야 한다. $\Phi_{l}$ 과 $\mathbf{x}_{l}$ 의 행렬곱이 아니라, 함수 $\phi$ 들에 벡터의 각 성분을 넣고 더하는 과정이 마치 행렬의 연산과 닮아서 보기 좋게 보여준 것 뿐이다.
이러한 표현에 따라, KAN은 다음과 같이 $\Phi_{l}$ 들의 합성함수로 나타낼 수 있다. $$ \operatorname{KAN} \left( \mathbf{x} \right) = \left( \Phi_{L-1} \circ \cdots \circ \Phi_{1} \circ \Phi_{0} \right) \left( \mathbf{x} \right) $$ 이는 MLP가 활성화함수 $\sigma$ 와 아핀 변환 $W_{l}$ 에 대해 다음과 같이 나타낼 수 있는 것과 유사하다. $$ \operatorname{MLP} \left( \mathbf{x} \right) = \left( W_{L-1} \circ \sigma \circ \cdots \circ \sigma \circ W_{1} \circ \sigma \circ W_{0} \right) \left( \mathbf{x} \right) $$
Implementation details
$$ \phi (x) = w_{b} b(x) + w_{s} \operatorname{spline} (x) $$ 활성화 함수 $\phi$ 는 기본적으로 위와 같은 형태를 갖춘다. $w_{b}$ 와 $w_{s}$ 는 하이퍼파라미터로써 필수적이지도 않고 특히 $w_{s}$ 학습 과정에서 아무 의미도 없지만, 일단은 모델을 조정하는 요소로써 남겨둔다고 언급했다. 활성화 함수 $b(x)$ 와 스플라인 $\operatorname{spline} (x)$ 는 자유로이 바꿀 수 있는 요소지만 이 연구에서는 일단 다음과 같이 두었다. $$ \begin{align*} b(x) =& \operatorname{SiLU} := x \sigma (x) = {\frac{ x }{ 1 + e^{-x} }} \\ \operatorname{spline} =& \sum_{i} c_{i} B_{i} (x) \end{align*} $$ 여기서 $\operatorname{SiLU}$ 는 실루 함수, $\sigma$ 는 로지스틱 함수, $B_{i}$ 는 B-스플라인이고 B-스플라인의 계수 $c_{i}$ 들이 바로 학습의 대상이 되는trainable 변수들이다. B-스플라인은 주어진 도메인 외에서는 값이 $0$ 이 되어버리므로, 학습과정에서 같은 레이어에 있는 스플라인들은 앞 레이어에서 넘어온 값에 따라 그리드를 계속해서 업데이트 해줄 필요성이 있다. 이것이 과연 효율적인가는 차치하고서라도, 저자들이 주장한 것처럼 ‘활성화 함수가 학습한다’라는 말 자체는 사실인 것이다.
2.3 KAN’s Approximation Abilities and Scaling Laws
드디어 KAN의 핵심이 되는 진짜 정리가 등장한다.
Approximation theory, KAT: $\mathbf{x} = \left( x_{1} , \cdots , x_{n} \right)$ 이라 하자. $(k-1)$번 미분가능한 $\phi_{l,j,i}$ 들에 대해 $f$ 가 다음과 같이 표현된다고 가정하자. $$ \begin{align*} \Phi_{l} := & \left( \sum_{i=1}^{n_{l}} \phi_{l,1,i} , \cdots , \sum_{i=1}^{n_{l}} \phi_{l,n_{l+1},i} \right) \\ f =& \left( \Phi_{L-1} \circ \cdots \circ \Phi_{1} \circ \Phi_{0} \right) \end{align*} $$ 그러면 그리드 사이즈가 $G$ 인 $k$차 B-스플라인을 $\phi_{l,j,i}^{G}$ 이라고 나타낼 때, 모든 $0 \le m \le k$ 에 대해 다음을 만족하면서 $f$ 에 종속된 상수 $C$ 가 존재한다. $$ \left\| f - \left( \Phi_{L-1}^{G} \circ \cdots \circ \Phi_{1}^{G} \circ \Phi_{0}^{G} \right) \right\| \le C G^{-k-1+m} $$ 여기서 놈 $\left\| \cdot \right\|$ 은 미분작용소 $D$ 에 대해 다음과 같이 도함수의 크기를 측정하는 방식으로 정의되는 $C^{m}$-놈이다. $$ \left\| g \right\| := \max_{| \beta | \le m} \sup_{x \in [0, 1]^{n}} \left| D^{\beta} g(x) \right| $$
이 정리는 B-스플라인의 성질에 의해 쉽게 증명되는 것처럼 보이지만, B-스플라인에 대한 배경지식이 만만찮게 요구된다. 이제 원래의 콜모고로프-아놀드 표현 정리와는 거리가 멀어졌지만, 밑도 끝도 없이 $\phi$ 에 B-스플라인을 도입한 의도는 투명하게 드러난다. 이렇게 오차의 바운드가 $G^{-k-1+m}$ 에 바운드된다는 것은 B-스플라인에 더 큰 코스트를 지불하는만큼 함수의 근사가 정확해진다는 것을 암시한다. $$ \lim_{G , k \to \infty} G^{-k-1+m} = \lim_{G , k \to \infty} {\frac{ G^{m-1} }{ G^{k} }} = 0 $$ 구체적으로는 위와 같이 B-스플라인이 사용되는 그리드의 수 $G$ 를 늘릴수록, 차수 $k$ 를 키울수록 에러의 상한이 줄어드는 것이다. 확실히 이 정리가 이 논문의 핵심이자 새로운 신경만의 이론적인 근거가 된다. 하지만, 개인적으로 봐서도 대단히 뛰어난 업적이라고 인정하지만, 어쨌든 콜모고로프-아놀드 표현 정리는 모티브만 남았고 실제 돌파구는 B-스플라인으로 찾아낸 것임을 확실히 하고 넘어가자.
한편 저자들이 여기서도 한 번 더 강조하는 것은, 저러한 바운드가 입력 벡터의 사이즈 $n$ 에 독립이라서 차원의 저주를 극복했다건데 사실 동의하기 어렵다. 수식적으로 말이 안 된다는 건 아니지만, 실전적인 상황에서는 에러의 상한이 크게 의미가 없을 수도 있고 앞으로 KAN을 기반으로 한 변형 아키텍쳐가 나오면 또 모르기 때문이다. 실질적으로 이런 주장을 당당하게 하려면 이미지 데이터 등에 대해서도 벤치마크를 하고 차원의 저주를 이겨냈음을 입증해야하지 않나 싶다.
2.4 For accuracy: Grid Extension
당연하다면 당연한건데, B-스플라인으로 근사시킨 함수는 그리드를 더 추가함, 다시 말해 좀 더 스플라인의 도메인을 좀 더 잘게 쪼개거나 범위 밖의 점을 추가함으로써 기존의 모델을 유지하면서 성능 개선시킬 여지가 있다. 가중치 하나의 수정이 모델 전체의 구조에 어떻게 영향을 미칠지 모르는 MLP와 비교하면 물론 좋은 일이지만, 실용적인 측면에서 상상하기로는 이렇게까지 세세한 컨트롤을 할 일이 있을지는 모르겠다. 당장 본문에서도 “Small KANs generalize better"이라며 과연 그리드를 늘리는 게 언제나 좋다고 볼 수 있는지에 대한 회의를 보이고 있으니, 너무 깊게 생각할 필요는 없을 듯 하다.
2.5 For Interpretability: Simplifying KANs and Making them interactive
앞서 증명된 정리만큼이나 중요한 컨셉으로, 이제 KAN의 구조를 스파스하게 만들어 해석가능성을 제고시킬 아이디어에 대해 소개할 것이다.
2.5.1 Simplification techniques
MLP와는 달리 KAN은 행렬곱이 없기 때문에 레이어와 레이어 사이의 값들이 어떻게 전달되는지 모두 파악할 수 있고, 만약 영향력이 적은 링크의 활성화 함수가 모든 값을 $0$ 으로 매핑하는 상수함수 $\mathbf{0} (\cdot)$ 로 수렴한다면 아예 그 링크를 없애고 인간이 읽을 수 있을 정도로 명시적인 공식으로 바꿀 가능성도 생긴다. 이를 위해 저자들은 손실함수에 두가지 텀을 추가한다.
첫번째는 라쏘 회귀의 아이디어 그대로 $L_{1}$ 놈 $\left| \cdot \right|_{1}$ 를 사용하며, 데이터과학에 친숙하다면 자연스러운 흐름으로 느낄 수 있을 정도로 직관적이다. 활성화 함수 $\phi$ 의 $L_{1}$ 놈 $\left| \phi \right|_{1}$ 는 $\phi$ 을 통과할 $s$번째 입력값 $x^{(s)}$ 에 대해 $N$ 개의 모든 출력값 $\phi \left( x^{(s)} \right)$ 의 평균으로써 정의되고, 수식으로 나타내면 다음과 같다. $$ \left| \phi \right|_{1} := {\frac{ 1 }{ N }} \sum_{s=1}^{N} \left| \phi \left( x^{(s)} \right) \right| $$ 이에 따라 레이어 $\Phi$ 의 $L_{1}$ 놈 $\left| \Phi \right|_{1}$ 역시 다음과 같이 자연스럽게 정의된다. $$ \left| \Phi \right|_{1} := \sum_{i=1}^{n_{\text{in}}} \sum_{j=1}^{n_{\text{out}}} \left| \phi_{j,i} \right|_{1} $$ 그러나 저자들은 레이어의 $L_{1}$ 놈만으로는 충분하지 않다는 사실을 발견했고, 이에 따라 다음과 같이 레이어 $\Phi$ 의 엔트로피 $S \left( \Phi \right)$ 도 정의한다. $$ S \left( \Phi \right) := - \sum_{i=1}^{n_{\text{in}}} \sum_{j=1}^{n_{\text{out}}} {\frac{ \left| \phi_{j,i} \right|_{1} }{ \left| \Phi \right|_{1} }} \log {\frac{ \left| \phi_{j,i} \right|_{1} }{ \left| \Phi \right|_{1} }} $$ 마지막으로, 원래의 로스 $\mathscr{l}$ 에 가중치 $\mu_{1}$ 과 $\mu_{2}$ 를 곱해서 더한 토탈로스 $\mathscr{L}$ 를 다음과 같이 정의한다. $$ \mathscr{L} = \mathscr{l} + \mu_{1} \sum_{l=0}^{L-1} \left| \Phi_{l} \right|_{1} + \mu_{2} \sum_{l=0}^{L-1} S \left( \Phi_{l} \right) $$ $\phi$ 의 상대적인 크기로 정의되는 엔트로피를 최소화한다는 것은 어떤 의미인가? 확률론에 익숙한 사람이라면 보자마자 손뼉을 칠만큼 탁월한 묘수인데, 함수값들의 무질서도를 최소화한다는 것은 그 자체로 $\left| \phi \right|_{1}$ 가 커지거나 $0$ 으로 수렴시키는 작용을 추가하겠다는 것이다.
그러나 이렇게 완성된 모델을 심볼화symbolification하는 과정부터는 아무래도 석연찮은 부분이 많다. 그림 2.4에서 설명하고 있는 것과 같이, 처음엔 시각화visualization로 시작한다. $\phi : \mathbb{R} \to \mathbb{R}$ 은 $x$축과 $y$축을 주어 그래프를 그릴 수 있으니, $\tanh \left( 3 \left| \phi \right|_{1} \right)$ 로 투명도를 주어 어떤 링크가 중요한지 대략적으로 파악해둔다. 그 다음은 노드별로 들옴 점수incoming score $I_{l,i}$ 와 나감 점수outgoing score $O_{l,i}$ 를 다음과 같이 정의한다. $$ \begin{align*} I_{l,i} :=& \max_{k} \left| \phi_{l-1, i, k} \right| \\ O_{l,i} :=& \max_{k} \left| \phi_{l+1, k, i} \right| \end{align*} $$ 두 점수가 쓰레숄드 $\theta = 10^{-2}$ 를 넘지 못하면 그 노드를 제거한다. 마지막으로, 함수의 개형을 보고 적당한 후보 $f$ 를 찾은 뒤 $\phi$ 의 도메인에 있는 여러 $x$ 를 대입한 $y = \phi (x)$ 를 샘플링한다. 이것이 $y \approx c f (a x + b) + d$ 를 최대한 잘 만족시키는 $a, b, c, d$ 를 찾아 $\phi$ 를 $f$ 로 대체한다.
🤔… 물론 이렇게 수식을 만드는 과정이 KAN의 핵심은 아니다. 수식을 찾는 과정을 매뉴얼하게 진행한다고 해서 연구의 핵심 가치가 떨어지는 것도 아니다. 그러나 이전까지의 기발한 전개에 비하면 그 끝이 다소 초라해 보이는 것도 사실이다. 이어 저자들은 심볼릭 회귀symbolic regression과 KAN을 비교하며 섹션 2를 마무리 짓는다. 심볼릭 회귀는 다루기 까다로운 것에 비해, KAN에서 수식을 만드는 과정은 KAN의 뇌를 보여주고 사용자가 직접 수술을 하는 것과 비슷하다고 언급하는 정도로 끝난다.
지금부터는 KAN과 MLP를 비교하거나 여러가지 문제에 도전하며 실험적으로 KAN의 가능성을 입증하는 내용이 이어진다. 약 30 페이지 분량의 모든 내용을 세세하게 볼 필요는 없으니 굵직한 포인트 몇가지만 강조하고 리뷰를 마치겠다.
3. KANs are accurate
3.3 Feynman datasets
파인만 데이터셋Feynman dataset은 파인만의 저서에서 수집한 물리 방정식로 만든 데이터셋으로, 수십가지 방정식에 대해서 KAN이 잘 작동함을 보여준다.
3.4 Solving partial differential equations
PINN은 주로 편미분방정식을 푸는 용도로 많이 응용되며, KAN과 PINN이 공존할 수 있다는 걸 보여주기 위한 예로써 푸아송 방정식을 채택했다. PINN은 신경망의 아키텍쳐는 어떻게 되든 손실 함수에 방정식의 정보를 포함시키는 것이 핵심 아이디어고, 수식적으로 보았을 때 KAN과 조합하지 못할 이유가 없다.
4. KANs are interpretable
4.3 Application to Mathematics: Knot Theory
순수수학의 연구에 도움이 될 수 있다는 예로써 매듭 이론knot theory을 들었다. 매듭 이론에서는 주어진 두 개의 매듭이 서로 같은지를 판별할 수 있는 정리나 알고리즘 등에 많은 괌심을 가지는데, 매듭이 고유하게 가지는 불변량invariants으로써 매듭과 매듭을 구분하는 방식을 즐겨 쓴다. 자연스럽게 떠오르는 질문은 ‘수많은 매듭과 수많은 불변량이 어떤 관계를 가지느냐’, 다시 말해 ‘함수를 찾을 수 있을 것인가’다. 이 예시에서 저자들은 “AI for Math"이라는 워딩까지 써서 KAN이 연구에 도움이 될 것임을 어필한다.
4.4 Application to Physics: Anderson localization
내가 앤더슨 국소화Anderson localization라는 것에 대해서 잘 몰라서 자세하게 설명하기는 어렵지만 요점은 결국 지금까지와 같다. KAN이 물리학 연구에 도움이 된다는 것이다.
5. Related works
KAN과 관련된 연구들에 대해 논한다. 정확히 논문에 필요한 내용은 아니지도 모르겠지만, 2024년 기준 관련된 분야가 어떤 트렌드를 따르고 KAN에 이르기까지 어떤 아이디어들이 있었는지 등에 대해 설명한다.
6. Discussion
Final takeaway: Should I use KANs or MLPs?
그래서 KAN이랑 MLP 중에 뭘 써야할까? 저자들은 해석가능성이 중요하고 트레이닝 시간이 그렇게 큰 문제가 되지 않는다면, 그렇게 스케일이 크지 않은 AI와 자연과학 문제에서 KAN을 써보는 걸 추천한다.
여담
지금까지 소개된 KAN은 학습할 때마다 B-스플라인의 도메인을 업데이트하고 새로운 함수를 찾는, 기존의 MLP에 비해 대단히 복잡한 방식으로 구현되어 있다. 현재 MLP를 기반으로 하고 널리 쓰이는 신경망들은 GPU의 강력한 선형대수 계산을 적극적으로 사용하지만, KAN은 근본적으로 이런 물량전에 약할 수밖에 없다. 실제로 저자들은 같은 수의 파라미터를 가진 MLP 모델에 비해 KAN이 10배 정도 느리게 학습한다고 말하긴 하는데, 내가 보기엔 10배의 속도 차이조차 너무 낙관적인 게 아닌가 하는 생각이 든다. 딥러닝의 진가는 휴리스틱한 신경망 구조의 변화에도 비약적인 성능 개선의 여지가 있기 때문이다.
다만 KAN의 이론적 근거는 명확하며 딥러닝과 같은 블랙박스 기법들이 가지고 있던 찝찝한 단점들을 해결할 수 있는 강력한 후보라는 것도 인정한다. 당연하게도 KAN이 나오자마자 이런 속도 문제를 해결해보자 하는 시도들이 이어졌다.
- efficient KAN: $\left| \phi \right|_{1}$ 을 계산하는 방식을 바꿨다. 출력값들의 절대값 평균을 계산하는 과정이 꽤 큰 비용을 동반하는데, 굳이 그럴 게 아니라 파라미터(B-스플라인의 계수)의 절대값을 써도 수식적인 의미는 크게 다르지 않을 것이다. 링크를 끊겠다는 의도와는 별개로, 어떤 관점에서는 더 정확하게 라쏘 회귀의 방식을 계승했다고 볼 수 있다.
- FastKAN: B-스플라인 대신 가우스 방사 함수를 사용한다. 가우시안 형태의 함수는 $k=3$ 인 B-스플라인과 매우 유사하기 때문에 퍼포먼스는 크게 다르지 않은 것에 비해 트레이닝 속도는 대단히 빨라질 것임을 짐작할 수 있다. 그러나 이는 공학적으로 타당한 개조일 뿐, KAN의 이론적 토대가 되는 B-스플라인을 포기했기 때문에 콜모고로프-아놀드 표현 정리와는 또 한 번 더 멀어졌다는 점을 알고 있어야 하겠다.
Federico Girosi, Tomaso Poggio; Representation Properties of Networks: Kolmogorov’s Theorem Is Irrelevant. Neural Comput 1989; 1 (4): 465–469. doi: https://doi.org/10.1162/neco.1989.1.4.465 ↩︎
Liu, Z., Wang, Y., Vaidya, S., Ruehle, F., Halverson, J., Soljačić, M., … & Tegmark, M. (2024). Kan: Kolmogorov-arnold networks. arXiv preprint arXiv:2404.19756. https://arxiv.org/abs/2404.19756 ↩︎