본문 바로가기
Deep Learning/Neural Network

Perceptron (Deep Learning의 시작)

by YJJo 2019. 5. 24.

간략한 Deep Learning의 역사

Figure 1: 딥러닝 역사

F. Rosenblatt의 Perceptron모형부터 현재 GAN, R-CNN에 이르기 까지의 간략한 역사입니다. Deep Learning 관련 포스팅은 크게 역사 기반 진행될 예정입니다:) 먼저 Rosenblatt의 Perceptron 모형부터 시작하겠습니다.


Perceptron (단층퍼셉트론)

퍼셉트론 모형은 1958년 F. Rosenblatt이 최초 고안한 모형으로 현재 딥러닝의 효시가 되었습니다. 퍼셉트론 모형은 단순히 입력 변수($x$)와 가충치($w$)의 곱이 thereshold($\theta$)보다 크면, 1, 아니면 0으로 분류하는 모형입니다. 간단히 수식으로 나타내면, $$x^{\top}w+b\geq\theta\rightarrow 1$$가 됩니다. 여기에서 $b$는 bias입니다.

최초 F. Rosenblatt이 고안한 perceptron 모형은 single layer 모형으로 도식화하면 다음과 같습니다.

Figure 2: Single Layer Perceptron


XOR Problem

1969년 M. Minsky et al.은 Single layer perceptron으로는 XOR 문제를 해결할 수 없음을 보이고 neural network 학계는 빙하기를 맞이하게됩니다. XOR 문제란 $x_{1}$과 $x_{2}$ 둘 중 하나만 1인 경우 1을 output으로 뱉고, 아닌 경우 모두 0인 상황 함수를 말합니다.

Figure 3: XOR Problem

XOR 문제는 보시다 싶이 선형 함수의 형태로는 절대로 분류할 수 없고, 단층퍼셉트론 역시 선형 결합의 형태이기 때문에 이를 해결할 수 없습니다.


Multilayer Perceptron (다층퍼셉트론)

단층 퍼셉트론의 입력변수($x$)와 가중치($w_{0}$)의 곱의 결과에 threshold를 적용한 결과를 다시 입력변수($h_{1}$)로 사용하고 가중치($w_{1}$)를 곱하는 과정을 여러번 반복한 모형을 Multilayer Perceptron (다층퍼셉트론)이라고 부릅니다. 이때 중간에 생성된 입력변수 층을 Hidden layer (은닉층)라고 부릅니다.

우선 $g_{j}(x)=I(w_{j}^{\top}x+b_{j}\geq\theta)$로 정의하겠습니다. 그러면 다층퍼셉트론은 $$g_{J}(g_{J-1}(\cdots g_{1}(x) \cdots))$$로 나타낼 수 있습니다. 여기에서 $J$는 은닉층의 수입니다.

은닉층의 수가 2개인 다층 퍼셉트론을 도식화하면 다음과 같습니다.

Figure 4: 다층퍼셉트론


XOR Problem (Revisit)

앞서 단층퍼셉트론으로는 XOR 문제를 해결할 수 없었는데, 다층퍼셉트론을 적용하면 XOR 문제를 해결할 수 있습니다. 간단한 예제와 함께하겠습니다. 은닉층이 1개인 다층퍼셉트론에 XOR 문제를 적용하면 다음과 같습니다.

Figure 5: XOR & 다층퍼셉트론

같은 입력 값에 가중치 행렬 $W$를 곱하고 thereshold에 보다 큰 값을 1 아닌 경우 0으로 은닉 값을 얻은 결과 선형함수로 동그라미와 세모를 분류할 수 있게된 것을 확인할 수 있습니다.


요약

프레임워크

  • 입력 값을 받아 가중치와 곱하여 각 결과별로 bias를 더해준다.
  • 위 결과가 thereshold보다 크면 1 아니면 0의 결과를 얻는다.

단층퍼셉트론 vs. 다층퍼셉트론

  • 입력 값과 가중치를 곱한 결과를 바로 사용할 경우 단층퍼셉트론이 되며,
  • 결과를 여러번 반복하여 사용하면 다층퍼셉트론이된다.

신경망의 구체적인 용어 설명, 예를 들어 입력층, 은닉층, 출력층, 활성함수 등은 Aritificial Neural Network에서 진행됩니다.

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

Artificial Neural Network (인공신경망)  (0) 2019.05.24

댓글