어떠한 선택.을 했습니다.
기계학습 과제인 자유주제 프로젝트로 NeurlPS 개최 Ariel Data Challenge 2024에 도전해보았습니다.
https://www.kaggle.com/competitions/ariel-data-challenge-2024/overview
NeurIPS - Ariel Data Challenge 2024
Derive exoplanet signals from Ariel's optical instruments
www.kaggle.com
Testset 파일 제출하는 대회나 ChatGPT 프롬프트 작성하는 대회는 질리도록 참여해봤기에 새로운 걸 해보고 싶었습니다
무엇보다 학교잖아요? 학교아니면 어디서 도전이라는걸 해보겠습니까...
그렇게 참가한 대회...
처음부터 엄청난 포스를 풍기고 있습니다...
무엇보다 데이터를 보면 무려 174.33GB라는 CPU가 지리고 메모리카드가 저리는 사이즈를 자랑합니다.
대회에 대해 간단히 해설하면 이렇습니다:
2025년부터 시작될 Ariel Project는 수많은 항성의 행성에 가려질 때 생기는 밝기 변화(변광성)를 관찰하고 이를 토대로 파장별 빛의 세기와 uncertainty를 계산할 것입니다.
그림을 보면 이해가 잘 될 거예요.
Kaggle에서 따온 그림입니다.
Input은 이미지들입니다. 이 사진은 time단위로 하나씩 주어져 있습니다.
이제 이걸 적절히 처리해서 time-flux (빛의값) domain으로 표현합니다.
이걸 input으로 해서 spectral domain의 값을 계산하면 끝입니다!
이 접근법과 raw data 전처리는 아예 주최측에서 제공해두었습니다:
https://www.kaggle.com/code/gordonyip/host-starter-solution
-- Host Starter Solution --
Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources
www.kaggle.com
문제는 주최측에서 제공한 코드가 Notebook 제출 템플릿을 제공하지 않는다는 것입니다.
... 그렇습니다. 테스트셋 전처리, prediction, GLL 계산, Uncertainty 계산, 제출코드까지 직접 만들어야 합니다.
저는 학교에서 GPU컴퓨터를 빌려 모델과 전처리 테스트셋을 만든 후, Kaggle에서는 이를 불러와 제출만 하는 방법을 선택했습니다.
모델 만들기, 전처리한 테스트셋 저장하기 등은 제가 작성해두었으니, fork해서 사용하시면 됩니다.
https://github.com/mummy-alive/Ariel2024
GitHub - mummy-alive/Ariel2024
Contribute to mummy-alive/Ariel2024 development by creating an account on GitHub.
github.com
이것이 고난의 시작이었습니다...
제출만 하면 에러뜹니다
죽을거같아요
너무 힘들어서 결국 Discussion 등록까지 했습니다
https://www.kaggle.com/competitions/ariel-data-challenge-2024/discussion/549015
NeurIPS - Ariel Data Challenge 2024
Derive exoplanet signals from Ariel's optical instruments
www.kaggle.com
대회 해설은 이 문제 해결되는대로 정리해서 가져오겠습니다.
이 문제를 아시는 고인물 계신다면... 도와주세요...
작성했던 제출코드: https://www.kaggle.com/code/mummyee/arielsubmission
ArielSubmission
Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources
www.kaggle.com
지금까지 해본 troubleshooting:
- Internet OFF함
- Uncertainty그냥 0이나 모두 같은 값으로 설정해놓고 계산하면 0.0000이 나옴 -> Uncertainty 계산하는 코드 넣음
- 그랬더니 Notebook Threw Exception 에러 발생 -> 1D CNN에서 MC dropout trial=1000을 100으로 줄임
- 여전히 Notebook Threw Exception 발생 -> 노트북에서 GPU 켠 채로 다시 실행
- 여전히 Notebook Threw Exception 발생 -> submission을 sample_submission 재활용하는 방식으로 구성
- Validation score 0.0000나옴 -> ???????
++ 참고: 결과 파일은 'submission.csv'가 아니면 저장이 되질 않는다...