
CNN 및 이미지 분류
Convolution, pooling, 아키텍처(VGG, ResNet), transfer learning, data augmentation, fine-tuning
1CNN에서 convolution 연산이란 무엇입니까?
CNN에서 convolution 연산이란 무엇입니까?
답변
Convolution은 필터(kernel)를 입력 위로 슬라이딩하면서 각 위치에서 내적을 계산하여 이미지에 필터를 적용하는 수학적 연산입니다. 이를 통해 엣지, 텍스처, 패턴과 같은 지역적 feature를 추출할 수 있습니다. 각 뉴런이 모든 입력에 연결되는 dense network와 달리, convolution은 전체 이미지에 걸쳐 필터 가중치를 공유함으로써 이미지의 공간 구조를 활용합니다.
2Convolution 레이어에서 stride의 역할은 무엇입니까?
Convolution 레이어에서 stride의 역할은 무엇입니까?
답변
Stride는 이미지에서 필터를 이동시킬 때의 step 크기를 정의합니다. Stride가 1이면 필터를 각 step에서 1픽셀씩 이동하고, stride가 2이면 2픽셀씩 이동하여 출력 크기가 줄어듭니다. Stride를 늘리면 feature map의 공간 차원과 계산 비용을 줄일 수 있지만, stride가 너무 크면 정보 손실을 유발할 수 있습니다.
3Convolution 레이어에서 padding의 목적은 무엇입니까?
Convolution 레이어에서 padding의 목적은 무엇입니까?
답변
Padding은 convolution을 적용하기 전에 입력 이미지 주위에 픽셀(보통 0)을 추가하는 것입니다. 이를 통해 출력 크기를 제어하고 이미지 가장자리의 정보를 보존할 수 있습니다. 'Same' padding을 사용하면 출력이 입력과 동일한 크기를 가지며, 'valid'(padding 없음)를 사용하면 크기가 감소합니다. Padding은 또한 가장자리 픽셀이 feature map에서 과소 표현되는 것을 방지합니다.
Max Pooling과 Average Pooling의 차이점은 무엇입니까?
CNN에서 feature map이란 무엇입니까?
+21 면접 질문