가중치와 임곗값을 조절해 퍼셉트론으로 논리합(OR)·논리곱(AND)을 구현하고, 배타적 논리합(XOR)은 왜 퍼셉트론 하나로는 불가능한지 직접 실험합니다.
| 단계 | 활동 | |
|---|---|---|
| 도입 | 명제와 논리 연산자, 진리표 | 5분 |
| 활동1 | 퍼셉트론으로 OR·AND 만들기 | 15분 |
| 활동2 | 임곗값의 범위 구하기 | 10분 |
| 활동3 | XOR의 한계와 다층 퍼셉트론 | 15분 |
| 정리 | 단층·다층 퍼셉트론의 역사 | 5분 |
참 또는 거짓을 명확히 구분할 수 있는 문장이나 식을 명제라 하고, 명제의 참·거짓을 진릿값이라고 합니다. 참이면 1, 거짓이면 0으로 나타내며, 명제 $p, q$를 결합해 새로운 명제를 만드는 연산자는 다음과 같습니다.
| 연산자 | 기호 | 뜻 |
|---|---|---|
| NOT (부정) | $\sim p$ | $p$가 참이면 $\sim p$는 거짓, $p$가 거짓이면 $\sim p$는 참 |
| OR (논리합) | $p \lor q$ | $p, q$ 중 하나라도 참이면 참, 모두 거짓이면 거짓 |
| AND (논리곱) | $p \land q$ | $p, q$가 모두 참이면 참, 하나라도 거짓이면 거짓 |
| XOR (배타적 논리합) | $p \oplus q$ | $p, q$ 중 하나만 참이면 참, 모두 참이거나 모두 거짓이면 거짓 |
| $x_1$ | $x_2$ | NOT $x_1$ | $x_1 \lor x_2$ (OR) | $x_1 \land x_2$ (AND) | $x_1 \oplus x_2$ (XOR) |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 |
두 입력값 $x_1, x_2$ ($x_1, x_2 \in \{0, 1\}$)에 가중치 $w_1, w_2$를 곱해 더한 값 $x=x_1w_1+x_2w_2$가 임곗값 $c$ 이상이면 1, 미만이면 0을 출력합니다. 아래에서 가중치와 임곗값을 바꾸며 네 점 $(0,0),(0,1),(1,0),(1,1)$을 올바르게 분류하는 직선을 찾아보세요.
가중치가 달라지면 OR·AND를 만드는 임곗값의 범위도 달라집니다. 위 도구에서 $w_1, w_2$ 값을 바꾸어 직접 확인해 보세요.
| 확인하기 | 조건 | 임곗값 $c$의 범위 |
|---|---|---|
| 확인하기 3 | $w_1=3,\ w_2=2$일 때 OR을 만드는 $c$ | 위 도구에서 실험해 보기 |
| 확인하기 4 | $w_1=1,\ w_2=2$일 때 AND를 만드는 $c$ | 위 도구에서 실험해 보기 |
위 도구에서 XOR을 선택하고 $w_1, w_2, c$를 아무리 바꾸어도 네 점을 하나의 직선으로 올바르게 분류할 수 없다는 것을 확인해 보세요. $(0,1),(1,0)$은 참이고 $(0,0),(1,1)$은 거짓인데, 이 두 그룹은 대각선 방향으로 엇갈려 있어 직선 하나로 나눌 수 없기 때문입니다.
이 문제는 퍼셉트론 2개를 층으로 연결하면 해결할 수 있습니다. 입력 $x_1, x_2$로 은닉층의 $z_1, z_2$를 계산하고, $z_1, z_2$로 출력 $y$를 계산하는 방식입니다.
네 가지 입력을 모두 눌러 보면 $y$의 값이 $x_1 \oplus x_2$(XOR)와 정확히 일치하는 것을 확인할 수 있습니다. 은닉층 $z_1, z_2$를 두는 것만으로 단층 퍼셉트론의 한계를 넘어설 수 있습니다.
1957년 미국의 신경생물학자 프랭크 로젠블랫은 단층 퍼셉트론을 제안하여 오늘날 인공신경망 모델의 기초를 마련했습니다. 그러나 1969년 MIT의 마빈 민스키와 시모어 페퍼트는 저서 『퍼셉트론들』에서 단층 퍼셉트론이 XOR과 같은 문제를 풀 수 없다는 한계를 짚어냈고, 이후 인공신경망 연구는 한동안 정체를 겪었습니다.
오늘은 퍼셉트론으로 논리 연산을 구현하고, XOR의 한계를 다층 퍼셉트론으로 해결하는 원리를 배웠습니다. 다음 시간에는 인공지능을 뒷받침하는 빅데이터의 특징을 알아봅니다.