강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của ingbeeeded7104
ingbeeeded7104

câu hỏi đã được viết

Từ khái niệm Vision Transformer công nghệ deep learning mới nhất đến triển khai Pytorch

WeightedRandomSampler 질문이 있습니다

Viết

·

2.2K

0

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

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

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

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

Câu trả lời 2

1

dlbro님의 프로필 이미지
dlbro
Người chia sẻ kiến thức

안녕하세요!

질문이 크게 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님의 프로필 이미지
ingbeeeded7104
Người đặt câu hỏi

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

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

Hình ảnh hồ sơ của ingbeeeded7104
ingbeeeded7104

câu hỏi đã được viết

Đặt câu hỏi