Perceptron(퍼셉트론)

yuns_u·2021년 10월 18일
0
post-custom-banner

Perceptron: 신경망을 이루는 가장 기본 단위

퍼셉트론은 신경망을 구성하는 가장 기본 단위로 인간의 뉴런을 모방한 신경망의 기본 단위이다.
Perceptron = Perception + Neuron

  • 퍼셉트론은 하나의 노드(뉴런)으로 이루어진 신경망의 기본 구조로 다수의 입력값을 받아 하나의 출력값을 내보낸다.
  • 퍼셉트론에서 노드는 입력값에 가중치(와 편향)가 곱해진 값을 모두 더하는 연산, 즉 선형 결합을 하고 활성화 함수를 적용한 후 그 값을 출력한다.

인간의 뇌는 약 100억개의 뉴런으로 치밀하게 연결되어 있다. 뉴런들은 시냅스라는 연결이 1000개에서 10000개까지 그물망처럼 이어져있고 그런 구조를 통해 우리의 뇌가 생각을 하고 사고를 한다고 알려져 있다.

인간의 뇌처럼 사고하는 신경망을 만들기 위한 기본 단위가 그림에서의 화살표이다. (동그라미는 노드라고 볼 수 있을 것 같다.)

퍼셉트론은 1950년대에 로젠블라트라는 사람이 고안한 알고리즘으로 신경망(딥러닝)의 기원이 되는 알고리즘이라고 할 수 있다.

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

신호는 전류와 같은 일종의 흐름이다. 퍼셉트론은 입력 데이터와 가중치가 연산의 흐름을 만들어 정보를 계속해서 전달한다. 그 연산의 흐름이 흐른다/흐르지 않는다로 1과 0의 값 중 하나를 가질 수 있다.

가중치는 전류의 저항과 같다. 저항은 전류의 흐름을 억제하여 저항이 낮을수록 큰 전류가 흐르게 된다.
가중치는 저항과는 반대로 가중치가 클수록 강한 신호를 흘려보낸다. 저항과 작용하는 방향은 반대지만 신호를 얼마나 흘려줄 것인지를 결정한다는 점에서 저항과 가중치는 같은 기능을 한다고 할 수 있다.

수식

퍼셉트론이 하는 연산을 수식으로 나타내면 다음과 같이 나타낼 수 있다.
아래의 식에서 ff 는 활성화 함수를 나타낸다.
먼저 가중치와 편향을 입력 신호와 연산한 값을 더한 ()\big(\sum\big) 뒤에 활성화 함수(f)(f)에 넣어준다.

y=f[(b+w0x0+w1x1+...+wnxn)]y = f \bigg[\sum(b + w_0x_0 + w_1x_1 + ... + w_nx_n) \bigg]

논리게이트(Logic Gate)

퍼셉트론의 가장 단순한 경태는 AND, NAND, OR과 같은 논리게이트이다.
각 논리게이트를 진리표를 통해 표로 보면 아래와 같다.
보통 A와 B의 노드의 신호를 받았을 때 출력되는 값은 이러하다라고 보여주는 이론상의 표인 것 같다.

AND GATE

입력신호가 모두 1(True)일 때 1(True)를 출력

NAND GATE

NAND는 Not AND의 줄임말로 AND GATE와 반대로 입력신호가 모두 1이 아닐 때(한 개 이상 False일 때) 1(True)를 출력한다.

OR GATE

OR GATE는 입력 신호 중 하나만 1(True)이기만해도 1(True)를 출력한다.

XOR GATE

XOR GATE는 배타적 논리합(Exclusive-OR)이라고도 불리는 GATE이다.
입력신호가 다를 경우 1(True)를 출력한다.

신경망이 논의되던 초기에 퍼셉트론의 한계로 지적되었던 것이 XOR GATE의 표현이었다고 한다.

위의 그림은 각각 AND, OR, XOR의 진리표를 나타내고 있는 그림이다. 검은색 점이 True, 흰 점이 False를 의미하는데 AND와 OR에서는 두 클래스(True, False)를 분류하기 위한 분류 경계가 나타나고 있다. 하지만 단순한 선형적인 경계로는 XOR에서 등장하는 점을 두 클래스로 완벽하게 분류할 수 없다.

XOR GATE는 위의 AND, NAND, OR GATE를 조합해서 풀어볼 수 있다.
AND(NAND(x1, x2), OR(x1, x2)) 등 전보다 좀 더 복잡하게 나타낼 수 있다.

profile
💛 공부 블로그 💛
post-custom-banner

0개의 댓글