모든 이야기

연결선에 숫자 대신 함수를 넣으면: KAN이 보여 주는 다른 신경망

작은 신경망으로 어떤 함수의 형태를 알아내고 싶다고 하자. 예측이 잘 맞는 것만으로는 부족하다. 입력이 제곱으로 들어가는지, sine 형태의 변화가 있는지, 몇 개 항의 합으로 설명할 수 있는지도 보고 싶다. 평범한 MLP의 큰 weight matrix를 들여다보면 이런 질문에 바로 답하기 어렵다.

KAN은 연결선 하나를 숫자 하나가 아니라 학습 가능한 1차원 함수로 바꾼다. 그러면 연결을 따라 어떤 변환이 일어나는지 곡선으로 볼 수 있다. 더 좋은 비선형 근사와 사람이 읽을 수 있는 구조를 동시에 노린다는 점이 이 논문의 재미다. KAN 원문

weight 대신 작은 곡선을 넣으면

MLP layer를 단순화하면 y_j = activation(Σ_i w_ji x_i)로 볼 수 있다. 여러 입력을 가중합한 다음, 정해진 비선형 함수를 적용한다. KAN layer는 y_j = Σ_i φ_ji(x_i)라는 형태다. 각 edge의 φ가 입력 하나를 비선형 변환하고, node에서는 들어온 값을 더한다.

차이는 activation의 위치뿐 아니라 어떤 부분을 학습하는지에 있다. MLP에서는 보통 비선형 함수의 형태를 미리 정하고 선형 가중치를 학습한다. 초기 KAN에서는 edge의 함수를 spline으로 표현해 그 곡선의 계수를 학습한다. 실제 함수에는 기본 함수와 spline 성분을 조합하는 구현 요소도 있으므로, “연결마다 매끈한 곡선을 학습한다”는 수준의 그림이 이해에 적당하다. KAN layer와 함수 표현

설명을 위해 f(x,y) = sin(x) + y²를 생각해 보자. KAN 형태에서는 x 쪽 edge가 sine을, y 쪽 edge가 제곱을 근사하고 node에서 둘을 더하는 구조를 자연스럽게 떠올릴 수 있다. 여러 단순 변환이 합과 합성을 통해 만드는 함수를 표현하기 좋다는 직관이다. 이 예는 원문 실험의 성능 수치를 옮긴 것이 아니라 구조를 이해하기 위한 작은 함수다.

물론 아무 KAN을 학습하면 정확히 이 두 edge를 얻는다고 보장할 수는 없다. 숨은 node를 더 두면 같은 함수를 여러 방식으로 표현할 수 있고, 최적화가 찾는 표현도 달라진다. 해석하기 쉬운 함수가 가능한 구조와, 실제로 그 함수를 찾았다는 결과는 구분해야 한다.

이름의 정리는 설계 동기다

Kolmogorov-Arnold representation theorem은 여러 변수의 연속 함수를 1차원 함수와 덧셈의 합성으로 표현할 수 있다는 결과를 제공한다. 이 점은 edge에 1차원 함수를 두는 설계에 좋은 영감을 준다. 하지만 표현이 존재한다는 말과, 제한된 데이터에서 매끈한 spline으로 빠르게 학습된다는 말은 다르다.

원문도 이 간격을 다룬다. 정리의 표현에 등장하는 함수가 실제 학습에 친절한 매끈한 형태라는 보장은 없고, 원래의 얕은 구조를 그대로 사용하는 데에도 제약이 있다. 논문은 실제 모델을 다양한 width와 depth로 확장한다. 정리 하나로 고차원 함수 학습의 모든 어려움이 사라졌다고 소개하면 방법의 핵심을 흐리게 만든다. 이론적 동기와 한계

나는 KAN을 “정리가 있으니 최적 모델”이라는 주장보다, 데이터의 compositional structure에 맞는 표현을 탐색하는 설계로 읽는다. 과학 문제에서 결과가 몇 개의 단순 변환과 합성으로 설명되는 경우라면 그 표현의 이점이 커질 수 있다. 구조가 없는 복잡한 문제에서도 같은 이익을 얻을지는 별도로 확인해야 한다.

신경망 이론을 읽을 때도 이 구분이 도움이 된다. 표현 능력, 근사 오차, 필요한 데이터, 최적화의 용이성, 실제 계산 시간은 서로 연결되지만 같은 명제는 아니다. 한 부분의 정리가 다른 부분의 실험 결과를 대신하지 않는다.

spline의 해상도를 높인다는 것

spline은 구간마다 유연하게 변하는 곡선을 표현한다. grid가 거칠면 표현할 세부 변화가 제한되고, 촘촘하면 더 세밀한 변화에 맞출 수 있다. KAN은 grid extension을 통해 학습한 함수의 해상도를 늘리는 방법을 다룬다. 작은 구조에서 시작해 곡선의 세부를 더 표현하는 식이다. grid extension

