Notice
Recent Posts
Recent Comments
Link
Douglas' Space
Transfer Learning 본문
딥러닝기반의 인공지능 시스템 개발에서의 가장 어렵거나 많은 비용이 드는 것은 지도학습을 위한 학습데이타를 생성하는 것입니다. 예를 들어 표적인식 등에 가장 많이 사용하는 CNN기반의 딥러닝 모델의 경우 학습을 위한 labeled data를 만드는 데 많은 비용이 들거나 데이터를 만들기가 어려운 경우가 대부분입니다.
이러한 경우에 사용하는 방법이 전이학습(Transfer Learning)입니다. 전이학습은 많은 데이타셋으로 이미 학습된 모델(이를 pre-trained model이라고 함)을 데이터셋이 적은 분야에 재활용하여 사용하는 방법을 말합니다. 이렇게 재사용하는 것을 fine-tuning한다고 부릅니다.
CNN을 예로 들어 설명해 보도록 하겠습니다. CNN은 지난번 이야기한 것처럼 아래와 같이 크게 합성곱이라는 신경망층으로 구성된 특징추출기와 일반적인 신경망층으로 구성된 (이를 Fully connected layer라고 함) 분류기로 구분되어 있다고 이야기한 것을 기억하실 겁니다.
사전학습모델의 예로는 ImageNet(컴퓨터비전과 딥러닝을 위한 공개된 이미지 데이터베이스)의 데이터로 학습된 모델들이 그 예입니다. ILSVRC(ImageNet을 이용한 객체인식 대회)에서 우승한 AlexNet, VGG, GoogleNet, ResNet 등을 들 수 있습니다. 이러한 모델을 이용하여 적은 학습데이터로 fine-tuning하여 새로운 모델을 생성하는 것입니다.
사전학습모델의 특성이 다르기 때문에 사용할 데이터의 특성에 따라 어떤 모델이 적합한지를 판단해야 합니다. 따라서 최고의 성능을 낼 수 있는 모델을 선택하기 위해 하나 이상의 다양한 모델을 학습을 시킨후 이를 비교하는 것도 중요합니다.
fine-tuning은 새롭게 분류한 데이터의 종류와 전체 개수를 미리 분석한 후, 이를 바탕으로 사전학습모델의 가중치 일부만을 재학습시키거나 모든 가충지를 처음부터 다시 학습할 수 있습니다. 예를 들어 사전학습된 모델의 특징추출기는 재학습하지 않고, 분류기만을 학습시키거나 특징 추출기의 일부와 분류기기 모두를 재학습하는 방법이 있을 수 있습니다.
'Computing Tech. Diary > Artificial Intelligence' 카테고리의 다른 글
Semi-Supervised Learning (0) | 2022.05.02 |
---|---|
Self-Supervised Learning (0) | 2022.05.02 |
불균형 데이터(imbalanced data)란 (0) | 2022.05.02 |
Semantic Segmentation (0) | 2022.05.02 |
강화학습 이해하기 (0) | 2022.04.30 |
Comments