파이톨치

[BoostCamp AI Tech] Representation 본문

카테고리 없음

[BoostCamp AI Tech] Representation

파이톨치 2024. 9. 16. 14:41
728x90

데이터의 표현 이해

데이터는 모델이나 관점에 따라 처리할 수 있는 형태로 변환되며, 어떤 관점에서 데이터를 바라보느냐에 따라 기대하는 표현 방식(Representation)이 달라집니다. (모델이 데이터를 어떻게 바라보는가를 loss 식 등을 통해서 학습하는 것이다) 

 

단 하나의 의미만 가진 개체가 있을까?

같은 이미지라도 해석하는 관점이나 관심 있게 보는 영역에 따라 그 의미는 다양해질 수 있습니다. 따라서 어떤 개체를 표현하는 방법 역시 다양해질 수 있습니다.

 

지도 학습의 한계

모든 새로운 작업에 대해 주석(Annotation)을 추가해야 하는데, 이 과정은 시간과 비용이 많이 소모됩니다. 특히 바운딩 박스나 마스크와 같은 복잡한 주석은 더욱 비용이 높습니다. 따라서 적은 주석으로도 학습할 수 있는 모델은 비용 측면에서 가치가 높습니다.

 

유의미한 표현을 자동으로 학습

데이터로부터 의미 있는 표현을 자동으로 학습하기 위해서는 몇 가지 요소가 중요합니다:

  • 특징 추출(Feature Extraction): 원시 데이터에서 중요한 특징을 식별하고 인코딩하는 과정입니다.
  • 일반화(Generalization): 보편적인 패턴을 포착해 보지 못한 데이터에서도 잘 수행할 수 있는 능력입니다.
  • 데이터 효율성(Data Efficiency): 효과적인 특징 학습을 통해 대규모 주석 데이터셋의 필요성을 줄이는 것입니다.

문제에 대한 관점과 적합한 모델

어떤 문제를 풀기 위해서는 그 문제에 적합한 모델과 표현 방식이 필요합니다. 이 모델이 문제를 해결하기 위해 적절한 표현을 출력할 수 있는 귀납적 편향(Inductive Bias)을 가지고 있는지 확인해야 합니다.

 

귀납적 편향(Inductive Bias)란?

Inductive Bias는 모델이 학습 과정에서 특정한 가정을 내포하는 성질을 말합니다. 예를 들어, CNN(합성곱 신경망)은 지역적인 패턴을 인식하는 데 강점이 있어 이미지 처리에 적합하다는 귀납적 편향을 가집니다. 즉, 모델이 주어진 문제를 해결하는 데 필요한 올바른 가정을 학습에 적용하는 능력입니다. 올바른 귀납적 편향을 가진 모델은 적은 데이터로도 효율적으로 학습하고 일반화할 수 있습니다.

 

Representation Learning 활용

Representation Learning이란 데이터에서 의미 있는 표현을 자동으로 학습하는 것을 말합니다. 이 표현들은 모델이 특정한 문제를 해결할 수 있도록 데이터의 특징을 추출하고 변환합니다. 여기서는 다양한 표현을 만드는 방법, 그 배경, 그리고 특징에 대해 살펴보겠습니다.

 

1. Supervised Learning의 Representation
일반적인 지도 학습(Supervised Learning)에서도 모델은 자체적으로 표현을 만들어냅니다. 예를 들어, CNN(Convolutional Neural Network)은 학습 과정에서 특정 패턴을 인식할 수 있는 피처맵(feature map)을 생성합니다. 이러한 표현은 분류기(classifier)에 의해 구분될 수 있도록 학습됩니다.

 

2. Transfer Learning이란?
Transfer Learning한 작업(task) 또는 도메인(domain)에서 학습된 모델을 다른 작업이나 도메인에 적용하는 것입니다. 이미 학습된 표현을 사용하여 적은 데이터로도 빠른 학습과 성능 향상을 이룰 수 있어, 특히 목표 데이터(Target data)가 제한적인 경우에 유용합니다.

Transfer Learning 접근법

  • 가중치 고정 후 학습: 원본 작업(Source task)에서 모델을 훈련한 후, 대상 작업(Target task)에서 가중치를 고정하고 분류기만 학습합니다.
  • 모델 전체 Fine-tuning: 원본 작업에서 모델을 훈련하고, 대상 작업에서 가중치를 고정하지 않고 모델 전체를 미세 조정합니다.
  • 일부 레이어만 고정 후 학습: 모델의 일부 레이어는 가중치를 고정하고 나머지 레이어만 학습합니다.

