-
1. 퍼셉트론(1)AI 모델(딥러닝 기초)/1. 퍼셉트론 2022. 12. 18. 11:43728x90
※ 퍼셉트론이란?
- 다수의 신호를 입력으로 받아 하나의 신호를 출력하는 것. 흐름을 만들고 정보를 앞으로 전달하는 역할
x1과 x2 : input 신호
y : output 신호
w1과 w2 : 가중치(weight) - 영향력 조절 요소, 클수록 강한 신호
원 : 노드(뉴런)
theta : 임계값
input 신호가 뉴런에 보내질 때 각각 고유한 가중치를 곱한다.
신호의 총합이 정해진 한계(임계값)를 넘어설 때만 1을 출력한다.
y = 0 (w1*x1 + w2*x2 ≤ theta)
1 (w1*x1 + w2*x2 > theta)
#퍼셉트론 모형 import numpy as np x = np.array([0, 1]) w = np.array([0.5, 0.5]) b = -0.7 y = np.sum(w*x) + b print(y)
※ AND, NAND, OR 게이트
- 일반적인 AND연산, OR연산, XOR연산과 방식은 동일하다. 매개변수 값의 설정을 통해서 게이트를 구현한다.
- theta => -b로 치환
y = 0 (w1*x1 + w2*x2 + b ≤ 0)
1 (w1*x1 + w2*x2 + b > 0)
- b : 편향(bias) -> 뉴런이 얼마나 쉽게 활성화 되느냐를 조정하는 매개변수
ex) b가 0.1이면 뉴런 활성화가 쉬운 것. b가 20.0이면 0.1에 비해 뉴런 활성화가 어려운 것.
- w : 가중치(weight) -> 각 입력 신호가 결과에 주는 영향력(중요도)을 조절하는 매개변수
# AND 게이트 구현 def AND(x1, x2): x = np.array([x1, x2]) w = np.array([0.5, 0.5]) b = -0.7 temp = np.sum(w*x) + b if temp <= 0: return 0 else: return 1
# NAND 게이트 구현 def NAND(x1, x2): x = np.array([x1, x2]) w = np.array([-0.5, -0.5]) b = 0.7 temp = np.sum(w*x) + b if temp <= 0: return 0 else: return 1
# OR 게이트 구현 def OR(x1, x2): x = np.array([x1, x2]) w = np.array([0.5, 0.5]) b = -0.2 temp = np.sum(w*x) + b if temp <= 0: return 0 else: return 1
AND, NAND, OR 게이트의 출력 시 위와 같은 결과를 얻을 수 있었다. 편향(b), 가중치(w), input(x)의 매개변수 값을 통해서 각 연산 게이트를 만들고 퍼셉트론을 구현해 볼 수 있었다.
728x90'AI 모델(딥러닝 기초) > 1. 퍼셉트론' 카테고리의 다른 글
1. 퍼셉트론(2) (0) 2022.12.20