Part 4 · Neural Network Learning - Learning Instead of Programming

신경망은 규칙을 외우는 대신 패턴을 학습한다

신경망은 사람이 모든 규칙을 직접 작성하는 방식을 사용하지 않습니다. 대신 많은 데이터를 반복해서 살펴보며 입력과 결과 사이에 숨어 있는 패턴을 스스로 찾아냅니다. 이 때문에 신경망은 이전에 보지 못한 데이터에도 유연하게 대응할 수 있습니다. 이 장에서는 신경망이 무엇인지, 그리고 기존의 규칙 기반 방식과 무엇이 다른지 가장 기본적인 개념부터 살펴봅니다.

Why “Neural Network”?

왜 ‘신경망’이라고 부를까?

사람의 뇌에서는 많은 신경세포가 서로 연결되어 정보를 주고받습니다. 인공지능 연구자들은 이 구조에서 아이디어를 얻어, 작은 계산 단위를 여러 층으로 연결한 모델을 만들었습니다.

생물학적 신경계에서 얻은 아이디어

신경세포는 다른 신경세포에서 신호를 받아 처리한 뒤, 다시 다음 신경세포로 전달합니다.

N
N
N
N
→

컴퓨터에서는 계산 노드로 단순화

인공 신경망은 생물학적 신경세포의 복잡한 작동을 그대로 재현하지 않습니다. 입력 숫자를 받아 곱하고 더한 뒤 결과를 다음 노드로 전달합니다.

x₁
x₂
Σ
y
인공 신경망은 사람의 뇌를 그대로 만든 것이 아닙니다. 뉴런이 연결되어 신호를 전달한다는 아이디어만 매우 단순한 수학 계산으로 옮긴 모델입니다.
Layers and Network

‘층(Layer)’은 여러 계산 단계를 뜻한다

신경망의 그림을 보면 동그라미가 여러 줄로 나뉘어 있습니다. 이 줄을 바로 외우기 전에, 먼저 층은 계산이 진행되는 하나의 단계라고 이해하면 됩니다.

공장에서 제품을 만드는 과정과 비슷하다

원재료 처음 들어온 재료
1차 가공 기본 모양 만들기
2차 가공 필요한 특징 만들기
검사 결과 판단
완제품 최종 결과

신경망도 이와 비슷합니다. 입력을 한 번에 최종 결과로 바꾸는 것이 아니라, 여러 계산 단계를 차례로 거치면서 표현을 조금씩 바꿉니다. 이 각각의 계산 단계를 Layer라고 부릅니다.

1

입력을 받는 단계

문장, 이미지, 숫자처럼 모델이 처리할 데이터를 받아들입니다. 이 단계에서는 아직 복잡한 판단을 하지 않습니다.

“무엇이 들어왔는가?”를 받는 단계

이 단계를 입력층(Input Layer)이라고 부릅니다.

3

결과를 내는 단계

앞 단계에서 만들어진 정보를 이용해 최종 점수, 분류 결과 또는 다음 토큰의 확률을 출력합니다.

“최종 답은 무엇인가?”를 만드는 단계

이 단계를 출력층(Output Layer)이라고 부릅니다.

왜 ‘은닉(Hidden)’이라고 부를까?
감춰진 비밀이 있다는 뜻이 아닙니다. 사용자가 직접 넣는 입력도 아니고, 최종적으로 확인하는 출력도 아닌 모델 내부의 중간 계산 단계이기 때문에 Hidden이라는 이름을 사용합니다.
Layer 계산이 진행되는 한 단계
+
Node 각 단계 안에서 숫자를 계산하는 작은 계산 단위
=
Network 여러 단계의 계산 노드가 서로 연결된 전체 구조
신경망을 어렵게 생각할 필요는 없습니다. 입력을 받고 → 내부에서 여러 단계로 계산하고 → 결과를 내는 연결된 계산 구조라고 이해하면 됩니다.
What a Neural Network Does

신경망은 입력을 받아 예측으로 바꾸는 계산 구조이다

