AI 기초
전이 학습이란 무엇인가?
전이 학습이란 무엇인가?
기계 학습을 실천할 때 모델을 훈련시키는 것은 오랜 시간이 걸릴 수 있습니다. 모델 아키텍처를 처음부터 만들고 모델을 훈련시키고 모델을 조정하는 것은 엄청난 시간과 노력이 듭니다. 기계 학습 모델을 훈련시키는 더 효율적인 방법은 이미 정의된 아키텍처를 사용하는 것입니다. потен적으로 이미 계산된 가중치를 사용할 수 있습니다. 이것이 전이 학습의 주요 아이디어입니다. 이미 사용된 모델을 가져와서 새로운 작업에 재사용하는 것입니다.
전이 학습을 사용하는 다양한 방법에 대해 자세히 설명하기 전에 전이 학습이 왜如此 강력하고 유용한 기술인지 이해하기 위해 잠시 시간을 가져보겠습니다.
딥 러닝 문제 해결
딥 러닝 문제를 해결하려고 할 때, 이미지 분류기를 구축하는 것과 같이, 모델 아키텍처를 만들어야 하고 모델을 데이터에 훈련시켜야 합니다. 모델 분류기를 훈련하는 것은 네트워크의 가중치를 조정하는 과정입니다. 이는 모델과 데이터셋의 복잡성에 따라 몇 시간 또는 며칠이 걸릴 수 있습니다. 훈련 시간은 데이터셋의 크기와 모델 아키텍처의 복잡성에 따라 조정됩니다.
모델이 작업에 필요한 정확도를 달성하지 못하면 모델을 조정해야 할 수 있으며 모델을 다시 훈련시켜야 합니다. 이는 최적의 아키텍처, 훈련 시간, 데이터셋 분할을 찾을 때까지 몇 시간의 훈련이 더 필요합니다. 분류기가 유용하기 위해서는 여러 변수가 조정되어야 하므로 기계 학습 엔지니어가 항상 모델을 훈련하고 구현하는 더 쉬운 방법을 찾고 있습니다. 이러한 이유로 전이 학습 기술이 만들어졌습니다.
모델을 설계하고 테스트한 후에 모델이 유용한 것으로 판명되면 나중에 유사한 문제에 재사용할 수 있습니다.
전이 학습의 유형
일반적으로 전이 학습에는 두 가지 유형이 있습니다. 모델을 처음부터 개발하는 것과 사전 훈련된 모델을 사용하는 것입니다.
모델을 처음부터 개발할 때 모델 아키텍처를 만들고 훈련 데이터를 해석하고 패턴을 추출할 수 있어야 합니다. 모델이 처음 훈련된 후에 모델의 최적의 성능을 얻으려면 모델을 조정해야 할 수 있습니다. 그런 다음 모델 아키텍처를 저장하고 나중에 유사한 작업에 사용할 수 있는 모델의 시작점으로 사용할 수 있습니다.
두 번째 조건은 사전 훈련된 모델을 사용하는 것입니다. 많은 대학과 연구 팀이 모델의 사양을 일반적으로 사용할 수 있도록 제공합니다. 모델 아키텍처와 가중치를 다운로드할 수 있습니다.
전이 학습을 수행할 때 전체 모델 아키텍처와 가중치를 작업에 사용할 수 있거나 모델의 일부 또는 계층만 사용할 수 있습니다. 사전 훈련된 모델의 일부만 사용하고 나머지 모델을 훈련하는 것을 미세 조정이라고 합니다.
네트워크 미세 조정
네트워크 미세 조정은 네트워크의 일부 계층만 훈련하는 것을 의미합니다. 새로운 훈련 데이터셋이 원래 모델에 사용된 데이터셋과 비슷하다면 많은 가중치를 재사용할 수 있습니다.
네트워크에서 언프리징되고 재훈련되어야 하는 계층의 수는 새로운 데이터셋의 크기에 따라 조정되어야 합니다. 훈련 데이터셋이 작다면 대부분의 계층을 그대로 유지하고 마지막 몇 개의 계층만 훈련하는 것이 좋습니다. 이는 네트워크가 과적합되는 것을 방지하기 위해서입니다. 또는 사전 훈련된 네트워크의 마지막 계층을 제거하고 새로운 계층을 추가하여 훈련할 수 있습니다. 반대로 데이터셋이 크다면 원래 데이터셋보다 더 큰 경우 전체 네트워크를 재훈련해야 합니다. 네트워크를 고정된 특징 추출기로 사용하려면 네트워크의 대부분을 사용하여 특징을 추출하고 네트워크의 마지막 계층만 언프리징하고 훈련할 수 있습니다.
네트워크를 미세 조정할 때 기억해야 할 사항은 ConvNet의 초기 계층이 이미지의 더 일반적인 특징을 포함한다는 것입니다. 이러한 특징은 가장자리와 색상과 같은 것입니다. 반면에 ConvNet의 후반부 계층은 초기에 모델이 훈련된 데이터셋 내의 개별 클래스에 더 특정적인 세부 정보를 포함합니다. 초기 데이터셋과 매우 다른 데이터셋을 모델에 훈련시키고 있다면 모델의 초기 계층을 사용하여 특징을 추출하고 모델의 나머지 부분을 재훈련하는 것이 좋을 것입니다.
전이 학습 예시
전이 학습의 가장 일반적인 응용 분야는 이미지 데이터를 입력으로 사용하는 예측/분류 작업입니다. 이러한 작업은 ConvNet이 이미지 데이터를 해석하는 방식에 의해 모델의 일부를 재사용하는 것이 자연스럽습니다. 전이 학습의 일반적인 예는 ImageNet 1000 작업입니다. 이는 1000개의 서로 다른 객체 클래스가 포함된 대규모 데이터셋입니다. 이 데이터셋에서 높은 성능을 달성한 모델을 개발하는 회사들은 종종 모델을 다시 사용할 수 있도록 라이센스를 발급합니다. 이 프로세스에서 만들어진 모델 중 일부는 Microsoft ResNet 모델, Google (GOOGL ) Inception 모델 및 Oxford VGG 모델 그룹입니다.












