inflearn logo
강의

Course

Instructor

From the concept of the latest deep learning technology Vision Transformer to Pytorch implementation

WeightedRandomSampler 질문이 있습니다

2199

ingbeeeded7104

44 asked

0

안녕하세요. vit 구현하실 때 WeightedRandomSampler 동작에 대해서 궁금한 점이 있습니다

해당 class 갯수가 작을 때는 weight 값이 크게 들어가고, 반대 상황에서는 다르게 들어가는데

그럼 DataLoader에서 weight가 어떻게 동작하게 되는 것인가요? 결국 DataLoader에서는 모든 이미지가 한 번씩 나오게 되는데, 그럼 배치마다 클래스에 따라 균일하게 나오게 되는 것인가요?

딥러닝 pytorch 컴퓨터-비전 vision-transformer

Answer 2

1

dlbro

안녕하세요!

질문이 크게 3개 정도 되는 것으로 보여 나눠서 답변드리겠습니다.

1. Weighted random sampling 동작방법

Weighted random sampling은 클래스 불균형 문제를 해결하기 위한 방법 중 하나입니다. 개별 이미지 한 장이 뽑힐 확률은 1/전체개수 입니다. 따라서 이미지를 많이 가지고 있는 클래스가 뽑힐 확률이 더 높습니다. 이를 보완하고자 더 적은 이미지를 갖는 클래스의 이미지가 뽑힐 확률을 높히도록 큰 가중치를 곱하고 반대로 많은 이미지를 갖는 클래스의 이미지가 뽑힐 확률이 낮아지도록 작은 가중치를 곱하게 되어 클래스 당 확률을 동일하게 맞춰줍니다. 이렇게 맞춰진 가중 확률을 기반으로 Sampler가 이미지를 확률적으로 골라서 배치를 만들게 됩니다.

 

2. 배치 데이터는 균일한가요? 

앞서 말씀드렸듯이 Sampler가 균일하게 하려고 동작을 합니다. 따라서 말씀해주신 7:3 비율을 갖는 바이너리 데이터가 있다면 배치에서는 5:5로 뽑아주게 하는 것입니다. 하지만 확률적으로 뽑기 때문에 항상 5:5는 아닐 수 있지만 대부분 균일하다고 보시면 됩니다. (확률적이기 때문에 "항상 균일하다"라는 표현을 사용하지 않았습니다.)

 

3. 중복으로 데이터가 뽑히나요?

네, 맞습니다!! 무작위 중복으로 뽑힐 수 있습니다!

 

따라서 위 과정을 순서대로 정리하면 다음과 같습니다. 

1. 가중 확률 정의

2. 가중 확률을 기반으로 Sampler가 데이터 선택

3. 매 배치마다 balanced batch set 생성

0

ingbeeeded7104

기존에 7:3 비율을 가지는 갯수의 데이터셋이 존재한다면 배치에서도 7:3으로 동일하게 나올 수 있게 하는 장치인가요? 

뽑을 확률을 동일하게 가져갔을 때 문제가 데이터 갯수 불균형이 일어나면, 중복되게 뽑아야하는 경우가 나오지 않나요?

mean attention distance

0

199

2

안녕하세요, vit에 관심이 많은 사람입니다.

1

233

1

positional embedding 학습이 잘 안되는 문제

1

365

1

행렬 차원 수 질문

0

315

1

Self Attention 질문 있습니다.

0

325

1

Multi-Head Attention 모델 구조에서 궁금한게 있습니다.

0

555

1

전처리 관련해서 질문이 있습니다

1

362

1

답변에 대한 추가질문이 있습니다.

1

301

1

헷갈리는게 몇개 있습니다ㅠㅠ

1

375

1

Positional Encoding, KQV 질문입니다!

2

623

1

강의 자료 슬라이드

0

738

2

비전 트랜스포머 - 최신 모델 강의에서 positional embedding

2

468

1

비전 트랜스포머 - 최신 모델' 강의에서 B*N*K 와 1*K*D 를 연산

1

401

1

'어텐션 기법 - 키, 쿼리, 밸류는 무엇인가?' 강의에서 (QK^T)

1

717

1

training

1

288

1

Image가 입력일 때 Cross Attention 결과가 궁금합니다.

0

889

1

Transformer의 input에 대해 질문드립니다.

1

415

1

ViT에 대한 전반적인 질문 드립니다!

1

394

1

Key query value관련 질문

1

567

2

Fine tuning 관련하여 질문 드립니다.

1

647

1

코드 질문

1

316

1

Dh의 의미

1

309

1

scheduler관련 질문드립니다.

2

276

1

E, Epos

0

304

1