통계 실험실 차트
넘스탯 로고

넘스탯

DATA ANALYTICS & INSIGHTS

확률에서 LLM까지 – 데이터 사이언스 전문 교육 플랫폼

학습 메뉴
도움말

모델 성능 비교 실습

MLP vs CNN vs RNN vs Self-Attention — 같은 데이터, 같은 조건에서 브라우저 실제 학습으로 겨루기

원하는 개념·랩·가이드를 검색해보세요

Ctrl K
딥러닝 실습실로딥러닝 이론 학습

같은 데이터를 놓고, 네 개의 모델이 서로 다른 방식으로 바라본다

딥러닝 아키텍처는 성능 순위표가 아니라 "데이터가 어떤 구조를 가졌는가"에 대한 가정(귀납 편향, inductive bias)의 목록입니다. CNN은 "가까운 픽셀끼리 관련 있다"고 가정하고, RNN은 "순서가 의미를 만든다"고 가정합니다. 이 실습에서는 같은 이미지 분류 문제에 네 아키텍처를 동시에 학습시켜, 가정이 데이터와 맞을 때와 어긋날 때 무슨 일이 생기는지 직접 확인합니다.
이 페이지에서 배우고 나면
  • MLP·CNN·RNN·Self-Attention이 같은 8×8 이미지를 각각 어떤 순서와 단위로 읽는지 설명할 수 있습니다.
  • 손실 곡선·파라미터 수·테스트 정확도를 함께 읽고 "이 데이터에는 어떤 귀납 편향이 유리했는가"를 근거를 들어 판단할 수 있습니다.
  • 새로운 문제를 만났을 때 "데이터가 이미지형인가, 순차형인가, 표 형식인가"를 기준으로 후보 아키텍처를 골라낼 수 있습니다.
네 가지 시선 — 같은 8×8 이미지를 각자 다르게 읽는다

학습을 시작하기 전에, 네 모델이 같은 입력을 어떤 가정으로 읽는지부터 확인하세요. 네 모델 모두 배우는 원리는 같습니다(역전파 + 경사하강법) — 다른 것은 "입력을 읽는 가정"뿐입니다.

MLP (다층 퍼셉트론)

64개 픽셀을 한 줄로 펴서 본다

8×8 이미지를 길이 64의 벡터로 펼쳐 처리합니다. "어떤 픽셀이 어떤 픽셀 옆에 있는지"라는 공간 정보를 전혀 가정하지 않습니다. 구조: 64 → 32(ReLU) → 4.

CNN (합성곱 신경망)

3×3 필터를 이미지 전체에 미끄러뜨린다

같은 3×3 필터 8개를 모든 위치에 재사용(가중치 공유)하고, 전역 최대 풀링으로 "필터가 어디서든 반응했는가"만 남깁니다. 패턴의 위치가 바뀌어도 같은 패턴으로 인식하는 구조적 가정이 내장됩니다. 구조: 3×3 conv ×8(ReLU) → 전역 최대 풀링 → 4.

RNN (순환 신경망)

한 행(8픽셀)씩 위에서 아래로 순서대로 읽는다

이미지의 8개 행을 8개의 타임스텝으로 취급해, 행을 하나 읽을 때마다 은닉 상태(기억)를 갱신합니다. "순서가 의미를 만든다"는 가정입니다. 참고: 이미지에 RNN을 쓰는 것은 실무에서 드문 비전형적 사용으로, 여기서는 비교 실험 장치입니다. 구조: Elman RNN, 은닉 16(tanh) → 4.

Self-Attention 분류기 (단순화한 Transformer 인코더)

모든 행 쌍의 관련도를 어텐션으로 계산한다

8개 행을 8개의 토큰으로 보고, 단일 헤드 self-attention으로 모든 행 쌍의 관련도를 학습합니다. 구조에 대한 가정이 가장 적어 관계를 전부 데이터에서 배워야 합니다. 원 논문 대비 단순화: 단일 헤드(원본 멀티헤드)·단일 블록(원본 6층)·FFN 생략·LayerNorm 생략·학습 위치 임베딩. 구조: d_model=16, 잔차 연결 + 평균 풀링 → 4.

