반응형

안녕하세요, 츄르 사려고 코딩하는 집사! 코집사입니다.

 

1. 퍼셉트론(Perceptron)

    - 다수의 신호를 입력으로 받아 하나의 신호를 출력

    - 인공신경망의 한 종류로 코넬 항공 연구소의 프랑크 로젠블라트에 의해 만들어짐

    - 퍼셉트론은 우리가 생물시간에 배웠던 뉴런의 구조와 같다고 보면 된다.

    - 입력(x1, x2)은 뉴런 또는 노드라 부름 // 이 입력들을 입력층(Input Layer)라고도 부름

    - 출력(y)는 출력층(Output Layer)

    - w1,w2는 각각의 고유한 가중치 -> 각 신호가 결과에 주는 영향력 조절하는 요소로 작용

    - 가중치가 클 경우 해당 입력 노드가 중요하다는 것을 뜻함

    - 정해진 임계값을 넘을 경우 1을 출력(y)

    - 아래의 식은 대부분 활성함수를 의미함.(Activation Function)

    - x1*w1 + x2*w2 <=임계값 -> 0 출력

    - x1*w1 + x2*w2 >  임계값 -> 1 출력

입력(x1, x2)에 따른 퍼셉트론

 

 

2. 퍼셉트론 파이썬 코드

   - AND 회로를 통한 파이썬 코드

 

def AND(x1, x2):
    w1, w2, theta = 0.5, 0.5, 0.7
    sum = x1*w1 + x2*w2
    if sum > theta:
        return 1
    elif sum <= theta:
        return 0

 

 

3. 결과

 

 

4. 퍼셉트론(Perceptron)의 한계

   - 퍼셉트론으로 AND회로, NAND, OR 회로를 구현할 수 있음

   - 하지만, XOR 회로는 구현하지 못함 -> 이 경우, 다층 퍼셉트론(Multi-layer perceptron)을 사용하여 구현 가능

 

 

5. 다층 퍼셉트론(Multi-layer Perceptron)

   - XOR 회로는 NAND 회로 + OR 회로 + AND회로를 이용하여 구현할 수 있음

   - 단층 퍼셉트론으로 구현하지 못하는 것을 층을 하나 늘려 구현 가능

   - 코드

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기