[AI] 퍼셉트론이란?

[AI] 퍼셉트론이란?

퍼셉트론은 신경망(딥러닝)의 기원이 되는 알고리즘이다.

퍼셉트론은 다수의 신호(흐름이 있는)를 입력받아 하나의 신호를 출력한다.

퍼셉트론은 이 신호를 입력받아 '흐른다/안 흐른다'(1 or 0)이라는 정보를 앞으로 전달한다.

  • x1과 x2는 입력 신호, y는 출력 신호, w1과 w2는 가중치(weight)를 의미한다.
  • 원을 뉴런 or 노드라고 부른다.
  • 입력 신호가 뉴런에 보내질 때는 각각 고유한 가중치가 곱해진다(w1x1, w2x2)
  • 뉴런에서 전달받은 신호의 총합이 임계값(세타)를 넘을 때만 1을 출력한다.
퍼셉트론은 복수의 입력 신호 각각에 고유한 가중치를 부여한다. 가중치는 각 신호가 결과에 주는 영향력을 조절하는 요소로 작용하며, 가중치가 클수록 해당 신호가 그만큼 더 중요함을 뜻한다.


퍼셉트론의 한계

단층 퍼셉트론은 AND, NAND, OR 게이트는 구현 가능하지만, XOR 게이트는 구현할 수 없다. 퍼셉트론은 아래와 같이 직선으로 나뉜 두 영역을 만든다. 하지만 XOR은 직선으로 두 영역을 나눌 수 없다.





    다층 퍼셉트론

    단층 퍼셉트론으로는 XOR을 구현할 수 없지만, 다층 퍼셉트론으로는 XOR 게이트를 구현할 수 있다.
    먼저, 아래의 그림처럼 입력값 x1, x2를 각각 NAND와 OR 게이트에 보낸다음, 그 결과 값들을 AND 게이트에 보내면 XOR 게이트를 구현할 수 있다.

    출처

    댓글

    이 블로그의 인기 게시물

    [Python] # -*- coding: utf-8 -*-를 쓰는 이유

    [소프트웨어공학] NS(Nassi-Schneiderman) 차트

    [컴퓨터네트워크] Telnet이란?