Ⅰ단원 · 3 / 5차시

퍼셉트론으로 논리 연산 만들기

가중치와 임곗값을 조절해 퍼셉트론으로 논리합(OR)·논리곱(AND)을 구현하고, 배타적 논리합(XOR)은 왜 퍼셉트론 하나로는 불가능한지 직접 실험합니다.

학습목표

  • NOT, OR, AND, XOR 논리 연산자의 진리표를 설명할 수 있다.
  • 가중치와 임곗값을 조절하여 퍼셉트론으로 OR·AND 연산을 구현할 수 있다.
  • 단층 퍼셉트론으로 XOR을 구현할 수 없는 이유와, 다층 퍼셉트론으로 이를 해결하는 방법을 설명할 수 있다.

시간 배분

단계활동
도입명제와 논리 연산자, 진리표5분
활동1퍼셉트론으로 OR·AND 만들기15분
활동2임곗값의 범위 구하기10분
활동3XOR의 한계와 다층 퍼셉트론15분
정리단층·다층 퍼셉트론의 역사5분
도입 · 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)
001000
011101
100101
110110
활동 1 · 15분

퍼셉트론으로 OR·AND 만들기

두 입력값 $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)$을 올바르게 분류하는 직선을 찾아보세요.

퍼셉트론 분류선 탐구
1
1
1
4개 점 모두 올바르게 분류
활동 2 · 10분

임곗값의 범위 구하기

가중치가 달라지면 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$위 도구에서 실험해 보기
활동 3 · 15분

XOR의 한계와 다층 퍼셉트론

위 도구에서 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$를 계산하는 방식입니다.

다층 퍼셉트론으로 XOR 계산하기

가중치 : $w_{11}=5,\ w_{12}=4$ (→ $z_1$), $\ w_{21}=1,\ w_{22}=2$ (→ $z_2$), $\ w_{31}=4,\ w_{32}=-4$ (→ $y$), 활성화함수 $f(x)=0\,(x<3),\ 1\,(x\ge3)$

$z_1=f(5x_1+4x_2)$
0
$z_2=f(x_1+2x_2)$
0
$y=f(4z_1-4z_2)$
0

네 가지 입력을 모두 눌러 보면 $y$의 값이 $x_1 \oplus x_2$(XOR)와 정확히 일치하는 것을 확인할 수 있습니다. 은닉층 $z_1, z_2$를 두는 것만으로 단층 퍼셉트론의 한계를 넘어설 수 있습니다.

정리 · 5분

단층·다층 퍼셉트론의 역사

1957년 미국의 신경생물학자 프랭크 로젠블랫은 단층 퍼셉트론을 제안하여 오늘날 인공신경망 모델의 기초를 마련했습니다. 그러나 1969년 MIT의 마빈 민스키시모어 페퍼트는 저서 『퍼셉트론들』에서 단층 퍼셉트론이 XOR과 같은 문제를 풀 수 없다는 한계를 짚어냈고, 이후 인공신경망 연구는 한동안 정체를 겪었습니다.

1986년 제프리 힌턴, 데이비드 럼멜하트, 로널드 윌리엄스가 오류 역전파(Backpropagation) 알고리즘으로 다층 퍼셉트론을 학습시키는 데 성공하면서 XOR 문제를 해결했습니다. 이를 계기로 인공신경망 연구가 다시 활발해졌고, 오늘날의 딥러닝으로 이어졌습니다.

차시 예고

오늘은 퍼셉트론으로 논리 연산을 구현하고, XOR의 한계를 다층 퍼셉트론으로 해결하는 원리를 배웠습니다. 다음 시간에는 인공지능을 뒷받침하는 빅데이터의 특징을 알아봅니다.

← 2차시 — 인공신경망과 퍼셉트론 계산하기 4차시 — 빅데이터와 인공지능 →