10월부터 11월 초까지 진행된 물가 예측 경진대회에 참여했다. 대략 1500명 정도 인원이 참여했었고 참가 자격에는 제한이 없었다. 데이콘 플랫폼을 통해서 대회가 진행되었는데 시계열 예측에 관한 대회라 관심이 있어서 눈길이 갔다. 좋은 성적을 내고 싶고 또 이번 대회를 통해 많이 배우고 싶어서 주혁님에게 같이 팀을 하고싶다 메일을 보냈다. 주혁님은 다른 한 분(수림님)과 대회 참여할 계획이여서 거기에 나까지 참여해서 3명이 팀이 되었다. 나는 주로 딥러닝 모델을 사용해서 예측을 진행하고 있었고 주혁님은 머신러닝 모델( Extratree, LGBM...)을 이용해서 예측을 해보고 있었다. 서로간의 모델을 앙상블하여 최종예측을 해보는 방식을 사용해서 괜찮은 성능의 모델이 나왔던 거 같다. 팀 회의는 상의할 내용이 있을 때마다 시간을 가리지 않고 온라인으로 진행했다. 주로 오전 1시 ~3시 사이 시간에 많이 진행했었다. 2차 예선 기간 당시에 2번정도 만나서 회의를 했었다.
사실 처음 대회 시작할 때는 이리 대회 기간이 길 줄 몰랐다. 이전에 내가 참여했던 경진대회와 다르게 1,2차 예선과 본선으로 나눠져서 진행되었다. 1,2차 예선이 각각 2주 정도 진행되고 본선은 11월 14일에 진행된 오프라인 발표로 진행되었다. 1차 예선, 2차 예선 모두 주어진 10개의 농산물(건고추,깐마늘,대파,양파,배추....)에 대한 가격예측을 해야 했었고 차이점으론 예측 기간에 차이가 있었다. 본선 발표는 광주 김대중 컨벤션 센터에서 열리는 대한민국 정부 박람회에서 진행되었었다.
1차가 2022년 가격, 2차는 2023,2024년 가격을 예측해야 하는 것이었다. 1차 예선에서는 Rnn 모델의 약점을 보완한 segRnn, 트리 기반의 머신러닝 모델인 LGBM,Extratree 등을 같이 사용했다. 각각 농산물마다 가격 패턴 등이 달랐기 때문에 각각 농산물에 대한 개별 모델들을 만들고 모델 앙상블 비율도 다르게 해주었다. 그 결과 Public, Private 리더보드에서 모두 1등을 차지했다. 다른 팀들은 어떤 모델로 진행했는지는 모르지만 성능차이가 꽤 많이 났던 것으로 기억한다. 성능을 크게 올린 핵심 아이디어를 주혁님이 제안해 주셨다. 예측해야 하는 기간이 비식별화 되어서 2022년의 농산물 가격을 예측하는 것은 알지만 무슨 월의 가격을 예측해야 하는지를 몰랐다. 그래서 주혁님이 모델 학습에 사용할 데이터의 기간을 다르게 해서 그 예측 결과들의 평균 혹은 중앙값을 사용하는 방법을 제안했고 이를 모델링에 적용했더니 성능이 많이 올랐었다.
2차 예선은 1차 예선이 끝나고 5일정도 뒤에 진행되었다. 농산물 가격 예측해야 하는 기간이 2023년1월부터 2024년 9월까지로 늘어났고 1차 예선과 다르게 기간이 식별화 되어서 년도, 월, 순(10일) 정보를 알 수 있었다. 나는 1차와 마찬가지로 segRnn 모델 사용을 생각하고 있었다. 그런데 1차와 다르게 모델 성능이 너무 안 좋았다. 그래서 iTransformer, NDlinear, PatchTST등 다양한 모델을 더 실험해 보았다. 그런데 예측구간이 길어서 그런지 가격 변동성이 더 컸고 각 품목별로 가격을 잘 맞추는 모델이 제각각이었다. 게다가 2차 예선의 큰 난관이 또 있었는데 가격예측 성능 뿐만 아니라 추론 시간까지 고려해서 최종 등수를 정한다는 것이었다. 그래서 PatchTST, iTransformer와 같이 비교적 복잡한 모델을 사용하지 않았고 비교적 단순한 선형 구조의 모델을 갖는 Dlinear와 이에 attention 메커니즘을 추가한 DlinearwithAttention을 고안해서 사용했다. 머신러닝 모델로는 LGBM을 사용해서 성능과 추론 시간 모두에서 괜찮은 점수를 얻고자 했다. 머신러닝 모델들은 성능이 괜찮았는데 딥러닝 모델들이 성능이 별로 안 좋았다. 내가 파라미터 튜닝을 더 제대로 계획하고 진행했어야 했는데 현명하게 하지 못했다. 그래서 파라미터 탐색에 오래 시간이 걸렸고 2차 예선 마감날 직전까지도 파라미터 탐색을 했지만 그리 좋은 성능의 모델을 만들지 못했다. 그래도 1차 예선과 비슷하게 모델 앙상블을 진행해서 최종 가격 예측을 수행했고 예측 정확성으로만 평가시에 최종 2등, 추론 시간을 고려한 등수에선 3등을 기록했다.
처음 팀이 결성되었을 때 3명 모두 1등을 목표로 잡고 대회에 임했다. 그런데 2차 예선에서 3등이 되어서 많이 아쉬웠다. 2차 예선에서 하루에 각각 팀별로 30번의 제출기회가 있었는데 우리 팀은 그 모든 제출 횟수를 채웠을 정도로 다양한 시도를 진행했었다. 그래서 더 아쉬움이 컸었기도 했고 나는 내가 맡았던 딥러닝 모델이 1차 예선에 비해 성능이 너무 안 좋아서 속상했었다. 2차 예선 기간 중간 중간 차라리 데이터 분석이나 머신러닝 모델로 방향을 틀까 많이 고민도 했었었다. 근데 이미 머신러닝으로 잘 성능이 나오고 있어가지고 딥러닝 모델을 더 사용했다.
2차 예선 결과가 나오고 상위 10팀이 본선에 진출하기에 10팀 모두 발표 준비와 보고서 작성을 했어야 했다. 본선 발표점수가 50% , 2차 예선 점수가 50%의 반영비로 최종 등수가 결정되었기에 다시 발표 자료 만들기와 발표 준비에 힘을 써야 했다. 1,2차 예선이 끝나고 4,5일 정도 쉬는 텀이 있을 때 두 번다 몸살이 났었을 정도로 힘들었었지만 본선 준비만 이제 마치면 끝이라는 생각으로 다시 열심히 임했다. 나는 주로 시각 그래프 생성, 보고서 작성 등을 맡았었다. 주혁님이 발표에서도 다른 팀들과 달리 식상한 내용보다 가격 예측 모델을 이용해 배추와 무 등 주요 농산물의 방출 수매 정책에 사용하는 창의적인 방법을 제안해주셔서 이에 맞춰 자료들을 만들어 나갔다.
본선 발표는 11월 14일 목요일 아침부터 오후까지 진행되었다. 근데 하필 목요일은 수업이 3개 있는 날이었고 저녁에 운영체제 과목의 2차 고사까지 있는 날이었다. 다행히 해당 수업들에 대해 유고결석 처리를 받고 저녁에 있는 시험은 다음날 아침으로 따로 볼 수 있게 되었다. 발표가 광주광역시에서 진행되어서 새벽에 일어나 기차를 타고 광주에 갔다. 서울역에서 기차를 탔어야 해서 신촌에서 버스타고 서울역까지 가는데 조금만 늦었으면 기차를 타지 못 했을 뻔 했다. 기차를 타고 가면서 서울에서 대한민국 정부 박람회가 열렸다면 얼마나 좋았을까 라고 생각했었다. 아침을 안 먹어서 배가 고팠는데 주최측에서 참치 샌드위치랑 미니 햄버거 같은 것을 준비해 주셔서 조금씩 먹었었다.
현장에서 당일 추첨으로 발표 순서를 정했고 우리 팀은 9번째로 비교적 늦은 순서를 배정 받았다. 앞 순번의 팀들 발표에서 심사위원 분들의 날카로운 지적들이 많이 나왔었고 우리 팀 발표도 안 좋은 평가를 받게 될까 걱정이 되긴 했었다. 하지만 우리 팀은 평가 항목, 지표에 맞게 발표 구성을 잘 했었고 무엇보다 주혁님의 좋은 아이디어와 데이터 분석, 모델링 과정에 대한 논리적 설명들이 많이 있어서 조금 기대가 되었던 부분도 있었다. 우리 팀 발표에서 수림님 주혁님이 잘 해준 덕에 엄청 좋은 평가를 받았고 현장에 있던 국민 평가단분들의 좋은 평가도 받았다. 점수를 정확히 확인하진 못했지만 결국 발표에서 높은 점수를 받아서 최종 1등과 인기상을 탈 수 있었다.
팀 결성이 되고 나서 계속 대회 준비로 같이 밥을 먹거나 한 적이 없었는데 본선이 끝나고 나서 같이 저녁을 먹었다. 아침부터 진행되었던 일정이 오후 6시 가까이 되어서 끝났기 때문이다. 사실 실감이 잘 안 되었지만 (지금도) 어느정도 열심히 참여한 것에 대한 보상을 받았다는 기분을 받았었다. 그래서 소고기를 같이 먹고 서울로 그날 저녁에 돌아왔다. 다음날 아침에 시험이 있어서 집에 와서 시험공부를 좀 했었는데 눈에 잘 들어오진 않았다. 시험 성적은 아직 안 나왔지만 아마 잘 보진 않았을 거 같다.
사실 올해 8월에 참여했던 Lg Aimers에서 나를 포함한 5명이 같은 팀을 이루어 참여 했었는데 나 빼고 다른 인원들은 거의 참여를 안 했었다. 그래서 데이터 분석을 한 내용을 같이 이야기하고 고민하고 할 상대가 그 4명중에 한 명도 없었다. 분명히 다들 본선에 꼭 가고 싶다는 목표가 있었고 다들 학벌도 좋았었다. 근데 너무 참여를 안 하고 대회에 대한 애정 같은게 안 느껴지니 중간중간 하기가 너무 싫긴 했었다. 그래도 내가 혼자서 모델링과 특성공학을 해보니 등수가 계속 올라가서 포기하진 못했다. Public 리더보드로는 본선에 진출할 수 있는 등수였지만 이번에도 모델 과적합을 막지 못해서 최종 등수가 많이 내려가서 본선에 또 참여하지 못하게 되었었다. 그래도 인공지능, 데이터 분석 공부를 하고 대회도 어느정도 나갔었으니 다른 팀원들 참여가 저조해도 나 혼자 힘으로 본선에 올라갈 수 있을 거라 생각했었는데 큰 오산이었다. 같은 팀 인원들에게 미안하기도 하고 아직까지도 부족한 점이 너무 많다는 것을 절실히 느끼게 된 계기가 되었었다.
8월의 이 대회를 겪고 나서 이번 대회가 팀으로 참여하는 첫 대회였다. 무엇보다 이전에 내가 참여한 경진대회와 다르게 주혁님이라는 매우 뛰어난 팀장이 있는 팀이었기 때문에 나도 민폐가 안 되기 위해 약 한달간 정말 모든 것을 쏟아내고자 했다. 다른 팀원들이 나를 내가 이전에 나와 같은 팀을 했었던 참여도가 낮은 팀원들과 같은 사람으로 보지 않았으면 해서 더 열심히 하고자 한 마음도 있었다. 또한, 같이 팀을 하고 싶다 주혁님에게 메일을 보냈었을 때 이 대회를 최우선 순위로 생각하고 책임감 있게 임하겠다고 말을 했으니 최대한 지키고 싶었다.
대회 기간동안 하루 평균 4~5시간 정도만 잠을 잤던 거 같다. 나는 평소에 7시간 정도는 자는 잠이 많은 사람에 속하기 때문에 피곤한 것은 어쩔 수 없었다. 하지만 주혁님이랑 수림님은 나보다 더 적게 자면서 대회 참여를 했기에 피곤하지만 더 열심히 했었다. 그래도 대회 기간에도, 지금도 느끼는 것이지만 대회에 대해 무관심하고 참여도가 거의 없는 팀원들보다 이렇게 열정적으로 임하는 팀원들과 팀을 하는게 몇 천배는 좋은 거 같다. 새벽이나 아침까지 코딩을 하다 1교시 수업을 가는 날들도 있어가지고 엄청 피곤하고 수면 패턴이 많이 깨지기도 했었다. 그래도 공강 시간에 빈 강의실에서 자면서 부족한 잠을 보충했었다. 수업 과제들도 최대한 빠르게 빠르게 끝내고 중간고사 기간도 겹치긴 했지만 기말고사 때 더 잘보면 되겠지라는 생각으로 조금씩만 준비를 했었다. 그리고 남은 시간들은 거의 다 대회 준비에 사용했었다. 이 정도는 해야 어느 정도 좋은 성과를 얻을 수 있겠구나 라고 느낀 대회였다.
2차 예선 결과가 나오고 1등 팀이 추론 시간 점수에서 매우 높은 점수를 받아서 3등인 우리 팀과 차이가 많이 났었다. 그래서 나는 속으로 2등이나 3등도 잘 한 것이라 생각 했었는데 발표 점수가 반영비가 매우 높아서 주혁님이 좀만 더 열심히 해보자 계속 격려해주었고 나도 최대한 맡은 일들을 잘 해보려고 노력했었다. 그래서 마지막엔 장관상을 받을 수 있었다고 생각한다.
대회를 진행하면서 내 기본적인 코딩 실력이 좀 부족함을 느끼게 되었다. 파이썬의 numpy, pandas의 문법에 더 익숙해지도록 연습을 해야할 거 같다. 이러한 라이브러리에 대해 문법을 많이 외우고 있지 않다보니 팀원들의 코드를 보고 이해하는 걸리는 시간도 많이 소요되었었다. 그리고 데이터 처리나 모델링 과정에서 계속 GPT 에 많이 의존하다보니 속도도 조금씩 늦어졌었다. 본선에서 심시위원들과 추가로 국민 평가단도 있었는데 광주에서 행사가 진행됨에도 불구하고 많이 참여한 것이 놀라웠다. 취재를 하기위해 오신분들도 많아서 신기했다. 작년부터 컴퓨터 운영체제를 리눅스로 사욯했었는데 윈도우랑 다르게 실행 안되는 프로그램도 많고 불편한 점이 많다는 것도 이번 대회를 하며 느끼게 되어서 윈도우로 다시 바꾸게 된 계기가 되었다. 시계열 데이터에 적용 가능한 여러 통계 방법들을 배우게 되었고 나중에도 시계열 관련 대회가 있으면 사용해야 겠다고 생각했다.
https://news.nate.com/view/20241114n39353
AI기반 농산물 물가 예측 경진대회서 쥬혁이팀 최종 우승 : 네이트 뉴스
한눈에 보는 오늘 : 경제 - 뉴스 : [세종=뉴시스] 정부세종청사 농림축산식품부 전경 *재판매 및 DB 금지 [세종=뉴시스]김동현 기자 = 농림축산식품부는 인공지능(AI)과 데이터 기술을 활용해 농산
news.nate.com
가운데 계정이 내 계정이다.
'데이터 경진대회' 카테고리의 다른 글
LG Aimers 6기 후기 (0) | 2025.03.11 |
---|---|
LG Aimers 5기 후기 (3) | 2024.11.27 |
LG Aimers 4기 후기 (0) | 2024.02.29 |
[Dacon]대구 교통사고 피해 예측 AI 경진대회 후기 (0) | 2023.12.26 |
LG aimers 3기 후기 (0) | 2023.08.31 |