74. 순전파 (Forward Propagation)
⚠️ 이 문서는 인공신경망(Artificial Neural Network)에서 입력 데이터가 첫 번째 층(Input Layer)으로 들어와 은닉층(Hidden Layers)을 거치며 계산을 반복한 끝에, 최종 층(Output Layer)에서 예측값(결과)을 뱉어내는 **데이터의 정방향 이동 과정인 순전파(Forward Propagation)**를 다룹니다.
핵심 인사이트 (3줄 요약)
- 본질: 딥러닝 모델이 입력받은 사진을 보고 "이것은 고양이입니다"라고 결론(예측)을 내리기까지, 네트워크 안에서 벌어지는 일련의 행렬 곱셈과 덧셈, 비선형 변환의 계산 흐름이다.
- 가치: 모델이 세상(데이터)을 어떻게 해석하고 판단하는지 보여주는 과정이며, 이 순전파의 결과값과 실제 정답의 차이(오차, Loss)를 구해야만 비로소 모델을 학습시키는 역전파(Backpropagation)를 시작할 수 있다.
- 기술 체계: 이전 층의 출력값에 현재 층의 '가중치(Weight)'를 곱하고 '편향(Bias)'을 더한 뒤, '활성화 함수(Activation Function, 예: ReLU)'를 통과시키는 과정을 층(Layer)의 개수만큼 반복 연산한다.
Ⅰ. 순전파의 직관적 이해: 정보의 흐름
인공신경망은 정보를 왼쪽에서 오른쪽으로 한 번에 쓱 밀어내는 컨베이어 벨트와 같다.
- 데이터의 입력 (Input Layer):
- 고양이 사진 데이터가 들어오면, 각 픽셀의 밝기 값(0~255)이 숫자 행렬 형태로 입력층의 뉴런들에 배정된다.
- 은닉층의 정보 가공 (Hidden Layer):
- 첫 번째 은닉층은 픽셀들을 조합해 '선과 모서리'를 찾아낸다.
- 두 번째 은닉층은 선들을 조합해 '귀와 눈의 모양'을 찾아낸다.
- 이 과정은 데이터가 앞으로(Forward) 전달되면서 점차 추상적이고 고차원적인 특징(Feature)으로 변환되는 과정이다.
- 최종 판단 (Output Layer):
- 마지막 층에서는 여태까지 모인 특징들을 종합해 "강아지일 확률 10%, 고양이일 확률 90%"라는 최종 결괏값($\hat{y}$)을 출력한다.
📢 섹션 요약 비유: 공장의 컨베이어 벨트 첫 단(입력층)에 밀가루와 설탕이 들어가면, 중간 작업자들(은닉층)이 반죽을 하고 모양을 내고 굽는 과정을 차례대로 거쳐, 벨트 끝(출력층)에서 완성된 빵(예측값)이 툭 튀어나오는 일방통행 흐름과 같습니다.
Ⅱ. 순전파의 수학적 메커니즘 (행렬 연산)
네트워크 내부에서는 사실상 수백만 번의 단순한 일차방정식($y = Wx + b$) 계산이 일어난다.
- 선형 결합 (Linear Combination):
- 하나의 뉴런은 이전 층의 뉴런들로부터 입력($x$)을 받아, 연결 선의 중요도인 가중치($W$, Weight)를 곱하고, 민감도를 조절하는 편향($b$, Bias)을 더한다.
- 수학적 표현: $Z = W \cdot X + b$ (이 연산은 병렬 처리를 위해 주로 거대한 행렬의 곱셈 연산으로 수행된다.)
- 활성화 함수 통과 (Activation):
- 선형 결합의 결과 $Z$는 시그모이드(Sigmoid)나 렐루(ReLU) 같은 활성화 함수 $f$를 통과한다.
- $A = f(Z)$
- 이 비선형 변환 덕분에 신경망은 단순한 직선을 넘어 복잡하게 굽이치는 현실 세계의 데이터를 표현할 수 있게 된다.
- 층의 반복:
- $L_1$ 층에서 계산된 $A_1$은 다시 $L_2$ 층의 입력($X_2$)이 되어, 출력층에 도달할 때까지 $Z_2 = W_2 \cdot A_1 + b_2$ 형태의 릴레이 연산이 반복된다.
📢 섹션 요약 비유: 여러 심사위원(가중치)이 참가자(입력 데이터)의 점수를 매길 때, 심사위원의 영향력(W)을 점수에 곱하고 각자의 기본 후한 정도(편향 b)를 더한 뒤, "합격선(활성화 함수)을 넘었나?" 판정해서 다음 라운드로 올려보내는 과정의 반복입니다.
Ⅲ. 순전파의 결과와 한계
순전파 한 번 돌렸다고 인공지능이 똑똑해지는 것은 아니다.
- 오차(Loss)의 발생:
- 처음 신경망을 만들면 가중치($W$)가 무작위(Random) 값으로 설정되어 있다. 따라서 첫 순전파의 결과는 고양이 사진을 보고 "100% 개구리"라고 하는 등 엉터리(쓰레기 값)가 나온다.
- 손실 함수 (Loss Function):
- 순전파를 통해 나온 모델의 예측값($\hat{y}$)과 사람이 미리 알려준 정답 라벨($y$) 사이의 차이를 수학적으로 계산한다. (예: MSE, Cross-Entropy)
- 순전파의 역할은 여기까지:
- 이 오차가 얼마나 큰지 측정하는 것까지가 순전파의 임무다. 이 오차를 줄이기 위해 가중치 파라미터들을 뒤에서부터 앞으로 거꾸로 수정하며 학습하는 과정은 전적으로 **역전파(Backpropagation)**의 몫으로 넘어간다.
📢 섹션 요약 비유: 순전파는 학생(AI)이 눈을 감고 활을 쏴서 과녁에 맞히는(예측) 행위 자체입니다. 화살이 엉뚱한 곳에 꽂혔다면(오차 발생), 코치가 "바람의 방향(가중치)을 잘못 읽었네, 활을 더 위로 들어(역전파)"라고 피드백을 주어야만 비로소 실력이 느는(학습) 것입니다.