본문 바로가기
AI/밑바닥부터 시작하는 딥러닝

[ Chapter.02 ] 퍼셉트론

by jennyf 2022. 6. 28.

01. 퍼셉트론이란?

퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력합니다.
퍼셉트론 신호는 흐른다 / 안흐른다 두 가지 값을 가질 수 있습니다.

가중치란?

각 신호가 결과에 주는 영향력을 조절하는 요소입니다.

신호의 영향력을 제어합니다.
가중치가 클수록, 해당 신호가 중요하다는것을 의미합니다.

편향이란?

뉴런이 얼마나 쉽게 활성화 (결과로 1을 출력) 하느냐를 조정하는 매개변수 입니다.

b = -1.0 이면 입력신호가중치의 합 > 0.1 이면 뉴런이 활성화합니다.
b = -20.0 이면 입력신호
가중치의 합 < 20.0 이면 뉴런이 활성화하지 않습니다.

 

편향의 입력신호는 항상 1 입니다. 

 

 

아래 그림을 살펴보겠습니다.
원을 뉴런 or 노드 라고 부릅니다.
현재 2개의 입력신호가 있습니다.
퍼셉트론은 입력 신호 각각에 고유한 가중치를 부여합니다.

입력 신호가 보내질때는 각각 고유한 가중치가 곱해집니다.
이후 곱해진 값의 총 합이 정해진 한계(=임계값)를 넘는다면 1을 출력합니다.
이를 뉴런이 활성화한다라 표현합니다.

02. 단순한 논리 회로

퍼셉트론을 활용한 간단한 문제를 살펴봅니다.

01) AND 게이트

AND 게이트의 입력은 두 개이고, 출력은 한 개입니다.
해당 게이트를 퍼셉트론으로 표현하고 싶습니다.
이를 위해 할 일은 w1, w2, 세타 를 정하는 것 입니다.

02) NAND / OR 게이트

NAND는 not and를 의미합니다.

=> AND, NAND, OR 게이트에서 퍼셉트론의 구조는 모두 동일합니다.
하지만 매개변수(=가중치, 임계점)은 다릅니다.

03. 퍼셉트론 구현하기

AND, NAND, OR 모두 같은 구조의 퍼셉트론입니다.
가중치 매개변수의 값만 서로 다릅니다.

04. 퍼셉트론의 한계

퍼셉트론은 직선 하나로 나눈 영역만 표현할 수 있다는 한계가 있습니다.
곡선은 표현할 수 없다는 의미입니다.
(직선을 선형 영역, 곡선을 비선형 영역 이라고 합니다.)

퍼셉트론을 이용하여 AND, NAND, OR의 3가지 논리 회로를 구현할 수 있습니다.

다음은 XOR 게이트 입니다.
XOR 게이트는 배타적 논리합이라는 논리 회로입니다.
한쪽이 1일 때만 1을 출력합니다.

XOR 게이트를 퍼셉트론으로 구현하려면 가중치 매개변수 값을 어떻게 설정하면 될까요?
결론만 말하면 지금까지 본 퍼셉트론은 이 XOR 게이트를 구현할 수 없습니다.

퍼셉트론은 직선으로 나뉜 두 영역을 만듭니다.
직선으로 나뉜 한쪽 영역은 1, 다른 한쪽은 0을 출력합니다.

하지만 XOR은 곡선으로만 표현이 가능합니다.
즉 직선으로만 영역을 나눌 수 있는 퍼셉트론으로는 표현할 수 없습니다.

05. 다층 퍼셉트론이 출동한다면

위에서 확인한것 처럼 XOR은 퍼셉트론으로 표현할 수 없습니다.

사실 퍼셉트론은 층을 쌓아 다층 퍼셉트론을 만들 수 있습니다.

따라서 이번에는 층을 하나 더 쌓아 XOR 을 표현해보겠습니다.

왼쪽에서부터 차례로 0층, 1층, 2층이라고 부르겠습니다.
앞에서 살펴본게이트들과 다르게 3층으로 구성되어있습니다.

이렇게 층이 여러개인 것을 다층 퍼셉트론이라 합니다.

이때 XOR은 2층 퍼셉트론입니다.
분명히 3층을 쌓았는데 왜 2층 퍼셉트론 일까요?
실제 가중치를 갖는 층은 실제로 2개 이기 때문입니다. (0층 ~ 1층, 1층 ~ 2층)

0층 뉴런이 입력 신호를 받아 1층 뉴런으로 신호를 보냅니다.
1층 뉴런이 2층 뉴런으로 신호를 보내고, 2층 뉴런은 y를 출력합니다.

결론적으로 2층 구조를 사용하여 퍼셉트론으로 XOR 게이트를 구현할 수 있게 되었습니다.
퍼셉트론은 층을 쌓아 더 다양한 것을 표현할 수 있습니다.

06. NAND에서 컴퓨터까지

07. 정리

퍼셉트론은 신경망의 기초가 됩니다.
퍼셉트론은 입출력을 갖춘 알고리즘입니다. 입력을 주면 정해진 규칙에 따른 값을 출력합니다.
퍼셉트론에서는 가중치와 편향을 매개변수로 설정합니다.
XOR 게이트는 단층 퍼셉트론으로는 표현할 수 없습니다. (다층 퍼셉트론으로는 표현 가능합니다.)
단층 퍼셉트론은 직선형 영역만 표현합니다. 다층 퍼셉트론은 비선형 영역도 표현합니다.
다층 퍼셉트론은 컴퓨터를 표현할 수 있습니다.