새벽을 밝히는 붉은 달

[밑바닥부터 시작하는 딥러닝] 퍼셉트론 본문

Data Engineering

[밑바닥부터 시작하는 딥러닝] 퍼셉트론

자윰 2021. 4. 10. 03:41

다음은 사이토 고키의 밑바닥부터 시작하는 딥러닝을 읽고 정리한 내용입니다.

잘못된 내용, 혹은 수정해야할 사항이 있다면 댓글로 알려주시면 감사하겠습니다.


퍼셉트론(perceptron)은 1957년, 프랑크 로젠블라트가 고안한 알고리즘이다. 퍼셉트론은 신경망(딥러닝)의 기원이 되는 알고리즘이기 때문에 그 구조를 배워야 한다.


1. 퍼셉트론이란?

퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. 퍼셉트론 신호는 1이나 0의 두 가지 값을 가질 수 있다.

다음과 같은 구조를 가지고 있다.

여기에서 x1과 x2는 입력 신호, y는 출력 신호, w1과 w2는 가중치를 뜻한다.

 

입력 신호가 뉴런에 보내질 때는 각각 고유한 가중치가 곱해진다. (w1x1, w2,x2)

뉴런에서 보내온 신호의 총합이 정해진 한계, 즉 θ 를 넘어설 때만 1을 출력한다. ('뉴런이 활성화한다' 라고 표현하기도 한다)

 

수식으로 나타내면 다음과 같다.

퍼셉트론에서 부여한 가중치는 각 신호가 결과에 주는 영향력을 조절한다. 즉, 가중치가 클수록 해당 신호가 그만큼 더 중요함을 뜻하게 된다.


2. AND 게이트

AND 게이트는 입력이 둘이고 출력은 하나로, AND게이트의 진리표는 다음과 같다.

출처: 위키피디아

AND 게이트를 만족하는 매개변수 조합은 무한히 많다. x1이 1, x2가 1일 때만 θ를 넘도록 하면 된다.

예를 들어, (1.0, 1.0, 1.0)의 경우 AND 게이트를 만족한다.


3. NAND 게이트

NAND는 Not And를 의미하는 것으로, AND게이트의 출력을 뒤집은 진리표를 가진다.

출처: 위키피디아

AND 게이트와 마찬가지로, NAND 게이트를 만족하는 매개변수 조합은 무한히 많다.

예를 들어, (-0.7, -0.2, -0.8) 의 경우 NAND 게이트를 만족한다.


4. OR 게이트

OR 게이트는 입력 신호 중 하나 이상이 1이면 출력이 1이 되는 논리 회로로, 다음과 같은 진리표를 가진다.

출처: 위키피디아

OR 게이트를 만족하는 매개변수 조합 또한 무한히 많다.

예를 들어, (1, 1, 0.5) 의 경우 OR 게이트를 만족한다. 


5. 퍼셉트론의 한계

XOR 게이트는 배타적 논리합이라는 논리 회로로, 다음과 같은 진리표를 가진다.

출처: 위키피디아

XOR 게이트를 좌표계에 나타내었을 때 다음과 같은 사진으로 나타낼 수 있다. 

출처: ResearchGate.net

지금까지의 퍼셉트론의 구조로는 XOR 게이트를 구현할 수 없다. 왜냐하면, 지금까지 살펴본 퍼셉트론의 구조는 직선으로 나눠 두 영역만을 만들기 때문이다. (위의 사진에서 직선 1개를 아무리 그어도 0과 0, 1과 1이 같은 영역에 들어가도록 만들 수 없다.)


6. 다층 퍼셉트론

앞서 단층 퍼셉트론으로는 XOR 게이트를 표현할 수 없었다. 그러나, 퍼셉트론 층을 여러 개 쌓아 다층 퍼셉트론을 만들어 XOR 게이트를 만들 수 있다. XOR 게이트의 경우에는 2개의 층을 쌓아 표현을 할 수 있다.

 

먼저 XOR 게이트는 AND, NAND, OR 게이트를 조합하여 구현할 수 있다. 

출처: 위키피디아

xor의 퍼셉트론을 나타내면 다음과 같다.


7. 정리

  • 퍼셉트론은 입출력을 갖춘 알고리즘이다. 입력을 주면 정해진 규칙에 따른 값을 출력한다.
  • 퍼셉트론에서는 '가중치(Weight)'와 '편향(Bias)'을 매개변수로 설정한다.
  • 퍼셉트론으로 AND, OR 게이트 등의 논리 회로를 표현할 수 있다.
  • XOR 게이트는 단층 퍼셉트론으로는 표현할 수 없으나, 2층 퍼셉트론을 이용하면 표현이 가능하다.
  • 단층 퍼셉트론은 직선형 영역만 표현할 수 있고, 다층 퍼셉트론은 비선형 영역도 표현할 수 있다.
Comments