사진의 해상도를 올리는 비유를 쓸 수 있지만, 관측 정보가 자동으로 늘어나는 것은 아니라는 점은 남는다. 더 많은 spline 계수는 더 많은 변화를 표현할 공간이지, 그 변화가 현실에서 참이라는 증거가 아니다. 데이터가 적거나 잡음이 크면 표현이 세밀해지는 것이 오히려 불필요한 요동을 만들 수 있다.

따라서 grid를 늘리며 training error만 확인하는 것보다 새로운 구간의 error와 곡선 형태도 함께 볼 필요가 있다. 학습 입력이 거의 없는 영역에서 edge가 어떻게 변하는지, 경계 근처에서 출력이 불안정해지는지도 실무의 관심사가 된다. 이런 점검은 논문에 있는 특정 성능 주장을 반복하는 것이 아니라, spline을 사용하는 모델을 적용할 때의 내 평가 제안이다.

고차원 입력에서도 edge 함수는 각각 1차원이지만 네트워크 전체는 여러 층의 합성으로 상호작용을 만든다. 그러므로 “1차원 함수만 있으니 변수 간 관계를 못 배운다”는 반론도 너무 빠르다. 중요한 것은 그 상호작용이 적은 node와 edge의 합성으로 잘 표현될 수 있는가다.

곡선을 보면서 모델과 대화하기

edge별 함수를 그릴 수 있다는 것은 KAN의 해석 가능성에 대한 출발점이다. 중요한 연결이 몇 개뿐이면 불필요한 부분을 pruning하고, 남은 곡선이 알려진 단순 함수와 닮았는지 살펴볼 수 있다. 일부 함수를 사람이 선택한 symbolic function으로 바꾸고 성능을 확인하는 흐름도 가능하다. 원문은 수학과 물리 문제에서 이런 상호작용의 예를 보여 준다. 모델 단순화와 과학 문제 사례

예를 들어 한 edge가 포물선에 가까워 보이면 제곱 함수로 대체해 오차가 얼마나 늘어나는지 시험할 수 있다. 오차가 거의 변하지 않는다면 더 간단한 설명의 후보가 생긴다. 하지만 그래프가 닮았다는 이유만으로 제곱 법칙이 발견되었다고 확정할 수는 없다. 적합한 입력 범위와 새로운 데이터에서의 검증이 필요하다.

같은 함수를 여러 네트워크가 서로 다르게 표현할 수 있다는 점도 해석의 한계다. edge를 눈으로 볼 수 있다고 모든 표현이 유일해지는 것은 아니다. 전처리나 변수의 scale을 바꾸면 곡선의 모양도 바뀔 수 있다. 모델에서 읽어 낸 식은 설명 후보이며, 과학 법칙으로 인정하려면 단위, 대칭, 실험적 확인 같은 추가 근거가 들어간다.

그럼에도 black box의 예측을 바로 최종 답으로 받는 방식과는 다른 사용 경험을 제공한다. 연구자가 구조를 제안하고, 모델을 단순화하고, 오차를 다시 측정할 수 있다. 나는 자동 해석보다 이런 반복적 상호작용이 더 매력적으로 느껴진다.

작은 모델이라는 말의 비용

원문은 함수 근사, 간단한 PDE 문제, 과학 관련 사례 등에서 MLP와 비교한다. 일부 문제에서 더 작은 KAN이 좋은 정확도를 얻고, 매개변수 규모에 따른 오차 변화에서도 흥미로운 결과를 보고한다. 여기서 smaller는 먼저 모델 구조와 파라미터 규모를 가리킨다. 같은 정확도에서 실제 실행 시간이 항상 짧다는 뜻으로 바꾸면 안 된다. 실험과 논의

MLP의 matrix multiplication은 하드웨어와 라이브러리에서 많이 최적화되어 있다. edge마다 spline을 계산하면 다른 종류의 비용과 구현 과제가 생긴다. 파라미터를 적게 사용했다는 사실과 같은 wall-clock budget에서 좋은 결과를 냈다는 사실을 나눠 볼 필요가 있다. 저자들의 공식 구현도 작은 과학 과제를 중심으로 사용 맥락을 설명한다.

실무에서 첫 실험을 한다면 간단한 MLP와 동일한 split, 비슷한 tuning 예산, 실제 학습 시간을 함께 비교할 것이다. 해석이 중요한 문제에서는 validation error뿐 아니라 추출한 함수가 얼마나 간단하고 안정적인지도 보아야 한다. 노이즈나 seed를 바꿨을 때 완전히 다른 식이 나오면 예측이 좋아도 설명의 신뢰성은 따로 판단해야 한다.

KAN의 인상적인 질문은 “기존 MLP를 모두 교체할까”보다 “학습한 비선형 변환을 사람이 읽을 수 있는 자리에 놓으면 무엇이 가능할까”다. 표현 방식이 바뀌면 모델을 사용하는 방식도 달라진다. 함수 근사기를 결과 생성기로만 쓰지 않고, 간단한 구조를 탐색하는 도구로 다룰 수 있다는 가능성이 이 논문에 담겨 있다.

논문: Ziming Liu 외, KAN: Kolmogorov-Arnold Networks, 2024 공개, ICLR 2025. 원문 · 공식 구현

Dne Cna

컴퓨터공학 잘 하고 싶다

블로그 보기