Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

SYDev

[네이버 부스트 코스] 2. 데이터 부족 문제 완화 본문

KHUDA 4th/Computer Vision

[네이버 부스트 코스] 2. 데이터 부족 문제 완화

시데브 2023. 9. 20. 22:16
본 게시물은 네이버 부스트 캠프 cv 강의(https://www.boostcourse.org/ai340/joinLectures/369545)를 기반으로 작성된 게시물입니다.

 

 

Data Augmentation

  • 대부분의 training dataset은 real data의 distribution과 형태가 매우 다르고, bias가 크다.
  • 이런 문제를 해결하기 위해서 training dataset을 기반으로 회전, 밝기 조절 등의 과정을 거쳐 데이터 사이즈를 증가시키는 과정Data Augmentaion이라 한다.

 

 

다양한 Data Augmentation 기법들

  • Brightness adjustment
  • Rotate, flip
  • Crop
  • Affine transform
  • Cutmix

>> RandAugment: 다양한 Augmentation 기법들이 어떤 조합에서 가장 성능이 좋은지 탐색하는 알고리즘 

 

 

Leveraging Pre-trained Information

 다른 데이터셋에서 사전 학습된 지식을 활용해, 적은 양의 데이터로 좋은 성능을 달성할 수 있는 방법 Transfer Learning과 Knowledge Distillation에 대해 알아보자.

Transfer Learning

  • Transfer Learning에는 두 가지 방식이 존재한다.
  • 첫 번째 방식은 기존 모델 가중치들은 freeze하고, 새로 교체한 FC Layers의 가중치만 학습시킨다.
  • 적은 파라미터만 학습시키면 되기 때문에 작은 사이즈의 데이터셋으로도 비교적 좋은 성능을 기대할 수 있다.
  • 두 번째 방식은 전체 모델을 그대로 fine-tuning하는 방식이다. 교체된 FC Layers의 가중치 업데이트는 첫 번째 방식과 같지만, 기존의 Convolution Layer의 가중치에도 업데이트를 진행한다. 사전 학습된 정보를 최대한 보존하기 위해서 Convolution Layer의 학습률은 작게 설정한다.
  • 비교적 데이터 사이즈가 큰 경우에 사용할 수 있다.

 

Knowledge Distillation

  • 사전에 학습된 큰 모델(teacher model)을 이용하여 그보다 작은 student model을 학습
  • Knowledge Distilation을 이해하기 위해서는, KL divergence, Cross entropy 그리고 Back propagation(역전파)의 개념에 대해 알아야 한다.

 

KL divergence, Cross entropy

Cross Entropy

 

KL divergence

 

Back Propagation

 foward propagation과는 반대로 출력층에서 입력층의 방향으로 가며 오차가 최소가 되는 가중치를 업데이트하는 과정을 Back Propagaion(역전파)라 한다.

 

Back propagation

>> loss function에서 w가 미친 영향만이 궁금한 것이므로 w로 편미분한 값을 이용해 update!

 

Knowledge Distillation

  • Teacher Model과 Student model 사이의 KL div Loss를 구해서 back propagation 과정을 통해 student model의 distribution Teacher model과 유사해지게 만든다.

레이블링된 데이터에서의 knowledge distillation

 

  • Distillation Loss는 Teacher Model을 모방하기 위해, Student Loss는 정답을 맞히기 위해 필요하다.

레이블링된 데이터에서의 knowledge distillation

 

Leveraging Pre-trained Information

Semi-supervised learning

  • 레이블링된 데이터레이블되지 않은 데이터를 모두 학습에 활용하여 데이터 부족 문제를 효과적으로 완화하는 방법
  • 구체적 예시로 Pseudo-labeling이 있다.

pseudo-labeling

 

 

Self-training

  • 앞서 배운 Data Augmentaion, Knowledge Distillation, Semi-supervised Learning을 잘 결합하면 2019년 ImageNet classification에서 SOTA 성능을 달성했던 Self-training 방법을 활용할 수 있다.

self-training


참고자료

 

컴퓨터 비전의 모든 것

부스트코스 무료 강의

www.boostcourse.org

 

정보 엔트로피(information entropy) - 공돌이의 수학정리노트 (Angelo's Math Notes)

 

angeloyeo.github.io

 

07-05 역전파(BackPropagation) 이해하기

인공 신경망이 순전파 과정을 진행하여 예측값과 실제값의 오차를 계산하였을 때 어떻게 역전파 과정에서 경사 하강법을 사용하여 가중치를 업데이트하는지 직접 계산을 통해 이해해봅시다.…

wikidocs.net

 

[머신러닝] Back Propagation(역전파) 정복하기

시작하며 오늘은 머신러닝에서 가장 큰 고비 중 하나인 ' Back Propagation(역전파) 알고리즘' 에 대해 공부해보겠습니다. 알고리즘을 이해하기 어려울 수도 있고, 복잡한 수식이 나와 거부감이 드실

box-world.tistory.com