본문 바로가기
기계학습(Machine Learning)

다층 퍼셉트론 (Multi-Layer perceptron; MLP)

by Yeah_D 2023. 6. 29.

 신경망 (Neural Network)

다층 퍼셉트론을 설명하기 전에, 기초 지식인 신경망에 대해 알아보고자 한다.

신경망이란, 기계학습 역사에서 가장 오래된 기계학습 모델이다.

때문에 현재 가장 다양한 형태를 가진다.

 

신경망의 간략한 역사는 다음과 같다.

1958년 - '퍼셉트론' 등장

1969년 - 'XOR(익스클루시브 오어)' 문제 조차 해결하지 못한다며, '퍼셉트론'의 한계 증명

1986년 - '다층퍼셉트론' 등장 (1950년대 '퍼셉트론' 등장 -> 1980년대 '다층퍼셉트론' 등장)

1990년대 - 'SVM(서포트 벡터 머신)' 등장

                (SVM: 분류를 어떻게 잘 하느냐를 수학적으로 입증하는 기법. 기게학습에서 가장 많이 쓰임)  

2000년대 - '딥러닝' 등장

 

신경망의 종류는 다음과 같다.

- 전방 신경망과 순환 신경망 (전방 신경망: 앞으로만 갈 수 있음. 순환 신경망: 뒤로도 되돌아 갈 수 있음)

- 얕은 신경망과 깊은 신경망 (얕은 신경망: 은닉층이 2개. 깊은 신경망: 은닉층이 3개 이상)

- 결정론 신경망과 스토캐스틱 신경망 (결정론 신경망: 입력과 결과가 같음. 스토캐스틱 신경망: 입력과 결과가 같지 않음)

 

 퍼셉트론 (Perceptron)

퍼셉트론은 노드, 가중치, 층과 같은 새로운 개념을 도입하고, 학습 알고리즘을 창안하였다.

퍼셉트론은 원시적 신경망이지만, 딥러닝을 포함한 현대 신경망은 퍼셉트론을 병렬과 순차구조로 결합하여 만들었다.

즉, 퍼셉트론은 현대 신경망의 중요한 구성요소이다.

 

 퍼셉트론의 구조

- 입력층과 출력층을 가진다 

- 입력층은 연산을 하지 않으므로, 퍼셉트론은 단일 층 구조라고 간주한다

- 입력층은 여러 개의 노드, 출력층은 오직 한 개의 노드로 구성된다.

- 입력층 노드와 출력층 노드를 연결하는 에지는 가중치를 가진다

 

 다층 퍼셉트론 (Multi-Layer perceptron; MLP)

퍼셉트론은 '선형 분류기' 라는 한계점이 있다. (선형 분리: 하나의 선을 그어, 2가지로 분류 가능하게 하는 것)

즉, 퍼셉트론은 XOR문제를 해결할 수 없다는 한계점이 존재한다는 것이다.

이를 극복하기 위해 '다층' 구조를 이용한 방안을 제시하였고, 1986년에 '다층퍼셉트론' 이론을 정립하며 '신경망' 이 부활되었다.

 

다층 퍼셉트론의 핵심 아이디어는 다음과 같다.

- 은닉층을 둔다

- '시그모이드 활성함수' 를 도입한다 (시그모이드 활성함수: 연성(soft) 의사결정. 영역을 영역으로 변환한다. 출력이 연속값이며 출력값을 신뢰도로 간주하여 더 융통성있는 의사결정이 가능하다. 때문에 딥러닝에 효과적이다)  -> 퍼셉트론과의 차이점! 퍼셉트론은 '계단함수' 를 활성함수로 사용한다 (계단함수: 경성(hard) 의사결정. 영역을 점으로 변환한다)

- 오류역전파 알고리즘을 사용한다 (오류역전파 알고리즘: 역방향으로 진행하면서 한 번에 한 층씩 그레이디언트를 계산하고 가중치를 갱신하는 방식)

 

 다층 퍼셉트론의 구조

다층 퍼셉트론은 은닉층의 개수에 따라 구조가 정해진다.

ex) 2층 퍼셉트론: 은닉층 1개 / '입력층 - 은닉층 - 출력층' 의 2층 구조

      3층 퍼셉트론: 은닉층 2개 / '입력층 - 은닉층 - 은닉층 - 출력층' 의 3층 구조

 

여기서 '은닉층' 이란, '특징 추출기' 로서 특징 벡터를 분류에 더 유리한 새로운 특징 공간으로 변환하는 일을 한다.

즉, 출력을 내보내기 전까지 특징 공간을 분할하는 일을 하는 것이다. (현대 기계학습에서는 이를 '특징 학습' 이라고 한다)

딥러닝은 이러한 은닉층이 3개 이상으로, 더 많은 단계를 거쳐 특징 학습을 한다.

 

 다층 퍼셉트론의 한계점

이러한 다층 퍼셉트론에도 한계점이 존재한다. 한계점은 다음과 같다.

- 잡음이 섞인 상황에서 음성인식 성능 저하

- 필기 주소 인식 능력 저하

- 바둑에서의 한계

 

이러한 한계를 모두 극복한 것이 '딥러닝' 이다. (딥러닝은 은닉층을 3개 이상 사용하기 때문)

딥러닝에 대한 내용은 아래 포스팅 링크를 통해 확인할 수 있다.

 

2023.07.07 - [기계학습(Machine Learning)] - 딥러닝 (Deep Learning)

 

딥러닝 (Deep Learning)

딥러닝 (Deep Learning) 딥러닝이란, 다층 퍼셉트론에 은닉층을 여러개 추가한 깊은 신경망을 의미한다. 즉, 딥러닝은 깊은 신경망을 학습시키는 알고리즘이다. 이러한 딥러닝은 새로운 응용을 창출

yeah-d.tistory.com

 

댓글