과제: 8×8 이미지 4클래스 분류
십자 (+)
엑스 (X)
사각 테두리
티 (T)
5×5 도형이 16가지 위치 중 한 곳에 무작위 배치되고 가우시안 노이즈(σ=0.15)가 더해집니다.
실험 설정
참가 모델
클래스당 학습 데이터
테스트 방식
미학습 위치: 학습에는 좌상단 9가지 위치만 사용하고, 테스트는 학습 때 본 적 없는 나머지 7가지 위치로 평가합니다 (일반화 시험). 공통 조건: Adam(학습률 0.005), 배치 16, 40 에폭, 교차 엔트로피 손실, 테스트 80장. 모델별 하이퍼파라미터 튜닝은 하지 않았습니다.
직접 해보기 — 실습 과제
  1. 파라미터 수와 성능은 비례하는가: MLP와 CNN만 켜고 "미학습 위치"로 학습하세요. 파라미터 수를 먼저 확인한 뒤(MLP 2,212개 vs CNN 116개) 테스트 정확도를 비교하세요. 파라미터가 19배 적은 CNN이 크게 앞서는 경향이 있습니다 — "가까운 픽셀끼리 관련 있다"는 가정 덕분에 같은 필터를 재사용해 적은 파라미터로 배우기 때문입니다.
  2. 암기와 일반화 구분하기: 테스트 방식을 "동일 분포"와 "미학습 위치"로 바꿔가며 두 번 실행하세요. 학습 정확도는 두 경우 모두 100% 부근인데, 미학습 위치 테스트에서는 모델 간 격차가 크게 벌어집니다. 학습 데이터를 다 맞히는 것(암기)과 본 적 없는 입력을 맞히는 것(일반화)은 전혀 다른 능력입니다.
  3. 픽셀 셔플 — 가정이 틀리면 족쇄가 된다: 픽셀 셔플을 켜고 4개 모델을 다시 학습시키세요. MLP는 성적이 거의 변하지 않지만 CNN은 크게 떨어집니다. MLP는 애초에 위치 관계를 가정하지 않아 잃을 것이 없고, CNN은 "이웃 픽셀" 가정이 깨지면 강점이 사라집니다. 귀납 편향은 가정이 맞으면 무기, 틀리면 족쇄입니다.
  4. Attention은 왜 여기서 안 빛나는가: Attention(단순화)의 곡선과 테스트 정확도를 관찰하고, 클래스당 데이터를 25장 → 100장으로 늘려 변화를 보세요. 구조에 대한 가정이 가장 적은 모델은 "무엇이 무엇과 관련 있는지"를 전부 데이터에서 배워야 하므로 데이터가 적으면 불리한 경향이 있습니다. 이 결과를 "Transformer는 약하다"로 읽으면 안 되는 이유를 아래 연표의 ViT(2021) 항목에서 확인하세요.
  5. 실행 버튼을 한 번 더: 아무것도 바꾸지 말고 같은 설정으로 2~3회 반복 실행한 뒤 "실행 기록" 표에서 순위가 유지되는지 확인하세요. 초기 가중치가 무작위이므로 순위가 뒤집히는 실행도 나옵니다. 한 번의 실험으로 "A가 B보다 낫다"고 결론 내릴 수 없는 이유이자, 논문들이 여러 시드의 평균±표준편차를 보고하는 이유입니다.
귀납 편향(inductive bias) 비교

네 모델 모두 배우는 원리는 같습니다 — 역전파로 기울기를 구하고 경사하강법으로 가중치를 고칩니다. 다른 것은 "입력을 읽는 구조적 가정"뿐이며, 이 가정이 데이터와 맞을수록 적은 데이터로 빨리, 잘 일반화합니다.

모델구조적 가정 (귀납 편향)가정이 유리한 데이터대표 사례
MLP거의 없음 — 모든 입력 차원을 동등하게 취급특별한 공간·순차 구조가 없는 벡터 데이터표 형식 데이터의 기본 신경망
CNN지역성 + 가중치 공유에 의한 평행이동 등변성(equivariance), 풀링이 근사적 불변성(invariance)에 기여이미지 등 공간 구조 데이터LeNet-5, AlexNet, ResNet
RNN순차 의존성 — 순서가 의미를 만들고, 현재는 과거에 의존시계열·언어 등 순차 데이터LSTM 기반 음성 인식·번역 (2010년대 중반)
Transformer가정 최소 — 모든 토큰 쌍의 관계를 어텐션으로 학습. 학습은 병렬화 가능하나 어텐션 비용은 시퀀스 길이의 제곱(O(n²))대규모 데이터 + 장거리 의존성 (데이터가 적으면 불리한 경향)GPT·BERT 등 LLM, ViT
참고: Transformer도 자기회귀 생성(추론) 시에는 토큰을 순차적으로 만들어냅니다 — 병렬화 이점은 학습 단계 이야기입니다. 엄밀히는 CNN의 등변성도 패딩 경계·스트라이드 때문에 완벽하지 않습니다.
아키텍처의 역사 — 새로운 가정의 발명사

