가중치 w1과 w2는 각 입력신호가 결과에 영향을 주는 영향력(중요도) 조절
편향(b) 는 뉴런이 얼마나 쉽게 활성화(결과를 1로 출력) 하느냐를 조정하는 매개변수
AND 게이트 전리표
x1 | x2 | y |
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
def AND(x1,x2):
w1,w2,theta = 0.5,0.5,0.7
tmp = x1*w1 + x2*w2
if tmp <= theta:
return 0
elif tmp >= theta:
return 1
NAND 게이트 전리표 (AND의 반대)
x1 | x2 | y |
0 | 0 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
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
OR 게이트 전리표
x1 | x2 | y |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 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
XOR 게이트의 전리표 - (NAND와 OR)의 AND 처리
x1 | x2 | NAND | OR | XOR |
0 | 0 | 1 | 0 | 0 |
1 | 0 | 1 | 1 | 1 |
0 | 1 | 1 | 1 | 1 |
1 | 1 | 0 | 1 | 0 |
def XOR(x1,x2):
s1= NAND(x1,x2)
s2 = OR(x1,x2)
y= AND(s1,s2)
return y
2층 구조를 사용하여 퍼셉트론으로 XOR 게이트 구현. 단층 퍼셉트론으로 표현하지 못한 것을 층을 하나 더 추가하여 구현함
'Deep Learning > from scratch I' 카테고리의 다른 글
[밑바닥부터 시작하는 딥러닝 - 5장 오차역전파법 II] (1) | 2024.02.08 |
---|---|
[밑바닥부터 시작하는 딥러닝 - 5장 오차역전파법 I] (0) | 2024.02.08 |
밑바닥부터 시작하는 딥러닝 - 4장 신경망 학습 II] (0) | 2024.02.07 |
밑바닥부터 시작하는 딥러닝 - 4장 신경망 학습 I] (1) | 2024.02.07 |
[밑바닥부터 시작하는 딥러닝 - 3장 신경망] (1) | 2024.02.05 |