본문 바로가기
C.W.K.
Stream
Lesson 02 of 08 · published

퍼셉트론 기초

~18 min · perceptron, history

Level 0호기심
0 XP0/73 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

모든 것의 시작, 1958년 모델

Frank Rosenblatt의 perceptron(1958)은 출력이 하나인 이진 분류기야. 식은 y = sign(w · x + b)로 나타내지. Rosenblatt는 아름다운 수렴 정리를 증명했어. 데이터가 선형 분리 가능하면, 이 학습 규칙은 유한한 단계 안에 데이터를 나누는 초평면을 찾아. 당시 언론은 이 모델을 자의식을 지닌 기계의 씨앗이라고 불렀지만, 예상대로 그 평가는 세월을 곱게 견디지 못했지.

Minsky와 Papert의 Perceptrons(1969)는 단일 퍼셉트론이 XOR을 학습하지 못한다는 점을 지적했어. XOR은 비선형 결정 경계가 필요한 문제거든. 이 책은 뒤이어 찾아온 AI 겨울의 원인으로 자주 지목되지만, 실제 문제는 당시 아무도 다층 신경망을 효과적으로 학습시키는 방법을 몰랐다는 거야. 거의 20년 뒤에 역전파가 그 문제를 풀었지.

왜 아직도 배울까

퍼셉트론은 ‘출력에 계단 함수를 적용한 선형 모델’의 가장 단순한 예야. 소프트맥스, 시그모이드, 교차 엔트로피를 사용하는 모든 현대 분류기는 퍼셉트론을 더 부드럽고 미분 가능하게 만든 친척이라고 볼 수 있어. 퍼셉트론을 이해하면 뒤에 나오는 수학이 신비한 공식이 아니라 자연스러운 귀결로 느껴져.

팁: 퍼셉트론이 XOR에서 실패하는 이유는 은닉층과 비선형 활성화 함수가 필요한 이유를 보여 주는 대표적인 사례야. 언제든 화이트보드에 직접 그릴 수 있어야 해. 이 분야 전체를 통틀어 활용도가 가장 높은 예시 중 하나니까.

퍼셉트론 학습 규칙

예측이 틀린 샘플을 만날 때마다 가중치 벡터를 조정해. 양성이어야 했던 입력 쪽으로 밀거나, 음성이어야 했던 입력에서는 멀어지게 만드는 거야. 식으로 쓰면 w := w + η y x야. 형태만 바꿔 놓은 경사 하강법이라고 볼 수 있어. 힌지 모양 손실의 기울기에 계단 함수를 얹은 구조지.

Code

밑바닥부터 구현하는 퍼셉트론·python
import numpy as np

def perceptron_train(X, y, lr=1.0, epochs=20):
    N, D = X.shape
    w = np.zeros(D); b = 0.0
    for _ in range(epochs):
        wrong = 0
        for xi, yi in zip(X, y):
            if yi * (w @ xi + b) <= 0:
                w += lr * yi * xi
                b += lr * yi
                wrong += 1
        if wrong == 0:
            break
    return w, b

X = np.array([[2, 3], [1, 1], [4, 5], [-1, -2], [-2, -3], [-3, -1]])
y = np.array([+1, +1, +1, -1, -1, -1])
w, b = perceptron_train(X, y)
print("learned w, b:", w, b)
print("predictions:", np.sign(X @ w + b))

External links

Exercise

위 퍼셉트론을 XOR 데이터셋([[0,0],[0,1],[1,0],[1,1]], 레이블 [-1, +1, +1, -1])에 적용해 봐. 수렴하지 않을 거야. 그 이유를 두 문장으로 설명하고, 작동하게 만드는 최소한의 변경 사항도 설명해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.