본문 바로가기

AI/이론

[ML] Perceptron3 - Multi Layer Perceptron

XOR의 문제를 극복하지 못한 퍼셉트론은 다층 퍼셉트론(Multi Layer Perceptron)이 나타나면서 새로운 국면에 진입하게 된다. 다층 퍼셉트론이란 퍼셉트론을 여러개를 합친 것을 의미한다.

 

 

기존의 퍼셉트론은 위와 같은 input layer와 output layer의 2개로만 이루어진, 구조를 보여왔다. 이러한 구조는 XOR의 난제를 해결하지 못하지만, 퍼셉트론을 겹치면 얘기가 달라진다.

 

아래는 진리표로 XOR을 극복하는 것을 보여준다.

 

NAND 진리표
OR 진리표

 

 

XOR 진리표는 X1값과 X2값이 동일해야지, Y값이 1이 나오는 진리표라는 것을 잘 알고 있다. 그럼 위의 값을 AND로 합치면 어떻게 될까??

 

우선, 위의 값을 좀 더 알기 쉽게 다시 표로 정리를 하자면 아래와 같이 볼 수 있다.

 

X1과 X2를 NAND와 OR는 어떻게 해석하느냐이다. 여기서 왼쪽 2개의 값은 Input 값이고, 우측 2개의 값은 Output값인데 Output 값을 다시 Input 값으로 생각하고, 이 값들을 AND 값으로 던지면 어떻게 될까??

 

 

위의 표를 보면 알겠지만, NAND값과 OR값을 AND로 연결하니, XOR의 값을 출력할 수 있게 되었다.

이렇게 레이어가 하나 더 생긴 것을 그림으로 표현하면 아래와 같다.

 

 

위의 그림이 이해가 가는가? 

 

 

  구성도 설명, (ex: x1=1, x2=1 일 경우)

 

  1. 상단의 y1은 NAND로 연산되기 때문에 x1, x2 모두 1은 0 값으로 연산
  2. 하단의 y2는 OR로 연산되기 때문에 x1, x2 모두 1은 1 값으로 연산
  3. 최종적으로 출력은 AND로 하기 때문에 y1는 0, y2는 1인 것은 결과가 0이다.

 

이러한 퍼셉트론이 하나 이상 더 있는 것을 다층 퍼셉트론이라고 하고, XOR을 해결할 수 있게 되었다. 위의 구성도는 매우 단순한 다층 퍼셉트론이고, 이를 좀 더 복잡하게 보여주면 

 

다층 퍼셉트론(Multi Layer Perceptron, MLP)

 

위와 같은 많은 익숙한 모습들을 볼 수 있다. 단층 퍼셉트론부터가 사실 신경망의 시작이지만, 본격적으로 인공지능에 활용이 되기 시작하는 것이 바로 위의 모형인 다층 퍼셉트론(Multi Layer Perceptron)이 나오면서 이고, 이때부터 인공신경망(neural network, 혹은 artificial neural network ANN)이라는 말을 쓰게 된다.

 

그러나 다시 앞길이 창창할 것만 같았던 다층 퍼셉트론도 한계를 보이게 되는데 당시의 컴퓨터 기술도 문제지만 SW적인 기술도 문제여서, Layer를 여러개 쌓기가 너무나도 힘들었고, 더욱 큰 것은 인공신경망에 대항하는 머신러닝의 기술들(SVM, RandomForest 등)이 등장하여 인공신경망의 관심도가 하락한 것도 이유이다.

 

무거운 신경망 없이도, SVM이나 랜덤포레스트같은 기술을 사용하면 더 빠르고, 쉽고, 원인 분석도 찾을 수 있어서 다시 신경망 기술은 잊혀지고, 머신러닝이 신경망을 누르며 인공지능의 자리를 차지하게 된다. 

 

한동안 머신러닝의 시대가 이어지고, 신경망은 쥐죽은 듯 살다가, 2006년 딥러닝(Deep Learning)이 발표되고 나서부터 다시 인공지능의 자리를 머신러닝 기술에게서 뺏어오게 된다. 현재까지 딥러닝은 인공지능의 기술중 가장 핫하고, 가장 빠른 발전을 해오고 있어서 현재는 딥러닝으로 어떤 아이디어를 먼저 만들어내느냐의 싸움이 일어나기도 한다.



 

 

 

퍼셉트론(Perceptron) - 4 (인공지능의 2차 부흥)

퍼셉트론을 포스팅 하면서, 인공지능의 시작과 함께 1차 인공지능의 겨울이 오는 것까지 설명을 하였다. 퍼셉트론은 인공지능의 시작이며, 현재 가장 핫하고 진보적인 기술인 딥러닝(Deep Learning)

needjarvis.tistory.com

 

'AI > 이론' 카테고리의 다른 글

[ML] Objective Function, Loss Function, Cost Function의 차이  (0) 2021.05.18
[ML] Gradient Descent2 - Optimizer  (0) 2021.05.18
[ML] Perceptron2 - 논리회로  (0) 2021.05.18
[ML] Perceptron1 - 시작  (0) 2021.05.18
[ML] Loss Function  (0) 2021.05.18