한양과학기술고등학교

에듀테크 프로젝트 대시보드

퍼셉트론 (Perceptron)

퍼셉트론 (Perceptron)

가중치 · 편향 · 계단 활성화 함수와 선형 분리  |  인공 뉴런 한 개가 스스로 경계선을 찾는 과정

1957년 프랭크 로젠블랫이 만든 퍼셉트론은 오늘날 딥러닝을 이루는 인공 뉴런의 원형입니다. 입력에 가중치(weight)를 곱해 모두 더하고, 여기에 편향(bias)을 더한 뒤, 그 값이 0보다 크면 1, 아니면 0을 출력합니다. 놀라운 점은 이 뉴런이 정답이 붙은 예시만 보고도 가중치를 조금씩 고쳐 스스로 분류 규칙을 학습한다는 것입니다.

1. 뉴런 한 개의 구조

x₁──w₁──▶ x₂──w₂──▶ Σ  z = w₁x₁ + w₂x₂ + b ──▶ 계단함수  ŷ = (z ≥ 0) ? 1 : 0

w 는 각 입력이 결정에 얼마나 중요한지를 나타내는 손잡이입니다. b 는 경계선을 원점에서 밀어내는 값으로, 입력이 0이어도 뉴런이 켜질 수 있게 해줍니다. 2차원 입력에서 z = 0 인 지점들은 하나의 직선을 이루며, 이 직선이 바로 뉴런의 결정 경계(decision boundary)입니다.

2. 학습 규칙 — 틀린 만큼만 고친다

예시 하나 (x, 정답 y)를 넣어 예측 ŷ를 구하고, 오차 e = y − ŷ 를 계산합니다. e 가 0이면(맞혔으면) 아무것도 하지 않고, 아니면 가중치를 오차 방향으로 살짝 당깁니다.

# 퍼셉트론 학습 규칙 (learning rate η)
for epoch in range(EPOCHS):
    for (x1, x2, y) in data:
        z  = w1*x1 + w2*x2 + b
        y_hat = 1 if z >= 0 else 0
        e  = y - y_hat            # -1, 0, +1 중 하나
        w1 += η * e * x1        # 틀렸을 때만 e ≠ 0
        w2 += η * e * x2
        b  += η * e
퍼셉트론 수렴 정리: 두 그룹을 직선 하나로 완전히 나눌 수 있다면(선형 분리 가능), 이 규칙은 유한한 횟수 안에 반드시 모든 예시를 맞히는 가중치를 찾아냅니다.

3. 직접 학습시켜 보기

캔버스를 클릭하면 점을 추가합니다. 왼쪽 버튼은 파랑(클래스 1), 오른쪽 버튼(또는 Shift+클릭)은 빨강(클래스 0)입니다. 학습 시작을 누르면 뉴런이 한 예시씩 보며 경계선(흰 선)을 움직입니다.

클래스 1 (원하는 출력 1) 클래스 0 (원하는 출력 0) 결정 경계
0.030
20
w₁ = 0.00   w₂ = 0.00   b = 0.00
epoch 0   이번 epoch 오분류 – / 0
정확도
0% 

4. 논리 게이트를 배우는 뉴런

입력 2개짜리 논리 게이트는 퍼셉트론 학습의 고전 예제입니다. AND 와 OR 는 직선 하나로 1 과 0 을 가를 수 있어 학습이 됩니다.

x₁x₂ANDORXOR
00000
01011
10011
11110

5. 퍼셉트론의 한계 — XOR 문제

XOR 은 직선 하나로 나눌 수 없습니다. 대각선으로 마주 보는 두 점이 같은 클래스라서, 어떤 직선을 그어도 한쪽에는 서로 다른 클래스가 섞입니다. 위 데모에서 XOR 데이터 버튼을 누르고 학습시키면 경계선이 계속 흔들리며 정확도가 100%에 도달하지 못합니다.

1969년 민스키와 페퍼트가 이 한계를 지적하며 신경망 연구는 한동안 겨울을 맞습니다. 해결책은 뉴런을 여러 층으로 쌓고(다층 퍼셉트론), 계단함수 대신 매끄러운 활성화 함수를 써서 역전파(backpropagation)로 학습하는 것입니다. XOR 은 은닉층 뉴런 2개만 있으면 OR 과 NAND 를 조합해 풀 수 있습니다. 이것이 오늘날 딥러닝의 출발점입니다.

핵심 정리

  • 퍼셉트론 = 가중합 + 편향 → 계단함수 로 이루어진 이진 분류기
  • 학습은 틀린 예시에서만 가중치를 오차 방향으로 조금 이동
  • 선형 분리 가능하면 수렴 보장, 불가능하면(XOR) 영원히 진동
  • 여러 층 + 비선형 활성화 + 역전파 → 다층 퍼셉트론, 곧 현대 신경망