동그리동동 강의
머신러닝 기초 · CHAPTER 3

신경망과 딥러닝

단순한 뉴런을 쌓아 곡선과 복잡한 경계를 배우게 하기

3-1

뉴런 하나 = 가중합 + 찌그러뜨리기

인공 뉴런 하나가 하는 일은 의외로 단순해요. 입력들에 각각 가중치(weight)를 곱해 더하고, 거기에 편향(bias)을 보탠 다음, 그 결과를 활성화 함수(activation)로 한 번 변형해요.

출력 = 활성화( w₁x₁ + w₂x₂ + … + b )

앞 장의 직선 모델 w·x + b 기억나죠? 뉴런은 거기에 활성화 함수만 씌운 거예요. 이 작은 단위 하나로는 직선밖에 못 긋지만, 여러 개를 쌓으면 이야기가 완전히 달라져요.

3-2 · 직접 해보기

활성화 함수 — 왜 "찌그러뜨리기"가 필요한가

활성화 함수가 없으면, 직선을 아무리 여러 겹 쌓아도 결국 또 직선이에요(직선의 직선은 직선). 곡선이나 복잡한 경계를 배우려면 중간중간 비선형(non-linear) 변형이 꼭 필요해요. 그게 활성화 함수의 역할이에요.

활성화 함수 모양 보기 — w(가파름)와 b(위치)를 바꿔보기

함수특징주로
Sigmoid0~1로 누름. 확률처럼 해석옛 은닉층, 출력층(이진 분류)
tanh-1~1, 0 중심은닉층
ReLU음수는 0, 양수는 그대로. 빠르고 잘 됨현대 딥러닝의 기본 은닉층
3-3

층을 쌓다 — 다층 퍼셉트론(MLP)

뉴런을 나란히 여러 개 모은 게 층(layer)이고, 층을 여러 겹 쌓은 게 신경망이에요. 가장 기본형을 다층 퍼셉트론(MLP, Multi-Layer Perceptron)이라고 해요.

층이 깊을수록(deep) 더 복잡한 패턴을, 넓을수록(wide, 뉴런 많을수록) 더 많은 세부를 담아요. "딥러닝(deep learning)"의 '딥'이 바로 이 깊은 층을 뜻해요. 은닉층이 충분하면 신경망은 이론적으로 거의 모든 함수를 근사할 수 있어요(만능 근사 정리).

3-4

순전파와 역전파 — 예측하고, 책임을 되짚기

신경망의 학습도 2장의 사이클(예측→손실→기울기→수정) 그대로예요. 다만 층이 많아서 두 방향으로 흘러요.

역전파는 사실 미적분의 연쇄법칙(chain rule)을 효율적으로 적용한 거예요. "출력의 오차 → 마지막 층 책임 → 그 앞 층 책임 → …" 식으로 책임을 거슬러 분배하죠. 책임(기울기)을 다 구하면, 2장처럼 각 가중치를 손실이 주는 방향으로 조금씩 고쳐요. 이걸 수만 번 반복하면 신경망이 학습돼요.

우리가 직접 미분을 손으로 할 필요는 없어요. PyTorch·TensorFlow 같은 도구가 역전파를 자동으로 해줘요(자동 미분). 원리만 이해하면 됩니다. 아래 데모는 이 역전파를 자바스크립트로 실제로 돌리는 거예요.
3-5 · 직접 해보기 ⭐

신경망 플레이그라운드 — 눈앞에서 학습시키기

진짜 신경망이 브라우저 안에서 학습해요. 점들을 두 색으로 가르는 경계를 신경망이 스스로 찾아갑니다. 데이터 모양을 바꾸고, 은닉 뉴런 수를 늘려보세요. 특히 XOR이나 모양은 직선 하나로는 절대 못 가르는데, 은닉층이 있으면 곡선 경계를 만들어 풀어내요.

2D 분류 신경망 (입력 2 → 은닉층 → 출력 1)

배경색 = 신경망이 그 위치를 어느 쪽으로 판단하는지. 경계가 점들을 잘 가르도록 학습돼요.

은닉 뉴런을 1개로 줄이면 직선밖에 못 그어서 원·XOR을 못 풀어요. 늘릴수록 경계가 유연해지지만, 너무 많으면(데이터가 적을 때) 과적합으로 경계가 울퉁불퉁해질 수 있어요. 2장에서 본 트레이드오프가 여기서도 똑같이 나타나죠.

3-6

딥러닝으로 가는 길

지금 본 건 입력이 2개뿐인 장난감이지만, 원리는 거대한 모델까지 그대로 이어져요. 이미지(픽셀 수만 개), 문장, 소리도 결국 숫자 입력일 뿐이고, 층을 깊게 쌓아 파라미터가 수백만~수십억 개가 되면 그게 딥러닝이에요.

◀ 이전2. 학습의 원리 다음 ▶4. 딥러닝의 여러 종류