다층 퍼셉트론

2019. 7. 16. 21:24AI/Deep Learning

지난 시간에 XOR 문제는 단층 퍼셉트론으로 해결할 수 없다고 했습니다.

그렇다면 XOR 문제는 어떻게 해결을 해야할까요?

 

그 해결법은 단층 퍼셉트론을 쌓아서 만든 다층 퍼셉트론(multi-layer perceptron)으로 해결을 할 수있습니다.

 

XOR 게이트를 만드는 방법은 다양하지만, "밑바닥부터 시작하는 딥러닝" 책에서는

지난 포스팅에서 배웠던  AND, NAND, OR 게이트를 조합하여 만들었습니다.

 

 

XOR 게이트

<그림 1>

 

XOR 퍼셉트론

<그림 2>

층이 여러 개인 퍼셉트론을 다층 퍼셉트론이라고 합니다.

위의 예제는 3층으로 구성되지만, 가중치를 갖는 층은 0층과 1층 사이, 1층과 2층 사이 뿐이라서 2층 퍼셉트론이라고

부르기도하고, 구성 층의 수를 기준으로 3층 퍼셉트론이라고도 합니다.

 

위의 퍼셉트론 동작은 다음과 같습니다.

1) 0층의 두 뉴런이 입력 신호를 받아 1층의 뉴런으로 신호를 보냅니다.

2) 1층의 뉴런이 2층의 뉴런으로 신호를 보내고, 2층의 뉴런은 y를 출력합니다.

 

XOR 진리표

<그림 3>

Python code

1

2

3

4

5

6

def XOR(x1, x2):

 

    s1 = NAND(x1, x2)

    s2 = OR(x1, x2)

    y = AND(s1, s2)

 

    return y

퍼셉트론은 층을 거듭 쌓으면 비선형적인 표현이 가능합니다.

이론상 컴퓨터가 수행하는 처리도 모두 표현할 수 있습니다.

 

 

 

 

 

출처:

밑바닥부터 시작하는 딥러닝(한빛미디어, 사이토 고키 지음, 개앞 맵시 옮김)

그림1: 

https://poddeeplearning.readthedocs.io/ko/latest/%EB%B0%91%EB%B0%94%EB%8B%A5%EB%B6%80%ED%84%B0%20%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94%20%EB%94%A5%EB%9F%AC%EB%8B%9D/2.Perceptron/

그림 2,3: https://kolikim.tistory.com/13

 

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

신경망(2) 3층 신경망 구현  (0) 2019.07.16
신경망(1) 활성화 함수  (0) 2019.07.16
단층 퍼셉트론  (0) 2019.07.16
[cs231n] Lecture3. Loss Functions and Optimization  (0) 2019.07.16
[cs231n] Lecture 2. Image Classification  (0) 2019.07.11