MLP
개념
MLP(Multi-Layer Perceptrom)는 가장 기본적이고 널리 쓰이는 Feedforward Neural Network 구조다. 우리 뇌의 신경망 구조를 수학적으로 모방하여, 데이터 속의 복잡한 패턴을 학습하고 예측하는 데 사용된다.
- 순방향: 데이터가 입력층에서 출력층으로만 이동한다. RNN처럼 과거의 데이터가 루프를 돌아 다시 영향을 미치지 않는다.
- 완전연결: 앞 층의 모든 노드가 다음 층의 모든 노드와 빠짐없이 1:1로 연결이 되어 있다.
MLP, DNN, ANN의 차이점
이 세가지는 비슷해 보이지만 명확한 포함관계를 가진다.
| 구분 | ANN (인공 신경망) | MLP (다층 퍼셉트론) | DNN (심층 신경망) |
|---|---|---|---|
| 포함 관계 (위상) | 가장 넓은 최상위 개념 (대분류) | ANN의 여러 종류 중 하나 | 깊이가 깊은 ANN을 부르는 말 |
| Hidden Layer 수 | 무관함 (0개인 단층도 포함) | 최소 1개 이상 | 최소 2개 이상 |
| 연결 방식 및 구조 | 제한 없음 (모든 구조 포함) | Fully Connected (완전 연결) 및 한 방향(Feedforward) | 제한 없음 (깊은 MLP, CNN, RNN, Transformer 등 모두 포함) |
MLP의 한계
이미지 위변조 탐지나 객체 인식같은 작업에서 완전연결 구조를 처음부터 사용하는 경우, 이미지 안에서의 공간적 상관성이 파괴된다.
- 평탄화: MLP에 2차원의 이미지 픽셀 격자를 넣으려면, 이를 1차원의 Vector로 펴야 한다.
- 공간 문맥 상실: 이 평탄화 과정에서 픽셀 간의 위치정보와 구조적 문맥이 완전히 깨져버린다.
해결책
- 특징 추출: CNN을 이용하여 2차원 공간정보를 유지하며, 국소적 특징을 뽑아낸다.
- 최종 판단: 추출된 고차원의 특징 맵들을 Flatten 한 뒤, MLP를 통과시켜 최종 결과값을 얻어낸다.
Leave a comment