1957년, 프랭크 로젠블랫이 개발한 퍼셉트론(Perceptron)은 인간의 뇌세포를 수학적으로 단순화한 최초의 인공 신경망입니다. 이것은 단순해 보이지만, 현대 딥러닝의 모든 기초가 되는 혁명적인 발명이었습니다.
$$y = f\left(\sum_{i=1}^{n} w_i x_i + b\right)$$
여기서 $f$는 활성화 함수입니다. 가장 간단한 형태는:
$$f(z) = \begin{cases} 1 & \text{if } z \geq 0 \\ 0 & \text{if } z < 0 \end{cases}$$
즉, 가중합이 0 이상이면 1(참), 미만이면 0(거짓)을 출력합니다.
놀랍게도 이렇게 단순한 구조로도 많은 논리 연산을 학습할 수 있습니다. AND, OR, NAND 게이트는 모두 단층 퍼셉트론으로 완벽하게 구현 가능합니다.
두 입력이 모두 참(1)일 때만 참을 출력합니다.
| $x_1$ | $x_2$ | AND 출력 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
예를 들어 $w_1 = 0.5, w_2 = 0.5, b = -0.7$로 설정하면:
$$y = f(0.5 \times x_1 + 0.5 \times x_2 - 0.7)$$
두 입력 중 하나라도 참(1)이면 참을 출력합니다.
| $x_1$ | $x_2$ | OR 출력 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
$w_1 = 0.5, w_2 = 0.5, b = -0.2$로 설정하면 OR 게이트를 완벽히 구현할 수 있습니다.
AND의 반대입니다. 두 입력이 모두 참일 때만 거짓을 출력합니다.
| $x_1$ | $x_2$ | NAND 출력 |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
$w_1 = -0.5, w_2 = -0.5, b = 0.7$로 설정하면 NAND를 구현할 수 있습니다.
단층 퍼셉트론은 본질적으로 선형 분류기(Linear Classifier)입니다. 2차원 평면에서 데이터를 구분할 때, 직선 하나로만 두 그룹을 나눌 수 있습니다. 3차원에서는 평면 하나, n차원에서는 초평면(hyperplane) 하나로 분류합니다.
XOR(배타적 논리합, Exclusive OR)은 두 입력이 서로 다를 때만 참을 출력하는 논리 연산입니다.
| $x_1$ | $x_2$ | XOR 출력 | 설명 |
|---|---|---|---|
| 0 | 0 | 0 | 둘 다 거짓 → 거짓 |
| 0 | 1 | 1 | 서로 다름 → 참 ✓ |
| 1 | 0 | 1 | 서로 다름 → 참 ✓ |
| 1 | 1 | 0 | 둘 다 참 → 거짓 |
XOR 문제를 2차원 평면에 그려보면 그 불가능성이 명확해집니다:
단층 퍼셉트론은 다음과 같은 결정 경계(Decision Boundary)를 만듭니다:
$$w_1 x_1 + w_2 x_2 + b = 0$$
이것은 2차원 평면에서 직선의 방정식입니다. XOR의 네 점을 만족시키려면:
두 번째와 세 번째 조건을 더하면: $w_1 + w_2 + 2b > 0$
하지만 네 번째 조건은: $w_1 + w_2 + b < 0$
이는 $2b > -b$, 즉 $b > 0$을 의미하는데, 첫 번째 조건 $b < 0$과 모순입니다!
단일 선형 결정 경계로는 XOR 문제를 풀 수 없음이 수학적으로 증명되었습니다.
이는 1969년 마빈 민스키와 시모어 페퍼트의 저서 "Perceptrons"에서 엄밀하게 증명되었습니다.
민스키와 페퍼트의 책이 출간되면서 AI 연구계는 큰 충격에 빠졌습니다. 단순한 XOR조차 풀지 못하는 퍼셉트론이 과연 인간의 지능을 모방할 수 있을까?
하지만 역설적이게도, 이 책은 해결책도 제시했습니다. 다층 퍼셉트론(Multi-Layer Perceptron, MLP)을 사용하면 XOR을 풀 수 있다는 것이었죠. 문제는 당시에는 이러한 다층 신경망을 학습시키는 방법을 몰랐다는 것입니다.
신경망이 막다른 길에 다다르자, 연구자들은 완전히 다른 접근법을 모색했습니다. "뇌를 흉내 내려고 하지 말고, 데이터의 패턴을 찾자!"
이것이 바로 머신러닝(Machine Learning)의 핵심 철학입니다. 신경망처럼 인간의 뇌를 모방하는 대신, 통계학과 확률론을 기반으로 데이터에서 규칙을 추출하는 방식입니다.
| 접근법 | 신경망 (1950-60년대) | 머신러닝 (1980-90년대) |
|---|---|---|
| 영감 | 인간의 뇌 구조 | 통계학, 확률론 |
| 핵심 아이디어 | 뉴런의 연결망 | 데이터 분포의 패턴 |
| 대표 기법 | 단층 퍼셉트론 | 결정 트리, SVM, 나이브 베이즈 |
| 장점 | 직관적, 생물학적 타당성 | 수학적으로 명확, 실용적 |
| 당시 한계 | XOR 문제, 학습 알고리즘 부재 | 특성 공학 필요, 복잡한 패턴 어려움 |
머신러닝은 확률적 추론을 사용합니다. 예를 들어:
$$P(Y|X) = \frac{P(X|Y) \cdot P(Y)}{P(X)}$$
주어진 데이터 $X$가 있을 때, 이것이 클래스 $Y$에 속할 확률을 계산합니다.$$\theta^* = \arg\max_\theta P(D|\theta)$$
관측된 데이터 $D$를 가장 잘 설명하는 모델 파라미터 $\theta$를 찾습니다.$$\text{Information Gain} = H(S) - \sum_{v \in \text{Values}} \frac{|S_v|}{|S|} H(S_v)$$
아래 Jupyter 노트북에서 AND, OR, NAND, XOR을 직접 구현하고 학습시켜보세요. XOR이 왜 학습되지 않는지 눈으로 확인할 수 있습니다.