1. 모든 것의 시작: MLP와 그 한계
가장 기본적인 신경망인 **MLP(Multi-Layer Perceptron)**는 뉴런이 층층이 쌓여 있고, 한 층의 모든 뉴런이 다음 층의 모든 뉴런과 남김없이 연결된(fully-connected) 구조입니다. 입력은 1차원 벡터 형태로, 각 속성이 서로 독립적인 정형(tabular) 데이터에는 잘 맞습니다.
문제는 이미지처럼 공간적 구조를 가진 데이터를 넣을 때 발생합니다.
- 공간 구조의 소실: 28×28 이미지를 784개의 숫자로 펼쳐버리면, 어떤 픽셀이 어떤 픽셀 옆에 있었는지에 대한 정보가 사라집니다.
- 파라미터 폭발: 입력이 784개, 은닉층이 1,000개라면 연결 수만 약 78만 개에 달합니다. 학습이 매우 무거워집니다.
- 위치 의존성: 입력의 i번째 자리가 특정 가중치에 고정되어 있어서, 학습 과정에서 패턴의 위치가 바뀌면 처음부터 다시 배워야 합니다.
이 세 가지 한계를 해결하기 위해 필요했던 것이 바로 **귀납적 편향(inductive bias)**입니다. 귀납적 편향이란 모델이 합리적으로 일반화할 수 있도록, 데이터의 구조에 대한 가정을 미리 설계 안에 심어두는 것을 말합니다. 이 개념이 CNN과 RNN이라는 두 갈래 길을 낳습니다.
2. 이미지를 위한 구조: CNN
Convolution이란
Convolution(합성곱)은 원래 "두 함수가 합쳐져 하나가 되는 수학적 연산"을 뜻합니다. 딥러닝에서는 작은 필터가 이미지의 국소 영역을 훑으며 새로운 특징을 뽑아내는 과정으로 이해하면 됩니다.
Convolution Layer의 3요소
| Kernel(Filter) | 합성곱 연산을 수행하는 작은 창. 이미지 위를 이동하며 특징을 추출 |
| Stride | 필터가 한 번에 이동하는 간격 |
| Padding | 합성곱 후 줄어드는 출력 크기를 보정하기 위해 입력 가장자리에 값(주로 0)을 채우는 것 |
필터가 입력 위를 슬라이딩하면서 각 위치에서 원소별 곱의 합을 계산해 특징 맵(Feature Map)을 만들어냅니다.
Pooling과 Flatten
- Pooling Layer: 이미지를 축소하며 대표값만 남깁니다. 학습 파라미터가 없는 Max-pooling이 대표적입니다.
- Flatten Layer: 다차원 특징 맵을 1차원으로 펼쳐, 이후 Fully-Connected(Dense) Layer에서 분류할 수 있게 합니다.
- Softmax: 최종 출력값을 확률(합이 1)로 변환해, 가장 큰 값의 클래스를 예측값으로 삼습니다.
정리하면 CNN은 **"특징을 뽑고(Conv) → 중요한 것만 추리고(Pooling) → 펼쳐서(Flatten) → 분류한다(Dense)"**는 파이프라인으로 요약할 수 있습니다.
CNN에 담긴 귀납적 편향
| 격자 유지, 가까운 픽셀 관계 확인 | 작은 필터로 국소 영역만 연결 | Locality — 의미 있는 패턴은 가까운 픽셀 사이에 있다 |
| 파라미터 절약 | 하나의 필터를 전체 이미지에 재사용 | Weight Sharing — 한 위치에서 유용한 특징 검출기는 다른 위치에서도 유용하다 |
| 배운 패턴의 위치 무관 적용 | Pooling을 통한 둔감화 | Invariance(등변성) — 물체의 정체는 위치와 무관하다 |
3. 순서를 위한 구조: RNN과 LSTM
이미지가 공간 구조를 가진다면, 음성·텍스트·시계열 데이터는 시간적 순서 구조를 가집니다. 이를 위해 등장한 것이 RNN입니다.
RNN: 과거를 기억하며 현재를 처리하는 구조
RNN을 이해하는 가장 쉬운 비유는 일기입니다. 매일 밤 일기를 쓸 때, 어제까지 쌓인 감정과 사건이 오늘의 글에 영향을 미칩니다. RNN도 마찬가지로 이전 시점의 정보(Hidden State)를 현재 시점의 입력과 결합해 다음 상태로 넘깁니다.
수식으로 표현하면 다음과 같습니다.
h_t = tanh(W_hh' · h_(t-1) + W_xh' · X_t + b_h)
Y_t = W_hy · h_t + b_y
핵심은 하나의 층 안에서 모든 시점이 동일한 가중치를 공유한다는 점입니다. 덕분에 시퀀스가 아무리 길어져도 학습해야 할 파라미터 수는 고정됩니다.
RNN은 입력·출력 길이 조합에 따라 One-to-One, One-to-Many, Many-to-One, Many-to-Many 등 다양한 구조로 설계할 수 있습니다.
RNN의 한계와 LSTM의 등장
RNN은 시간이 오래 지날수록 과거 정보가 희미해지는 기울기 소실(Vanishing Gradient) 문제를 가집니다. 일기에 비유하면, 오래전 사건일수록 기억이 흐려지는 것과 같습니다.
**LSTM(Long Short-Term Memory)**은 여기에 "중요한 것만 따로 적어두는 메모장"을 더한 구조입니다. 이 메모장 역할을 하는 것이 Cell State이며, 세 개의 Gate가 정보를 조절합니다.
| Forget Gate | 과거 기억 중 버릴 것을 결정 |
| Input Gate | 새로운 정보 중 저장할 것을 결정 |
| Output Gate | 현재 기억에서 꺼내 출력할 정보를 결정 |
RNN이 매번 새로 쓰는 일기라면, LSTM은 일기와 별도로 **오래 유지되는 메모장(Cell State)**을 두어, 필요한 정보는 오래 살아남고 불필요한 정보는 잊히도록 스스로 학습합니다. 다만 여전히 매우 긴 시퀀스에서는 한계가 있었고, 이것이 이후 Attention 등장의 배경이 됩니다.
4. 정답 없이 배우는 법: Auto-Encoder와 Seq2Seq
지도 학습의 한계
지도 학습(Supervised Learning)은 입력마다 정답(Label)이 있어야 학습이 가능합니다. 하지만 사람이 일일이 레이블을 다는 데는 비용이 들고, 무엇이 정답인지 모호한 경우도 많습니다. 그래서 나온 발상이 **"입력 자신을 정답으로 삼자"**는 것입니다. 이것이 비지도/자기지도 학습(Unsupervised/Self-Supervised Learning)의 출발점입니다.
Auto-Encoder: 압축과 복원
Auto-Encoder(AE)는 데이터를 압축했다가 다시 복원하는 과정을 스스로 학습하는 신경망입니다.
- Encoder: 입력을 점점 줄여서 압축 → 중요한 특징만 남김
- Latent Space(Bottleneck): 가장 압축된 형태. 가장 작은 차원으로 표현된 핵심 특징
- Decoder: 압축된 정보를 바탕으로 원본과 유사하게 복원
기존의 선형 차원 축소 기법인 PCA와 달리, AE는 비선형 관계도 압축할 수 있다는 장점이 있습니다. 다만 Vanilla AE는 "복원을 잘한다"는 것이 곧 "표현이 좋다"는 것을 보장하지 않고, Latent 공간이 불규칙해 생성 모델로 바로 쓰기는 어렵다는 한계가 있습니다. 이런 한계를 보완하기 위해 Denoising AE, Sparse AE, VAE(Variational AE) 등 다양한 변형이 등장했습니다.
Seq2Seq: 시퀀스를 다른 시퀀스로
AE가 입력을 그대로 복원한다면, Seq2Seq는 입력을 전혀 다른 시퀀스로 변환하는 구조입니다. 기계 번역, 텍스트 요약처럼 입력과 출력의 길이가 다를 수 있는 작업에 사용됩니다. Encoder의 마지막 Hidden State 하나에 입력 전체 정보를 압축해서 Decoder로 넘기는데, 이 고정 길이 병목이 정보 손실을 일으킨다는 한계가 있었습니다. 이 병목을 해소하려는 시도가 훗날 Attention 메커니즘으로 이어집니다.
5. 더 깊게, 더 안정적으로: AlexNet과 ResNet
AlexNet (2012)
ImageNet 대회(ILSVRC)에서 압도적인 성능으로 우승하며 딥러닝의 대중화를 이끈 모델입니다.
- 5개의 Conv Layer + 3개의 FC Layer로 구성된, 당시 기준 매우 깊은 CNN
- ReLU 활성화 함수 도입으로 학습 속도 향상 및 기울기 소실 완화
- Dropout으로 과적합 방지
- GPU를 활용한 대규모 학습
층을 깊게 쌓을수록 성능이 좋아질까?
VGG(19층), GoogLeNet(22층) 등 이후 모델들은 "레이어를 추가할수록 성능이 오른다"는 전제 아래 더 깊은 네트워크를 시도했습니다. 그런데 일정 깊이를 넘어서자 오히려 성능이 떨어지는 퇴화(Degradation) 현상이 나타났습니다. 흥미로운 점은 이것이 기울기 소실 문제가 아니라는 것이었습니다.
ResNet: Skip Connection이라는 해법
ResNet은 이 퇴화 문제를 **잔차 학습(Residual Learning)**으로 해결했습니다. 핵심 아이디어는 각 블록이 출력 전체(H(x))를 처음부터 학습하는 대신, 입력에 더할 **변화량(F(x) = H(x) - x)**만 학습하도록 하는 것입니다.
이를 위해 입력을 출력에 그대로 더해주는 **Skip Connection(지름길)**을 둡니다. 만약 어떤 블록이 딱히 유용한 변환을 학습하지 못하더라도, 최소한 입력이 그대로 보존되기 때문에 성능이 나빠지지 않는 안전장치가 마련되는 셈입니다. 이 구조 덕분에 최대 152층에 달하는 깊은 네트워크도 안정적으로 학습할 수 있게 되었고, ResNet은 이후 Computer Vision의 표준 아키텍처로 자리 잡았습니다.
6. 순차 처리의 병목을 넘다: Transformer와 BERT
Attention: 중요한 것에 집중하기
RNN·LSTM은 문장이 길어지면 앞쪽 정보가 뒤로 잘 전달되지 않는 장기 의존성 문제를 가지고 있었습니다. Attention은 "모든 단어를 다 참고하되, 중요한 단어에 더 집중하자"는 아이디어에서 출발합니다.
- Attention: 입력 시퀀스의 각 요소가 다른 요소들과 얼마나 관련 있는지를 계산해, 어디에 더 집중할지 결정하는 메커니즘
- Self-Attention: 문장 내의 각 단어가 다른 모든 단어와의 관계를 스스로 학습. RNN처럼 순차적으로 처리하지 않고 문장 내 모든 단어를 동시에 병렬로 처리할 수 있다는 점이 핵심 차별점
Query, Key, Value
Self-Attention의 계산을 이해하는 핵심 개념이 Query·Key·Value입니다.
- Query(질문): "나와 관련 있는 단어가 누구지?"라고 묻는 값
- Key(단서): 각 단어가 "나는 이런 단어야"라고 스스로를 소개하는 값
- Value(정보): 그 단어가 실제로 담고 있는 의미
Query와 Key를 비교해 관련도 점수를 구하고, 이를 가중치로 변환한 뒤 Value에 곱해 합산하면, 문맥이 반영된 새로운 단어 표현이 만들어집니다.
이 계산을 벡터 차원에 따라 값이 과도하게 커지지 않도록 스케일링한 것이 Scaled Dot-Product Attention이고, 여러 개의 Attention을 병렬로 두어 서로 다른 관계를 동시에 포착하는 것이 Multi-Head Attention입니다.
Transformer Architecture
Transformer는 Attention 메커니즘을 중심으로 설계된 구조로, Encoder와 Decoder로 구성됩니다.
- Encoder: 입력 문장을 이해해 중요한 정보를 추출 (Self-Attention + Feed-Forward)
- Decoder: Encoder가 뽑아낸 정보(Key, Value)를 참고하면서, 앞부분만 보고 다음 단어를 예측 (Masked Self-Attention + Cross-Attention + Feed-Forward)
- Positional Encoding: 모든 단어를 동시에 처리하는 탓에 순서 정보가 사라지므로, 각 단어에 위치 정보를 별도로 더해줌
BERT: Encoder만 떼어 양방향으로
**BERT(Bidirectional Encoder Representations from Transformers)**는 Transformer의 Encoder 부분만 사용해, 문장의 앞뒤 문맥을 모두 고려하는 양방향 학습을 수행합니다.
- Masked Language Model: 입력 토큰의 약 15%를 가리고, 그 자리의 원래 단어를 주변 문맥으로 맞히도록 학습. 정답이 입력에서 제거되어 있어 "자기 자신을 컨닝"하는 문제가 생기지 않습니다.
- NSP(Next Sentence Prediction): 두 문장이 실제로 이어지는 문장인지 판별하며 문장 간 관계도 함께 학습
BERT는 생성보다 "이해"에 특화되어 있어 Decoder가 필요 없으며, 사전학습(Pre-training) 이후 소량의 데이터로 미세조정(Fine-tuning)해 다양한 작업에 활용하는 **전이학습(Transfer Learning)**의 대표 사례가 되었습니다.
7. 규모와 비용의 시대: MoE와 차세대 아키텍처
Transformer가 풀지 못한 것: 이차 비용 문제
Self-Attention은 강력하지만, 토큰 수가 n개일 때 모든 토큰 쌍을 비교해야 하므로 계산량이 대략 **O(n²)**로 증가합니다. 또한 추론 과정에서 과거 토큰의 Key·Value를 계속 저장하는 KV Cache가 입력 길이에 비례해 선형적으로 누적되어, 긴 문맥을 다룰수록 메모리 부담이 커집니다.
정리하면, Transformer는 "정확도를 위해 비용을 기꺼이 부담하는" 설계이고, 이와 반대편에는 "비용을 줄이는 대신 정확도를 일부 희생하는" RNN 계열의 설계 철학이 있습니다.
Linear Recurrent Models: RNN의 재조명
최근에는 RNN의 고정 비용이라는 장점을 가져오되, 과거의 단점(느린 순차 처리, 병렬화 불가)은 없애려는 시도가 이어지고 있습니다.
- State-Space Model(SSM): RNN처럼 과거를 고정 크기 상태로 압축하되, 이 상태 업데이트를 병렬로 계산할 수 있도록 구조를 재설계 (예: Mamba)
- Chunk-wise 병렬화: 긴 시퀀스를 여러 구간(chunk)으로 나누어, chunk 내부는 순차 처리하되 chunk 간에는 병렬로 처리 (예: RetNet)
- DeltaNet: 매번 전체를 새로 계산하지 않고, 새로운 입력이 기존 기억과 다른 만큼(변화분 Δ)만 반영해 상태를 갱신
MoE (Mixture of Experts): 필요한 전문가만 선택하기
MoE는 파라미터 수는 늘리되 실제 연산량은 억제하는 확장 전략입니다. 하나의 거대한 네트워크가 모든 입력을 처리하는 대신, 여러 개의 "전문가(Expert)" 네트워크 중 일부만 선택해 처리합니다.
- Sparsely-Gated MoE: 토큰마다 상위 2개의 Expert를 선택(Top-2 Routing)해 처리
- Switch Transformer: 토큰마다 단 1개의 Expert만 선택하는 단순한 라우팅 구조로, 통신 비용을 크게 줄여 1조 파라미터급 모델까지 확장 가능하게 함
DeepSeekMoE, Qwen3-Next 등 최근 대형 언어모델들이 MoE 구조를 적극적으로 채택하고 있습니다.
Kimi Linear: 하이브리드로 가는 길
Kimi Linear는 이런 흐름들을 결합한 하이브리드 아키텍처로 소개된 사례입니다.
- KDA(Kimi Delta Attention): DeltaNet 방식의 효율적인 선형 어텐션으로 속도와 메모리를 담당
- MLA(Multi-head Latent Attention): 각 토큰의 Key·Value를 압축된 요약본 형태로 저장해, 전체 문맥을 놓치지 않도록 장거리 의존성을 보강
- MoE: Feed-Forward 대신 MoE를 사용해 파라미터 규모를 확장
이처럼 순수 선형 구조도, 순수 Full Attention도 아닌 절충안을 통해 긴 문맥에서도 속도·메모리는 선형 수준을 유지하면서, 품질은 Full Attention에 근접한 수준을 노리는 것이 최근 아키텍처 설계의 방향성입니다.
마무리: 하나의 흐름으로 이해하기
지금까지의 흐름을 한 문장씩으로 정리하면 다음과 같습니다.
- MLP의 한계(공간 구조 소실, 파라미터 폭발, 위치 의존)를 해결하기 위해 CNN(Locality, Weight Sharing, Invariance)과 RNN(가변 길이 처리, 순서 보존, 과거 맥락 기억)이라는 두 갈래의 귀납적 편향이 설계되었다.
- RNN의 기울기 소실 문제를 LSTM의 Cell State와 Gate 구조가 완화했다.
- 정답 없이 배우는 방법으로 Auto-Encoder(압축·복원)와 Seq2Seq(시퀀스 변환)가 등장했다.
- CNN은 AlexNet의 성공 이후 더 깊이 쌓이다가 퇴화 문제에 부딪혔고, ResNet의 Skip Connection이 이를 돌파했다.
- 순차 처리의 병목을 넘기 위해 Self-Attention과 Transformer가 등장했고, 그 Encoder 부분을 활용한 BERT가 문맥 이해의 표준이 되었다.
- Transformer의 O(n²) 비용 문제를 해결하기 위해, 효율을 추구하는 Linear Recurrent Models(SSM, DeltaNet 계열)와 규모를 추구하는 MoE가 각각 발전했고, 최근에는 Kimi Linear처럼 이 둘을 결합한 하이브리드 구조가 시도되고 있다.
'AI' 카테고리의 다른 글
| 머신러닝 및 딥러닝의 이해 - 2. DL (0) | 2026.09.02 |
|---|---|
| 머신러닝 및 딥러닝의 이해 - 1. ML (0) | 2026.09.02 |
| sLLM 서비스 설계 및 PEFT 응용 - 2 (0) | 2026.09.02 |
| sLLM 구현 및 Fine Tuning (1) | 2026.08.31 |
| Agile 방법론 및 MSA 개발 (0) | 2026.08.26 |