AI

[CNN] Convolution과 Pooling은 실질적으로 무엇을 의미하는가?

Alex Han 2024. 7. 16. 19:29
반응형

 
CNN의 구조는 기본적으로 Convolution 연산 후 Pooling 연산의 반복과정으로 이루어진다. 그렇다면 Convolution의 의미와 Pooling의 의미는 무엇일까? 계산 방법을 안다고 전제하여 과연 각 Layer에서 어떤 일이 일어나고 있는지 알아보자
 


1. Convolution 단계

필터(또는 커널)를 사용하여 Convolution 연산을 진행하는 것은 입력 이미지의 윤곽선, 모서리, 질감과 같은 특징을 추출하는 과정입니다. Convolution 연산은 필터를 이미지의 각 부분에 적용하여 특정 패턴을 감지하는 역할을 합니다. 이 과정에서 필터는 이미지의 작은 부분과 연산을 통해 특징 맵(feature map)을 생성합니다. 다양한 필터를 사용하면 각각의 필터가 다른 특징을 감지하게 되어, 예를 들어 어떤 필터는 수직선, 또 다른 필터는 수평선, 혹은 더 복잡한 패턴을 인식할 수 있습니다. 결과적으로, CNN의 초기 계층에서는 기본적인 윤곽선이나 모서리와 같은 저수준 특징을 추출하고, 네트워크가 깊어지면서 점점 더 복잡하고 추상적인 고수준 특징을 학습하게 됩니다. 이러한 특징을 기반으로 최종적으로 이미지를 분류하거나 다른 목적의 작업을 수행하게 됩니다.
 

2. Pooling 단계

풀링(Pooling)은 입력 데이터의 중요한 특징을 유지하면서도 보다 일반화된 상태로 변환하는 과정입니다. 이 과정에서 세부적인 변형이나 잡음을 줄이고, 네트워크가 더욱 안정적으로 주요 특징을 학습할 수 있도록 돕습니다. 이를 통해 CNN은 이미지의 중요한 패턴과 구조를 더 잘 이해하고, 다양한 위치나 크기의 변화에 덜 민감하게 반응할 수 있습니다. 결과적으로, 풀링은 네트워크의 성능을 향상시키고 과적합을 방지하는 중요한 역할을 합니다.
 


 
즉, 첫 번째로 Convolution 연산을 통해 입력 데이터에 대한 특징을 분석하고 그 다음 단계인 Pooling 연산에서 특징(feature)데이터에 대해 일반화를 진행하는 것이다.

반응형