티스토리 뷰

1. 퍼셉트론??

단순 퍼셉트론으로 불리는 그래프

인공 뉴런 / 단순 퍼셉트론으로 불리며, 그림에서 처럼 2개의 노드로부터 입력을 받아 $y$를 출력하는 형태이다. $x_1, x_2$를 노드 $w_1, w_2$를 가중치 $y$를 출력값으로 한다.

퍼셉트론을 수식으로 나타내면 다음과 같다.

$$ y = \begin{cases} 0 \ (w_1x_1+w_2x_2 \le \theta) \\ 1 \ (w_1x_1+w_2x_2 \ge \theta)\end{cases} $$

 

2. 단순 논리 회로

 

1. AND 게이트

진리표

x1 x2 y
0 0 0
0 1 0
1 0 0
1 1 1

입력이 둘, 출력이 하나인 게이트로 퍼셉트론으로 표현할 수 있다.

$ (w_1, w_2, \theta) = (0.5, 0.5, 0.7), (0.5, 0.5, 0.8) $ 등 무수히 많은 조합으로 AND 게이트 표현이 가능하다.

 

2. NAND 게이트와 OR 게이트

NAND : Not AND를 의미한다.

진리표

x1 x2 y
0 0 1
0 1 1
1 0 1
1 1 0

퍼셉트론으로 게이트를 표현하려면 AND게이트의 조합의 부호를 모두 반전시키면 된다.

OR 게이트 진리표

x1 x2 y
0 0 0
0 1 1
1 0 1
1 1 1

 

AND, NAND, OR 모두 퍼셉트론으로 표현 가능하다.

 

3. 편향

편향을 추가했을 때 퍼셉트론은 다음과 같이 작성할 수 있다.

$$ y = \begin{cases} 0 (b + w_1x_1 + w_2x_2 \le \theta) \\ 1 (b + w_1x_! + w_2x_2 \ge \theta) \end{cases} $$

가중치와는 다른 역할이다. 가중치는 결과에 영향력을 조정하는 매개변수라 하면 편향은 활성화정도를 조정하는 매개변수인데 Neural Network에서 필수 요소인 Activation Function 통과 후 출력 값을 조절하는 역할을 한다. Input data의 성향을 반영한다 정도로 이해하면 편하다.

 

3. 퍼셉트론의 한계

1. XOR 게이트

둘 중 한쪽만 1일 때 1을 출력하는 게이트로 진리표는 다음과 같다.

x1 x2 y
0 0 0
0 1 1
1 0 1
1 1 0

지금까지의 퍼셉트론으로는 구현은 불가능하다. 다음 그림을 통해 확인해보자

OR 문제는 선형으로 조건을 만족시킬 수 있다.

위의 그림처럼 $b+w_1x_1 +w_2x_2$ 를 그리면 조건을 만족시킬 수 있다.

XOR 문제는 선형으로 해결할 수 없다.
비선형으로만 해결 가능

XOR 문제는 주어진 선형식으로 구현하는 것은 불가능하고, 위의 두번째 그림처럼 비선형 표현이 필요하다. 이를 해결해주는 것이 다층 퍼셉트론(MLP)이다.

 

4. 다층 퍼셉트론

퍼셉트론으로 층을 쌓아서 다층 퍼셉트론을 만들 수 있다. 2개의 층으로 XOR을 표현할 수 있다.

 

기존 게이트 조합

XOR 게이트를 만드는 방법은 다양하지만 그 중 하나는 AND, NAND, OR 게이트를 조합하면 다음과 같다.

NAND - OR 이 병렬적으로 구성되어 있다.
게이트의 그래프 버전

XOR 진리표

x1 x2 s1 s2 y
0 0 1 0 0
0 1 1 1 1
1 0 1 1 1
1 1 0 1 0

s1은 NAND, s2는 OR, y는 s1, s2에 대한 AND 게이트의 출력값이다.

이러한 방법으로 단층 퍼셉트론으로 표현하지 못한 것을 층을 쌓으면서 다양한 것으로 표현할 수 있다.

이론 상으론 컴퓨터를 만들 정도로 표현력이 뛰어나다.