
신경망이 실제로 계산하는 방식: 순전파(Forward Propagation) 설명
요약
본 글은 신경망의 핵심 원리인 순전파(Forward Propagation)를 수학적 관점에서 설명합니다. 뉴런이 가중치와 편향을 이용해 입력값을 처리하고, 활성화 함수(예: Sigmoid)를 거쳐 최종 출력을 만드는 과정을 다룹니다.
핵심 포인트
- 신경망의 기본 단위는 '가중합 - 편향 - 활성화' 과정입니다.
- 가중치는 입력의 중요도를, 편향은 출력 이동에 필요한 유연성을 제공합니다.
- 순전파 이해는 역전파 및 기울기 소실 문제 등 심화 학습의 기초가 됩니다.
저의 'AI/ML 노트 재검토' 시리즈의 세 번째 글입니다. 지난 게시물에서는 ANN 구조—입력층, 은닉층, 출력층—에 대해 다루었습니다. 이번 글은 뉴런 내부에서 실제로 무슨 일이 일어나는지, 즉 순전파(forward propagation)의 수학적 원리에 초점을 맞춥니다.
핵심 아이디어
네트워크의 모든 뉴런은 정확히 세 가지 작업을 수행합니다:
- 각 입력을 해당 **가중치(weight)**와 곱합니다.
- 이 값들을 모두 합산하고 **편향(bias)**을 더합니다.
- 그 합계를 **활성화 함수(activation function)**를 통과시켜 최종 출력을 만듭니다.
수식 형태로 나타내면 다음과 같습니다:
- 가중합(Weighted sum):
y = x1.w1 + x2.w2 + x3.w3 + bias - 활성화:
z = sigmoid(y) = 1 / (1 + e^-y)
가중치와 편향의 실제 의미
- **가중치(Weights)**는 각 입력이 최종 결정에 얼마나 많은 영향을 미치는지 제어합니다. 가중치가 높을수록 해당 입력이 더 중요함을 의미합니다. 훈련 과정 중 이 값들은 백전파(backpropagation)를 통해 조정되는 정확한 수치입니다.
- **편향(Bias)**은 입력과 무관하게 출력을 이동시키는 상수입니다. 모든 입력이 0일 때도 뉴런이 활성화되도록 하며, 일반적으로 모델이 데이터를 더 잘 맞출 수 있는 유연성을 제공합니다.
시그모이드(Sigmoid)를 사용하는 이유
원시 가중합 y는 양수든 음수든, 크고 작든 임의의 실수일 수 있습니다. 이것은
z = sigmoid(6.2) = 1 / (1 + e^-6.2) ~= 0.998
짚고 넘어갈 수정 사항: 제가 작성한 원래 노트에는 1 x 0.7 = -0.7이라고 적어 놓았는데, 이는 맞지 않습니다. 곱셈 과정에 음수 부호가 어디에도 없기 때문에, 결과는 +0.7이어야 합니다. 이 하나의 부호 반전으로 인해 전체 값은 6.2에서 4.8로 줄었고, 시그모이드 출력값도 ~0.998에서 ~0.991로 줄었습니다. 두 값의 차이가 크지 않아 놓치기 쉬운 실수이지만, 이는 단순히 오래된 노트를 액면 그대로 믿기보다는 실제로 예제 계산을 다시 유도해 보는 것이 중요하다는 좋은 상기시켜주는 점입니다. 이것이 사실 이 시리즈 전체의 핵심 주제이기도 합니다.
하나의 뉴런을 넘어 왜 중요한가
이 단일 뉴런 연산은 아무리 깊거나 복잡한 신경망이라 할지라도 모든 신경망의 원자적 단위입니다. 완전한 순전파(forward pass)는 입력값이 최종 예측으로 출력층에 도달할 때까지, 이 동일한 가중합-활성화 과정이 각 레이어의 모든 뉴런을 거쳐 반복되는 것일 뿐입니다. 이 하나의 계산을 완벽하게 이해하고 있으면, 그 이후의 모든 것들—역전파(backpropagation), 다양한 활성화 함수, 특정 네트워크가 기울기 소실(vanishing gradients) 문제로 어려움을 겪는 이유 등—에 대해 훨씬 쉽게 추론할 수 있습니다.
다음 내용은: 네트워크가 자신의 실수로부터 어떻게 학습하는지—역전파 입문입니다.
Original Notes:
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기