퍼셉트론(Perceptron) - 가중치(weight)와 편향(bias)에 대하여

1 minute read

해당 포스트의 내용은 밑바닥부터 시작하는 딥러닝(사이토 고키 지음, 개앞맵시 옮김)의 책을 참고하여 작성하였음을 밝힙니다.

퍼셉트론이란?

1957년 Frank Rosenblatt가 고안한 알고리즘으로, 신경망(딥러닝)의 기원이 되었습니다. 다수의 Input 값을 입력 받아 하나의 Output을 출력합니다. 복수의 입력 신호 각각에 고유한 가중치를 부여하여, 결과에 영향력을 조절하는 요소로 작용합니다. 중요할 수록 가중치를 높입니다.

가중치와 편향에 대하여

가중치(weight): 각 입력 신호가 결과에 주는 영향력(=중요도)를 조절함

편향(bias): 뉴런이 얼마나 쉬게 활성화되는지를 결정함

문맥에 따라 두 개 모두 가중치라고 불릴 때도 있습니다.

단순한 논리회로의 예

단순한 논리회로의 예에는 AND, NAND, OR 게이트 등이 존재합니다. 간단하게 설명하자면 각 게이트는 아래와 같습니다.

  • AND 게이트: 두 입력이 모두 1일 때만 1
  • NAND 게이트: AND 게이트의 반전. 두 입력이 모두 1일 때만 0. 나머지는 1
  • OR 게이트: 둘 중의 하나가 1이라면 1

XOR 게이트의 예

XOR 게이트는 배타적 논리합이라 말할 수 있습니다. 배타적 논리합이란, 자기 자신 외에는 거부함을 의미합니다. x1과 x2에 서로 다른 숫자가 들어갈 때만 0을 리턴합니다.

해당 로직을 단층으로 표현하기엔 선형으로 표현하기가 어렵습니다. 비선형으로만 표현을 할 수 있습니다. 꼬불꼬불한 표현은 단순하게 표현하기 어렵습니다. 이런 것을 퍼셉트론으로 표현하려면 어떻게 해야할까요?

바로, 여러 층을 쌓는 다층 퍼셉트론이 필요합니다.

다층 퍼셉트론(multi-layer perceptron)

XOR 게이트의 경우 하나의 층만 더 쌓는다면 문제 해결이 가능합니다. 단층 퍼셉트론으로 표현하지 못한 것을 이와 같이 해결할 수 있습니다. 거듭해서 층을 쌓다보면 비선형적 표현은 물론, 컴퓨터와 같이 복잡한 처리도 이론상 가능하다고 합니다.