연대순은 우열순이 아닙니다 — 각 시대는 새로운 데이터와 새로운 가정을 발명했을 뿐입니다.

1986

역전파 학습의 대중화 — 다층 신경망을 실용적으로 학습시키는 방법이 널리 알려짐 (알고리즘 자체는 Linnainmaa 1970, Werbos 1974 등 이전 연구가 존재)

Rumelhart, Hinton & Williams, Nature
1990

Elman RNN — 순환 연결로 시퀀스의 시간 구조를 학습

Elman, Cognitive Science
1997

LSTM — 게이트 구조로 RNN의 기울기 소실 문제를 완화 (문제 자체의 분석은 Hochreiter 1991, Bengio et al. 1994)

Hochreiter & Schmidhuber, Neural Computation
1998

LeNet-5 — 합성곱+풀링 구조를 손글씨 숫자 인식에 적용, 수표 판독에 상용화

LeCun, Bottou, Bengio & Haffner, Proc. IEEE
2012

AlexNet — ILSVRC 2012 우승 (top-5 오류율 15.3%, 2위 26.2%), 딥러닝 붐의 기폭제

Krizhevsky, Sutskever & Hinton, NeurIPS
2017

Transformer — 순환 구조를 제거하고 self-attention만으로 기계 번역 최고 성능(WMT 2014 영→독 28.4 BLEU), 학습 병렬화 가능

Vaswani et al., NeurIPS
2021

ViT — 이미지를 패치 토큰으로 잘라 Transformer로 분류. 대규모 사전학습 시 CNN을 능가하지만, 중소규모 데이터 단독 학습에서는 CNN보다 열세임을 논문 스스로 보고

Dosovitskiy et al., ICLR
데이터 유형별 모델 선택 가이드
  • 이미지: CNN이 기본 선택. 대규모 데이터·사전학습을 활용할 수 있으면 ViT 계열도 강력합니다 (Dosovitskiy et al., 2021).
  • 시계열·순차 데이터: LSTM/GRU 같은 RNN 계열, 또는 Transformer. 시퀀스가 길고 데이터가 많다면 Transformer가 유리한 경우가 많습니다.
  • 자연어: 현재 표준은 Transformer입니다 (GPT·BERT 등).
  • 표 형식(tabular) 데이터: 중간 규모(수천~수만 행)에서는 그래디언트 부스팅 등 트리 기반 모델이 딥러닝보다 흔히 우수하다는 벤치마크 연구가 있습니다 (Grinsztajn et al., NeurIPS 2022). 신경망부터 꺼내지 말고 트리 모델을 먼저 검토하세요.
  • 공통 원칙: 만능 최강 아키텍처는 없습니다. 데이터의 구조와 양에 맞는 귀납 편향을 고른 모델이 이깁니다 — 이것이 이 실습에서 정직하게 끌어낼 수 있는 일반 교훈입니다.
더 깊이 학습하기
  • Rumelhart, Hinton & Williams (1986), Nature: "Learning representations by back-propagating errors" — 역전파 학습의 대중화
  • LeCun et al. (1998), Proc. IEEE: "Gradient-Based Learning Applied to Document Recognition" — LeNet-5와 CNN의 실용화
  • Hochreiter & Schmidhuber (1997), Neural Computation: "Long Short-Term Memory" — LSTM 원논문
  • Krizhevsky, Sutskever & Hinton (2012), NeurIPS: "ImageNet Classification with Deep Convolutional Neural Networks" — AlexNet
  • Vaswani et al. (2017), NeurIPS: "Attention Is All You Need" — Transformer 원논문
  • Dosovitskiy et al. (2021), ICLR: "An Image is Worth 16x16 Words" — ViT, 데이터 규모와 귀납 편향의 관계
  • Grinsztajn, Oyallon & Varoquaux (2022), NeurIPS D&B: "Why do tree-based models still outperform deep learning on typical tabular data?"