• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

4강 neural networks

22.08.29 18:35 작성 조회수 137

1

trainsets 배치 형태로 구축을 위해 DataLoad 할 때 shuffle을 True로 하고, testloader은 shuffle을 False로 해주는 이유가 뭔가요..?

shuffle이 섞는 다는 것이라면 train/test 모두 shuffle 해주어야 하는거 아닌가욤...? 헷갈려서 질문 드립니다.

화면 캡처 2022-08-29 183330.png

답변 1

답변을 작성해보세요.

1

안녕하세요.

좋은 질문입니다!

일반적으로 인공신경망 학습시 확률적 경사하강법(SGD) 기반인 optimizer를 사용합니다.

즉, 학습 시 랜덤 미니 배치를 사용한다는 의미이기 때문에 셔플링을 하게 됩니다.

하지만 평가 시에는 전체 테스트 세트에 대한 정확도나 에러를 계산하기 때문에 셔플링이 의미가 없게 됩니다. 따라서 셔플링을 하셔도 되고 안 하셔도 됩니다. 일반적으로 테스트 데이터의 index를 보존하기 위해 셔플링(인덱스를 섞는 행위)을 하지 않습니다. 물론 테스트 세트를 분할하여 평가하는 경우와 같은 특별한 작업에는 셔플링을 사용할 수도 있습니다.

감사합니다 :)

pjj7367님의 프로필

pjj7367

질문자

2022.08.29

감사합니다~!