Skip to Content
독학사독학사 2단계머신러닝19. 퍼셉트론·MLP·역전파의 역할

이번 문서의 목표: 퍼셉트론이 데이터를 어떻게 선형으로 나누는지, 왜 XOR 같은 문제는 퍼셉트론 하나로 풀 수 없는지, MLP의 은닉층·활성화함수가 이 한계를 어떻게 극복하는지, 역전파가 가중치를 어떤 방향으로 갱신하는지 숫자로 설명할 수 있다.

신경망은 왜 나왔는가

06~13편에서 배운 로지스틱 회귀·결정트리·SVM 같은 모델은 각자 정해진 방식으로 데이터를 나눈다. 그런데 사람의 뇌가 뉴런(neuron, 신경세포)을 연결해 정보를 처리하는 방식에서 착안해, “단순한 계산 단위를 여러 개 이어 붙이면 복잡한 패턴도 학습할 수 있지 않을까”라는 아이디어에서 출발한 모델이 인공 신경망(artificial neural network)이다. 그 가장 단순한 형태가 퍼셉트론(perceptron)이다.

쉽게 말하면: 퍼셉트론은 여러 입력값에 각자 다른 중요도(가중치)를 매겨 더한 뒤, 그 합이 기준을 넘는지로 예/아니오를 결정하는 가장 단순한 인공 뉴런이다.

퍼셉트론의 구조와 계산

정의: 퍼셉트론

퍼셉트론은 입력 x1,x2,,xnx_1, x_2, \ldots, x_n을 받아 각각에 가중치(weight) w1,w2,,wnw_1, w_2, \ldots, w_n를 곱해 더하고, 여기에 편향(bias, 절편) bb를 더한 뒤, 그 값이 0보다 큰지 여부로 최종 출력을 결정하는 계산 단위다.

z=w1x1+w2x2++wnxn+bz = w_1 x_1 + w_2 x_2 + \cdots + w_n x_n + b
  • zz: 가중합(weighted sum). 입력들을 가중치로 조합한 값
  • wiw_i (더블유 i): ii번째 입력의 중요도를 나타내는 가중치. 클수록 그 입력이 결과에 큰 영향을 준다
  • bb (비, bias): 가중합 전체를 위아래로 밀어 조정하는 편향(절편)

zz 값을 활성화 함수(activation function)에 넣어 최종 출력 yy를 만든다. 퍼셉트론은 계단 함수(step function)를 활성화 함수로 쓴다.