신경망은 데이터를 받아 여러 층의 계산을 거친 뒤 결과를 출력합니다. 이미지라면 사물의 종류를 예측하고, 문장이라면 감정이나 다음 토큰을 예측할 수 있습니다.

입력 데이터 문장·이미지·숫자
첫 번째 계산 입력 특징 조합
중간 표현 패턴을 단계적으로 변환
최종 계산 출력 점수 생성
예측 결과 분류·생성·수치
신경망은 데이터에서 어떤 결과를 내놓을지 계산하는 여러 층의 함수와 연결로 이루어진 모델입니다.
What Does It Learn?

그렇다면 신경망은 무엇을 배우는가?

한국어 문법 규칙을 문장으로 저장할까?
사람처럼 개념을 이해하고 설명할까?
학습 데이터를 그대로 외울까?
신경망이 실제로 학습하는 것은 연결에 붙어 있는 수많은 숫자 즉, Weight와 Bias입니다.
신경망은 “좋은 판단 규칙”을 문장으로 만들지 않습니다. 대신 좋은 예측이 나오도록 내부 숫자의 조합을 찾습니다.
Connection Strength

Weight는 연결의 영향력을 나타낸다

한 노드의 출력이 다음 노드에 전달될 때, 그 신호를 얼마나 강하게 반영할지 정하는 숫자가 Weight입니다.

입력 신호 예: 긍정 표현
×
Weight 예: 0.8
→
다음 노드의 입력 강하게 반영됨
큰 양수 Weight 입력 신호를 강하게 같은 방향으로 전달합니다.
작은 Weight 해당 입력의 영향을 약하게 전달합니다.
음수 Weight 입력의 영향을 반대 방향으로 전달할 수 있습니다.
Bias

Bias는 계산의 기본값, 즉 출발점을 정한다

Weight가 입력의 영향력을 조절한다면, Bias는 입력을 계산하기 전에 결과가 어느 위치에서 시작할지를 정합니다. 그래서 Bias를 기본값 또는 출발점이라고 이해하면 쉽습니다.

Weight의 역할 입력값을 얼마나 크게 또는 작게 반영할지 정합니다.
입력 1 × Weight 2 → 2
입력 3 × Weight 2 → 6
+
Bias의 역할 Weight 계산이 끝난 결과에 일정한 값을 더해 전체 출력을 위나 아래로 이동시킵니다.
2 + Bias 5 → 7
6 + Bias 5 → 11
출력 = 입력 × Weight + Bias

Bias가 0일 때

입력이 0이면 출력도 0에서 시작합니다.

0 × 2 + 0 = 0

Bias가 5일 때

입력이 0이어도 출력은 5에서 시작합니다.

0 × 2 + 5 = 5
Weight는 입력을 얼마나 반영할지 결정하고, Bias는 계산의 기본값을 결정합니다. 두 값이 함께 있어야 신경망은 다양한 위치와 범위의 패턴을 표현할 수 있습니다.
Bias는 사람이 미리 고정해서 넣는 값이 아닙니다. Weight와 마찬가지로 학습 과정에서 예측 오류가 줄어드는 방향으로 수정되는 모델 파라미터입니다.
Learned vs Computed

무엇이 학습되고 무엇은 계산될 뿐일까?

항목 학습 대상인가? 역할
Weight 예 노드 사이에서 입력의 영향력을 조절합니다.
Bias 예 각 계산의 기준점을 조정합니다.
Embedding Table 예 Token ID를 벡터로 바꾸는 학습 가능한 Weight Matrix입니다.
Hidden State 아니요 현재 입력과 Weight를 사용해 그때그때 계산되는 중간 결과입니다.
입력 데이터 아니요 모델이 처리하는 학습 자료입니다.
정답(Label) 아니요 예측 결과를 평가하기 위한 기준입니다.
학습이 끝난 뒤 모델 파일에 저장되는 핵심은 Weight, Bias, Embedding Table 같은 학습된 파라미터입니다.
Interactive Neuron

연결의 강도가 결과를 어떻게 바꾸는지 확인하기

