Movie Recommendation대회 회고

잘했던 점

  • 단순히 대회에서 순위를 올리는 것보단 더 깊이 이해를 하면서 실력을 증진하는 부분에 집중했습니다.
  • 베이스라인을 개선하거나, 논문을 읽고 모델을 구현해보는 등 기본에 충실한 방법으로 성과를 냈습니다.
  • 페어 코딩으로 서로 자세히 피드백을 나누며 코드를 이해하고 개선하는 방식을 이용해보았습니다.
  • 이전 대회에서의 경험을 바탕으로 보다 수월하게 Git Branch 전략을 사용했습니다.

시도 했으나 잘 되지 않았던 것들

  • 이번 대회에서는 강의와 미션을 깊이 이해하고 적용해보는 것이 목표였는데, 그것들로 성능 개선을 하지는 못했습니다.
  • 페어 코딩 등의 활동에 더 몰입하려다 보니 모든 팀원들 간에 개인 상황 공유가 원활하게 되지 않았습니다.
  • 기본에 충실하는 쪽으로 목표를 기울이다 보니, Movie Recommendation은 외부에 참고할 만한 자료가 매우 많은데도 불구하고 여러가지를 탐색하지 못했습니다.

아쉬웠던 점들

  • 팀원 간의 개인 상황 공유는 지난 대회에서도 아쉬운 점으로 삼았던 부분인데, 이번 대회에서도 크게 개선하지 못했습니다.
  • 대회가 반복되다 보니 체력적인 문제로 깊게 몰입하지 못했습니다.

개인 Wrap up 리포트

  • 이번 프로젝트에서 나의 목표는 무엇이었는가?

Kaggle에서 movie lens 데이터에 SOTA를 달성한 모델을 바탕으로 대회에서 성과를 내고자 했습니다. 추천 시스템 논문에서 주로 쓰이는 데이터였기 때문에 참고할 수 있는 최신 모델들이 많았기 때문입니다.

  • 나는 내 학습목표를 달성하기 위해 무엇을 어떻게 했는가?

최근 좋은 결과를 낸 모델들은 Auto Encoder 개념을 사용한 논문들이 많았습니다. 이를 이해하기 위해 Auto Encoder를 사용한 Auto Rec을 구현을 해보았습니다. 이후 EASE 모델, glocal-K 모델을 적용하며 효과적인 현 데이터에 효과적인 모델을 찾아보았습니다.

  • 나는 어떤 방식으로 모델을 개선했는가?

다양한 모델을 실험해보며 각 모델의 평균적인 성능을 먼저 확인했습니다. 평균적으로 가장 성능이 우수했던 EASE 모델 하이퍼파라미터 튜닝을 하여 모델 성능을 개선했습니다.

  • 전과 비교해서, 내가 새롭게 시도한 변화는 무엇이고, 어떤 효과가 있었는가?

팀원 한명과 함께 간단한 Auto Encoder 모델을 페어코딩으로 구현했습니다. 함께 코드를 작성하며 내가 작성하는 코드를 설명하는 과정과 팀원이 작성하는 코드를 이해하는 과정을 실시간으로 진행했습니다. 이를 통해 다른 사람이 이해하기 쉬운 코딩을 하는 법을 생각해보았습니다.

  • 마주한 한계는 무엇이며, 아쉬웠던 점은 무엇인가?

다양한 실험을 하면서 매번 성능 개선을 할 수 없다는 점을 알게 되었습니다. 실험마다 모델의 성능 개선 실패 이유를 고민하며 개인적인 추론을 통해 결론을 내었지만, 모든 실험의 정확한 실패 사유를 알지는 못한 점이 아쉬움으로 남습니다.

  • 한계/교훈을 바탕으로 다음 프로젝트에서 스스로 새롭게 시도해볼 것은 무엇일까?

다음 프로젝트는 아이디어, 평가 지표, 추천 결과물 등 모든 것이 정해지지 않았습니다. 이를 통해 사용자에게 유용한 추천은 무엇인지에 대해서 고민해보고 그 고민을 프로젝트에 녹여보고자 합니다.

개인 회고

앞으로 있을 최종 프로젝트에서 많은 것을 시도할 수 있도록 화이팅~!

 

대회 결과 및 참고 링크

대회 결과 : Public 2등 / Private 2등

Git repository : https://github.com/SeongJaeBae/Movie-Recommend-Project-BoostCamp

프로젝트 랩업 리포트 : https://www.notion.so/dbc500ef64ec4e0aad57198a5cfa4a49

 

+ Recent posts