카테고리 없음

[ML]Transfer Learing(전이학습)

standingR 2024. 1. 3. 20:11

1. Transfer Learing(전이학습)

 

출처 - 최진영 강사님 강의

 

그림 설명 : 이미 이전의 학습의 결과로 데이터의 특징이 반영되었고, 또한 가중치를 의미 알고 있다. 여기서 얻어진 결과들을 다른 태스크에 사용한다는 이야기이다.

 

 

 

이미 한 *테스크에서 학습된 모델을 다른 관련된 테스크에 적용하여 학습 효율을 높이는 기법.

 

 

2. Transfer Learing(전이학습) 장점

 

1. 데이터 효울성 : : Transfer Learning은 적은 양의 데이터로도 좋은 성능을 낼 수 있게 해준다.

이미 다른 태스크에서 학습된 모델이 기본적인 패턴을 인식하고 있기 때문에, 새로운 태스크에 필요한 추가 학습이 더 적게 필요합니다.

 

나의 언어로 간단하게 : 이전 학습과정에서 얻어진 가중치를 사용하기 떄문에, 새로운 데스크에서 학습을 더 할 필요가 없어서 효율적이다.

 

2. 시간 절약 : 새로운 테스크를 위해 모델을 처음부터 학습 시키는 것보다, 기존의 학습된 모델을 사용하면 학습시간을 대폭 줄일 수 있다.

 

나의 언어로 간단하게 : 1에서와 마찬사지로, 의미 학습된 모델을 바탕으로 하기 떄문에, 학습시간을 줄일수가 있다, 너무나 당연함

 

3. 범용성과 전문성의 조화 : Transfer Learningd은 모델이 다양한 일반적인 특징을 학습한 후, 특정 테스크에 맞춰 미세 조정 되는 과정을 거치게 된다, 이로 인해 모델은 범용적인 학습과 동시에 특정 태스크에 특화된 성능을 발휘할 수 있다.

 

나의 언어로 간단하게 : 기존 학습을 통해, 데이터 셋에 대한 특징들이 학습되고, 각각 데이터 셋이 갖는 고유한 특징들이 미세하게 학습되어서, 특화와 범용적 학습이 둘다 가능해진다.

 

4. 다양한 응용 분야 : 이 기법은 이미지 인식, 자연어 처리 , 음성 인식 등 다양한 머신 러닝 분야에 활용됩니다. 

예를 들어, 이미 많은 이미지를 학습한 모델을 새로운 유형의 이미지 분류 작업에 적용할 수 있습니다.

 

나의 언어로 간단하게 : 간단히 말해, 이 방법으로 다양한 테스크(예측, 분류, 군집화, 회귀 등과 같은 다양한 유형)에 사용해도 문제 없다는 이야기이다.

 

 

 

 

 

 

 

테스크의 의미

더보기

테스크(task)"라는 용어는 머신 러닝에서 특정 작업이나 목표를 수행하는 것을 의미한다.

머신 러닝에서 테스크는 주어진 데이터를 바탕으로 모델을 학습시켜 특정 작업을 수행하는 것을 의미

이 테스크는 예측, 분류, 군집화, 회귀 등과 같은 다양한 유형으로 나타날 수 있다.

 

 

 

3. Transfer Learing(전이학습)과정

 

그림 출처 : https://velog.io/@knh19950524/Transfer-learning

 

 

 

1. 사전 학습 (Pre-training): 모델이 대규모 데이터셋을 사용하여 학습되는 단계입니다. 이 단계에서는 일반적인 특징이나 패턴을 학습합니다.

 

 

2. 미세 조정 (Fine-tuning): 사전 학습된 모델을 새로운 태스크에 적용하고, 해당 태스크의 데이터셋을 사용하여 추가 학습을 하는 단계입니다. 이때 모델의 일부 또는 전체를 새로운 데이터에 맞게 조정합니다.

 

만들어 놓고!

가져다 쓴다!

 

4. Transfer Learing(전이학습) 종류

 

 

출처 - 최진영 강사님 강의 자료

 

 

  Hidden laeyer Fully connected layer
Strategy 1 가중치 재학습 가중치 재학습
Strategy 2 가중치 일부학습 가중치 재학습
Strategy 3 가중치 고정 가중치 재학습

 

 

이 과정에서 가장 중요한점은 'forzen 엄밀히 말해서 가중치만  가지고 학습을 하는 것' 이다.

 

실제 실습 


ReNET50

 

https://colab.research.google.com/drive/1lhc7gjI1Pn0h83AEoGUakxDhnghO-R6m?hl=ko#scrollTo=1FVTLAa4rn7l&uniqifier=1

 

Google Colaboratory Notebook

Run, share, and edit Python notebooks

colab.research.google.com

 

 

CIFA 10