✨Object Detection의 최근 동향
간단한 Task들은 작은 데이터셋으로도 충분히 해결되었지만 현실의 데이터들은 상당한 가변성을 지니기 때문에 그들을 인식하려면 훨씬 큰 데이터셋을 이용해야 한다.
그런데 대규모의 데이터를 학습시키려면 그만큼 큰 학습 수용량을 갖는 모델이 필요하다.
Feed-Forward Network에 비해 CNN은 연결량과 파라미터의 개수가 훨씬 적고 훈련시키기 쉬운 동시에 성능도 크게 떨어지지 않는다.
하지만 CNN의 우수함과 지역적인 구조의 효율성에도 불구하고 여전히 대규모의 고해상도 이미지들에 적용하기에는 너무나도 비용이 많이 든다.
운 좋게도 최근의 GPU들은 큰 CNN들을 학습하기에 충분할 정도로 강력하고, ImageNet의 최신 데이터셋들은 심각한 오버피팅이 발생하지 않고 모델을 훈련시킬 수 있을만큼 충분한 데이터를 보유한다.
본 논문이 기여한 바는 다음과 같다.
연구진이 구축한 네트워크에는 훈련 시간을 줄여주고 성능을 향상 시켜주는 몇가지 기술이 적용되어 있다.
최종 네트워크는 5개의 Convolution 층, 3개의 Fully-connected 층을 포함하며, 어떤 Convolution을 제거하더라도 심각한 성능 저하를 일으켰다.
이 결과는 더 빠른 GPU와 더 큰 데이터셋을 이용할수록 향상된다.
🎐ImageNet
🎪ILSVRC
ILSVRC-2010은 이 경연들 중 유일하게 테스트셋을 이용 가능한 버전이라 연구진은 대부분의 실험을 이것으로 진행했다.
ImageNet은 다양한 해상도의 이미지를 보유하는 반면 연구진의 시스템은 일정한 해상도의 인풋을 요구하기 때문에 이미지들을 모두 256x256 해상도로 가공했다.
이때, 짧은 쪽을 먼저 256 픽셀로 만들고 중간 부분의 256x256 패치를 떼어냈다.
이 항목에서는 연구진이 네트워크 구조에 이용한 몇가지 새롭고 일반적이지 않은 특징들을 설명한다.
일반적으로 뉴런의 입력값 x에 대한 출력값은 함수나 함수를 사용한다.
하지만 경사 하강법을 이용한 훈련에 있어서 이러한 saturating 비선형 함수들은 non-saturating 비선형 함수 보다 훨씬 느리다.
이에 연구진은 함수를 비선형 함수로 채택했다.
를 이용한 모델이 를 이용한 모델보다 25% 오류율에 6배 빠르게 접근했다.
단일 GTX 580 GPU는 3GB 메모리를 갖고, 이는 그것에 훈련될 수 있는 네트워크의 최대 크기를 제한한다.
하나의 GPU만으로 학습시키기에는 너무 큰 네트워크를 학습할 때 120만 개의 훈련 데이터가 충분함을 드러냈다.
따라서 연구진은 네트워크를 두 개의 GPU에 나누어 할당했다.
현존하는 GPU들은 교차 GPU 병렬화를 효과적으로 구현할 수 있다.
연구진이 구현한 병렬 구조는 노드 절반을 각각의 GPU에 할당하는데, 두 GPU들이 오직 특정 층에서만 의사소통한다는 트릭이 있다.
는 saturating 현상을 막기 위해 입력값을 정규화시키지 않아도 된다는 매력적인 특징이 있다.
에 양수로 입력되는 훈련 예제가 조금이라도 있으면 해당 노드에서는 학습이 성공적으로 일어난다.
하지만 연구진은 여전히 다음과 같은 local normalization이 학습에 도움을 준다는 것을 찾아냈다.
연구진은 특정 층들에서 위와 같은 비선형화 이후에 를 적용했다.
CNN에 있는 Pooling층은 같은 kernel에 있는 인접한 뉴런들의 출력값들을 요약한다.
일반적인 풀링 연산에서 이 인접값들은 서로 겹치지 않았다.
그런데 연구진은 커널로 픽셀씩 옮기면서 겹치지 않게 풀링을 진행하는 것보다 커널로 픽셀씩 옮기면서 겹치게 풀링을 진행할 때 , 오류가 %, % 향상되는 것을 알아냈다.
또한 이 방법이 오버피팅을 억제하는 효과도 있다는 것을 발견했다.