Transfer Learning 활용 사례

  • ImageNet에서 훈련된 모델의 적용: 의료 영상이나 위성사진 등의 특수한 분야에 활용됩니다.
  • Unsupervised/Self-supervised 사전 학습의 특징 활용: 레이블이 없는 데이터에서 사전 학습을 수행하여 다양한 특징을 학습합니다.
  • Foundation Models 맞춤화: 특정 사용자나 도메인에 맞춰 대규모 사전 학습 모델을 활용합니다.

Do Better ImageNet Models Transfer Better?
ImageNet에서 높은 정확도를 달성한 모델은 다른 작업으로의 전이(Transfer)에서도 일반적으로 높은 정확도를 보입니다. 사전 학습을 통해 최종 정확도가 비슷하더라도 학습 수렴을 가속화할 수 있습니다. 그러나 세부적인(fine-grained) 작업의 경우, 학습 데이터가 많을수록 사전 학습과 랜덤 초기화 모델의 성능 격차가 줄어듭니다.

 

3. Self-Supervised Learning이란?
Self-Supervised Learning은 레이블이 없는 데이터에서 표현을 학습하는 방법입니다. 이 방법은 데이터 자체에서 감독(supervision) 과제를 생성하여 학습합니다. 이를 통해 훨씬 더 큰 데이터셋에서 일반적인 시각적 특징을 학습할 수 있습니다. 예시로는 다음과 같은 과제들이 있습니다:

  • Colorization: 흑백 이미지를 컬러로 변환하는 과제.
  • Inpainting: 이미지의 일부분을 마스킹한 후 이를 복원하는 과제.
  • Jigsaw puzzle solving: 이미지의 여러 조각을 재배치하는 과제.
  • Rotation prediction: 이미지의 회전 정도를 예측하는 과제.

Contrastive Learning

  • Positive pairs: 같은 이미지의 증강된 버전이나 비슷한 데이터.
  • Negative pairs: 다른 이미지의 증강된 버전이나 서로 다르다고 생각되는 데이터.
  • Contrastive loss: 긍정적인 쌍을 모으고 부정적인 쌍을 멀어지게 하는 손실 함수입니다.

Self-Supervised Learning의 활용

  • Transfer learning을 위한 사전 학습: 다른 작업으로 전이할 수 있는 일반적인 특징을 학습합니다.
  • 이상 탐지(Anomaly detection): 정상적인 데이터와 비교하여 이상한 데이터 패턴을 식별합니다.
  • 최근접 이웃 검색(Nearest neighbor retrieval): 유사한 데이터를 검색하고 분류하는 데 사용됩니다.
  • 대규모 Unlabeled 데이터셋 분석: 레이블이 없는 데이터에서 의미 있는 정보를 추출합니다.

4. Multimodal Learning이란?
Multimodal Learning은 여러 모달리티(modality)의 정보를 결합하여 학습하는 것을 의미합니다. 일반적으로 비전, 언어, 오디오 등의 모달리티가 사용됩니다. 예를 들어, 이미지는 그 자체의 특성(패턴, 색상 등)으로 표현될 수 있지만, 해당 이미지를 설명하는 언어와 같은 다른 모달리티로부터 의미를 얻을 수 있습니다. 이를 통해 이미지의 특성만으로는 찾기 어려운 복잡하고 넓은 의미의 영역까지 확장할 수 있습니다.

 

5. Vision-Language Models
시각적 표현과 언어적 표현을 함께 학습하는 모델로, 이미지와 텍스트의 정렬을 학습합니다. 예시로는 CLIP, ALIGN, FLAVA 등이 있습니다. 이러한 모델은 다음과 같은 작업에 사용됩니다:

  • Zero-shot classification: 사전에 보지 못한 클래스에 대한 예측.
  • Image-text retrieval: 이미지와 텍스트 간의 검색.
  • 시각적 질의 응답(Visual Question Answering): 이미지와 관련된 질문에 답변하는 작업.
  • 이미지 캡셔닝(Image captioning): 이미지에 대한 설명을 생성하는 작업.

6. Foundation Model의 학습 패러다임
Foundation Models는 광범위하고 방대한 데이터셋에서 사전 학습되어, 다양한 표현을 생성할 수 있습니다. 이들은 Prompting 또는 Fine-tuning을 통해 다양한 다운스트림 작업에 적용됩니다.

 

Representation을 어떻게 만들고 활용할 것인가?
하나의 개체는 다양한 표현을 가질 수 있습니다. 주어진 문제에 가장 잘 맞는 표현을 찾는 것이 중요하며, 단순히 데이터셋을 많이 사용하고 성능이 좋은 모델을 사용하는 것이 항상 최선은 아닙니다. 성능, 학습 및 튜닝 시간, 계산 비용 등을 종합적으로 고려해야 합니다.

 

728x90