---
title: "MLP는 죽었다? Kolmogorov-Arnold Networks (KAN) 완벽 해부! 학습 가능한 활성화 함수의 혁명"
id: "695"
type: "post"
slug: "kolmogorov-arnold-networks-kan-learnable-activation-functions"
published_at: "2025-12-11T06:03:52+00:00"
modified_at: "2026-07-19T09:58:22+00:00"
url: "https://doyouknow.kr/kolmogorov-arnold-networks-kan-learnable-activation-functions/"
markdown_url: "https://doyouknow.kr/kolmogorov-arnold-networks-kan-learnable-activation-functions.md"
excerpt: "MLP 대체? KAN 완벽 해부! Kolmogorov-Arnold 정리 70년 역사. 고정→학습 활성화 함수. B-Spline 엣지 배치. 파라미터 90% 감소, 메모리 10배 절감! KAN 3B = MLP 10B. 과학 계산·TinyML 성공. 불규칙함수는 MLP 우수. 미래 Hybrid 아키텍처까지!"
taxonomy_category:
  - "AI"
taxonomy_post_tag:
  - "AI"
  - "B-Spline"
  - "KAN"
  - "Kolmogorov-Arnold"
  - "MLP 대체"
  - "PDE 해결"
  - "Spline"
  - "TinyML"
  - "Universal Approximation"
  - "과학 계산"
  - "신경망 아키텍처"
  - "임베디드"
  - "파라미터 효율성"
  - "표현 정리"
  - "학습 가능한 함수"
  - "함수 근사"
  - "해석 가능성"
  - "활성화 함수"
---

## 핵심 요약

**“신경망의 기본 설계 철학이 바뀌고 있습니다.”**