y={1(z>0)0(z0)y = \begin{cases} 1 & (z > 0) \\ 0 & (z \le 0) \end{cases}

쉽게 말하면: 퍼셉트론은 “여러 증거(입력)에 각각 신뢰도(가중치)를 매겨 합산한 뒤, 합계가 기준선을 넘으면 참, 못 넘으면 거짓으로 판정하는” 간단한 투표 기계다.

작은 예시: AND 게이트를 학습한 퍼셉트론

입력이 둘 다 1일 때만 1을 출력하는 AND 논리 게이트를 퍼셉트론으로 만들어보자. 가중치 w1=1w_1=1, w2=1w_2=1, 편향 b=1.5b=-1.5인 퍼셉트론이 있다고 하자.

x1x_1x2x_2z=w1x1+w2x2+bz = w_1x_1+w_2x_2+b출력 yy
000+01.5=1.50+0-1.5=-1.50
010+11.5=0.50+1-1.5=-0.50
101+01.5=0.51+0-1.5=-0.50
111+11.5=0.51+1-1.5=0.51

두 입력이 모두 1일 때만 z>0z>0이 되어 출력이 1이 되므로, 이 가중치 조합이 AND 게이트를 정확히 표현한다. 이때 z=0z=0이 되는 경계선(위 예시에서는 x1+x2=1.5x_1+x_2=1.5)을 결정 경계(decision boundary)라 하며, 퍼셉트론의 결정 경계는 항상 직선(2차원 기준. 고차원에서는 평면 또는 초평면)이다.

퍼셉트론의 한계: XOR 문제

퍼셉트론의 결정 경계가 직선이라는 것은 곧 선형적으로 분리 가능한(linearly separable) 문제만 풀 수 있다는 뜻이다. 그런데 두 입력이 서로 다를 때만 1을 출력하는 XOR 게이트는 다음과 같은 데이터를 가진다.

x1x_1x2x_2XOR 출력
000
011
101
110

이 네 점을 2차원 평면에 찍어보면 출력이 1인 점 두 개(0,1)와 (1,0)이 대각선 위에, 출력이 0인 점 두 개(0,0)와 (1,1)이 반대쪽 대각선 위에 있다. 어떤 직선을 그어도 이 두 그룹을 한 번에 나눌 수 없다. 즉 XOR은 선형적으로 분리 불가능한 문제이며, 퍼셉트론 하나로는 절대 풀 수 없다. 이 사실이 1960년대 말 신경망 연구가 한동안 침체되었던 이유이기도 하다.

쉽게 말하면: 퍼셉트론 하나는 직선 하나로 세상을 두 편으로 가르는 것만 할 수 있는데, XOR은 직선 하나로 절대 갈라지지 않는 모양이다.

MLP: 은닉층으로 XOR을 해결하다

퍼셉트론의 한계는 퍼셉트론을 여러 층으로 쌓으면 극복할 수 있다. 이렇게 여러 층의 퍼셉트론을 연결한 구조를 다층 퍼셉트론(MLP, Multi-Layer Perceptron)이라 한다.

정의: MLP의 구조

MLP는 세 종류의 층으로 이루어진다.

  • 입력층(input layer): 원본 데이터(특징)가 들어오는 층. 계산은 하지 않는다.
  • 은닉층(hidden layer): 입력층과 출력층 사이에 있는 층으로, 입력을 조합해 더 복잡한 패턴(특징)을 만들어낸다. 은닉층이 하나 이상 있어야 MLP라 부른다.
  • 출력층(output layer): 최종 예측값을 내놓는 층.

각 층의 뉴런은 이전 층의 모든 뉴런과 연결되며(완전연결, fully connected), 각 연결마다 고유한 가중치를 가진다.

왜 은닉층이 XOR을 풀 수 있게 하는가

직관적으로 은닉층은 원래 입력 공간을 새로운 공간으로 변형한다. 은닉층의 각 뉴런이 원래 입력에 대해 서로 다른 직선(결정 경계)을 하나씩 그어놓으면, 그 결과값들을 다시 조합하는 출력층은 “직선 여러 개를 합친 곡선 형태”의 경계를 표현할 수 있게 된다. 예컨대 은닉 뉴런 h1h_1이 “x1+x2>0.5x_1+x_2 > 0.5인가”를, h2h_2가 “x1+x2>1.5x_1+x_2 > 1.5인가”를 각각 판단하도록 학습되면, 출력층은 이 두 판단 결과를 조합해 “h1h_1은 참이고 h2h_2는 거짓인 경우만 1”이라는 식으로 XOR을 표현할 수 있다. 즉 은닉층이 하나 이상 있으면 직선 하나로는 안 되던 것을 “직선 여러 개의 조합(곡선에 가까운 경계)“으로 풀 수 있게 된다.

활성화 함수가 필요한 이유

MLP의 은닉층에서는 계단 함수 대신 매끄러운(미분 가능한) 활성화 함수를 쓴다. 대표적으로 다음이 있다.

활성화 함수수식특징
시그모이드(sigmoid)σ(z)=11+ez\sigma(z) = \dfrac{1}{1+e^{-z}}출력이 0–1 사이, 10편의 로지스틱 함수와 동일
ReLU(Rectified Linear Unit)ReLU(z)=max(0,z)\text{ReLU}(z) = \max(0, z)음수는 0, 양수는 그대로 통과, 계산이 간단
하이퍼볼릭탄젠트(tanh)tanh(z)=ezezez+ez\tanh(z) = \dfrac{e^z - e^{-z}}{e^z+e^{-z}}출력이 -1–1 사이

활성화 함수가 반드시 비선형(non-linear, 직선이 아닌)이어야 하는 이유가 있다. 만약 활성화 함수 없이(또는 선형 함수만) 층을 아무리 많이 쌓아도, 선형함수를 선형함수에 통과시킨 결과는 여전히 선형함수이므로 결국 하나의 퍼셉트론과 수학적으로 동일해진다. 즉 비선형 활성화 함수가 있어야만 여러 층을 쌓는 것이 실제로 더 복잡한 함수를 표현하는 의미를 가진다.

역전파: 가중치를 어떻게 학습시키는가

MLP가 구조적으로 복잡한 패턴을 표현할 수 있다는 것과, 그 가중치들을 실제로 좋은 값으로 학습시키는 방법은 별개의 문제다. 이 학습을 가능하게 하는 알고리즘이 역전파(backpropagation)다.

쉽게 말하면: 역전파는 “최종 출력이 틀린 정도(오차)를 뒤에서부터 앞으로 되짚어가며, 각 가중치가 그 오차에 얼마나 책임이 있는지 계산해 조금씩 고쳐나가는” 절차다.

역전파의 두 단계

1단계: 순전파(forward propagation)

입력을 입력층부터 출력층 방향으로 통과시키며 각 층의 가중합과 활성화 함수 출력을 계산해, 최종 예측값을 얻는다. 이 예측값과 실제 정답의 차이로 손실(loss, 오차를 하나의 숫자로 나타낸 값)을 계산한다.

2단계: 역전파(backward propagation)

손실을 출력층에서 입력층 방향으로 거꾸로 전달하면서, 연쇄법칙(chain rule, 합성함수를 미분할 때 각 단계의 미분을 곱해 나가는 규칙)을 이용해 각 가중치가 손실에 얼마나 영향을 미쳤는지(기울기, gradient)를 계산한다.

3단계: 가중치 갱신

계산된 기울기를 이용해 경사하강법(gradient descent)으로 가중치를 손실이 줄어드는 방향으로 조금씩 이동시킨다.

wnew=woldη×Lww_{\text{new}} = w_{\text{old}} - \eta \times \frac{\partial L}{\partial w}
  • wneww_{\text{new}}, woldw_{\text{old}}: 갱신 후·갱신 전 가중치
  • η\eta (에타): 학습률(learning rate). 한 번에 얼마나 크게 이동할지 정하는 값
  • Lw\dfrac{\partial L}{\partial w} (편미분, L을 w로 미분): 이 가중치를 늘렸을 때 손실 LL이 얼마나 늘어나는지를 나타내는 기울기

작은 숫자 예시로 갱신 방향 확인하기

아주 단순화해서, 출력층 가중치 하나 w=0.5w=0.5가 있고, 이 가중치에 대한 손실의 기울기가 Lw=0.8\dfrac{\partial L}{\partial w}=0.8로 계산되었으며 학습률 η=0.1\eta=0.1이라고 하자.

wnew=0.50.1×0.8=0.50.08=0.42w_{\text{new}} = 0.5 - 0.1 \times 0.8 = 0.5 - 0.08 = 0.42

기울기가 양수(0.8)라는 것은 “이 가중치를 더 키우면 손실이 커진다”는 뜻이므로, 가중치를 그 반대 방향인 음수 쪽으로(0.5에서 0.42로) 줄여서 손실을 낮춘다. 만약 기울기가 음수로 계산되었다면 가중치는 반대로 커지는 방향으로 갱신된다. 이 과정을 모든 가중치에 대해, 그리고 여러 번(에폭, epoch)에 걸쳐 반복하면 전체 손실이 점점 줄어드는 방향으로 신경망이 학습된다.

자주 틀리는 점: 역전파는 모델 구조가 아니라 학습 절차다

역전파를 “신경망의 한 층”이나 “신경망의 구조 일부”로 오해하는 경우가 있다. 역전파는 신경망 구조가 아니라, 이미 정해진 구조(입력층·은닉층·출력층과 각 가중치)에서 기울기를 계산해 가중치를 학습시키는 절차(알고리즘)다. 또한 역전파 자체가 가중치를 어느 방향으로 옮길지 결정하는 것이 아니라, “어느 방향으로 옮기면 손실이 줄어드는지”를 계산해주고, 실제로 옮기는 것은 경사하강법이 담당한다는 점도 구분해서 기억해야 한다.

신경망과 기존 알고리즘의 비교

구분로지스틱 회귀(10편)MLP(신경망)
결정 경계직선(선형)은닉층·활성화함수로 곡선 형태 표현 가능
특징 조합사람이 다항식 등으로 직접 특징을 만들어야 함은닉층이 스스로 특징 조합을 학습
해석 가능성계수(가중치)의 의미를 비교적 직관적으로 해석 가능은닉층의 가중치는 직접 해석하기 어려움
학습 방법경사하강법으로 계수 직접 갱신역전파로 기울기를 계산한 뒤 경사하강법으로 갱신
대표 한계선형 분리 불가능한 문제(XOR 등)를 풀 수 없음학습에 더 많은 데이터·계산량이 필요, 과적합 위험

이 과목의 범위는 신경망의 정의·구조·역전파의 역할까지이며, CNN·RNN 같은 딥러닝 아키텍처의 상세 구조나 프레임워크 구현은 다루지 않는다.

핵심 정리

  • 퍼셉트론은 입력에 가중치를 곱해 더한 값 zz가 0을 넘는지로 출력을 정하는 가장 단순한 인공 뉴런이며, 결정 경계가 직선(선형)이라 XOR처럼 선형 분리 불가능한 문제는 풀 수 없다.
  • MLP는 입력층·은닉층·출력층으로 구성되며, 은닉층에서 비선형 활성화 함수(시그모이드·ReLU·tanh 등)를 써서 직선 여러 개를 조합한 복잡한 경계를 표현할 수 있다.
  • 비선형 활성화 함수가 없으면 층을 아무리 쌓아도 결과는 여전히 선형 함수와 같아진다.
  • 역전파는 손실을 출력층에서 입력층 방향으로 되짚어 연쇄법칙으로 각 가중치의 기울기를 계산하는 절차이며, 실제 가중치 갱신은 그 기울기를 이용한 경사하강법이 수행한다.
  • 가중치 갱신식 wnew=woldη×L/ww_{\text{new}} = w_{\text{old}} - \eta \times \partial L/\partial w에서 학습률 η\eta는 한 번에 이동하는 폭을 정한다.

마무리 복습

문제 14지선다
퍼셉트론이 XOR 문제를 풀 수 없는 근본적인 이유로 가장 옳은 것은?
문제 24지선다
가중치 w1=1, w2=1, 편향 b=-1.5인 퍼셉트론에 x1=1, x2=1을 입력했을 때의 출력은? (z가 0보다 크면 1, 아니면 0)
문제 34지선다
MLP(다층 퍼셉트론)의 은닉층에서 비선형 활성화 함수를 반드시 사용해야 하는 이유로 가장 옳은 것은?
문제 44지선다
역전파(backpropagation)에 대한 설명으로 가장 옳은 것은?
문제 54지선다
가중치 w=0.5, 학습률 η=0.1, 이 가중치에 대한 손실의 기울기 ∂L/∂w=0.8일 때, 경사하강법으로 갱신한 새 가중치 값은?
문제 64지선다
로지스틱 회귀와 MLP(다층 퍼셉트론)를 비교한 설명으로 옳지 않은 것은?

참고 자료

Last updated on