Deep Learning

퍼셉트론

Younder 2021. 4. 16. 00:56

- 퍼셉트론 이란

  • 다수의 신호를 받아 하나의 신호를 출력합니다. 
  • 퍼셉트론에서의 신호는 1 또는 0 값만 가질 수 있습니다.
  • 신경망 ( 딥러닝 ) 의 기원이 되는 알고리즘
  • 입력이 2개인 퍼셉트론 

  • 여기서 x1,x2 는 입력이고, w1,w2는 가중치, y는 출력 입니다. 
  • 원에 해당되는 것은 뉴런 이라고 불립니다. (혹은 노드 라고 불립니다.)
  • 입력신호가 뉴런에 보내질땐 각각의 가중치가 곱해집니다.
  • 가중치란 전기신호에서 저항 정도로 생각하면 되지만 저항과는 반대로 가중치 값이 클수록 큰값을 흘립니다.
  • 뉴런에서 전해져 온 신호의 총 합이 임계값을 넘을 때만 1을 출력합니다. 

- AND,NAND,OR게이트 실습

  • 퍼셉트론을 활용한 간단한 문제 해결
  • 퍼셉트론에서 위의 3가지 게이트는 모두 구조가 동일합니다.
  • 세가지 게이트에서 다른것은 "매개변수(가중치,임계값) 값"

  • 게이트를 구현하기에 앞서 B라는 편향을 도입하였습니다. " 뉴런이 얼마나 쉽게 활성화 하느냐를 조정하는 변수 "

  • 이를 이용해 각 게이트를 구현하였습니다.

- 퍼셉트론의 한계 

  • 퍼셉트론은 XOR을 구현할 수 없습니다. 이는 인공지능의 암흑기가 찾아온 이유이기도 합니다. 
  • XOR이란 두개의 입력이 같으면 0 다르면 1을 출력하는 게이트 입니다.

  • 옆의 그림에서 보듯, 하나의 직선으로 '동그라미'와 '세모' 를 나눌 수 없기 때문에 한계가 온 것입니다.
  • 이처럼 곡선으로 나눌 순 있겠지만
  • 퍼셉트론은 직선 하나로 나눈 영역만 표현할 수 있다는 한계를 가지고 있기 때문입니다.

 

 

 

 

 

- 다층 퍼셉트론

  • 퍼셉트론은 다층으로 쌓을 수 있습니다. 
  • 우선 다층 퍼셉트론을 사용하여 XOR을 구현한 코드를 살펴보겠습니다.

 자 여기서 이제 이것이 어떤 원리로 구현된 코드인지 살펴보겠습니다.

 

  • 우선 XOR을 구현하기 위한 게이트(퍼셉트론)의 조합을 살펴보면 

  • X1 과 X2 를 입력으로 받는 NAND 게이트 와 OR 게이트 
  • 그리고 그 각각의 출력값을 입력으로 받는 AND 게이트의 조합으로 XOR을 구현할 수 있습니다. 이를 진리표로 살펴보면

 S1 은 NAND의 출력 , S2는 OR의 출력 값이고 이를 입력으로 받은 AND게이트를 통과한 Y값의 결과 입니다. 

 

이를 퍼셉트론으로 표현하면 

이와 같이 표현할 수 있습니다. 그래서 위의 코드는 이를 바탕으로 작성하였습니다. 

 

이처럼 2층이상으로 표현되는 퍼셉트론을 "다층 퍼셉트론"이라 부릅니다. 

 

이처럼 단층으로 표현 못한 것을 층을 하나 늘려 구현할 수 있습니다.

'Deep Learning' 카테고리의 다른 글

4. 출력층 설계하기, 소프트맥스 함수.  (0) 2021.04.19
3.신경망,활성화 함수  (0) 2021.04.19
딥러닝 개요  (0) 2021.04.15