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

김남욱님의 프로필 이미지
김남욱

작성한 질문수

[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지

데이터 불러오기(Data Loader)

Validation Dataset의 Shuffle 관련 질문

해결된 질문

작성

·

749

0

안녕하세요. 강의 통해 항상 도움 받고 있습니다.

다름이 아니라 현재 진행중인 프로젝트에서 모델을 학습하며 Validation 데이터셋에 대한 성능을 확인하는데, Validation 데이터셋의 shuffle을 했을 때와 안했을 때 성능에 유의미한 차이가 발생합니다.

무엇이 이유이며 Validation 및 Test Dataset은 항상 Shuffle=False로 설정해주어야 하는지 궁금합니다.

답변 1

0

딥러닝호형님의 프로필 이미지
딥러닝호형
지식공유자

안녕하세요.

일단 평가 메트릭이 무엇인지 말씀을 안하셔서 일반적으로 생각할 수 있는 정확도나 MSE를 기준으로 말씀 드리겠습니다.

결론부터 말씀드리면 셔플 유무는 평가에 관계가 없습니다. 예를 들어 정확도 같은 경우 (맞은 개수)/(전체 개수)를 계산하는 것이기 때문에 맞은 개수를 세는 순서가 다르다고 해서 그 개수가 달라질 수 없습니다. MSE도 마찬가지구요.

따라서 코드를 다시 살펴보실 필요가 있습니다.

  1. 평가 마다 일부 데이터가 사용되는지..

  2. 평가 마다 데이터 셋이 달라지는지..

  3. 평가 시 전체 계산이 아닌 배치 계산의 평균으로 되어 있는지.. (계산에 따라 전체 계산과 배치계산의 평균이 같을수도 다를 수도 있습니다.)

  4. 아웃풋만 셔플이 되고 타겟값은 그대로인지..

  5. 평가 메트릭이 잘 정의 되었는지..

열공하세요 :)

 

김남욱님의 프로필 이미지
김남욱

작성한 질문수

질문하기