인공신경망의 학습 원리
신경망의 순전파·역전파와 학습 안정화·규제 방법을 익힌다.
핵심 요약
인공신경망은 입력층, 하나 이상의 은닉층과 출력층으로 구성된다. 각 층은 이전 층의 출력에 가중치를 곱하고 편향을 더한 아핀 변환 뒤 활성화함수를 적용한다. 활성화가 모두 선형이면 여러 층의 합성도 하나의 아핀 변환으로 축약되므로, 은닉층의 비선형 활성화가 복잡한 결정경계와 상호작용을 표현하게 한다.
학습에서는 순전파로 예측과 손실을 계산하고, 역전파로 연쇄법칙에 따라 각 파라미터의 기울기를 구한다. SGD·Adam 같은 최적화 알고리즘은 그 기울기로 가중치와 편향을 갱신한다. 역전파와 최적화는 같은 단계가 아니다.
학습 목표
- 층별 가중치·편향·활성값의 차원과 파라미터 수를 계산한다.
- 문제 유형에 맞는 출력 활성화와 손실함수 조합을 선택한다.
- 순전파·손실·역전파·최적화의 순서와 역할을 구분한다.
- 배치·스텝·에포크와 학습 파라미터·하이퍼파라미터를 구분한다.
- 기울기 소실·폭주, 과대적합, 확률 보정과 재현성 문제를 진단한다.
1. 층과 노드의 계산
a⁽⁰⁾=x를 입력이라 하면 l번째 층은 다음처럼 계산한다.
z⁽ˡ⁾ = W⁽ˡ⁾a⁽ˡ⁻¹⁾ + b⁽ˡ⁾
a⁽ˡ⁾ = f⁽ˡ⁾(z⁽ˡ⁾)
W: 학습되는 가중치 행렬b: 학습되는 편향 벡터z: 활성화 전 선형결합에 편향을 더한 값a: 활성화함수를 지난 층의 출력
가중합에 편향이 포함된 변환은 엄밀히 말해 선형변환이 아니라 아핀 변환이다. 다만 학습 문맥에서는 관습적으로 ‘선형층’이라고 부르기도 한다.
파라미터 수 계산
완전연결층에서 입력 노드 수가 m, 출력 노드 수가 h이면 가중치 mh개와 편향 h개, 총 (m+1)h개다.
입력 3개 → 은닉 4개 → 출력 2개인 완전연결 신경망은 다음과 같다.
입력→은닉: 3×4 + 4 = 16
은닉→출력: 4×2 + 2 = 10
총 파라미터: 26
파라미터는 데이터로 학습되는 W,b이고, 층 수·노드 수·학습률·배치크기 같은 값은 사람이 설정하거나 탐색하는 하이퍼파라미터다.
2. 활성화함수
| 함수 | 정의·범위 | 장점 | 주의점 |
|---|---|---|---|
| ReLU | max(0,z), [0,∞) | 계산이 단순하고 양수 영역 기울기 유지 | 음수 영역 기울기 0, 죽은 ReLU 가능 |
| Leaky ReLU | max(az,z), 보통 0<a<1 | 음수 영역에도 작은 기울기 | a 선택 필요 |
| sigmoid | 1/(1+e⁻ᶻ), (0,1) | 이진 출력 확률에 적합 | 양끝 포화에서 기울기 소실 가능 |
| tanh | (eᶻ-e⁻ᶻ)/(eᶻ+e⁻ᶻ), (-1,1) | 0 중심 출력 | 양끝 포화에서 기울기 소실 가능 |
은닉층에서는 ReLU 계열이 흔하지만 항상 최선인 것은 아니다. 출력층 활성화는 목표와 손실함수에 맞춘다.
3. 출력층과 손실함수
| 문제 | 출력층 | 대표 손실 | 해석·주의 |
|---|---|---|---|
| 이진 분류 | 노드 1개 + sigmoid | 이진 교차엔트로피 | `P(Y=1 |
| 서로 배타적인 K범주 | 노드 K개 + softmax | 범주형 교차엔트로피 | 확률 합 1; 정답 범주 인코딩 확인 |
| 독립적인 여러 라벨 | 라벨별 sigmoid | 라벨별 이진 교차엔트로피 합 | softmax를 쓰면 라벨 간 배타성을 강제함 |
| 회귀 | 선형 출력 | MSE·MAE 등 | 목표 범위와 이상치 민감도 확인 |
softmax는 로짓 zₖ를 다음 확률로 바꾼다.
pₖ = exp(zₖ) / Σⱼexp(zⱼ), Σₖpₖ=1
구현에서는 큰 로짓의 지수 오버플로를 막기 위해 최댓값을 빼거나, 로짓과 교차엔트로피를 결합한 수치적으로 안정적인 함수를 사용한다. 이미 sigmoid·softmax를 포함한 손실에 출력 활성화를 다시 적용하지 않는다.
4. 순전파·역전파·최적화
flowchart TD
A["미니배치 입력"] --> B["순전파: 예측"]
B --> C["손실 계산"]
C --> D["역전파: 기울기"]
D --> E["최적화: 파라미터 갱신"]
E --> A
- 순전파: 현재 파라미터로 층별
z,a와 예측값을 계산한다. - 손실 계산: 예측과 정답의 차이를 스칼라 목적함수로 만든다.
- 역전파: 출력에서 입력 방향으로 연쇄법칙을 적용해
∂L/∂W,∂L/∂b를 계산한다. - 최적화: 계산된 기울기와 학습률·모멘텀 등을 사용해 파라미터를 갱신한다.
기본 경사하강 갱신은 다음과 같다.
θnew = θold - η∇θL
η가 너무 크면 손실이 진동·발산할 수 있고 너무 작으면 수렴이 매우 느리다. Adam은 파라미터별 1·2차 모멘트 추정으로 갱신 크기를 조절하지만, 최적 학습률 선택과 일반화 검증이 여전히 필요하다.
단일 sigmoid 뉴런 계산
입력 x=2, 가중치 w=0.5, 편향 b=0, 정답 y=1이라고 하자.
z = wx+b = 1
p = sigmoid(1) ≈ 0.7311
L = -ln(p) ≈ 0.3133
sigmoid와 이진 교차엔트로피를 결합하면 ∂L/∂z=p-y로 단순화된다.
∂L/∂w = (p-y)x ≈ (0.7311-1)×2 = -0.5379
wnew = 0.5 - 0.1×(-0.5379) ≈ 0.5538
학습률 0.1의 한 번 갱신에서 w가 증가해 정답 1의 예측확률을 높이는 방향임을 확인할 수 있다. 부호까지 검산해야 한다.
5. 배치·스텝·에포크
| 용어 | 의미 |
|---|---|
배치크기 B | 한 번의 기울기 계산·갱신에 사용하는 표본 수 |
| 스텝 또는 iteration | 한 미니배치로 한 번 파라미터를 갱신한 횟수 |
| 에포크 | 전체 훈련 데이터를 대체로 한 번 사용한 주기 |
훈련 표본이 n개라면 마지막 작은 배치를 포함할 때 한 에포크의 스텝 수는 보통 ceil(n/B)다. B=1은 확률적 경사하강, B=n은 전체 배치, 그 사이는 미니배치 학습이다.
작은 배치는 기울기 잡음이 크지만 메모리 요구가 작고, 큰 배치는 처리 병렬성이 좋지만 메모리 요구가 크다. 배치크기를 바꾸면 적절한 학습률과 정규화 동작도 달라질 수 있어 함께 검증한다.
6. 초기화와 기울기 문제
모든 은닉 노드의 가중치를 같은 값, 특히 0으로 초기화하면 같은 층의 노드가 같은 기울기로 갱신되는 대칭성 문제가 생겨 서로 다른 특징을 배우기 어렵다. 가중치는 난수로 초기화하고, 활성화함수에 따라 Xavier/Glorot 또는 He 초기화를 검토한다. 편향은 0으로 시작할 수 있지만 구조와 구현을 확인한다.
| 문제 | 대표 징후 | 원인·대응 |
|---|---|---|
| 기울기 소실 | 앞쪽 층 기울기가 0에 가까워 학습 정체 | 포화 sigmoid/tanh, 깊은 연쇄; ReLU 계열·Xavier/He·잔차 연결·정규화 검토 |
| 기울기 폭주 | 손실 NaN, 큰 기울기·가중치, 불안정 | 반복 곱·큰 학습률; 초기화·학습률·기울기 클리핑 검토 |
| 죽은 ReLU | 특정 노드가 계속 0 출력 | 음수 영역 고착; 학습률·초기화·Leaky ReLU 검토 |
기울기 클리핑은 폭주를 제한하지만 잘못된 데이터·손실·학습률의 원인을 자동으로 해결하지는 않는다. 학습 중 기울기 크기와 활성값 분포를 함께 확인한다.
7. 과대적합과 안정화
| 방법 | 학습 시 동작 | 추론·주의점 |
|---|---|---|
| 조기종료 | 검증 손실이 개선되지 않으면 중단 | patience와 최선 가중치 복원 기준을 훈련·검증에서 결정 |
| 드롭아웃 | 노드를 무작위로 비활성화하고 구현에 따라 스케일 조정 | 추론에서는 비활성화하지 않고 결정론적으로 사용 |
| 가중치 감쇠 | 큰 가중치를 억제하는 방향으로 갱신 | 너무 강하면 과소적합; optimizer의 구현 의미 확인 |
| 배치정규화 | 미니배치 통계로 활성값을 정규화하고 이동·축척 학습 | 추론에서는 누적 이동통계를 사용; 작은 배치에 민감 가능 |
| 데이터 증강 | 의미를 보존하는 변형을 훈련 자료에 적용 | 검증·테스트에는 확률적 훈련 증강을 그대로 적용하지 않음 |
훈련 손실은 계속 낮아지는데 검증 손실이 상승하면 과대적합을 의심한다. 조기종료 에포크를 테스트 결과로 바꾸면 테스트 누수다. 모델 크기·규제 강도·증강·조기종료는 훈련 데이터 내부의 검증 또는 교차검증으로 선택한다.
8. 평가·재현성과 누수 방지
- 분류: 혼동행렬, 정밀도·재현율·F1, ROC-AUC·PR-AUC, 로그손실을 목적에 맞게 사용한다.
- 회귀: MAE·RMSE 등을 사용하고 목표 스케일을 함께 보고한다.
- 확률 사용: 판별력과 별도로 Brier 점수·보정곡선을 확인한다.
- 불균형: 정확도만 보지 않고 클래스 가중치·재표본추출은 훈련 폴드 안에서 적용한다.
- 전처리: 표준화·결측 대체·특성 선택의 통계량은 훈련 폴드에서만 학습한다.
- 재현성: 난수 시드를 기록하되 GPU·병렬 연산은 완전 결정성을 보장하지 않을 수 있으므로 여러 시드의 평균과 변동을 보고한다.
시간·설비·환자처럼 집단 구조가 있으면 이에 맞는 분할을 사용한다. 여러 모델·시드를 반복 비교할수록 검증 자료에도 과적합할 수 있으므로 최종 테스트는 선택을 고정한 뒤 한 번 평가한다.
9. 사례 적용
상황: 센서 100개로 설비 고장을 분류한다. 훈련 표본은 8천 건, 고장은 5%이며 로지스틱 회귀 기준모형이 있다.
판단 과정:
- 설비와 시간 순서를 보존해 훈련·검증·테스트를 나누고 미래 센서 정보를 제거한다.
- 표준화·결측 처리를 훈련 폴드에서 학습하고 작은 완전연결망부터 시작한다.
- 출력은 sigmoid, 손실은 이진 교차엔트로피로 맞춘다.
- He 초기화·ReLU를 기준으로 층·노드·학습률·배치크기·가중치 감쇠와 조기종료를 검증한다.
- 클래스 가중치는 훈련 폴드에만 적용하고 재현율·정밀도·PR-AUC·거짓 경보 수·보정을 비교한다.
- 여러 시드의 평균·변동과 로지스틱 회귀 대비 개선 폭을 확인한 뒤 테스트를 한 번 평가한다.
결론: 네트워크 크기가 아니라 기준모형 대비 일반화 이득, 오류 비용, 계산비용과 안정성으로 구조를 선택한다.
순전파는 가중합과 활성화를 거쳐 예측·손실을 계산한다. 역전파는 연쇄법칙으로 손실 기울기를 구하고 최적화 알고리즘이 학습률 $\eta$에 따라 가중치를 갱신한다.
| 학습률 | 손실 곡선 | 위험 |
|---|---|---|
| 너무 작음 | 느리게 감소 | 시간 내 미수렴 |
| 적정 | 안정적 감소·수렴 | 검증 성능 확인 필요 |
| 너무 큼 | 진동·발산 가능 | 최솟값을 건너뜀 |
훈련 손실 감소만으로 일반화를 보장하지 않으므로 검증 손실·조기 종료·규제를 함께 본다.
시험 판단 포인트
- 층의 기본 계산은
z=Wa+b,a=f(z)이며 편향을 포함하면 아핀 변환이다. - 비선형 활성화가 없으면 여러 층도 하나의 아핀 변환으로 축약된다.
- 출력층과 손실함수는 이진·다범주·다중라벨·회귀 문제에 맞춰 조합한다.
- 역전파는 기울기를 계산하고 최적화 알고리즘은 파라미터를 갱신한다.
- 완전연결층의 파라미터 수는
(입력 수+1)×출력 노드 수다. - 모든 가중치를 0으로 초기화하면 은닉 노드의 대칭성이 깨지지 않는다.
- 드롭아웃·배치정규화는 학습과 추론 시 동작이 다르다.
- 조기종료와 하이퍼파라미터는 검증으로 선택하며 테스트로 조정하지 않는다.
자주 틀리는 부분
- 역전파가 파라미터를 직접 갱신한다고 보지 않는다. 갱신은 최적화 단계다.
- 다중라벨 문제에 softmax를 적용해 라벨을 강제로 배타적으로 만들지 않는다.
- 배치크기와 에포크를 같은 개념으로 보지 않는다.
- 모든 가중치를 0으로 초기화해도 학습된다고 단정하지 않는다.
- 드롭아웃을 추론 시에도 학습과 같은 무작위 방식으로 적용하지 않는다.
- 훈련 손실 감소를 일반화 성능 향상과 동일시하지 않는다.
- 시드 하나를 고정했다고 모든 하드웨어에서 완전 재현된다고 단정하지 않는다.
개념 확인 문제
문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.
01입력 3개, 은닉 노드 4개, 출력 노드 2개인 완전연결 신경망의 가중치와 편향 총수는?
26
02x=2, w=0.5, b=0, y=1, p≈0.7311인 sigmoid–이진 교차엔트로피 뉴런에서 학습률 0.1로 한 번 갱신한 w는?
약 0.5538
03드롭아웃에 관해 올바르게 설명하시오.
학습 중 일부 노드를 무작위로 비활성화하고 일반적인 추론에서는 무작위 비활성화를 끈다.
04훈련 손실은 계속 감소하지만 검증 손실이 상승할 때 취해야 할 조치를 근거와 함께 서술하시오.
과대적합을 의심하고 검증 기준 조기종료·규제·구조 축소를 검토한다.