전이학습

행동하는 개발자·2022년 11월 9일
0

PHM

목록 보기
9/43

전이학습

전이학습은 시간을 절약하는 방식으로 정확한 모델을 구축할 수 있다. 다른 문제를 해결할 때 학습한 패턴에서 시작하기 때문에 처음부터 시작하지 않아도 된다. 이를 사전 훈련된 모델을 사용한다고 표현하는데 VGG, Inception, MobileNet에서 모델을 가져와 사용하는 것이 일반적이다. 대표적으로 ImageNet에서 챌린지의 데이터를 가져와 컴퓨터 비전 문제에 대한 사전 훈련된 모델을 가져와 성능을 비교하는데에 사용한다.

방법

  1. 전체 모델을 훈련시킨다.

사전 훈련된 모델의 아키텍처를 사용하고 데이터 세트에 따라 훈련시킨다. 모델을 처음부터 배우기 때문에 대규모 데이터세트가 필요하다.

  1. 일부 레이어를 훈련하고 나머지 레이어는 동결 상태로 둔다.

하위 계층은 일반적인 기능을 참조하고 상위 계층은 특정 기능을 참조한다. 여기서 우리는 네트워크의 가중치를 얼마나 조정할 것인지 선택하여 이분법을 사용한다(고정 계층은 훈련 중에 변경되지 않음). 일반적으로 작은 데이터 세트와 많은 수의 매개변수가 있는 경우 과적합을 방지하기 위해 더 많은 레이어를 고정된 상태로 둔다. 대조적으로, 데이터 세트가 크고 매개변수 수가 적은 경우 과적합이 문제가 되지 않으므로 새작업에 대해 더 많은 계층을 훈련하여 모델을 개선할 수 있다.

  1. 컨볼루션 베이스를 고정한다.

컨볼루션 기반을 원래 형태로 유지한 다음 출력을 사용하여 분류기에 공급한다. 사전 훈련된 모델을 고정 특징 추출 메커니즘으로 사용하고 있다.

심층 컨볼루션 신경망 위의 분류기

  1. 특징 추출하는 컨볼루션

  2. 컨볼루션에서 추출한 특징을 기반으로 입력 이미지를 분류하는 분류기

방법

  1. Full Connected Layer

  2. Global Average Pooling

출처: https://towardsdatascience.com/transfer-learning-from-pre-trained-models-f2393f124751

profile
끊임없이 뭔가를 남기는 사람

0개의 댓글