Transfer Learning in Deep Convolutional Neural Networks

Akbar Gumbira

Abstract

In practice, it is relatively hard to obtain large dataset that can be trained with a deep Convolutional Neural Network (CNN) architecture without overfitting the network. Another problem is that, even when large dataset is attainable, training a deep CNN requires computational resources that many researchers cannot afford. Since the trained filters at the first few layers are general detectors, it is common to apply transfer learning to solve this problem. This thesis attempts to analyze transfer learning for image classification task and to quantify the network transferability trained over small dataset. As a study case, using three pre-trained models on ImageNet (VGG16, InceptionV3, and ResNet50), four image classification problems (Kaggle's Dog vs Cat, UIUC Sport Event, Codalab Gender and Smile) have been solved using transfer learning approach. The result varies depending on the similarity between the dataset and ImageNet. However, finetuning and extracting features from earlier layers are shown to be effective to improve the performance when the tasks are not similar. A thorough experiment was also conducted to quantify the transferability of a network pre-trained over small dataset (CIFAR-10) and the result shows that: (1) even using pretrained network on small dataset, we can still pick up some features at lower layers to transfer them for other tasks, (2) convolutional layer is more transferable than fully-connected layer, and (3) the effectiveness of transfer learning declines the more dissimilar the tasks are.
Diploma typeMaster of Science
Author Akbar Gumbira (FEIT)
Akbar Gumbira,,
- Faculty of Electronics and Information Technology
Title in PolishTransfer uczenia w głębokich splotowych sieciach neuronowych
Supervisor Rajmund Kożuszek (FEIT / IN)
Rajmund Kożuszek,,
- The Institute of Computer Science
Certifying unitFaculty of Electronics and Information Technology (FEIT)
Affiliation unitThe Institute of Computer Science (FEIT / IN)
Study subject / specializationInformatyka (Computer Science)
Languageen angielski
StatusFinished
Defense Date06-04-2018
Issue date (year)2018
Internal identifier75/18 (2486)
Reviewers Stanisław Jankowski (FEIT / IN)
Stanisław Jankowski,,
- The Institute of Computer Science
, Rajmund Kożuszek (FEIT / IN)
Rajmund Kożuszek,,
- The Institute of Computer Science
Keywords in Polishtransfer uczenia, splotowe sieci neuronowe, CNN, głębokie uczenie, ImageNet, CIFAR-10, VGG16, InceptionV3, ResNet50
Keywords in Englishtransfer learning, CNN, ConvNets, deep learning, ImageNet, CIFAR-10, VGG16, InceptionV3, ResNet50
Abstract in PolishW praktyce stosunkowo trudno jest uzyskać duży zbiór danych, który pozwoli na wytrenowanie głębokiej splotowej sieci neuronowej (CNN) bez nadmiernego dopasowania sieci do danych. Drugi problem polega na tym, że nawet gdy duży zestaw danych jest dostępny, uczenie głębokiej sieci splotowej wymaga zasobów obliczeniowych, na które wielu naukowców nie może sobie pozwolić. Ponieważ uczenie sieci daje w pierwszych kilku warstwach filtry, które wykrywają bardzo ogólne cechy, rozwiązaniem problemu jest tzw. transfer uczenia (transfer learning). Niniejsza praca jest próbą analizy transferu uczenia dla zadania klasyfikacji obrazu i do ilościowego określenia efektów transferu uczenia dla zadań z małym zestawem danych. Jako przypadki testowe dla transferu uczenia zostaną wykorzystane trzy sieci uczone wstępnie na bazie ImageNet (VGG16, InceptionV3 i ResNet50) oraz cztery problemy z klasyfikacją obrazu (Kaggle Dog vs Cat, UIUC Sport Event, Codalab Gender and Smile). Wynik jest różny w zależności od podobieństwa między zestawem danych a bazą ImageNet. Jednak użycie cech z pierwszych warstw sieci połączone z dostrajaniem parametrów sieci okazało się efektywne także dla zbiorów danych o innej charakterystyce niż ImageNet. Przeprowadzono również eksperyment w celu ilościowego określenia możliwości transferu parametrów sieci wstępnie uczonej na małym zbiorze danych (CIFAR-10). Jego wynik pokazuje, że: (1) nawet przy wstępnym uczeniu sieci na małym zbiorze danych, jej niższe warstwy nadają się do wykorzystania w innych zadaniach, (2) transfer warstwy splotowej jest efektywniejszy niż warstwy w pełni połączonej, oraz (3) skuteczność transferu uczenia zmniejsza się, im bardziej różne są zadania.
File
Transfer_Learning_in_Deep_Convolutional_Neural_Networks.pdf 24.64 MB
Local fieldsIdentyfikator pracy APD: 25969

Get link to the record

Back