1. 퍼셉트론의 정의
- 다수의 신호를 받아 하나의 신호를 출력한다.
- 출력값이 0 or 1을 가질 수 있다.
- 동그라미 : 노드, 뉴런 값을 연산하여 출력한다.
- X : 입력 신호
- W : 가중치
- y : 출력값
$$ y= \begin{cases} 0 & (w_1x_1 + w_2x_2 \leq \theta ) \\ 1 & (w_1x_1 + w_2x_2 > \theta ) \end{cases} $$
입력값과 가중치를 연산하여 더한값이 임계값(θ)보다 크면 1을, 작으면 0을 출력한다.
2. 간단한 게이트
1. AND 게이트
- 두 입력값이 모두 1일 때만 1을 출력하는 게이트
$$x_1$$ | $$x_2$$ | $$y$$ |
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
ex) w1, w2, θ = 0.5, 0.5, 0.8 일 때 AND 게이트를 구현가능하다.
2. NAND 게이트
-
Not AND 게이트로 AND 게이트와 반대의 값을 출력한다.
$$x_1$$ | $$x_2$$ | $$y$$ |
0 | 0 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
ex) w1, w2, θ = -0.5, -0.5, -0.8 일 때 NAND 게이트를 구현가능하다.
3. OR 게이트
- 두 입력값 중 1가지 이상이 1일 경우 1을 출력한다.
$$x_1$$ | $$x_2$$ | $$y$$ |
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
ex) w1, w2, θ = 0.5, 0.5, 0.4 일 때 OR게이트를 구현가능하다.
4. XOR 게이트
- 두 입력값이 같은 경우에는 0을 다른 경우에는 1을 출력한다.
- 베타적 논리합
- 하나의 퍼셉트론으로 구현이 불가능하다.
$$x_1$$ | $$x_2$$ | $$y$$ |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
4-1. XOR 게이트 구현하기
- AND, NAND, OR 게이트를 사용하여 2개의 층으로 구성
- s1 은 x1, x2를 NAND 게이트 연산을 통해 출력
- s2 은 x1, x2를 OR 게이트 연산을 통해 출력
- y는 s1, s2를 AND 게이트 연산을 통해 출력
$$x_1$$ | $$x_2$$ | $$s_1$$ | $$s_2$$ | $$y$$ |
0 | 0 | 1 | 0 | 0 |
1 | 0 | 1 | 1 | 1 |
0 | 1 | 1 | 1 | 1 |
1 | 1 | 0 | 1 | 0 |
'python > 딥러닝' 카테고리의 다른 글
[컴퓨터 비전] OpenCV 안에 있는 Detection 모델 사용하기 (0) | 2021.04.29 |
---|---|
[컴퓨터 비전] RCNN, SPP net, Fast RCNN, Faster RCNN (0) | 2021.04.28 |
[컴퓨터 비전] 주요 Dataset 과 openCV, 컴퓨터 비전 패키지 (0) | 2021.04.22 |
[컴퓨터 비전] 개요 및 Object Detection (0) | 2021.04.21 |
[딥러닝] - few shot learning, 적은 데이터로 학습하기 (0) | 2021.04.12 |
댓글