사물 이미지 분류 AI 해커톤

Computer Vision | Accuracy

  • moneyIcon 상금 : 참가시 최소 50 XP, 특별상 데이콘 후드
  • 502명 마감

 

데이터 증량 없이 CNN 학습 (public : 0.8478)

2022.02.24 15:22 2,497 조회 language

데이터 증량 없이 현재 주어진 데이터를 가지고 CNN을 학습하면 얼만큼의 성적을 거둘 수 있는지 궁금해서 작성해 보았습니다.
베이스 라인 코드를 기반으로 작성했습니다. 도움이 되길 바랍니다!

코드
로그인이 필요합니다
0 / 1000
lastdefiance20
2022.02.24 16:09

글 잘 읽었습니다. 데이터 증량 없이도 가벼운 모델을 사용하셨는데 성능이 꽤나 나오네요

다만 k-fold 해주는 부분에서 계속 똑같은 모델에 fit을 해주는 바람에 validation set의 의미가 사라진것 같습니다. validation set는 학습에 사용되지 않아야 하기 때문입니다. 

이 코드에서는 k-fold로 새롭게 train과 validation set을 뽑으면서 그 전에 뽑았던 학습 데이터를 사용한 model에 사용하여 결국에는 train과 validation set이 모두 fit되어 학습되었습니다.  따라서 validation set이 학습에 사용되어 val-accuracy가 계속 상승하는 모습이 나타나고 있습니다. (train-accuracy와 다를바가 없음)

https://ganghee-lee.tistory.com/38 여기에 validation set의 의미가 잘 설명되어 있습니다.

다냐니라
2022.02.24 18:13

맞습니다...! 원래 validation set을 train에 사용하면 안되지만, 개인적으로 하나의 모델에 k-fold을 적용시키면 얼마나 성능이 나올까? 라는 의문을 해결하고자 하나의 model에서 진행 하였습니다..! 그런데 생각보다 test data 에서도 성능이 어느정도는 나와 신기하네요..!

zerovec
2023.05.10 15:57

안녕하세요, lastdefiance20님, 질문할 것이 있어서 답글 드립니다.
데이콘을 찾아보니 lastdefiance20님의 말처럼 각 폴드 당 서로 다른 모델을 학습시켜서 앙상블을 하거나 모든 폴드 중 validation error가 가장 낮은 모델을 최종적으로 사용하는 KFold 방식도 있고, 현재 이 코드처럼 그냥 하나의 모델에 각 폴드를 계속 fit 시키는 코드도 존재하는 것을 보았습니다.
이러한 두 KFold는 서로 용도가 다른 것인가요, 아니면 하나의 모델에 계속 fit 시키는 방식이 그냥 틀린것인가요? KFold에 대해 혼란이 생겨 질문드립니다..

https://dacon.io/competitions/official/235862/codeshare/4071
예를들어, 위의 KFold는 하나의 모델에 계속 fit을 시키는 것으로 보입니다.

종버버버
2022.02.27 16:41

kfold만 해줘도 상승했다니 신기하네요
데이터 수가 부족했나 보네요

종버버버
2022.02.27 18:15

5 fold중 어떤 fold를 test 제출하셨나요?

다냐니라
2022.02.27 18:23

음... 어떤 fold를 제출했냐는게 어떤 의미인지 모르겠습니다..  '하나'의 모델에 k-fold로 데이터 셋을 나눠 학습진행하였습니다. 즉, 5개의 fold를 한개의 모델에 학습하는데 사용했습니다.