본문 바로가기
Study/ML&DL

퍼셉트론

by GodKim 2020. 3. 24.

이 글은 [밑바닥부터 시작하는 딥러닝]을 읽고 정리한 글이다.


1. 퍼셉트론(Perceptron)이란?

 

 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호로 출력한다. 

입력이 2개인 퍼셉트론

 이 그래프에서 각 x는 입력 신호, y는 출력 신호, w는 가중치를 뜻한다. 그리고 그림의 원은 뉴런 혹은 노드라고 불린다. 입력 신호가 뉴런에 보내질 때는 각각 고유한 가중치가 곱해진다. 각 노드에서 보내온 신호의 총합이 정해진 한계를 넘을때만 1을 출력한다. 그 한계를 임계값이라고 한다.

여기서 세타는 임계값을 뜻한다.

 2. 단순한 논리 회로

 2.1 AND, NAND, OR 게이트

 

여기서의 b는 임계값이 편향 -b로 치환된 것을 나타낸다.

3. 다층 퍼셉트론

 위에서 살펴본 3 가지 논리 회로는 모두 한 가지의 퍼셉트론만 사용해서도 구현이 가능하였다. 하지만 배타적 논리합인 XOR 게이트는 단일 퍼셉트론만으로 해결할 수 없다.

 

 3.1 XOR 게이트

 위의 3 가지 논리 회로를 그래프로 나타내면 각각 선형으로 구별이 가능한 선형 그래프들이 나타난다. 하지만 XOR 게이트의 논리표는 바탕으로 그래프를 그려 나누려하면 선형으로는 나누어지지 않는다. 그러면 어떻게 나누면 될까?? 바로 선형이 아닌 비선형으로 나누면 된다.

그러면 퍼셉트론으로는 어떻게 구현이 가능할까? 이 질문에 대한 답은 바로 여러개의 퍼셉트론을 사용하여 층을 만든다는 것이다. 즉, AND, NAND, OR을 적절히 사용해 XOR을 표현할 수 있다는 것이다. 

 

 우선 진리표를 살펴보면 x'1은 x1과 x2가 NAND게이트에 들어갔을 때 나오는 값이다. 그리고 x'2는  x1과 x2가 OR 게이트에 들어갔을때 나오는 값이다. 그 후 마지막 결과 값인 y는 x'1과 x'2가 AND 게이트에 들어갔을때 나타나는 값이다. 즉, 이 진리표를 기호로 나타내면 아래와 같아진다.

 위 그래프를 보면 알 수 있듯이, XOR 게이트는 2층 퍼셉트론인 것이다. x1, x2 입력 신호를 두 노드(뉴런)에서 받는다. 이 부분이 0층이다. 그리고 1-layer, 즉, 1층으로 각 시호를 보내고 2-layer, 2층의 노드에선 y를 출력한다. 이처럼 퍼셉트론은 층을 쌓아 다양한 것들을 표현 할 수 있다. 이런 다층 퍼셉트론을 이용하면 컴퓨터까지 표현 할 수 있다!

반응형

댓글