- 퍼셉트론은 신경망의 기원이 되는 알고리즘
퍼셉트론이란?
퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호(전류나 강물처험 흐름)를 출력합니다.
퍼셉트론의 신호는 0과 1의 두 가지 값만 가집니다.

그림의 원을 뉴런 혹은 노드라고 부릅니다.
입력 신호가 뉴런에 보내질 때는 각각 고유한 가중치가 곱해지고 뉴런에서 보내온 신호의 총합이 정해진 한계를 넘어설 때만 1을 출력합니다.
이때 그 한계값을 임계값(Θ)이라고 합니다.
위 그림을 보면 입력 x1과 입력 x2가 들어온 후 각각의 가중치 w1과 w2와 곱해진 후 출력 y가 됩니다.
이때 y값이 일정 한계(Θ)를 넘어서면 1이 출력되고 넘지 못하면 0이 됩니다.
논리 회로
- AND 게이트

AND게이트를 퍼셉트론으로 표현하면 위의 진리표대로 작동하도록 하는 w1,w2,Θ의 값을 정하는 것입니다.


출력 값은 0, 0, 0, 1을 잘 출력합니다.
- NAND

- OR

퍼셉트론의 한계
AND, OR, NAND는 시각화를 했을때 직선하나로 나눌수 있습니다.

하지만 XOR 같은 경우는 직선하나로 나눌 수가 없습니다.

하지만 다음과 같이 곡선으로 나눈다면 가능합니다.
때문에 퍼셉트론으로는 XOR 게이트를 표현할 수 없습니다.
다층 퍼셉트론
XOR 게이트는 NAND게이트와 OR게이트를 AND게이트로 조합할 수 있습니다.
이 조합을 활용하면 XOR게이트를 구현 할 수 있는데 이 조합을 다층 퍼셉트론으로 표현 할 수 있는것입니다.
위에서 구현한 함수를 사용해 표현하면

출력 0, 1, 1, 0이 됩니다.
이처럼 단층 퍼셉트론으로는 표현하지 못한 것을 층을 하나 늘려 구현할 수 있습니다.
'ML & DL > 밑바닥부터 시작하는 딥러닝' 카테고리의 다른 글
[파이썬 딥러닝]순전파와 역전파 기초 (0) | 2023.03.28 |
---|---|
[파이썬 딥러닝] 학습 알고리즘 구현 (0) | 2023.03.24 |
[파이썬 딥러닝] 수치 미분 (0) | 2023.03.22 |
[파이썬 딥러닝] 신경망 학습 (0) | 2023.03.16 |
[파이썬 딥러닝] 신경망 (0) | 2023.03.14 |