[학습 일지] 오버피팅(overfitting)을 방지해보기 - 3
학습은 저번주에 끝났는데 이것저것 하느라 포스팅을 까먹었네요
오버피팅을 방지해보고자 시도했는데 생각보다 잘 나온 것 같습니다.
weight_decay : 4.0e-5 (50epoch) |
weight_decay : 4.0e-3 (50epoch) |
weight_decay : 4.0e-3 (150epoch) |
왼쪽부터
weight_decay : 4.0e-5 (50epoch)
weight_decay : 4.0e-3 (50epoch)
weight_decay : 4.0e-3 (150epoch)
입니다.
train와 valid loss가 크게 늘어나기는 했지만 그래프의 모양이 전보다 좋아졌습니다.
먼저 weight decay값을 키운 후 50epoch만 돌렸을때는 오히려 안좋게 작용했나 생각했는데
학습횟수를 늘리고 재학습을 해보니 train, valid 그래프가 튀는 것이 존재하긴 하지만 많이 줄어들었고
그래프의 모양도 보다 이상적으로 바뀌었습니다. 450k, 550k쯤에서 learning rate를 두 번 초기화 했는데
그 효과는 알아볼수가 없네요 일단은 그냥 그런갑다하고 넘어가야겠습니다.
AP의 경우에는 처음보다 수치들이 0.01~0.2까지 다양하게 올랐고 더 좋게하고 싶지만 이 이상은 파라미터문제가 아닌 데이터의 근본적인 문제라는 말씀을 해주셔서 마무리하기로 했습니다.
여기저기 서핑해서 따라해본 것이라 전문적인 접근 방식은 아니겠지만 뭔가 바뀌는 것이 보여 재밌었던것 같습니다.
저거 마무리하고 지금은 클래스가 더 많아지고 데이터의 다양성이 확보된 데이터로 학습을 하고 있는데 100epoch가 진행된
지금 딱봐도 학습이 엉망으로 되고있는 것이 보이지만 일단 300epoch까지 학습 후 조언을 듣고 수정하는 방향으로 진행하고자 합니다.
혹시 efficientDet을 사용하실 계획이고 저처럼 답을 외우는 현상이 발생했다면 제 1,2,3편 글을보고 수치를 조정해 학습해보세요