2015년 신경망 교재를 2026년에 다시 읽기: 고전 ANN에서 Transformer까지
SOM·Hopfield·역전파·CNN·RNN·NEAT의 핵심을 하나의 학습 지도에 놓고, ResNet·AdamW·Transformer·운영 MLOps까지 연결해 다시 공부합니다.
이 글은 Jeff Heaton의 Artificial Intelligence for Humans, Volume 3를 출발점으로 삼되, 책의 문장·그림·코드를 복제하지 않고 공개된 1차 문헌과 새로 만든 수식·도식·예제로 재구성한 학습 노트입니다. 2015년의 설명을 역사적 맥락에 놓고, 2026년에도 유효한 원리와 반드시 업데이트해야 할 부분을 분리합니다.
먼저 결론: 구조 이름보다 네 가지 질문을 붙잡는다
신경망을 공부할 때 SOM, Hopfield, MLP, CNN, RNN, Transformer를 서로 다른 암기 과목으로 보면 금방 길을 잃습니다. 모델마다 다음 네 질문을 반복하면 공통 구조가 보입니다.
- 표현: 입력을 어떤 내부 상태나 특징으로 바꾸는가?
- 목적함수: 무엇을 잘했다고 정의하고 어떤 오차를 줄이는가?
- 최적화: 파라미터를 어떤 신호와 규칙으로 갱신하는가?
- 일반화: 학습하지 않은 데이터와 운영 환경에서도 성능이 유지되는가?
고전 교재의 가치는 이 네 질문이 여러 계열의 모델에서 어떻게 달라지는지 한 번에 볼 수 있다는 데 있습니다. 반면 현대 실무에서는 모델 정확도만으로 끝나지 않습니다. 데이터 누수, 재현성, 지연, 비용, drift, 롤백 가능성까지 포함해야 비로소 하나의 시스템입니다.
책을 한 장의 지도로 다시 배치하기
책이 다루는 큰 축은 자기조직화 지도, 연상기억과 에너지 기반 모델, 순전파 신경망, 오차역전파와 여러 학습 규칙, 진화적 구조 탐색, CNN, 가지치기와 정규화, 순환신경망·GRU, 구조 선택과 시각화입니다. 개별 장 순서보다 다음 지도처럼 계열과 질문으로 묶어 읽는 편이 오래 남습니다.
그림 1. 모델 이름을 나열하지 않고 표현·목적함수·최적화·일반화라는 공통 질문으로 묶은 지도입니다. 화살표는 직접적인 계보 전체가 아니라 학습 개념을 연결하기 위한 단순화입니다.
| 계열 | 내부 표현 | 학습 신호 | 지금도 배울 이유 |
|---|---|---|---|
| SOM | 격자 위 prototype과 이웃 관계 | 승자와 이웃을 입력 쪽으로 이동 | 군집 결과의 topology와 거리 보존을 생각하게 함 |
| Hopfield | 뉴런 상태와 대칭 가중치 | 에너지가 낮아지는 상태 전이 | 연상기억, attractor, 에너지 관점의 기초 |
| Boltzmann 계열 | 확률적 상태와 에너지 | 관측·모델 분포의 차이 | 생성모델과 확률적 표현의 역사적 토대 |
| MLP | 층을 거치며 합성된 비선형 특징 | 미분 가능한 손실의 gradient | 현대 신경망의 기본 계산 그래프 |
| CNN | 국소 연결과 가중치 공유 | 분류·회귀·검출 손실 | 공간적 귀납 편향과 효율적인 파라미터 공유 |
| RNN·GRU | 순서에 따라 갱신되는 은닉 상태 | 시간축 역전파 | 상태, 기억, 긴 의존성의 어려움 이해 |
| NEAT | 가중치뿐 아니라 연결 topology | 적합도와 진화 연산 | 구조 탐색과 복잡도 증가 전략을 분리해 사고 |
한 뉴런에서 계산 그래프까지
가장 단순한 뉴런은 입력 x, 가중치 w, 편향 b로 점수를 만들고 활성화 함수 phi를 적용합니다.
z = w · x + b
a = phi(z)
여러 층은 이 변환을 합성합니다.
h1 = phi(W1 x + b1)
h2 = phi(W2 h1 + b2)
y_hat = g(W3 h2 + b3)
핵심은 “뉴런을 많이 쌓았다”가 아니라 파라미터가 있는 미분 가능한 계산 그래프를 만들고, 끝의 손실이 각 파라미터에 얼마나 민감한지를 연쇄법칙으로 계산한다는 것입니다. 역전파는 특정 모델 이름이 아니라 이 gradient를 효율적으로 재사용해 계산하는 절차입니다.
그림 2. 학습은 순전파와 가중치 갱신만이 아니라 독립된 검증·테스트와 배포 기준까지 포함하는 닫힌 루프입니다.
작은 예제로 보는 연쇄법칙
스칼라 입력 하나에 대해 y_hat = w x + b이고 제곱오차를 L = 1/2 (y_hat - y)^2로 두면 다음과 같습니다.
dL/dy_hat = y_hat - y
dy_hat/dw = x
dy_hat/db = 1
dL/dw = (y_hat - y) x
dL/db = (y_hat - y)
층이 늘어나도 원리는 같습니다. 각 연산이 자신의 국소 미분을 제공하고, 뒤에서 전달된 gradient와 곱합니다. 실전 프레임워크의 자동미분은 이 계산 그래프와 중간값을 관리합니다.
학습 규칙을 혼동하지 않기
비슷해 보이는 규칙도 최적화 대상이 다릅니다.
| 규칙 | 대표 목적 | 갱신이 일어나는 조건 | 중요한 성질 |
|---|---|---|---|
| Perceptron rule | 선형 이진 분류 | 오분류된 샘플 | 선형 분리 가능하면 유한 갱신 수 안에 separator 발견 |
| Delta/LMS | 연속 출력의 제곱오차 | 모든 샘플의 오차 | 선형 모델에서는 convex quadratic 최적화 |
| Backpropagation | 다층 계산 그래프의 손실 | mini-batch gradient | 연쇄법칙으로 모든 층의 gradient 계산 |
| SGD + momentum | noisy gradient 최적화 | mini-batch마다 | 관성과 학습률 schedule이 중요 |
| Adam | 1·2차 moment의 이동 추정 | mini-batch마다 | scale이 다른 noisy gradient에 실용적 |
| AdamW | gradient update와 weight decay 분리 | mini-batch마다 | adaptive optimizer에서 규제 의미를 더 명확히 유지 |
“역전파로 학습한다”와 “gradient를 어떤 옵티마이저로 적용한다”도 구분해야 합니다. 역전파는 gradient 계산이고, SGD·Adam·AdamW는 그 gradient로 파라미터를 이동시키는 규칙입니다.
정규화·규제·일반화: 정확히 고쳐 읽을 부분
L1과 L2의 의미
L1 penalty = lambda * sum(|w_j|)
L2 penalty = lambda * sum(w_j^2)
L1은 0에서 뾰족한 penalty 때문에 일부 가중치를 정확히 0으로 보내는 sparsity를 유도하기 쉽습니다. Bayesian MAP 관점에서는 L1이 Laplace prior, L2가 Gaussian prior와 연결됩니다. 이 대응을 반대로 외우면 안 됩니다.
또한 L2 penalty와 weight decay는 일반 SGD에서는 밀접하지만 adaptive optimizer에서는 항상 같은 업데이트가 아닙니다. AdamW는 decay를 gradient 기반 업데이트와 분리해 이 차이를 명시적으로 다룹니다.
dropout, early stopping, data augmentation
- Dropout은 학습 중 일부 activation을 무작위로 제거하지만, 추론 시에는 결정론적 네트워크로 사용합니다.
- Early stopping은 검증 성능이 악화되기 전에 학습을 멈춰 최적화 시간을 규제로 사용합니다.
- Data augmentation은 모델이 실제로 보아야 할 불변성이나 변동을 데이터 분포에 주입합니다. 잘못된 augmentation은 라벨 의미를 깨뜨릴 수 있습니다.
- Batch normalization은 mini-batch 통계를 사용하는 학습/추론 상태 차이를 만듭니다. 작은 batch, 분산 학습, domain shift에서는 이 통계가 새 위험이 될 수 있습니다.
“깊다”는 층 수 하나로 정의되지 않는다
몇 층부터 deep learning이라고 부르는지는 본질적인 경계가 아닙니다. 중요한 것은 표현이 여러 단계로 합성되고, 그 깊이를 실제로 최적화할 수 있는 경로와 데이터·계산 자원이 있는가입니다. Residual connection은 층이 직접 전체 함수를 다시 배우기보다 입력에 더할 residual을 배우게 해 매우 깊은 네트워크의 최적화를 쉽게 만들었습니다.
CNN과 RNN을 귀납 편향으로 이해하기
CNN은 이미지가 “가까운 위치끼리 관련 있고, 같은 pattern이 다른 위치에도 나타난다”는 가정을 구조에 넣습니다. 국소 receptive field와 weight sharing은 완전연결층보다 파라미터를 줄이고 translation에 대한 유용한 성질을 줍니다. 다만 pooling이나 convolution이 모든 종류의 기하학적 불변성을 자동 보장하지는 않습니다.
RNN은 이전 은닉 상태를 다음 시점에 전달합니다.
h_t = phi(W_x x_t + W_h h_(t-1) + b)
시간축으로 같은 변환을 반복하므로 긴 sequence에서는 gradient가 반복 곱을 거치며 사라지거나 폭발할 수 있습니다. LSTM과 GRU의 gate는 무엇을 유지하고 버릴지 학습하는 경로를 도입합니다. 그러나 순차 계산의 병렬화 한계는 attention 기반 Transformer가 크게 부상한 이유 중 하나입니다.
2015년 지도에서 2026년 실무로 이어 붙이기
| 2015년까지의 핵심 | 이후 반드시 연결할 개념 | 연결되는 이유 |
|---|---|---|
| 깊은 MLP·CNN | Residual connection | 깊이에 따른 최적화 난도를 우회하는 경로 |
| SGD·momentum | Adam·AdamW, schedule | noisy·sparse gradient와 decay 처리 |
| RNN·GRU | self-attention·Transformer | 장거리 상호작용과 병렬 학습 |
| 단일 task 학습 | pretraining·transfer·fine-tuning | 표현 재사용과 적은 downstream 데이터 |
| 정확도 중심 평가 | calibration·robustness·fairness | 같은 정확도라도 실패 비용이 다름 |
| 로컬 실험 | lineage·registry·reproducibility | 어떤 데이터·코드·환경이 모델을 만들었는지 추적 |
| 한 번의 배포 | shadow·canary·rollback·drift | 운영 분포는 학습 분포와 계속 달라짐 |
Transformer가 RNN의 모든 생각을 폐기한 것은 아닙니다. 상태, 순서, memory, inductive bias라는 질문은 그대로 남고 구현 선택이 달라졌습니다. 마찬가지로 foundation model을 사용해도 task 정의, 데이터 품질, loss, 평가, 운영 guardrail은 사라지지 않습니다.
모델이 아니라 운영 가능한 시스템을 설계한다
그림 3. 현대 ML 시스템의 단위는 모델 파일 하나가 아니라 데이터 계약부터 모니터링·롤백까지 이어지는 운영 루프입니다.
데이터 계약
- 관측 시점: 예측 시점에 실제로 알 수 있었던 feature만 사용했는가?
- 라벨 정의: 라벨이 제품 목표와 같은가, 단지 측정하기 쉬운 proxy인가?
- 분할 단위: 같은 사용자·세션·장면이 train과 test 양쪽에 섞이지 않았는가?
- 권한과 보존: 학습 목적과 보관 기간이 원본 데이터의 권한 범위 안에 있는가?
- lineage: 데이터 snapshot, feature code, model artifact를 다시 연결할 수 있는가?
평가 계약
전체 평균 하나 대신 중요한 slice를 분리합니다. class imbalance가 크면 accuracy는 거의 의미가 없을 수 있습니다. precision, recall, PR-AUC, calibration, 비용 가중 metric을 제품 실패 비용에 맞춰 선택합니다. offline 개선이 실제 사용자 가치로 이어지는지는 shadow 또는 제한된 canary에서 latency·오류·비용과 함께 확인합니다.
운영 계약
배포 시에는 모델 버전, 입력 schema, feature version을 함께 고정합니다. 관측 항목은 예측 품질만이 아니라 입력 결측, 범위 위반, drift, p95/p99 지연, GPU·CPU·memory, 요청당 비용, fallback 비율을 포함합니다. 문제가 생기면 즉시 이전 모델이나 규칙 기반 fallback으로 돌아갈 수 있어야 합니다.
직접 구현하며 공부하는 6단계
- 선형 분류기: perceptron과 logistic regression을 같은 2D 데이터에 구현하고 decision boundary를 그립니다.
- 작은 MLP: 자동미분 없이 2층 MLP의 forward/backward를 수치 gradient와 비교합니다.
- CNN 귀납 편향: 완전연결 모델과 작은 CNN의 파라미터 수·성능·translation 민감도를 비교합니다.
- sequence 모델: 같은 toy task에 RNN·GRU·attention을 적용하고 학습 시간과 긴 sequence 오류를 비교합니다.
- 규제 실험: L1, L2, dropout, augmentation을 한 번에 섞지 말고 하나씩 ablation합니다.
- 운영 실험: 학습 데이터의 한 feature 분포를 의도적으로 바꾸고 drift alert, fallback, rollback runbook을 작성합니다.
각 실험은 seed 하나의 최고 점수보다 여러 seed의 분산, 데이터 split, 학습 곡선, 실패 사례를 남겨야 합니다. 결과가 좋지 않은 실험도 가설과 조건이 재현되면 지식입니다.
읽을 때 표시해야 할 사실·추론·가설
| 표식 | 의미 | 예시 |
|---|---|---|
| 관측 사실 | 데이터나 실행으로 직접 확인 | validation loss가 epoch 12 이후 증가 |
| 문헌 사실 | 원 논문이 특정 조건에서 보고 | residual network가 해당 benchmark에서 최적화 개선 |
| 추론 | 관측으로부터 가장 그럴듯한 설명 | augmentation이 domain gap을 줄였을 가능성 |
| 가설 | 다음 실험으로 검증해야 할 주장 | label noise 정제가 recall을 높일 것이다 |
이 구분은 오래된 자료를 읽을 때 특히 중요합니다. 당시의 benchmark 결과를 오늘의 모든 문제에 일반화하면 안 되고, 지금 널리 쓰인다는 사실을 특정 환경의 최적 선택으로 오해해서도 안 됩니다.
마무리
고전 신경망을 다시 읽는 가장 좋은 이유는 최신 모델 이름을 예언했기 때문이 아닙니다. 표현을 만들고, 목적함수를 정하고, 최적화하고, 일반화를 검증하는 문제의 뼈대가 선명하기 때문입니다.
2026년의 학습자는 여기에 residual path, adaptive optimization, attention, pretraining뿐 아니라 데이터 계약·재현성·관측·롤백을 덧붙여야 합니다. 모델을 이해한다는 것은 수식을 설명하는 데서 끝나지 않고, 어떤 조건에서 실패하며 그 실패를 어떻게 발견하고 되돌릴지 말할 수 있다는 뜻입니다.
참고 자료
- Jeff Heaton — Artificial Intelligence for Humans, Volume 3 공식 페이지
- Rumelhart, Hinton, Williams — Learning representations by back-propagating errors
- LeCun et al. — Gradient-Based Learning Applied to Document Recognition
- Ioffe & Szegedy — Batch Normalization
- He et al. — Deep Residual Learning for Image Recognition
- Kingma & Ba — Adam
- Loshchilov & Hutter — Decoupled Weight Decay Regularization
- Vaswani et al. — Attention Is All You Need