Stats & AI tech blog - '일단 시도함'

[ML/DL] MLP, Multi-Layer Perceptron (다층 퍼셉트론) 본문

Statistics & AI/Deep Learning

[ML/DL] MLP, Multi-Layer Perceptron (다층 퍼셉트론)

justdoit ok? 2024. 4. 1. 16:36

1. Perceptron

Perceptron 이론은 신경세포(neuron)을 본 따서 만들어진 인공신경망의 기본적인 구조단위이다.
 
뉴런의 수상돌기처럼 퍼셉트론의 입력노드(input node)가 외부 정보를 받아들이고,
시냅스가 신호를 증폭하듯이 가중치(weight)를 곱해서 받아들이는 최종 정보의 양을 결정한다.
이 과정에서 편향(bias)를 주기 위해 일정 상수 값을 더할 수도 있다.
 
그 후, 신경세포 활성화를 결정하는 역치처럼 활성화 함수(activation function)을 통해서 다음 퍼셉트론으로 전달할 정보를 결정하게 된다.

 

https://www.slideshare.net/jbhuang/lecture-29-convolutional-neural-networks-computer-vision-spring2015

 
 
Perceptron이론은 간단한 선형 분류는 가능하지만 복잡한 분류 문제는 해결하지 못한다는 아주 큰 한계점을 가진다.
수학적으로 AND, OR같은 논리는 구현가능하지만, XOR같은 간단한 논리 문제도 해결하지 못한다는 것이 밝혀졌다.
 
이후, XOR문제를 해결하고 비선형 함수를 학습할 수 있는 방법으로 다층 퍼셉트론 이론이 제시되었다.
 
 

 

2. MLP, Multi-Layer Perceptron

단일 퍼셉트론의 입력층(input layer)과 출력층(ouput layer)사이에 은닉층(hidden layer)를 추가한 구조이다.
은닉층을 추가하게 되면서, 단일 퍼셉트론보다 고려해야할 파라미터가 많아졌고 최적 파라미터을 위한 학습이 어려워지게 되었고, 이를 해결하기 위해 제시된 것이 역전파(backpropagation) 방법이다.

  • 역전파 (backpropagation)

역전파의 반대 개념인 순전파 먼저 이야기해보자면,

순전파입력층에서 출력층 방향으로 예측 값을 계산하고 저장하는 과정을 뜻한다.

 

순전파를 통해 예측 값을 계산했다면 실제 값과 비교해서 손실함수(loss function)을 통해 error를 구할 수 있다.

역전파는 이 error를 이용해서 모델 파라미터를 최적화시키는 과정이다.

 

역전파는 출력층에서 입력층 방향으로 진행되며 각 layer의 가중치를 업데이트 해나간다. 이 과정에서 파라미터 최적화 방법으로 경사하강법과 같은 옵티마이저를 사용하게 된다.

출력층에서 가장 가까운 층의 가중치 업데이트를 역전파 1단계, 입력층에 가까워질수록 역전파 2,3,,N단계라고 표현한다. 

 

 

https://www.analyticsvidhya.com/blog/2023/01/gradient-descent-vs-backpropagation-whats-the-difference/

 


위 그림처럼 수차례 순전파-역전파 과정을 반복하다보면 error가 작아지게 되고, 종료 조건(termination condition)을 만족하면 학습이 종료되게 된다.

 

 

  • 활성화 함수 (activation function)

인공신경망, MLP 구조에서 활성화 함수는 매우 중요한 개념이다. 앞에서 봤던 단일 퍼셉트론 구조는 단순 역치 개념으로 활성화 함수를 사용해서 output값이 0과 1의 값만을 가질 수 있고 미분가능하지 않았다.

하지만 다층 퍼셉트론 (MLP)에서는 output연산에 비선형성을 제공하면서 복잡한 회귀, 분류 문제를 풀 수 있게 되었다.

 

MLP구조의 활성화 함수 중 대표적으로는 sigmoid 함수의 일종인 logistic 함수가 있는데, 비선형이면서 미분가능하며 심지어 미분식이 단순해서 계산이 편하다는 장점이 있다.

그 밖에도 하이퍼볼릭 탄젠트 함수, 렐루 함수, 소프트맥스 함수 등 여러 활성화 함수들이 사용된다.

 

 

지금까지 단일 perceptron과 다층 perceptron (MLP) 구조가 무엇인지 알아봤고, MLP구조에서 중요한 역전파 개념과 활성화 함수 특징에 대해 알아보았다. 다음 포스팅에서는 심층신경망 개념과 딥러닝 (deep learning)에 대해 알아보도록 하겠다.

 

 

 

2024.04.02 - [Deep Learning] - [DL] DNN, Deep Neural Network (심층신경망) (1) - 기울기 소실 (Vanishing gradient)

 

[DL] DNN, Deep Neural Network (심층신경망) (1) - 기울기 소실 (Vanishing gradient)

DNN, Deep Neural Network (심층신경망) (1) - 기울기 소실 (Vanishing gradient) 1. DNN 이전 포스팅에서 다층 퍼셉트론(MLP) 구조에 대해 알아봤어요. MLP 구조는 크게 입력층(input layer), 은닉층(hidden layer), 출력층(

meowstudylog.tistory.com