Hello Computer Vision

CNN 에서의 subsampling 본문

딥러닝

CNN 에서의 subsampling

지웅쓰 2023. 3. 9. 16:50

논문을 읽는 도중 subsampling이란 말이 계속 등장하는데 정확하게 설명할 수 없다고 생각해 공부해보려고 한다.

내용에 대한 출처는 밑에 적어두었습니다.

 

 

subsampling말고 sampling이란 말을 우리가 흔히 들어봤다.

제한된 데이터 표본 안에서 어떤 식으로 sampling하는지도 성능에 중요한 요소가 될 수 있다.

그렇다면 subsampling이란 무엇일까?

 

 

우선 예시를 들어 설명해보자면, 한 이미지에 대해서 가벼운 변화가 일어나더라도 우리는 쉽게 A라는 것을 알 수 있다.

그 이유는 조그만한 변화가 일어났더라도 전체적으로 A의 형상을 띄고있기 때문이다.

그렇다면 컴퓨터는 이것을 A라고 이해할 수 있을까? 

이해할 수도 있지만 못할 수도 있다. 정확하게 분류하기 위해 작은 변화, 위치 이동 등 모든 가짓수를

학습하기에는 당연히 비효율적일 것이다.

 

이러한 문제점을 해결하기 위해 subsampling을 하는 것이다. 우리가 흔히 아는 max pooling, avg pooling을 하게 된다면

강한 특징들만 결국엔 살아남을 것이고 조그만한 변화가 생겼더라도 컴퓨터는 이를 무시하고 학습하는 것이다.

 

위 이미지를 확인해보자면 더욱 쉽게 이해할 수 있다.

조그만한 변화가 생겼다 하더라도 subsampling을 반복하다보면 비슷해지는 것을 확인할 수 있다.

 

subsampling이란 말은 pooling이란 말과 혼용되어 사용된다고 하는데 각 상황에 맞게 사용하면 될 것 같다.

예를 들어 위와 같은 상황에서는 subsampling을 반복하면 컴퓨터는 같은 이미지라는 것을 인식할 것이다.라고 쓰면되고

네트워크의 구조를 설명할 때는 pooling layer가 CNN사이사이 1개씩 끼어져있다. 라고 쓰면 될 것이다.