1. Transfer Learning and Fine-tuning
Transfer Learning(전이 학습)
인간은 새로운 문제를 직면했을 때, 과거의 경험에 의지합니다. 이와 같이, machine learning에서 transfer learning은 모델이 과거에 얻은 지식을 새로운 관련된 문제를 푸는데 적용할 수 있게 하는 기술입니다.
Transfer learning is a machine learning technique where a model trained on one task is repurposed as the foundation for a second task.
과정
- 사전 학습(Pre-training)
먼저, 대규모 데이터셋에서 모델을 학습시켜 일반적인 특성을 학습합니다. - 미세 조정(Fine-tuning)
사전 학습된 모델의 가중치를 새로운 문제에 맞게 조정합니다.. 이 단계에서는 새로운 데이터셋에서 모델의 일부 또는 전체 가중치를 업데이트합니다.
워크플로우
- 사전 훈련된 모델 선택
- 사전 훈련된 모델 구성
- 사전 훈련된 계층 동결(freeze)
모델의 초기 계층(저수준 특징 추출 계층)은 일반적으로 다양한 작업에 적용 가능하므로, 이를 고정(freeze)하여 학습하지 않도록 설정합니다.
- 출력 계층 제거, 새로운 출력 계층 도입
사전 학습된 모델의 마지막 계층(출력 계층)은 원래 학습된 데이터셋에 맞춰 설계되어 있기 때문에 제거하고 새로운 데이터셋에 맞는 출력 계층을 도입합니다. - 대상 도메인에 대한 모델 훈련
미세 조정(Fine-tuning), 새로운 출력 계층 학습
Fine-Tuning
(1) Fine-Tuning이란?
미세 조정은 사전 훈련된 언어 모델(pre-trained model)을 특정 작업이나 새로운 데이터셋에 맞게 조정하는 과정입니다. 전이 학습(Transfer Learning)의 한 형태로 볼 수 있으며, 모델이 이미 학습한 지식을 바탕으로 새로운 작업에 빠르게 적응할 수 있도록 돕습니다.
(2) 과정
- 사전 훈련된 모델 선택 : 특정 작업에 적합한 구조와 파라미터를 가진 모델을 선택한다.
- 모델 수정 : 필요한 경우, 모델의 마지막 층을 새로운 작업에 맞게 조정하거나 새로운 층을 추가한다.
- 파라미터 초기화 : 수정된 층의 파라미터는 임의로 초기화하고, 나머지 부분은 사전에 훈련된 파라미터를 유지한다.
- 재훈련 : 새로운 데이터셋에 대해 모델을 재훈련한다. 이때, 전체 모델을 재훈련하거나 수정된 층만을 대상으로 한다.
(3) 지도 학습 vs 비지도 학습
- 지도 학습 : 작업별 레이블이 지정된 데이터를 사용하여 모델을 조정
- 비지도 학습 : 레이블이 없는 데이터를 사용하여 모델을 특정 작업에 맞게 조정
(4) 전이 학습과 차이점
전이 학습은 사전 학습된 모델을 그대로 활용하여 새로운 작업에 맞는 일부 레이어만을 학습하는 데 중점을 둡니다. 고정된 사전 학습된 레이어를 사용하여 새로운 작업에 대한 출력 레이어만 학습합니다. 반면, 파인튜닝은 전이 학습의 일환으로, 사전 학습된 모델의 전체 또는 일부를 새로운 작업에 맞게 재학습합니다. 모델의 특정 레이어를 파인튜닝하여 새로운 작업에 더 적합하도록 합니다.
전이학습과 미세조정의 장단점
장점
- 제한된 데이터에서의 성능 향상 : 사전 학습된 모델은 다양한 패턴과 특성을 인식할 수 있으므로, 적은 데이터로도 높은 성능 달성 가능
- 고급 특성의 빠른 학습 : 상위 레이어를 조정하면, 사전에 학습된 모델을 통해 얻은 지식을 기반으로 복잡한 특성을 더 빨리 학습 가능
주의점
- 과적합 : 새로운 데이터셋이 작을 경우, 모델이 학습 데이터에 과도하게 적응해 일반화 성능이 떨어질 수 있음.
- 학습률 : 너무 높은 학습률은 사전에 훈련된 파라미터를 손상시킬 수 있고, 너무 낮은 학습률은 학습이 제대로 이루어지지 않을 수 있음.
전이학습과 미세조정의 예시
- 의료 이미지 분석 : 일반 이미지 데이터셋에서 사전 훈련된 모델을 사용하고, 이를 특정 의료 진단 작업에 맞게 조정하여 높은 성능의 의료 진단 도구를 개발
- 드론 이미지 인식 : 일반적인 객체 인식을 위해 훈련된 모델을 사용하여 드론 영상에서 특정 객체를 식별하고 추적
2. Transformer
트랜스포머(Transformer)는 2017년 구글이 발표한 논문인 "Attention is all you need"에서 나온 모델입니다. 챗 GPT도 트랜스포머 기반 모델입니다. 트랜스포머는 RNN이나 CNN을 사용하지 않고, 어텐션 메커니즘에 기반하여 병렬 처리가 가능하고 더 효율적으로 학습할 수 있는 구조를 가지고 있습니다. 자연어처리 뿐만 아니라 이미지 처리 분야에서도 좋은 결과를 내고 있습니다.
트랜스포머의 기본 구조
트랜스포머는 인코더(Encoder)와 디코더(Decoder) 두 가지 주요 구성 요소로 이루어져 있습니다. 각각은 여러 층으로 구성될 수 있습니다.
1) 인코더
- 입력 문장을 처리하며, 각 단어의 의미를 추출하여 고차원 벡터로 변환합니다.
- 각 층은 멀티-헤드 어텐션(Multi-Head Attention)과 피드포워드 신경망(Feed Forward Neural Network)으로 구성됩니다.
- 인코더의 출력은 디코더로 전달됩니다.
2) 디코더
- 인코더의 출력과 디코더의 입력을 받아 다음 단어를 예측합니다.
- 디코더 역시 멀티-헤드 어텐션과 피드포워드 신경망으로 구성되며, 인코더와 디코더 사이의 크로스 어텐션(Cross Attention)을 추가로 포함합니다.
트랜스포머의 장점
- 병렬 처리 가능: RNN과 달리, 이전 단계의 결과를 기다리지 않고 전체 입력 시퀀스를 동시에 처리할 수 있습니다.
- 장기 의존성 학습에 유리: 멀티-헤드 어텐션 메커니즘 덕분에, 입력 데이터의 먼 위치에 있는 단어 간 관계도 쉽게 학습할 수 있습니다.
- 모듈화: 인코더와 디코더를 원하는 만큼 확장하여 다양한 데이터 처리에 유연하게 사용할 수 있습니다.
댓글