개발자

테스트 정확도가 훈련 정확도보다 높으면 어떻게 하나요?

2023년 05월 30일조회 293

안녕하세요, AI를 공부중인 대학생입니다. CIFAR-10 분류 학습을 하고 있는데, 일반화 성능을 높이기 위해 RandAugment에 Resnet18을 사용하고 있습니다. 200 epoch정도 학습을 진행하면 74~75% 훈련 정확도를 보입니다. 문제는 이후 test를 진행하면 95%의 높은 정확도를 보여주고, CIFAR-10 외의 다른 데이터셋으로 테스트를 진행해도 92~93%정도의 정확도가 나왔습니다. 보통 훈련 정확도 > 테스트 정확도인 경우는 많이 봤지만 이 경우에는 어떻게 해야 할지 모르겠습니다. 1. 훈련 정확도를 더 높이기 위해 학습 과정을 수정해야 할까요? 2. 제 생각에는 훈련 데이터에 RandAugment를 수행해 분류 난이도가 높지만 테스트의 경우 이미지 변형이 심하지 않아 이런 결과가 발생한 것 같습니다. 제 해석이 맞을까요? 긴 질문 읽어주셔서 감사합니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

손정현님의 프로필 사진

안녕하세요! 저도 2번 가설이 가능성 높아보이기는 합니다. 다만 몇가지 질문드리고 싶은건, - training set에 test set이 일부 포함되어 있거나 하지는 않나요? - test set에 rand augment를 적용해도 결과가 비슷하게 나오나요? - training set에 rand augment를 빼고 학습해도 결과가 비슷하게 나오나요? rand augment 차이라면 둘다 넣어서 테스트해보고, 둘다 빼고 테스트 해보면 뭔가 알 수 있을 것 같습니다. 보통 반대라서 질문자님의 상황이 살짝 이례적이긴하네요. 다만, 저도 경험이 많은건 아니어서 이쪽 분야에 대해서 더 잘 아시는 분의 답변을 기다려보시죠 :)

profile picture

익명

작성자

2023년 05월 31일

답변 주셔서 감사합니다 :) training set에 test set이 섞여있지는 않습니다. test set에 rand augment를 적용하면 test정확도가 69%가 되어 train 정확도보다 낮아집니다. training set에 rand augment를 빼고 학습하면 train 97%, test 77%로 오버피팅이 일어나 일반화 성능이 떨어집니다. 둘다 넣어서 테스트 해보니 2번 가설에 확신이 생기네요. 감사합니다!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!