Logical Scribbles

[딥러닝] 전이학습(Transfer Learning)이란? 본문

딥러닝/딥러닝 이론

[딥러닝] 전이학습(Transfer Learning)이란?

KimJake 2023. 12. 4. 14:30

이번 포스팅에서는 전이학습에 대해 알아보자.

 

우선, 아래의 퀴즈를 풀며 시작해보자. 

 

아르마딜로와 천산갑(Pangolin)을 구분하는 간단한 문제이다. 평소에 아르마딜로와 천산갑의 외형적 차이를 모르는 사람이라도 10초안에 오른쪽 그림이 천산갑임을 알아차릴 수 있을 것이다.

 

이제 스스로에게 물어보자. 어떻게 정답을 맞추었을까?

 

나는 처음에 귀의 크기를 보고 판단했다. 아르마딜로는 천산갑에 비해 귀가 상대적으로 크다고 판단했기 때문이다. 정답을 맞춘 후 두 동물의 사진을 다시 보니 천산갑의 비늘이 용의 비늘처럼 특이하다는 것도 알게 되었다. (사람마다 정답을 맞추는 근거는 다를 것이다.)

 

전통적인 딥러닝 모델에게 똑같은 상황이 주어진다면 (각 동물의 사진이 두장씩 주어지고, 정답을 맞춰야함), 정답을 맞출 수 있을까? 힘들 것이다. 아마도 아르마딜로의 사진 수백장, 천산갑의 사진 수백장을 학습한 뒤에나 정답을 맞출 수 있을 것이다.

 

우리가 전통적인 딥러닝 모델과 다르게 이 문제를 잘 맞출 수 있었던 이유는 어릴적부터 말과 얼룩말을 구분하는 법, 사자와 호랑이를 구분하는 법, 장수풍뎅이와 사슴벌레를 구분하는 법배워왔기 때문이다.

 

한마디로, 이전의 경험했던 구분에 대한 배움이 새로운 문제에 적용되어 문제를 쉽게 풀 수 있는 것이다.

 

딥러닝에서도 이러한 시도가 이루어지고 있는데, 이러한 학습 방법을 전이학습이라고 부른다.

 

 

 

전이학습의 사전적 정의는 '한 분야의 문제를 해결하기 위해서 얻은 지식과 정보를 다른 문제를 푸는데 사용하는 방식'이다. 특히, 딥러닝의 컴퓨터 비전 영역에서 전이 학습으로 수행된 모델들이 높은 성능을 보이고 있어 최근 가장 많이 사용되는 방법 중에 하나이다.

 

위의 그림을 보면 사전 학습된 (Pre-trained) 모델을 이용하여 객체 탐지, 다른 이미지의 classification을 수행하고 있음을 알 수 있다.

 

아래 그림을 보자.

 

 

딥러닝 과정에서 기계는 다양한 이미지의 보편적인 특징 혹은 피처(Feature)들을 학습한다. 특히, 일반적으로 신경망이 깊어질수록 기계는 서로 다른 종류의 피처들을 학습한다고 알려져 있다.

 

이 때 낮은 층에서 학습되는 피처를 low-level features, 깊은 층에서 학습되는 피처들은 high level features라고 부른다. low-level feature의 예로 주어진 이미지의 색이나 경계 등이 있고, high level features는 더 심화된 객체의 패턴이나 형태를 의미한다. 

 

이러한 특징의 학습을 위해 대량의 데이터셋을 사용하는데, 대표적인 데이터셋이 ImageNet 데이터셋이다.

 

이제 이러한 학습된 특징을 다른 문제에 적용하기 위해, 대표적으로 세가지 방법을 사용할 수 있다.

 

  1. 모델(ResNet 등)을 불러와 추가적인 파라미터 학습 없이 그대로 분류할 데이터로 분류 진행
  2. 모델을 불러온 뒤, Classifier만 용도대로 재구조화하여 학습시키는 방법. 이 때 불러온 전이학습 모델은 가중치를 동결해 학습시키지 않고, 분류기, 또는 이후 추가한 Fully-connected layer의 가중치만 학습하여 이용한다.
  3. Fine Tuning - 2번과 동일하게 진행한 뒤, 동결해 두었던 전이학습 모델의 가중치를 (일부 또는 전부) 학습 가능상태로 만들고 학습시키도록 한다. 

하지만 이 세가지 방법이 모든 상황에서 최적의 방법인 것은 아니다.

 

전이학습을 하며 마주할 수 있는 상황 4가지를 살펴보자. 각 상황에서 적절한 학습 방법이 존재한다.

  1. 데이터셋이 많고 사전 학습된 모델에 사용된 데이터와 다른 데이터
  2. 데이터셋이 많고 사전 학습된 모델에 사용된 데이터와 비슷한 데이터
  3. 데이터셋이 적고 사전 학습된 모델에 사용된 데이터와 다른 데이터
  4. 데이터셋이 적고 사전 학습된 모델에 사용된 데이터와 비슷한 데이터

 

위의 그림은 각 상황에 대한 적절한 학습 방법을 설명해주고 있다. 대표적인 학습 방법은 세가지이다. (위에 소개한 학습 방법과 동일하다.)

 

 

이러한 전이학습을 이용하면, 훈련 시간을 절약하고 신경망의 성능을 향상시키며(대부분의 경우), 많은 데이터를 필요로 하지 않는다.

 

추가적으로, fine-tuning은 전이학습에 속해있는 방법 중 하나이다!

 

 

끝!