Chapter 09

깊이 (깊은 신경망)

깊이. 은닉층이 많은 신경망을 깊은 신경망이라 한다.

챕터별 딥러닝 도식화

챕터를 하나씩 진행할 때마다 아래 도식이 조금씩 채워져요. 지금까지의 구조예요.

깊다 = 은닉층(중간 단계)이 많다. 딥러닝의 이 바로 이 깊이예요.

X1X2X3A1A2A3B1B2B3C1C2C3D1D2D3Y1Y2Y3X1층A2층B3층C4층D5층Y6층

단계가 많을수록 깊은 신경망. 깊을수록 더 정교한 패턴을 배울 수 있어요.

딥러닝에서 보는 깊이

깊다(Deep)는 것은 은닉층(중간 단계)이 많다는 뜻이에요. '러닝'의 이 바로 이 깊이를 말해요! 각 층에서 선형(W·입력+b)+활성화(ReLU)를 하고, 그 결과를 다음 층으로 넘기는 걸 반복해요.

X → A → B → C → … → Y처럼 단계가 많을수록 깊은 거예요. 비유하면, 1단계로는 '선 긋기'만 할 수 있고, 10단계면 '단순한 도형', 100단계면 '사람 얼굴'을 그릴 수 있는 것처럼, 깊을수록 더 정교하고 복잡한 패턴을 배울 수 있어요.

다만 깊다고 무조건 좋은 건 아니에요. 층이 너무 많으면 기울기 소실(학습 신호가 앞층까지 잘 안 전달됨)이나 과적합(데이터만 외움)이 생길 수 있어요. 지름길(Skip Connection)처럼 기울기가 앞층까지 잘 전달되게 하는 기법으로 깊은 모델을 안정적으로 학습해요.

이미지 생성 모델도 '노이즈를 줄이는 단계'가 많을수록 깊은 구조예요. 번역·챗봇 모델은 블록을 여러 개 쌓아서 깊은 구조예요.

단계가 많을수록 더 복잡한 함수를 표현할 수 있어요. 각 층의 활성화가 '꺾임'을 만들기 때문에, 층이 쌓이면 수많은 꺾임이 조합되어 복잡한 곡선·경계를 그릴 수 있어요.

앞쪽 층은 '선, 모서리', 중간은 '눈, 바퀴', 뒤쪽은 '강아지, 자동차'처럼 점점 더 추상적인 개념을 배워요. 깊이 덕분에 이런 단계적 학습이 가능해요.

이미지 인식(ResNet), 번역(Transformer) 같은 모델은 수십~수백 층인데도 학습이 잘 돼요. Skip Connection(지름길), Layer Norm 같은 기법으로 기울기가 앞쪽까지 잘 전달되게 해서 '깊이의 한계'를 극복했어요.

번역·챗봇: 문장을 점점 깊이 이해하기 위해 여러 개의 블록(층)을 쌓아요. 각 블록이 문맥을 이해해서 마지막에 답을 만들어요. 검색해서 가져온 문서도 깊은 층을 거쳐 요약해요.

이미지 생성: 노이즈를 단계적으로 줄이는 구조는 많은 층으로 되어 있어요. 각 층이 '지금 픽셀을 얼마나 바꿀지'를 단계적으로 계산해요.

이미지 인식: 사진을 넣어 '강아지, 자동차, 표지판'을 여러 단계로 구분해요. 휴대폰용은 층 수를 줄인 얕은 버전을 쓰기도 해요.

음성 인식·번역: 소리→글자, 언어 간 번역도 깊은 네트워크를 거쳐 '음소 → 단어 → 문맥 → 의미'를 단계적으로 파악해요.

예시 문제: 입력 X = [3, 1, 2]. 1층에서 W₁·X+b₁ = [4, -1, 2](선형), ReLU 후 A = [4, 0, 2]. 2층에서 W₂·A+b₂ = [2, 1, 5], ReLU 후 B = [2, 1, 5]. 여기서 A₂가 빈 칸이면?

풀이: 1층 선형 결과의 두 번째 성분이 -1이므로, ReLU(-1) = 0. 따라서 A₂ = 0이에요. 중간 층 빈 칸은 그 층의 선형(W·입력+b)을 먼저 구한 뒤, ReLU(음수→0)를 적용하면 돼요.

일반적으로: 빈 칸이 어느 층의 몇 번째 뉴런이든, 그 층의 입력까지는 앞에서부터 순서대로 다 구한 다음, 해당 층의 W의 그 행과 입력의 내적에 b의 그 칸을 더해 선형 값을 구하고, ReLU를 적용하면 답이에요.

입력 X
3
1
2
Linear & ReLU (1층)
W₁
1
0
1
0
1
-1
1
-1
0
b
-1
0
0
선형
4
-1
2
ReLU
A
4
0
2
Linear & ReLU (2층)
W₂
0
0
1
0
1
0
1
0
2
b
0
1
-3
선형
2
1
5
ReLU
B
2
1
5

1층: A₁, A₂, A₃ (W₁ 각 행·X + b₁)

A1 = (W₁ 1행·X)+b₁[0] = (1×3+0×1+1×2)+(-1) = 4 → ReLU = 4
A2 = (W₁ 2행·X)+b₁[1] = (0×3+1×1+-1×2)+(0) = -1 → ReLU(-1)=0 → 0
A3 = (W₁ 3행·X)+b₁[2] = (1×3+-1×1+0×2)+(0) = 2 → ReLU = 2

2층: B₁, B₂, B₃ (W₂ 각 행·A + b₂)

B1 = (W₂ 1행·A)+b₂[0] = (0×4+0×0+1×2)+(0) = 2 → ReLU = 2
B2 = (W₂ 2행·A)+b₂[1] = (0×4+1×0+0×2)+(1) = 1 → ReLU = 1
B3 = (W₂ 3행·A)+b₂[2] = (1×4+0×0+2×2)+(-3) = 5 → ReLU = 5

1행| 2행| 3행

문제

여러 층이 연속된 순전파(각 층 Linear & ReLU)에서 빈 칸(?)을 채우세요.

입력 X
-1
-2
W
-2
-2
0
0
b
-2
-2
선형
4
-2
ReLU
A
4
0
W
2
1
-2
-2
b
1
2
선형
9
-6
ReLU
Y
9
1 / 20