본문 바로가기
Data Analysis/DL

[DL] 퍼셉트론 Perceptron, TLU

by dataYANG 2022. 9. 19.
728x90

퍼셉트론(Perceptron)

 

퍼셉트론은 저번 [DL] 첫 게시물 딥러닝의 역사 부분에서 언급되었습니다. 퍼셉트론은 1957년 코넬 항공 연구소의 로젠블라트Frank Rosenblatt에 의해 고안되었다고 합니다. 이렇게 오래된 알고리즘을 왜 알아야하냐 하면, 퍼셉트론이 신경망(딥러닝)의 기원이 되는 알고리즘이기 때문입니다.

 

퍼셉트론이란?

퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력합니다. (전류와 강물의 흐름과 비슷합니다.)

퍼셉트론 신호도 흐름을 만들고 정보를 앞으로 전달하고, 1과 0 두 가지의 값만 가지게 됩니다.

 

입력이 2개인 퍼셉트론
입력이 2개인 퍼셉트론

다음은 입력이 2개인 퍼셉트론의 예이며, x1과 x2는 입력신호, w1과 w2는 가중치, y는 출력신호를 뜻합니다. 입력신호가 각 뉴런에 보내질 때에는 고유한 가중치가 곱해집니다. 곱해진 값의 총합이 정해진 임계값을 넘으면 1을 출력합니다.

따라서 정리하면,

퍼셉트론 원리 수식

의 수식으로 나타낼수있습니다.

계단 함수 같지 안나요? 맞습니다. 가중치라는 개념이 추가되었을 뿐입니다.

 

논리회로

 

# AND

AND 게이트
AND 게이트

AND 게이트는 두 입력이 모두 1일 때만 1을 출력하고, 그 외에는 0을 출력합니다.

 

 

# NAND

NAND 게이트
NAND 게이트

NAND는 NOT and를 뜻하며, AND게이트의 출력의 반대가 되겠습니다. 즉, 두 입력이 모두 1일때만 0을 출력하고, 그 외에는 1을 출력합니다.

 

AND게이트를 구현하는 매개변수의 부호를 모두 반전시키면 NAND게이트가 됩니다.

 

 

# OR

OR 게이트
OR 게이트

OR 게이트는 입력 신호 중에 하나 이상이 1이면 출력이 1이 됩니다.

 

이와같이 퍼셉트론으로 AND, NAND, OR를 표현 가능하다는것을 확인하였습니다. 이 세 가지 게이트에서 다른 것을 찾으라면 매개변수의 값입니다. 즉, 매개변수 값만 조정하면 세 게이트로 언제든 바꿀수있습니다.

# XOR

XOR 게이트
XOR 게이트

XOR 게이트는 배타적 논리합의 논리 회로입니다. 두 입력층 중 하나만 1일 때만 1을 출력합니다.

 

처음 세개의 게이트(AND, NAND, OR)는 Threshold를 어떻게 잡아도 하나의 선으로 분류가 가능하지만,

XOR 게이트는 어떻게 잡아도 구현할 수 없습니다.

이해하기 쉽게 AND와 XOR 그래프로 설명하자면,

AND 게이트 그래프
AND 게이트 그래프 : 파란 부분은 0을 출력하는 영역

AND게이트는 (0, 0), (1, 0), (0, 1)일 경우 0을 출력하고(원), (1, 1)일 경우에는 1을 출력한다(정사각형).

위 그래프에서 보이듯이 원과 네모를 직선 하나로 나누어지는것을 확인할수있습니다. 하지만 XOR 게이트의 경우에는

XOR 게이트 그래프
XOR 게이트 그래프

어떻게해야 직선 하나로 원과 정사각형을 나눌수있을까요?

아마 비선형인 경우에만 가능하겠지요?

선형분류기인 퍼셉트론에서는 XOR는 한계가 있습니다.

 

이러한 비선형의 문제를 해결하기 위해 나온 다층 퍼셉트론에 대해서는 다음 글에서 알아보겠습니다.

728x90

'Data Analysis > DL' 카테고리의 다른 글

[DL] 다층 퍼셉트론, MLP  (0) 2022.09.25
[DL] 딥러닝(Deep Learning)이란?  (0) 2022.08.25

댓글