본문 바로가기
인공지능 (AI)

40번째 이야기 - 전결합층과 드롭아웃, MLP, 과적합 방지

by Ψβ⅓ 2024. 6. 2.

<CNN에서의 전결합층과 드롭아웃, 신경망의 개선>

합성곱 신경망(CNN)의 합성곱층(특징 추출)과 풀링층(차원 축소)을 거치게 되면 아래의 이미지와 같이 길고 깊게 이어진 빨대 모습의 추출된 특징을 얻게 됩니다.

 

 

이제 이 추출된 특징을 가지고, 실제로 이미지를 분류해야 합니다.

분류를 위해서 특별한 구조가 필요한 것은 아닙니다. 분류는 이전에 살펴보았던 일반적인 신경망 구조인 MLP(전결합층)으로도 충분하니까요.

사실 MLP는 분류에 매우 효과적입니다. 잠시 이미지 인식을 위해 합성곱층을 사용한 이유를 복습해볼까요?

MLP(전결합층)에서는 2차원의 이미지를 다룰 수 없기 떄문에 1차원의 벡터로 변환해주어야 하는 불편함이 있었습니다. , 2차원의 이미지를 다루지 못한다는 것은 공간 정보의 손실을 의미하며, 그렇기 때문에 이미지 인식을 위해 합성곱층을 도입한 것입니다. (물론 MLP를 활용하면 기하급수적으로 증가하는 파라미터 수의 증가로 계산 복잡도를 줄이기 위해 합성곱층을 도입한 이유도 잊지 맙시다.)

그러나 합성곱층을 활용해 공간 정보의 손실을 최소화할 수 있도록 2차원의 이미지 행렬 형태로 입력 받아 특징을 잘 추출하게 되었으므로 이 특징을 1차원으로 변환해주면 MLP를 사용해서 이미지 분류가 가능해지게 됩니다.

MLP(전결합층)은 입력층, 은닉층, 출력층으로 구성되어 있습니다. 합성곱층과 풀링층을 통과하여 추출된 특징 맵의 형태가 (5*5*40)이라면 1차원으로 변환된 벡터의 모양은 (1*1000)이 될 겁니다.

다음으로 은닉층을 통과하여 출력층으로 이동합니다. 분류 문제를 위한 출력층의 활성화함수는 소프트맥스 함수를 사용하는 것이 좋다 설명드렸습니다.

이 예에서는 0부터 9까지 총 10개의 클래스를 다루는 분류 문제이므로 출력층의 노드 개수도 10개로 설정해주었습니다. 최종적으로 분류된 결과의 노드가 발화되며 분류작업이 이루어집니다.

 

 

분류를 위한 전결합층 / MLP.

 

다층 퍼셉트론을 전결합층(MLP)라고 부른다고 했습니다. 그 이유는 간단합니다. 각 층의 모든 노드가 가까이 붙어 있는 모든 층의 노드와 연결되기 때문입니다.

이러한 이유로, 전결합층은 다음의 용어와도 같은 의미로 사용되곤 합니다. 밀집층 = MLP = 피드포워드 신경망 = 전결합층.

이 용어들은 이제 일반적인 신경망 구조를 나타내는 용어로 서로 바꿔써도 무방하다 보면 될 것 같습니다.

다음글에서는 과적합을 방지하기 위한 드롭아웃 기법과 이를 적용한 신경망 구조의 코드를 최종적으로 살펴보며 CNN을 마무리합니다.

 

댓글