퍼셉트론이란?


다수의 신호를 입력으로 받아 하나의 신호를 출력하는 인공 신경망 모형

출처

출처

단순 논리 회로


  1. AND 게이트

→ 입력이 모두 1일 때만 1 출력

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

np.array를 쓰면 입력신호 개수에 상관없이 np.sum(w*x)로 해결된다.

  1. NAND 게이트

→ NOT AND로 두 입력이 모두 1일 때만 0 출력

import numpy as np

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