Day 27: 8-8 Beautiful Insights for CNN (CNN 마무리)

2023. 3. 19. 00:02딥러닝 이론

오늘 공부한 내용은 Ch.8-8입니다:

- Beautiful insight for convolutional neural networks

 

저번 수업에서는 CNN에 대해서 더 많은 내용을 배웠습니다. 우리는 filter, convolution, padding, stride, pooling, feature map, VGGNet을 이제 배웠습니다. 그리고 오늘은 MLP vs CNN을 비교도 해보고 큰 그림인 "왜 CNN이 이미지 데이터에 대해선 더 좋을까?"라는 질문에 대해 생각을 해볼 것입니다. 저번에도 배운 내용이긴 하지만 CNN은 위치별 특징을 잘 추출한다고 배웠습니다. 하지만 다른 이유도 있으니 오늘 그 부분에 대해 공부해 봅시다.

 

1. 왜 CNN이 이미지 데이터에 대해선 더 좋을까?

1번은 위치별 특징을 알 수 있는 것이다. FC는 image의 pixel들를 막 썩여놔도 결과는 같지만 CNN은 지역정보를 활용해 패턴을 찾기 때문에 훨씬 좋은 결과를 낼 수 있다.

2. CNN은 FC보다 parameter수도 적으면서도 accuracy가 더 좋다. 쉽게 말해 효율과 효과 둘 다 더 좋다고 할 수 있다.

 

2. 그런데 convolution을 여러번 하는 이유는 뭔가요

extreme case를 생각해 보면 알 수 있습니다. 예를 들어 image size만큼 근 filter를 사용해 convolution을 했다고 생각해 봅시다. 그러면 당연히 MLP의 FC layer 하고 차이가 없습니다. 그러면 이번에 작은 3x3 filter를 사용해 convolution을 여러 번 합시다. convolution을 할 때마다 원래는 멀리 있던 정보가 점점 중심으로 모이고 그 pixel들은 주변에 있었던 pixel들을 "흡수"하면서 표현이 된다. 주민이 미국국회의원을 고르고 국회의원이 대통령을 선거 때 투표하는 미국의 정치 시스템하고도 유사하다. 처음부터 모든 데이터에서 패턴을 찾는 게 아닌 단계적으로 중요한 패턴을 저장하고 (그 과정에서 사이즈를 줄이고) 결국에는 모든 데이터를 검토하면서도 parameter 수는 적은 기적을 일으키네요.