본문 바로가기
Python/deep learning

퍼셉트론 AND, NAND, OR, XOR 게이트: python

by 철이88 2023. 3. 13.
반응형

이번 내용은 딥러닝의 기초인 퍼셉트론의 4가지 논리 게이트인, AND, NAND, OR, XOR을 python으로 구현한 것입니다.

여기서 x는 입력 신호, w는 가중치, b는 편향을 의미합니다.

 

논리 게이트의 입력 값과 출력 값

 

다음 그림은 4개의 기본 논리 게이트인, AND, NAND, OR, XOR의 입력값과 결괏값을 표현한 것입니다.

논리게이트

논리 게이트 퍼셉트론으로 작성하기: python

 

위의 4가지 논리 게이트를 python에서 딥러닝의 기본이 되는 퍼셉트론으로 만들어 보겠습니다.

코드는 아래와 같습니다.

import numpy as np

def AND(x1, x2):
    x = np.array([x1,x2])
    w = np.array([0.5,0.5])
    b = -0.7
    tmp = np.sum(w*x) + b
    if tmp <= 0:
        return 0
    else:
        return 1

def NAND(x1, x2):
    x = np.array([x1,x2])
    w = np.array([-0.5,-0.5])
    b = 0.7
    tmp = np.sum(w*x) + b
    if tmp <= 0:
        return 0
    else:
        return 1

def OR(x1, x2):
    x = np.array([x1,x2])
    w = np.array([0.5,0.5])
    b = -0.2
    tmp = np.sum(w*x) + b
    if tmp <= 0:
        return 0
    else:
        return 1

def XOR(x1, x2):
    y1 = NAND(x1, x2)
    y2 = OR(x1, x2)
    xo = AND(y1, y2)
    return xo

print(XOR(0,0))
print(XOR(0,1))
print(XOR(1,0))
print(XOR(1,1))

 

 

반응형

댓글