초록
Convolutional Neural Network (ConvNet)은 시각적 특징의 계층 구조를 분석하고 학습할 수 있는 대표적인 심층 신경망이다. 첫 번째 신경망 모델인 Neocognitron은 80 년대에 처음 소개되었다. 당시 신경망은 대규모 데이터 집합과 계산 능력이 부족하여 학계와 산업계에서 널리 사용되지 않았다. 그러나 2012년 Krizhevsky는 ImageNet ILSVRC (Large Scale Visual Recognition Challenge) 에서 심층 신경망을 사용하여 시각적 인식 문제를 획기적으로 해결하였고 그로 인해 신경망에 대한 사람들의 관심을 다시 불러 일으켰다. 이미지넷 첼린지에서 제공하는 다양한 이미지 데이터와 병렬 컴퓨팅 하드웨어 (GPU)의 발전이 Krizhevsky의 승리의 주요 요인이었다. 그러므로 최근의 딥 컨볼루션 신경망의 성공을 병렬계산을 위한 GPU의 출현과 더불어 ImageNet과 같은 대규모 이미지 데이터의 가용성으로 정의 할 수 있다. 그러나 이러한 요소는 많은 도메인에서 병목 현상이 될 수 있다. 대부분의 도메인에서 ConvNet을 교육하기 위해 대규모 데이터를 수집하려면 많은 노력이 필요하다. 대규모 데이터를 보유하고 있어도 처음부터 ConvNet을 교육하려면 많은 자원과 시간이 소요된다. 이와 같은 문제점은 전이 학습을 사용하면 해결할 수 있다. 전이 학습은 지식을 원본 도메인에서 새 도메인으로 전이하는 방법이다. 전이학습에는 주요한 두 가지 케이스가 있다. 첫 번째는 고정된 특징점 추출기로서의 ConvNet이고, 두번째는 새 데이터에서 ConvNet을 fine-tuning 하는 것이다. 첫 번째 경우, 사전 훈련 된 ConvNet (예: ImageNet)을 사용하여 ConvNet을 통해 이미지의 피드포워드 활성화를 계산하고 특정 레이어에서 활성화 특징점을 추출한다. 두 번째 경우에는 새 데이터에서 ConvNet 분류기를 교체하고 재교육을 한 후에 사전 훈련된 네트워크의 가중치를 백프로퍼게이션으로 fine-tuning 한다. 이 논문에서는 고정된 특징점 추출기를 여러 개의 ConvNet 레이어를 사용하는 것에 중점을 두었다. 그러나 여러 ConvNet 레이어에서 직접 추출된 차원적 복잡성을 가진 특징점을 적용하는 것은 여전히 어려운 문제이다. 우리는 여러 ConvNet 레이어에서 추출한 특징점이 이미지의 다른 특성을 처리한다는 것을 발견했다. 즉, 여러 ConvNet 레이어의 최적의 조합을 찾으면 더 나은 특징점을 얻을 수 있다. 위의 발견을 토대로 이 논문에서는 단일 ConvNet 계층의 특징점 대신에 전이 학습을 위해 여러 ConvNet 계층의 특징점을 사용하도록 제안한다. 본 논문에서 제안하는 방법은 크게 세단계로 이루어져 있다. 먼저 이미지 데이터셋의 이미지를 ConvNet의 입력으로 넣으면 해당 이미지가 사전 훈련된 AlexNet으로 피드포워드 되고 3개의 fully-connected 레이어의 활성화 틀징점이 추출된다. 둘째, 3개의 ConvNet 레이어의 활성화 특징점을 연결하여 여러 개의 ConvNet 레이어의 특징점을 얻는다. 레이어의 활성화 특징점을 연결을 하는 이유는 더 많은 이미지 정보를 얻기 위해서이다. 동일한 이미지를 사용한 3개의 fully-connected 레이어의 특징점이 연결되면 결과 이미지의 특징점의 차원은 4096 + 4096 + 1000이 된다. 그러나 여러 ConvNet 레이어에서 추출 된 특징점은 동일한 ConvNet에서 추출되므로 특징점이 중복되거나 노이즈를 갖는다. 따라서 세 번째 단계로 PCA (Principal Component Analysis)를 사용하여 교육 단계 전에 주요 특징점을 선택한다. 뚜렷한 특징이 얻어지면, 분류기는 이미지를 보다 정확하게 분류 할 수 있고, 전이 학습의 성능을 향상시킬 수 있다. 제안된 방법을 평가하기 위해 특징점 선택 및 차원축소를 위해 PCA를 사용하여 여러 ConvNet 레이어의 특징점과 단일 ConvNet 레이어의 특징점을 비교하고 3개의 표준 데이터 (Caltech-256, VOC07 및 SUN397)로 실험을 수행했다. 실험결과 제안된 방법은 Caltech-256 데이터의 FC7 레이어로 73.9 %의 정확도를 얻었을 때와 비교하여 75.6 %의 정확도를 보였고 VOC07 데이터의 FC8 레이어로 얻은 69.2 %의 정확도와 비교하여 73.1 %의 정확도를 보였으며 SUN397 데이터의 FC7 레이어로 48.7%의 정확도를 얻었을 때와 비교하여 52.2%의 정확도를 보였다. 본 논문에 제안된 방법은 Caltech-256, VOC07 및 SUN397 데이터에서 각각 기존에 제안된 방법과 비교하여 2.8 %, 2.1 % 및 3.1 %의 성능 향상을 보였다.
Convolutional Neural Network (ConvNet) is one class of the powerful Deep Neural Network that can analyze and learn hierarchies of visual features. Originally, first neural network (Neocognitron) was introduced in the 80s. At that time, the neural network was not broadly used in both industry and academic field by cause of large-scale dataset shortage and low computational power. However, after a few decades later in 2012, Krizhevsky made a breakthrough on ILSVRC-12 visual recognition competition using Convolutional Neural Network. That breakthrough revived people interest in the neural network. The success of Convolutional Neural Network is achieved with two main factors. First of them is the emergence of advanced hardware (GPUs) for sufficient parallel computation. Second is the availability of large-scale datasets such as ImageNet (ILSVRC) dataset for training. Unfortunately, many new domains are bottlenecked by these factors. For most domains, it is difficult and requires lots of effort to gather large-scale dataset to train a ConvNet. Moreover, even if we have a large-scale dataset, training ConvNet from scratch is required expensive resource and time-consuming. These two obstacles can be solved by using transfer learning. Transfer learning is a method for transferring the knowledge from a source domain to new domain. There are two major Transfer learning cases. First one is ConvNet as fixed feature extractor, and the second one is Fine-tune the ConvNet on a new dataset. In the first case, using pre-trained ConvNet (such as on ImageNet) to compute feed-forward activations of the image into the ConvNet and extract activation features from specific layers. In the second case, replacing and retraining the ConvNet classifier on the new dataset, then fine-tune the weights of the pre-trained network with the backpropagation. In this paper, we focus on using multiple ConvNet layers as a fixed feature extractor only. However, applying features with high dimensional complexity that is directly extracted from multiple ConvNet layers is still a challenging problem. We observe that features extracted from multiple ConvNet layers address the different characteristics of the image which means better representation could be obtained by finding the optimal combination of multiple ConvNet layers. Based on that observation, we propose to employ multiple ConvNet layer representations for transfer learning instead of a single ConvNet layer representation. Overall, our primary pipeline has three steps. Firstly, images from target task are given as input to ConvNet, then that image will be feed-forwarded into pre-trained AlexNet, and the activation features from three fully connected convolutional layers are extracted. Secondly, activation features of three ConvNet layers are concatenated to obtain multiple ConvNet layers representation because it will gain more information about an image. When three fully connected layer features concatenated, the occurring image representation would have 9192 (4096+4096+1000) dimension features. However, features extracted from multiple ConvNet layers are redundant and noisy since they are extracted from the same ConvNet. Thus, a third step, we will use Principal Component Analysis (PCA) to select salient features before the training phase. When salient features are obtained, the classifier can classify image more accurately, and the performance of transfer learning can be improved. To evaluate proposed method, experiments are conducted in three standard datasets (Caltech-256, VOC07, and SUN397) to compare multiple ConvNet layer representations against single ConvNet layer representation by using PCA for feature selection and dimension reduction. Our experiments demonstrated the importance of feature selection for multiple ConvNet layer representation. Moreover, our proposed approach achieved 75.6% accuracy compared to 73.9% accuracy achieved by FC7 layer on the Caltech-256 dataset, 73.1% accuracy compared to 69.2% accuracy achieved by FC8 layer on the VOC07 dataset, 52.2% accuracy compared to 48.7% accuracy achieved by FC7 layer on the SUN397 dataset. We also showed that our proposed approach achieved superior performance, 2.8%, 2.1% and 3.1% accuracy improvement on Caltech-256, VOC07, and SUN397 dataset respectively compare to existing work.