Turning FC layer into convolutional layers
- 지난 시간까지 알아본 것은 어떻게 이미지 내에서 사물/물체를 탐지할 수 있을까에 대한 것이었습니다.
그런데 한 이미지 내에서 여러 물체를 탐지하기 위해서는 sliding window 기법이 필요했습니다. - sliding window 기법은 너무 많은 연산량을 필요로 한다는 문제점이 있었고 이를 해결하기 위해서 FC layer를 Convolutional layer로 바꾸는 기법을 소개하고 있습니다.
- 모든 노드 간의 연결이 업데이트 되상이 되어 파라미터 수가 굉장히 많은 FC와 달리, Convolutional layer는 필터만 업데이트 대상으로 파라미터 수가 굉장히 적습니다.
- 따라서 기존에 FC를 거치면서 나오는 출력 형태는 유사하게 가져가되, 학습에 필요한 파라미터 수를 획기적으로 줄일 수 있다는 것입니다.
Convolution implementation of sliding windows
- sliding window의 중복되는 연산을 한 번에 처리할 수도 있습니다.
위 예시에서는 맨 위의 14 x 14 x 3 사이즈의 입력을 필터처럼 생각할 수 있습니다. - 맨 윗 줄의 연산은 우리가 이전의 예시에서 살펴본 것과 동일한 결과입니다.
즉, FC 대신 CL을 사용하여 파라미터수를 줄인 것입니다. - 두 번째 줄은 input size가 조금 더 크기 때문에 window를 sliding 해야 하는 구조입니다.
하지만 이를 매번 sliding하는 것은 귀찮기 때문에 마치 14 x 14 필터가 있다고 생각하고 연산을 진행합니다.
최종 output은 2 x 2가 되는데 이 때 각 구역이 input에 대해 sliding window를 적용한 결과와 동일합니다.
(강의에서 색을 구분하여 테두리 친 것을 유의해서 보면 됩니다) - 따라서 우리는 '학습에 필요한 파라미터 수'를 획기적으로 줄임과 동시에 '중복되는 형태의 연산을 한꺼번에 수행'함으로써 sliding window를 효과적으로 구현할 수 있게 된 것입니다.
출처: Coursera, Convolutional Neural Networks, DeepLearning.AI
'Convolutional Neural Networks > 3주차' 카테고리의 다른 글
Anchor Boxes (0) | 2023.03.31 |
---|---|
Intersection Over Union, Non-max Suppression (0) | 2023.03.31 |
Bounding Box Predictions (0) | 2023.03.31 |
Landmark / Object Detection (0) | 2023.03.30 |
Object Localization (0) | 2023.03.30 |