Priceless
[부스트코스] 컴퓨터 비전과 딥러닝 본문
1. 데이터 부족 문제 완화
1-1. Data Augmentation (데이터 증강, 보강)
Data Augmentation이 필요한 이유
우리가 찍는 이미지는 대부분 보기 좋게 찍힌 사진일 것이다
하지만 실제로 카메라로 수집될 데이터는 우리가 아무렇게 찍을 수 있기 때문에 다를 것이다
데이터에 접목을 시키면
수집된 데이터셋을 보면 잘 가공된 데이터로 편항되어 있다
사람이 수집한 데이터는 실제 데이터는 실제로 얻을 수 있는 데이터 중에 극히 일부만 얻을 수 있다
실제 환경에서 새롭게 데이터를 수집한다면 전혀 다르게 나타나는 데이터를 수집할 것이다
아래 사진처럼 실제로 샘플에 없는 데이터는 이 세상에 정말 많다

동물을 분류하는 모델을 만든다고 가정했을 때
갈색 동물 사진의 데이터셋만 학습한 모델에 검은색 동물 사진을 입력한다면
올바르게 분류하지 못 할 것이다
모델 생성을 위해 사용한 데이터셋이 실제 데이터를 충분히 표현하지 못하기 때문이다
실제 데이터를 표현하기에는 데이터셋이 부족한 것이다


실제로 수많은 데이터를 수집할 수 없기 때문에
다른 방법을 통해 다른 데이터를 추가한다
기본적인 연산을 통해 데이터를 늘린다
회전, 자르기, 밝기 증가 등
Augmentation 기법
밝기
밝기 조절인 경우 이미지 값을 단지 올리면 된다
등
0~255 범위 이내
Rotation
rotate 와 flip도 있다
Crop
Crop으로 자르면 된다
Affine Transformation
affine transformation
길이는 그대로 유지하는 튜닝
Cutmix
cutmix(advanced)
다른 사진의 일부를 자르고 붙여서 합성하는 방식
labeling 할 때도 비율을 반영해야 한다
물체의 위치를 정교하게 알 수 있고, 낮은 분포에서도 찾는 확률을 높일 수 있다
randAugment
수많은 aug 기법 중 랜덤하게 적용하여 성능이 높은 것을 찾는 방법
파라미터로 적용할 augment 기법들(policy)과, augment 강도를 받는다
1-2. Efficient Learning ( 효과적 학습)
Leveraging Pre-trained information (사전 학습된 정보 활용)
데이터가 부족한 상황에서
Tranfer Learning
적은 학습 능력으로도 새롭게 적용한다
한 데이터셋에서 학습한 지식을 다른 데이터 셋에도 적용하는 방법
연관된 새로운 테스크에 적용
첫 번째 방법
기존의 cnn 레이어를 그대로 두고 fc 레이어의 차원을 높여 가중치를 업데이트 하여 결과물의 차원을 높인다
데이터가 적을 때 유용하다
두 번째 방법
새로운 FC 레이어를 대체한다
conv 레이어는 학습률을 낮추고 새로운 레이어의 학습률을 높인다
업데이트가 느리다가 타깃이 바뀌면 업데이트가 빠르도록 한다
데이터가 많을 때 효과적이다
Knowledge Distillation
teacher-student learning
큰 모델에서 더 작은 모델에 사용하는 방식
모델 압축에 유리하다
미리 학습된 모델을 준비하고
학습되지 않은 스튜던트 모델을 준비한다
동시에 학습을 진행한 후 측정하여 얻은 로스를 통해
스튜던트 모델을 업데이트 한다
업그레이드된 버전으로 로스를 두 개 설정하여
Distillation Loss: KLdiver를 통해 계산(soft label)
Student Loss: 크로스 엔트로피를 사용(hard label)
분류 모델에서 예측 값을 나타낼 때 원핫 레이블로 나타낸다
이를 하드레이블이라 한다
확실하지 않아 0과 1로 나눠지지 않는 레이블을 소프트 레이블이라 한다
softmax의 t를 통해 값의 차이를 더욱 크게 한다
Leveraging unlabeled dataset for training
Semi-supervised learning
supervised 는 레이블링이 필요하기 때문에 대규모로 구축하는 것에 한계가 있다
레이블 되지 않은 거대한 데이터에 일부 레이블된 데이터를 사용한다
label 데이터로 먼저 학습하여 모델 생성 후
언레이블 데이터의 수도 데이터를 가짜 레이블을 생성
이후 레이블 데이터와 합쳐서 다시 학습
self-training
이미지를 먼저 학습한 후
300배의 언레이블 데이터를 수도 레이블 데이터로 변환하여 기존 학습 모델과 합쳐서 학습
스튜던트 모델 학습이 끝나면 새로운 모델을 날리고
스튜던트 모델이 계속 커진다
아래 사이트를 정리한 자료입니다
컴퓨터 비전의 모든 것 > 오리엔테이션 : 부스트코스 (boostcourse.org)
2강 컴퓨터 비전과 딥러닝 - 데이터 부족 문제 완화
'ComputerVision' 카테고리의 다른 글
[부스트코스] GAN & Conditional Generative Model (1) | 2023.11.01 |
---|---|
[부스트코스] Advanced Seg & Det Models (1) | 2023.11.01 |
[Vision] 영상 구조와 특징(C++) (0) | 2023.10.16 |
[부스트코스] Segmentation & Object Detection (1) | 2023.09.24 |
[부스트코스] 컴퓨터 비전의 시작 (0) | 2023.09.18 |