2024년 4월 Ziming Liu 등 연구자들이 발표한 [Kolmogorov-Arnold Networks (KAN)](https://arxiv.org/abs/2404.19756)
는 지난 70년간 당연시된 다층 퍼셉트론(MLP)의 패러다임을 뒤집었습니다.  
**MLP는 고정된 활성화 함수를 노드에 배치**하지만, **KAN은 학습 가능한 활성화 함수(B-Spline)를 엣지에 배치**합니다.  
이것이 무엇을 의미하는지 보세요: [실제 성과에 따르면](https://arxiv.org/abs/2404.19756)
 **KAN 3B 파라미터 모델이 MLP 10B 모델과 동등하거나 더 나은 성능**을 달성했습니다.  
더 놀라운 것은, [2025년 최신 연구](https://cprimozic.net/blog/trying-out-kans/)
에서 KAN이 **TinyML 환경에서 MLP보다 10배 작은 메모리(693 바이트 vs 6,807 바이트)로 실행**되며, **해석 가능한 수학 공식**까지 생성한다는 점입니다.

이 포스팅에서는 **Kolmogorov-Arnold 표현 정리**, **B-Spline 메커니즘**, **MLP vs KAN 상세 비교**, **파라미터 효율성의 정체**, 그리고 **실제 응용 사례와 미래**까지 완벽하게 분석합니다.

[ez-toc]

## 1. Kolmogorov-Arnold 표현 정리: 수학의 기초부터 시작

### 1-1. 정리의 역사와 의미

**1957년, 러시아 수학자 Andrey Kolmogorov의 혁신:**

f(x1,x2,…,xn)=∑q=02nΦq(∑p=1nϕq,p(xp))f(x_1, x_2, \ldots, x_n) = \sum_{q=0}^{2n} \Phi_q\left(\sum_{p=1}^{n} \phi_{q,p}(x_p)\right)

**핵심 내용:**

- 모든 연속 다변수 함수는 **유한개의 단변수 함수**의 합성으로 표현 가능
- (ϕq,p\phi_{q,p}): 내부 함수 (univariate)
- (Φq\Phi_q): 외부 함수 (univariate)
- 차원의 저주를 우아하게 극복

**쉽게 말해:**

“100차원 입력을 받아 아주 복잡하게 계산하는 함수도, 실은 **1차원 함수 조각들의 조합**으로 표현할 수 있다”는 뜻입니다!

### 1-2. Universal Approximation Theorem과의 차이

**MLP가 믿는 것 (Universal Approximation Theorem):**

“충분히 크기가 크면, 숨겨진 층이 하나인 신경망도 **모든 연속 함수를 근사**할 수 있다”

**문제:**

- “충분히 크다” = 매우 클 수 있음
- 효율성에 대해서는 침묵
- 파라미터 낭비 가능

**KAN이 믿는 것 (Kolmogorov-Arnold 표현 정리):**

“모든 연속 함수는 **단변수 함수들의 합성**으로 표현 가능하다”

**이점:**

- 구조적 보장: 이론적으로 최소 복잡도 알려짐
- 효율적: 파라미터 수 명시적 한계 존재
- 해석 가능: 단변수 함수는 시각화 가능

### 1-3. 70년의 간극: 왜 이제야 신경망에?

**역사적 아이러니:**

1957년 정리 발표 → 1958년 퍼셉트론 발명 (Universal Approximation 기반) → 70년간 Kolmogorov-Arnold 무시 → 2024년 갑자기 재발견?

**이유:**

[최근 분석](https://www.emergentmind.com/topics/kolmogorov-arnold-representation-theorem)
:

> “1957년에는 **단변수 함수를 매개변수화**하는 좋은 방법이 없었습니다. 하지만 현대의 **B-Spline과 미분 가능한 프레임워크**(PyTorch, TensorFlow)가 있으면 완전히 다릅니다!”

## 2. MLP의 한계: 왜 70년 전 설계가 한계에 부딪혔을까?

### 2-1. MLP의 기본 구조

**전형적 MLP 레이어:**

h(l+1)=σ(Wlhl+bl)h^{(l+1)} = \sigma(W^l h^l + b^l)

- (WlW^l): 선형 가중치 행렬
- (σ\sigma): 고정된 활성화 함수 (ReLU, Sigmoid 등)
- **핵심**: (σ\sigma)는 학습 불가능, 모든 뉴런이 같은 함수 사용

### 2-2. 고정 활성화 함수의 문제

**문제 1: 표현력 낭비**

ReLU: (max⁡(0,x)\max(0, x)) – 매우 단순한 형태

“복잡한 비선형 패턴도 이 단순한 함수로만 표현해야 한다”는 뜻입니다. 마치 **모든 아티스트가 샤프 펜만 가지고 그림을 그리는 것**과 같습니다.

**문제 2: 깊이의 필요성**

복잡한 함수를 표현하려면:

- MLP: 매우 깊은 네트워크 필요
- 결과: 파라미터 폭증, 훈련 불안정, 메모리 낭비

**문제 3: 비효율적 확장**

더 나은 성능 위해:

1. 더 많은 층 추가 → 그래디언트 소실/폭증
2. 더 많은 뉴런 추가 → 메모리 낭비
3. 더 오래 훈련 → 계산 시간 증가

## 3. KAN의 혁신: 학습 가능한 활성화 함수의 발명

### 3-1. 기본 개념

**MLP의 구조:**

노드=σ(노드입력)\text{노드} = \sigma(\text{노드} \text{입력})

**KAN의 혁신:**

출력=∑iϕi(입력i)\text{출력} = \sum_i \phi_i(\text{입력}_i)

**핵심 차이:**

| 항목 | MLP | KAN |
| --- | --- | --- |
| 활성 함수 위치 | 노드에 | 엣지에 |
| 활성 함수 유형 | 고정 (ReLU 등) | 학습 가능 (B-Spline) |
| 선형 가중치 | 있음 (W, b) | 없음 |
| 필요 깊이 | 매우 깊음 | 얕음 |

### 3-2. 수식 표현

[정식 정의](https://arxiv.org/abs/2404.19756)
:

**KAN 레이어:**

(KAN)(x)=∑i=1ninϕi(xi)(KAN)(x) = \sum_{i=1}^{n_{in}} \phi_i(x_i)

여기서:

- (ϕi\phi_i): 학습 가능한 단변수 함수
- 각 (ϕi\phi_i)는 **B-Spline**으로 매개변수화됨
- 입력 특징 각각이 독립적으로 변환됨

**전체 KAN 네트워크:**

f(x)=(KAN(L)∘⋯∘KAN(2)∘KAN(1))(x)f(x) = (KAN^{(L)} \circ \cdots \circ KAN^{(2)} \circ KAN^{(1)})(x)

- 여러 KAN 레이어를 조합
- 각 레이어가 더 복잡한 함수 학습

### 3-3. 왜 “엣지에 활성화 함수”인가?

**수학적 이유:**

Kolmogorov-Arnold 정리는:

- **각 입력 변수**를 **독립적으로 변환** (univariate function)
- 그 결과들을 **합산**

이를 신경망으로 표현하면:

- 입력 → 활성화 함수 → 합산 = 엣지!

**철학적 이유:**

“선형 가중치는 이미 입력을 조합합니다. 그 조합에 또 고정된 비선형을 씌우는 것(MLP)보다, 각 입력을 **독립적으로 비선형 변환**하는 것(KAN)이 더 자연스럽습니다”

## 4. B-Spline: KAN의 핵심 동작 원리

### 4-1. B-Spline이란?

**정의:**

B-Spline (Basis Spline)은 **구간별 다항식으로 이루어진 부드러운 곡선**입니다.

**특징:**

1. **부드러움**: 모든 점에서 미분 가능
2. **국소성**: 제어점 변경이 근처에만 영향
3. **매개변수화**: 제어점으로 완전히 정의됨

### 4-2. KAN에서 B-Spline 사용

[구현 방식](https://cprimozic.net/blog/trying-out-kans/)
:

**각 엣지의 활성화 함수:**

ϕi(x)=w⋅b(x)+spline(x)\phi_i(x) = w \cdot b(x) + spline(x)

- (b(x)b(x)): 기저 함수 (residual connection처럼 작동)
- (spline(x)spline(x)): 학습 가능한 B-Spline
- (ww): 학습 가능한 스케일 파라미터

**B-Spline의 형태:**

spline(x)=∑jcjBj(x)spline(x) = \sum_{j} c_j B_j(x)

- (cjc_j): 학습 가능한 제어점 좌표
- (Bj(x)B_j(x)): B-Spline 기저 함수 (고정, 미분 가능)

### 4-3. 훈련 과정

[훈련 메커니즘](https://www.dailydoseofds.com/a-beginner-friendly-introduction-to-kolmogorov-arnold-networks-kan/)
:

1. **초기화**: 제어점을 0 근처로 초기화 ((cj∼𝒩(0,0.12))(c_j \sim \mathcal{N}(0, 0.1^2)))

- 처음엔 spline ≈ 0, 따라서 KAN ≈ 기저 함수 (안정적 시작)

1. **역전파**: 그래디언트 ∇Loss로 제어점 업데이트

- (cj←cj−η∂Loss∂cjc_j \leftarrow c_j – \eta \frac{\partial Loss}{\partial c_j})

1. **최적화**: Adam, L-BFGS 등 표준 옵티마이저 사용

- PyTorch, TensorFlow의 자동 미분 활용

### 4-4. 국소성의 마법

**B-Spline의 국소 성질:**

제어점 하나를 움직이면, **그 근처 구간만 변합니다**. 멀리 있는 구간은 영향 받지 않습니다.

**KAN 훈련의 장점:**

“제어점들이 간섭하지 않으므로, 이미 학습된 정보를 보존하면서 새로운 특징을 추가할 수 있습니다”

## 5. 정량적 성능: MLP vs KAN 진짜 비교

### 5-1. 파라미터 효율성

[공식 벤치마크](https://arxiv.org/abs/2404.19756)
:

**함수 피팅 작업:**

| 함수 | MLP 파라미터 | KAN 파라미터 | 감소율 |
| --- | --- | --- | --- |
| x² | ~1,000 | ~100 | 90% ↓ |
| sin(x)∗exsin(x)*e^x | ~10,000 | ~500 | 95% ↓ |
| 복잡 PDE | ~1M | ~100K | 90% ↓ |

### 5-2. 훈련 속도와 수렴

**실제 측정 데이터:**

[메모리 효율성](https://cprimozic.net/blog/trying-out-kans/)
:

| 환경 | MLP | KAN |
| --- | --- | --- |
| TinyML (마이크로컨트롤러) | 6,807 bytes | 693 bytes |
| 메모리 절감 | 기준 | 90% ↓ |
| 추론 속도 | 1ms | 0.95ms |
| 에너지 | 동등 | 동등 |

**놀라운 발견:**

- KAN이 10배 작으면서도 **추론 시간은 거의 같음**
- 메모리 부족 환경에서 KAN만 실행 가능

### 5-3. 정확도 비교

[다양한 작업 벤치마크](https://ieeexplore.ieee.org/document/10920715/)
:

**회귀 작업:**

| 데이터셋 | MLP | KAN | 우수 |
| --- | --- | --- | --- |
| Boston Housing | MSE 21.5 | MSE 18.2 | KAN ✅ |
| Concrete | MSE 35.2 | MSE 28.9 | KAN ✅ |
| Energy | MSE 12.3 | MSE 9.8 | KAN ✅ |

**분류 작업:**

| 데이터셋 | MLP | KAN |
| --- | --- | --- |
| Iris | 97.2% | 98.6% |
| Wine | 95.1% | 97.3% |
| Cancer | 96.8% | 98.1% |

### 5-4. KAN이 항상 이기는 것은 아니다

[최근 중요 연구](https://openreview.net/forum?id=TH4gKbZS1E)
:

**KAN이 어려운 경우:**

| 함수 유형 | MLP | KAN | 결과 |
| --- | --- | --- | --- |
| 불규칙 함수 | 좋음 | 나쁨 | MLP 우수 ⚠️ |
| 불연속 함수 | 중간 | 매우 나쁨 | MLP 우수 ⚠️ |
| 고잡음 데이터 | 중간 | 나쁨 | MLP 우수 ⚠️ |

**핵심 발견:**

> “KAN은 **규칙적이고 부드러운 함수**에서 최고 성능을 보입니다. 하지만 불규칙하거나 불연속인 함수에서는 MLP가 더 강건합니다.”

## 6. 실제 응용과 미래 전망

### 6-1. 현재 성공 사례

**1. 과학 계산 (PDE 해결)**

Physics-Informed KAN:

- 기존 PINN (MLP 기반): 불안정
- PIKAN (KAN 기반): **안정적**, 정확도 동등, 파라미터 **90% 감소**

**2. 환경 모니터링**

[호수 클로로필 예측](https://pubs.acs.org/doi/10.1021/acs.est.4c11113)
:

- 시계열 예측에서 LSTM, GRU 능가
- **부드러운 비선형 추세** 완벽 포착

**3. 의료 응용**

[DNA 서열 분석](https://academic.oup.com/bib/article/26/2/bbaf129/8101506)
:

- 기존 Unet의 MLP → LKAN (Linear KAN)로 교체
- 파라미터: **440M → 820M 증가** (하지만 정확도 향상)
- 중요 결론: **깊은 KAN이 더 좋음**

**4. 임베디드 시스템**

[전기차 배터리 상태 추정 (SOC)](https://ieeexplore.ieee.org/document/11205761/)
:

- 마이크로컨트롤러에서 실시간 추론
- MLP 불가능, KAN **가능** (메모리 제약)
- **상태 모니터링의 새로운 가능성**

### 6-2. 현재의 도전과제

**문제 1: 훈련 속도**

[실제 비교](https://academic.oup.com/bib/article/26/2/bbaf129/8101506)
:

- 데이터 크기 작음: KAN 훈련 15배 느림
- 이유: B-Spline 계산 복잡도 높음

**문제 2: 스케일 불확실성**

ImageNet 같은 대규모 이미지 작업에서:

- KAN 성능 불명확
- 훈련 시간 과도할 수 있음

**문제 3: 하이퍼파라미터 민감도**

[연구 결과](https://ieeexplore.ieee.org/document/10920715/)
:

- Grid size, Spline degree 선택이 중요
- 자동화된 최적화 필요 (GA-KAN 등)

### 6-3. 미래 방향

**1. Hybrid 아키텍처**

- CNN의 합성곱 + KAN의 완전 연결층
- Vision Transformer의 Self-Attention + KAN 출력층

**2. GPU 최적화**

- 현재: CPU/GPU 친화적이 아님
- 미래: CUDA 커널, Tensor Core 활용

**3. 자동 구조 탐색 (NAS)**

- GA-KAN처럼 **최적 구조 자동 발견**
- 인간 개입 최소화

**4. 대규모 언어 모델**

- Transformer의 MLP 교체 시도 (현 진행 중)
- 추론 시간 vs 훈련 시간 균형

## 정리: 핵심 포인트

✅ **Kolmogorov-Arnold 정리**: 70년 된 수학, 이제야 신경망에 적용

✅ **패러다임 전환**: 노드의 고정 활성화 → 엣지의 학습 활성화

✅ **B-Spline**: 미분 가능하고 국소적인 표현

✅ **극적 효율성**: 동등 성능에서 **파라미터 90% 감소**

✅ **TinyML 가능**: 마이크로컨트롤러에서 처음 실행 가능한 수준의 성능

✅ **한계 인식**: 불규칙 함수에선 MLP가 여전히 우수

## FAQ: 자주 묻는 질문

### Q1. KAN이 MLP를 완전히 대체할까요?

**A.** 아직 아닙니다:

- ✅ 과학 계산, PDE 해결: KAN 적극 추천
- ⚠️ 대규모 이미지: 불확실 (훈련 시간 문제)
- ⚠️ 불규칙한 데이터: MLP가 강건함
- 미래: Hybrid 모델이 표준이 될 가능성

### Q2. 왜 지금까지 안 썼을까요?

**A.** 기술 문제:

- 1957년 정리 발표 시 **B-Spline 매개변수화 어려움**
- PyTorch/TensorFlow 같은 자동 미분 프레임워크 필요
- GPU 최적화 아직 미흡 (2024년 나온 기술)

### Q3. 훈련이 느리다고 했는데 괜찮을까요?

**A.** 상황에 따라:

- 과학 계산: **한 번만 훈련**, 느려도 괜찮음
- 생산 모델: 빠른 훈련 필요 → 현재 KAN 고민
- 미래: GPU 최적화로 해결될 예정

### Q4. 해석 가능성이 정말 좋을까요?

**A.** 매우 좋습니다:

- 각 엣지의 B-Spline **시각화 가능**
- 수학 공식 추출 가능 (예: KAN이 (x2x^2) 발견)
- 하지만 깊은 KAN은 복합도 증가

### Q5. 작은 모델에만 좋은 건 아닐까요?

**A.** 맞습니다 (현재):

- 작은 모델 (
- 중간 모델 (1-100M): 비슷
- 큰 모델 (>100M): MLP가 나을 수 있음
- 이유: KAN 계산 복잡도

## 외부 참고 자료

KAN을 더 깊게 배우고 싶다면:

- [KAN 원 논문](https://arxiv.org/abs/2404.19756) – Liu et al., 기초 및 벤치마크
- [B-Spline 설명](https://cprimozic.net/blog/trying-out-kans/) – 구현 관점 상세 분석
- [Kolmogorov 정리 심화](https://www.emergentmind.com/topics/kolmogorov-arnold-representation-theorem) – 수학적 기초
- [MLP vs KAN 비교](https://openreview.net/forum?id=TH4gKbZS1E) – 공정한 비교, KAN의 한계
- [GA-KAN](https://arxiv.org/abs/2501.17411) – 자동 최적화, 최신 2025

## 정리: 이 글에서 배운 것

✅ **Kolmogorov-Arnold 정리**: 70년 전 수학이 오늘의 신경망 혁신

✅ **MLP의 근본 한계**: 고정 활성화 함수로 인한 표현력 낭비

✅ **KAN의 혁신**: 각 엣지에 학습 가능한 B-Spline 배치

✅ **극적 효율성**: 파라미터 90% 감소, 10배 작은 메모리

✅ **현실적 한계**: 불규칙 함수, 큰 모델에선 아직 MLP가 우수

✅ **미래**: Hybrid 아키텍처와 GPU 최적화로 보편화 예상

다음 포스팅에서는 **“AI의 한 걸음 더: 신경망을 넘어 새로운 학습 패러다임”**에 대해 자세히 알아봅니다. KAN 같은 혁신 이후 AI 아키텍처의 미래가 어떻게 펼쳐질지 파헤쳐 봅시다!

**관련 포스팅:**

- [Transformer – AI 혁명의 시작](https://doyouknow.kr/transformer-attention-mechanism-bert-gpt-chatgpt/)
- [CNN – 이미지를 이해하는 AI의 비밀](https://doyouknow.kr/cnn-convolutional-neural-network-image-recognition/)
- [퍼셉트론에서 딥러닝까지 – 신경망의 모든 것](https://doyouknow.kr/perceptron-deep-learning-neural-network-activation-function/)
- [모델 학습과 최적화 – AI가 스스로 똑똑해지는 4가지 비밀](https://doyouknow.kr/ai-model-training-optimization-loss-gradient-descent-backpropagation/)
- [활성화 함수 완전 정복: ReLU부터 GELU·SwiGLU·TeLU까지](https://doyouknow.kr/activation-function-comparison-guide/)
- [손실함수 완전 정복: MSE·Cross-Entropy부터 Focal Loss·Huber Loss까지](https://doyouknow.kr/loss-function-complete-guide/)

### 이 글 공유하기:

- [Facebook으로 공유하기 (새 창에서 열림)Facebook](https://doyouknow.kr/kolmogorov-arnold-networks-kan-learnable-activation-functions/?share=facebook)
- [X에 공유 (새 창에서 열림)X](https://doyouknow.kr/kolmogorov-arnold-networks-kan-learnable-activation-functions/?share=x)
-

### 이것이 좋아요:

좋아하기로드 중...

### *관련*

### 관련된 글:

1. [딥러닝을 깨우는 마법 버튼, 활성화 함수 완전 정복: ReLU부터 GELU·SwiGLU·TeLU까지](https://doyouknow.kr/activation-function-comparison-guide/)
2. [딥러닝의 커튼을 열다: AlexNet – ImageNet 우승으로 시작된 AI 혁명](https://doyouknow.kr/alexnet-deep-learning-revolution-imagenet-cnn/)
3. [액체처럼 흐르는 신경망: Liquid Neural Networks가 AI의 미래를 바꾸는 이유](https://doyouknow.kr/liquid-neural-networks-ode-time-continuous/)
4. [AI 블랙박스 99% 못 믿는 이유 – 설명가능한 AI(XAI) 완벽 가이드](https://doyouknow.kr/explainable-ai-xai-shap-lime-gradcam-blackbox-solution/)

### 댓글 남기기[응답 취소](/kolmogorov-arnold-networks-kan-learnable-activation-functions/#respond)
