왜 ‘신경망’이라고 부를까?
사람의 뇌에서는 많은 신경세포가 서로 연결되어 정보를 주고받습니다. 인공지능 연구자들은 이 구조에서 아이디어를 얻어, 작은 계산 단위를 여러 층으로 연결한 모델을 만들었습니다.
생물학적 신경계에서 얻은 아이디어
신경세포는 다른 신경세포에서 신호를 받아 처리한 뒤, 다시 다음 신경세포로 전달합니다.
컴퓨터에서는 계산 노드로 단순화
인공 신경망은 생물학적 신경세포의 복잡한 작동을 그대로 재현하지 않습니다. 입력 숫자를 받아 곱하고 더한 뒤 결과를 다음 노드로 전달합니다.
‘층(Layer)’은 여러 계산 단계를 뜻한다
신경망의 그림을 보면 동그라미가 여러 줄로 나뉘어 있습니다. 이 줄을 바로 외우기 전에, 먼저 층은 계산이 진행되는 하나의 단계라고 이해하면 됩니다.
공장에서 제품을 만드는 과정과 비슷하다
신경망도 이와 비슷합니다. 입력을 한 번에 최종 결과로 바꾸는 것이 아니라, 여러 계산 단계를 차례로 거치면서 표현을 조금씩 바꿉니다. 이 각각의 계산 단계를 Layer라고 부릅니다.
입력을 받는 단계
문장, 이미지, 숫자처럼 모델이 처리할 데이터를 받아들입니다. 이 단계에서는 아직 복잡한 판단을 하지 않습니다.
이 단계를 입력층(Input Layer)이라고 부릅니다.
결과를 내는 단계
앞 단계에서 만들어진 정보를 이용해 최종 점수, 분류 결과 또는 다음 토큰의 확률을 출력합니다.
이 단계를 출력층(Output Layer)이라고 부릅니다.
감춰진 비밀이 있다는 뜻이 아닙니다. 사용자가 직접 넣는 입력도 아니고, 최종적으로 확인하는 출력도 아닌 모델 내부의 중간 계산 단계이기 때문에 Hidden이라는 이름을 사용합니다.
신경망은 입력을 받아 예측으로 바꾸는 계산 구조이다
신경망은 데이터를 받아 여러 층의 계산을 거친 뒤 결과를 출력합니다. 이미지라면 사물의 종류를 예측하고, 문장이라면 감정이나 다음 토큰을 예측할 수 있습니다.
그렇다면 신경망은 무엇을 배우는가?
Weight는 연결의 영향력을 나타낸다
한 노드의 출력이 다음 노드에 전달될 때, 그 신호를 얼마나 강하게 반영할지 정하는 숫자가 Weight입니다.
Bias는 계산의 기본값, 즉 출발점을 정한다
Weight가 입력의 영향력을 조절한다면, Bias는 입력을 계산하기 전에 결과가 어느 위치에서 시작할지를 정합니다. 그래서 Bias를 기본값 또는 출발점이라고 이해하면 쉽습니다.
입력 1
×
Weight 2 → 2
입력 3
×
Weight 2 → 6
2
+
Bias 5 → 7
6
+
Bias 5 → 11
출력 = 입력 × Weight + Bias
Bias가 0일 때
입력이 0이면 출력도 0에서 시작합니다.
0 × 2 + 0 = 0Bias가 5일 때
입력이 0이어도 출력은 5에서 시작합니다.
0 × 2 + 5 = 5무엇이 학습되고 무엇은 계산될 뿐일까?
| 항목 | 학습 대상인가? | 역할 |
|---|---|---|
| Weight | 예 | 노드 사이에서 입력의 영향력을 조절합니다. |
| Bias | 예 | 각 계산의 기준점을 조정합니다. |
| Embedding Table | 예 | Token ID를 벡터로 바꾸는 학습 가능한 Weight Matrix입니다. |
| Hidden State | 아니요 | 현재 입력과 Weight를 사용해 그때그때 계산되는 중간 결과입니다. |
| 입력 데이터 | 아니요 | 모델이 처리하는 학습 자료입니다. |
| 정답(Label) | 아니요 | 예측 결과를 평가하기 위한 기준입니다. |
연결의 강도가 결과를 어떻게 바꾸는지 확인하기
아래에서는 인공 뉴런 하나를 단순화해 살펴봅니다. Weight를 바꾸면 입력의 영향력이 달라지고, Bias를 바꾸면 전체 출력의 출발점이 위나 아래로 이동합니다.
현재 값: 0.5
현재 값: 0.0
학습 전과 학습 후에는 무엇이 달라질까?
좋은 Weight와 Bias는 어떻게 찾을까?
자주 생기는 의문
신경망은 사람의 뇌와 같은가?
인공 뉴런 하나가 실제 개념 하나를 담당하는가?
신경망이 학습한다는 것은 데이터를 외운다는 뜻인가?
학습 내용 정리
- 신경망이라는 이름은 신경세포가 연결되어 정보를 전달하는 구조에서 아이디어를 얻었습니다.
- 인공 신경망은 사람의 뇌를 그대로 복제한 것이 아니라 수학적으로 단순화한 계산 모델입니다.
- Layer는 입력을 결과로 바꾸는 과정에서 거치는 하나의 계산 단계를 뜻합니다.
- 입력층은 데이터를 받고, 은닉층은 내부 표현을 계산하며, 출력층은 최종 결과를 만듭니다.
- 은닉층은 사용자가 직접 보는 입력이나 출력이 아닌 모델 내부의 중간 계산 단계입니다.
- Network는 여러 Layer 안의 계산 노드가 서로 연결된 전체 구조를 뜻합니다.
- 신경망은 입력을 여러 단계로 변환해 예측 결과를 출력합니다.
- 신경망이 실제로 학습하는 것은 연결의 Weight와 각 계산의 Bias입니다.
- Weight는 입력의 영향력을 조절하고, Bias는 계산의 기본값 또는 출발점을 조정합니다.
- Embedding Table도 학습 가능한 Weight Matrix입니다.
- Hidden State는 학습되는 파라미터가 아니라 입력과 Weight로 계산되는 중간 결과입니다.
- 학습은 좋은 예측을 만드는 Weight와 Bias 조합을 찾는 과정입니다.
- 다음 장에서는 순전파, Loss, 역전파, 파라미터 갱신을 배웁니다.