본문 바로가기
python/딥러닝

[밑러닝 1] 2장 퍼셉트론

by _avocado_ 2021. 1. 2.

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

 

댓글