인프런 커뮤니티 질문&답변

vpdtlrdl님의 프로필 이미지
vpdtlrdl

작성한 질문수

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part4]

실제 캐글(Kaggle) 문제 풀고, 제출해보며, 성능 개선 기법 익히기2

실제 캐글(Kaggle) 문제 풀고, 제출해보며, 성능 개선 기법 익히기2 강의에서 질문입니다

해결된 질문

작성

·

346

·

수정됨

1

실제 캐글(Kaggle) 문제 풀고, 제출해보며, 성능 개선 기법 익히기2 강의 17:30 부분에서 질문이 있습니다. 이번 강의에서는

transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])

와 같이 이미지 데이터에 Normalization을 적용하였는데요, 

from transformers import ViTFeatureExtractor 
feature_extractor = ViTFeatureExtractor.from_pretrained('google/vit-base-patch32-224-in21k') 
feature_extractor

다음 코드와 같이 vit-base-patch32-224-in21k 모델에서 적용된 image_mean과 image_std를 확인해 보니,

"image_mean": [ 0.5, 0.5, 0.5 ], "image_std": [ 0.5, 0.5, 0.5 ] 와 같이 결과가 나왔습니다. 

 

그렇다면, 학습 데이터에 Normalization을 적용할 때에도 [ 0.5, 0.5, 0.5 ], [ 0.5, 0.5, 0.5 ] 값을 적용해야 하는 것이 아닌지 여쭙고 싶습니다. 

 

감사합니다!

답변 1

1

안녕하세요. 답변 도우미입니다.

transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) 이런 값들은 일반적으로 ImageNet 데이터셋에 대해 학습된 모델에서 많이 볼 수 있는 값이긴 하거든요.

그런데, 말씀해주신 대로, 현재 해당 모델의 사전 학습된 동안 사용했던 정규화 값이 [0.5, 0.5, 0.5]와 [0.5, 0.5, 0.5] 로 보입니다. 그렇다면, 말씀해주신대로 수정해보셔도 좋을 것 같습니다. 해당 모델이 수시로 조금씩 업데이트가 되는 것인지, 정확한 정보를 조금 찾기 어려운 부분도 있긴 한데요.

다만, 꼭 동일한 값으로 하지 않으면, 심각하게 문제가 있는 정도는 아니라서, 이 부분은 한번 적용해보신 후, 결과가 더 좋게 나오는지를 한번 확인해보신 후, 둘 중에 결과가 좋은 쪽으로 쓰시면 좋을 것 같습니다.

감사합니다.

vpdtlrdl님의 프로필 이미지
vpdtlrdl

작성한 질문수

질문하기