본 논문이 제시한 네트워크 구조는 6천만개의 파라미터를 가진다.
이렇게 너무 많은 파라미터는 상당한 오버피팅을 피하기 어렵다.
아래는 연구진이 오버피팅에 대항하기 위해 사용한 두가지 주요 방법이다.
가장 쉽고도 일반적인 방법은 label을 보존한채로 인공적으로 데이터셋을 늘리는 것이다.
연구진은 다음 두 가지의 데이터 증강법을 사용했다.
이 방법은 top-1 오류율을 1% 줄여주었다.
다양한 모델의 예측값들을 이용하는 것은 테스트 오류를 줄이기 위해 굉장히 좋은 방법인데, 여러 깊은 신경망들을 훈련시키는 것은 너무나도 비용이 많이 든다.
그런데 훈련 시간을 약 2배 정도만 증가시키고 성능을 높이는 효율적인 방법이 있는데, 바로 Dropout이라고 불리는 기술이다.
Dropout은 의 확률로 각 은닉 뉴런의 출력을 으로 만든다.
이렇게 으로 설정된 뉴런들은 순전파와 역전파에 전혀 기여하지 않는다.
입력값이 들어올 때마다 신경망이 매번 다른 구조로 변하게 되지만 그들은 모두 같은 가중치를 공유한다.
이후에 테스트 때 모든 뉴런의 출력값들을 배해주면 다양한 신경망들의 예측값들을 평균낸 것과 같은 효과를 얻을 수 있다.
연구진은 첫 2개의 FC층에서 dropout을 사용했다.
Dropout을 사용하지 않았을 때 연구진은 심각한 오버피팅을 겪었다.
연구진은 의 , 의 , 의 가중치 감소와 함께 를 사용해 모델을 학습시켰다.
연구진은 이 작은 가중치 감소가 모델 학습에 중요했다는 것을 찾아냈다.
다시 말해, 가중치 감소는 단순히 정규화의 역할뿐만 아니라 모델의 훈련 오류를 줄여주었다.
가중치 w에 대한 업데이트 수식은 다음과 같다.
연구진은 각 층의 가중치들을 평균이 이고 표준편차가 인 가우시안 분포로 초기화했다.
또한 번째 컨볼루션 층과 모든 FC 층의 bias들을 로 초기화했다.
이 초기화 기법은 ReLU에 양수의 입력값을 넣어줌으로써 초기 학습을 가속시켰다.
나머지 뉴런들의 bias는 으로 초기화했다.
연구진은 모든 층에 동일한 학습률을 적용했고, validation 오류가 증가할때마다 학습률을 으로 나누었다.
학습률은 처음에 로 초기화했고 종료때까지 세번 줄어들었다.
ILSVRC-2010 당시 가장 좋은 성능을 보인 것은 개 sparse coding 모델들의 예측을 평균낸 것으로, 오류율이 % 오류율이 %였다.
이후에는 와 를 이용한 모델이 오류율 % 오류율 %로 이를 뛰어넘었다.
본 논문의 네트워크는 오류율 % 오류율 %로 이 둘을 능가하는 성능을 보인다.
본 논문에서 제시한 은 오류율 %를 달성했다.
개의 예측들을 평균낸 방법은 %의 오류율을 보였다.
의 마지막 풀링 층에 개의 컨볼루션 층을 추가로 연결해 ImageNet Fall 2011을 이용해 학습한 뒤 ILSVRC-2012에 fine-tuning한 모델은 %의 오류율을 보였으며 개의 모델들의 예측값들을 평균낸 것은 %의 오류율을 보였다.
첫번째 컨볼루션 층의 96개 커널들을 시각화한 것으로, 위 개의 커널들은 GPU 1에서 학습되었고 아래 개의 커널들은 GPU 2에서 학습되었다.
두 GPU들이 독립적으로 학습한 결과 GPU 1의 커널들은 색깔을 무시한 채 패턴들을 학습했고, GPU 2의 커널들은 색깔에 기반한 학습을 시행했다.
이러한 식의 특화는 매 학습마다 발생했으며 랜덤 가중치 초기화와 관련되지 않았다.
위의 표는 개의 이미지들에 대해 네트워크가 예측한 상위 개 항목들을 나타낸 것이다.
대표적인 예로 표범을 보았을 때, 상위 5개 항목들이 모두 고양이과 동물인 것을 보면, 네트워크가 예측한 항목들이 모두 합리적임을 알 수 있다.
위의 표는 개의 이미지들에 대해 네트워크가 가장 비슷하다고 예측한 개의 이미지들을 옆으로 나열한 것이다.
네트워크가 비슷하다고 예측한 이미지들을 픽셀 단위에서 보았을 때, 대표 이미지와 거리가 멀리 있음을 알 수 있다.
예를 들어, 강아지와 코끼리 사진들은 서로 다른 자세를 취하고 있음에도 비슷하다고 예측했다.
따라서 모델이 픽셀 단위가 아니라 이미지 자체를 해석했다고 볼 수 있다.
본 논문의 결과는 순수한 지도학습만을 이용해서 기존의 기록들을 뛰어넘을 수 있는 굉장히 크고 깊은 CNN을 만들 수 있다는 것을 보여준다.
단 하나의 컨볼루션 층을 제거하더라도 네트워크의 성능이 감소한다는 것은 주목할 만하다.
그렇기 때문에 연구진의 결과를 달성하는 것에 있어 깊이는 정말 중요하다.
실험을 간소화하기 위해 연구진은 도움이 될 것이라고 생각했음에도 불구하고 어떠한 비지도 사전학습을 사용하지 않았다.
궁극적으로 연구진은 동영상에 굉장히 크고 깊은 컨볼루션 네트워크를 사용해 시간에 따라 변하는 구조를 학습한다면 이미지에서 손실되었거나 잘 보이지 않는 구조에 대한 정보를 얻을 수 있으리라 기대한다.