더북(TheBook)

 

3코딩으로 XOR 문제 해결하기

 

이제 주어진 가중치와 바이어스를 이용해 XOR 문제를 해결하는 파이썬 코드를 작성해 볼까요?

먼저 표 7-1에서 n1의 값을 잘 보면 입력 값 x1, x2가 모두 1일 때 0을 출력하고 하나라도 0이 아니면 1을 출력하게 되어 있습니다. 이는 표 6-1에서 배운 AND 게이트의 정 반대 값을 출력하는 방식입니다. 이를 NAND 게이트라고 부릅니다.

그리고 n2의 값을 잘 보면 x1, x2에 대한 OR 게이트에 대한 답입니다.

NAND 게이트와 OR 게이트, 이 두 가지를 내재한 각각의 퍼셉트론이 다중 레이어 안에서 각각 작동하고, 이 두 가지의 값에 대해 AND 게이트를 수행한 값이 바로 우리가 구하고자 하는 Yout임을 알 수 있습니다.

정해진 가중치와 바이어스를 넘파이 라이브러리를 사용해 다음과 같이 선언하겠습니다.

 

import numpy as np


w11 = np.array([-2, -2])

w12 = np.array([2, 2])

w2 = np.array([1, 1])

b1 = 3

b2 = -1

b3 = -1

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.