1라운드 대회는 7월 말에 끝났지만 이제야 후기를 작성하게 됐다.
굳이 쓸 필요 있나 싶긴한데, 좀 극적이어서 적어본다. 원래는 스스로 매우 부족한 걸 알았기 코딩테스트가 있는 AI RUSH 2022에 선발도 안될 것 같았고 선발되더라도 매우 못할 것으로 전망했다. 왜냐면 딥러닝 관련 실력도 지식도 부족하고 파이썬으로 코딩테스트만 준비해본 경험이 대부분이었기 때문이다. 그런데 현직 개발자 지인 분께서 한번 지원해보라고 권유를 해봐서 이왕할거 열심히 준비했는데 학부연구생 때 했던 프로젝트가 어필이 잘 되어서인지 얼떨결에 선발됐다. 덕분에 매우매우매우 좋은 경험을 할 수 있었다.
2시간 동안 풀어야 했고 4문제가 출제됐고 4문제 모두 빡구현 문제였다. 그 중에서 2문제를 풀었다.
떨어질 각오였기 때문에 2문제라도 제대로 풀자는 마음이 있었다. 테스트케이스가 히든테스트케이스였기 때문에 매우 꼼꼼하게 로직을 검증하고 테케도 추가해서 검증을 나름 열심히 하고 다른 문제를 해결해보려고 했고 결과적으로 2문제를 제대로 풀고 합격할 수 있었다.
1솔 합격은 못 봤고 2솔부터 합격하신 분들이 계신 걸로 기억한다.
다음에 러쉬에 지원한다면 꼭 3문제를 풀고 합격하고 싶다.
AI RUSH에 참여하게 된 나는 사실 딥러닝 이론은 자세히는 모르는 편이었고 파이토치 코딩만 조금 할 줄 아는 수준이다.(파이썬, C++로 백준 골드4, 프로그래머스 100문제 풀이)
이론도 부족하고 학기 동안은 딥러닝을 하나도 공부를 안했어가지고 나의 베이스로는 AI RUSH 대회가 어렵게 느껴졌다. 그래도 2라운드에 꼭 진출하고 싶은 생각은 있어가지고 딥러닝 이론들 및 파이토치 코드들에 대해서 전보다 자세하게 배우기 시작했다. 공식 문서의 튜토리얼들을 한번 쭉 돌려봤다.
과제가 총 4개가 주어졌고 그 중에서 1개를 최종적으로 선택해야 했다.
과제 중 하나는 tensorflow를 사용하기 때문에 pass했다.
나머지 3개 과제는 nlp과제 1개 cv과제 2개가 있었다.
nlp는 공부해보고 싶었지만 지금 당장 대회에서 결과를 낼 수는 없어서 pass했다.
그래서 cv과제 2개 중에 하나를 해야했는데, 이미지를 직접 안 봐도 퍼포먼스를 낼 수 있는 과제인 Landmark classificiation (이미지 분류 task)을 진행했다.
내가 선택한 과제는 flops 제한이 있어가지고 제한된 연산량 안에서 결과를 극대화해야 했다. 그래서 많은 분들이 연산량이 제한된 값에 못 미치는 약한 모델들을 앙상블해서 문제를 해결했다고 했다. (이때 처음으로 앙상블이라는 기법을 알게 됐다...)
나는 앙상블을 어떻게 할지를 몰라서 단일 모델로 승부를 보기로 했다. 그래서 flops 제한 사항 안에서 pre-trained 모델 중에 제일 성능이 높은 모델을 가져다가 하이퍼파라미터 튜닝 실험을 많이 진행했다. 다행히도 학부연구생 때 했던 거랑 유사한 상황이어서 그런지 실험을 잘 진행할 수 있었다.
결과적으로, 27명 중에 17등을 해서, 18등에 들어서 2차 라운드에 진출할 수 있게 됐다.
-> 2차 라운드 후기도 작성할 예정