아래에서는 인공 뉴런 하나를 단순화해 살펴봅니다. Weight를 바꾸면 입력의 영향력이 달라지고, Bias를 바꾸면 전체 출력의 출발점이 위나 아래로 이동합니다.

현재 값: 0.5

현재 값: 0.0

고정 입력 신호
1.0
→
뉴런의 계산 결과
0.50
실제 신경망에서는 이런 연결이 매우 많이 존재하며, 학습은 모든 연결의 Weight와 각 노드의 Bias를 조금씩 조정하는 과정입니다.
How Learning Changes the Network

학습 전과 학습 후에는 무엇이 달라질까?

학습 전 Weight와 Bias가 아직 적절하지 않아 입력을 제대로 구분하지 못하고 예측이 자주 틀립니다.
학습 후 예측과 정답의 차이를 반복해서 줄이며, 더 나은 결과를 만드는 Weight와 Bias 조합을 갖게 됩니다.
학습된 숫자 하나하나에 “긍정”, “고양이”, “문법” 같은 이름이 붙어 있는 것은 아닙니다. 많은 파라미터가 함께 작동하면서 패턴을 표현합니다.
Learning Preview

좋은 Weight와 Bias는 어떻게 찾을까?

현재 파라미터 현재 Weight와 Bias
순전파 현재 값으로 예측
Loss 정답과 예측 비교
역전파 수정 방향 계산
파라미터 수정 오차가 줄도록 갱신
다음 장에서는 신경망이 현재 Weight로 예측하고, Loss와 역전파를 이용해 파라미터를 수정하는 전체 과정을 살펴봅니다.
Common Questions

자주 생기는 의문

신경망은 사람의 뇌와 같은가?
아닙니다. 사람의 뇌는 생물학적으로 훨씬 복잡합니다. 인공 신경망은 신경세포가 연결되어 신호를 전달한다는 아이디어를 숫자 계산 구조로 단순화한 모델입니다.
인공 뉴런 하나가 실제 개념 하나를 담당하는가?
일반적으로 그렇지 않습니다. 하나의 개념은 여러 노드와 Weight의 조합으로 표현되고, 하나의 노드도 여러 패턴에 동시에 관여할 수 있습니다.
신경망이 학습한다는 것은 데이터를 외운다는 뜻인가?
학습 데이터의 패턴이 파라미터에 반영된다는 뜻입니다. 다만 모델이 일부 데이터를 지나치게 외우는 과적합이 발생할 수 있으므로, 새로운 데이터에서도 잘 작동하는지가 중요합니다.
Summary

학습 내용 정리

  • 신경망이라는 이름은 신경세포가 연결되어 정보를 전달하는 구조에서 아이디어를 얻었습니다.
  • 인공 신경망은 사람의 뇌를 그대로 복제한 것이 아니라 수학적으로 단순화한 계산 모델입니다.
  • Layer는 입력을 결과로 바꾸는 과정에서 거치는 하나의 계산 단계를 뜻합니다.
  • 입력층은 데이터를 받고, 은닉층은 내부 표현을 계산하며, 출력층은 최종 결과를 만듭니다.
  • 은닉층은 사용자가 직접 보는 입력이나 출력이 아닌 모델 내부의 중간 계산 단계입니다.
  • Network는 여러 Layer 안의 계산 노드가 서로 연결된 전체 구조를 뜻합니다.
  • 신경망은 입력을 여러 단계로 변환해 예측 결과를 출력합니다.
  • 신경망이 실제로 학습하는 것은 연결의 Weight와 각 계산의 Bias입니다.
  • Weight는 입력의 영향력을 조절하고, Bias는 계산의 기본값 또는 출발점을 조정합니다.
  • Embedding Table도 학습 가능한 Weight Matrix입니다.
  • Hidden State는 학습되는 파라미터가 아니라 입력과 Weight로 계산되는 중간 결과입니다.
  • 학습은 좋은 예측을 만드는 Weight와 Bias 조합을 찾는 과정입니다.
  • 다음 장에서는 순전파, Loss, 역전파, 파라미터 갱신을 배웁니다.