일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- sklearn
- 강화학습
- dfs
- SIFT
- image processing
- exists
- Python
- edge detection
- 머신러닝
- canny edge detection
- 그래프 이론
- BFS
- IN
- machine learning
- AlexNet
- Reinforcement Learning
- MinHeap
- clustering
- 인공지능
- opencv
- C++
- MySQL
- dynamic programming
- TD
- Mask Processing
- 자료구조
- DP
- 딥러닝
- classification
- 백준
- Today
- Total
JINWOOJUNG
2023 Data Creator Camp 참여 후기 본문
본 포스팅은 2023 Data Creator Camp에 참여하여 느낀점과 진행 과정을 공유하는 목적으로 게시하였으며,
구체적인 대회 문제 및 메뉴얼은 보완상의 금지 및 게시가 불가하기에 상세정보를 공유하지 못하는 점 양해 부탁드립니다.
5주 간의 예선과 2주 간의 본선 총 8주 동안 진행 된 2023 Data Creator Camp가 끝이 났다. 처음 본 대회를 준비할 때는 정보도 많이 없고, 조금은 막막한게 있었지만 그래도 잘 마무리 한 것 같아서 기록으로 남기고자 한다.
대회 소개
Data Creator Camp는 미래세대의 데이터 분석 저변 확대와 창의력 증진을 위한 교육+멘토링 중심의 데이터 인재 육성 및 선발 프로그램으로, 고등부와 대학부 대상 멘토링 해커톤 대회이다.
일반적인 해커톤 대회처럼 1박 2일 짧게 진행되는 것이 아니라, 기본적인 인공지능에 대한 교육도 함께 이루어지기에 비전공자도 충분히 시도할만한 대회이다. 특히, 5주간의 예선 기간 중 3회의 멘토링이 진행되고, 1일 1개 질문에 대한 1:1 멘토링 기회가 제공되어 대회를 준비하면서 어려운 점을 바로바로 해결할 수 있는 기회가 되어 좋았다.
대상의 경우 과학기술정보통신부 장관상, 최우수상과 우수상은 한국지능정보사회진흥원 원장상이 수여된다. 상금역시 타 대회에 비해 많다고 생각되어 관심있으면 지원해 보길 바란다.
전체적인 일정은 위와 같다. 본선 제외 모두 온라인으로 진행되기 때문에 편리하며 모델 학습 및 실습을 위한 코랩 Pro 계정도 지원해 줘서, 컴퓨터 사양이 딸려도 개발하는데 문제는 없다. 하지만 아쉬운 점은 팀당 1개(추가로 1개 더 지원해줌)밖에 지원을 못받아서 아쉬웠다.
대회 진행(예선)
5주간의 예선은 온라인 교육이 동시에 이루어진다. 기본적인 머신러닝의 개념부터 시작해서 분류, 모델 훈련 방법, 회귀 함수 등에 대한 교육을 받을 수 있고, Backbone Network를 직접 구현하는 방법까지 교육해 주기 때문에 전공자인 나도 큰 도움이 되었다. 실제로 본선때 비 전공자 팀도 몇팀 있었는데 다들 우수한 모델을 생성한 것으로 보와 교육이 효과적이라고 생각한다.
이번 대회의 주제는 ≪전이학습을 통한 분류 모델 생성≫이었다. 전이학습역시 들어본 적은 있어도 실제 구현해 본 적이 없으며, Yolo 모델 처럼 Object Detection 모델만 구현해 본 경험이 있던 나한테는 좋은 기회였다.
전이학습에 사용할 pre-trained 모델을 생성하기 위해, 먼저 우리는 제공받은 데이터 셋을 기반으로 기본적인 augmentation만 적용하여 모델을 생성하였다.
Confusion Matrix와 F1 Score 기반으로 해당 모델의 성능을 분석하였으며, 69.1%의 낮은 정확도를 보임을 확인하였다.
▷ 모델 성능은 Confusion Matrix, F1 Score 등 분석 방법을 정하여 분석하는 것이 유의미하고 정확한 분석이 된다.
모델의 분류 성능 향상을 위해 Heatmap 기반으로 모델이 특정 클래스로 분류한 부분을 확인하여 분석하였다.
▷ 모델 성능을 향상시키기 위한 방법을 결정하는 근거를 찾기 위해 Heatmap을 분석하였다. 무분별한 Augmentation 적용은 근거가 불충분하다.
분석한 내용을 바탕으로 다양한 Augmentation 적용 방법을 생각하여 비교하였다.
▷ Augmentation 적용 시 변화를 1가지만 주어 정확도 변화의 추이를 분석하였다.
▶ 한가지 변화만 주어 정확도가 증가하여도, 여러가지 Augmentation을 동시에 주었을 때 정확도의 변화는 예측할 수 없기에 이에대한 분석이 부족하였다.
이를 통해 84.37%의 정확도를 보이는 분류 모델을 생성할 수 있었다. 확실이 기본 모델과 비교해 보면 전체적으로 F1 Score가 증가함을 확인할 수 있다.
성능 비교 시 t-statistic 기반으로 분석도 진행하였는데, 이처럼 다양한 분석 방법을 활용하여 근거를 찾는것이 중요한 것 같다.
이를 pre-trained model로 설정하여 전이학습을 진행하였다.
전이학습은 pre-trained model을 활용하여 학습된 가중치를 기반으로 다른 Task에 활용하는 방법으로, 최종 미션에서의 Task와 이전 Task가 유사하였지만, 최종 미션에서의 데이터 수가 더 적었기에 전이학습을 적용하였다.
처음에는 모든 Layer를 동결시켜 추가적인 파라미터의 학습을 제한하였다. 하지만 마지막 Layer의 동결을 해제함으로써 파라미터가 최종 미션에 대한 학습을 진행할 수 있도록 한 결과 97.51%로 더 높은 성능을 보였다.
대회 진행(본선)
최종 미션에 대한 모델의 성능을 향상시키기 위해 유사한 클래스에 대한 분류 성능을 향상시키는데 집중하였다.
다양한 논문과 근거 자료를 탐색하던 중 의료 모델과 카카오 음식 인식기술에서 근거를 얻어 명도를 조절한 결과 유사한 클래스에 대한 성능 향상을 유도할 수 있었다.
확실히 유사한 클래스에 대한 성능 향상이 이루어 진 것을 Confusion Matrix를 근거로 확인할 수 있었다.
모델을 학습 시 Accuracy 그래프를 보면 확실히 전이학습을 통한 학습이, 일반적이 학습 방법보다 초기 정확도가 높고 최대 성능이 더 높으며, 최대 성능에 수렴하는 속도가 빠름을 알 수 있었다. 왼쪽 아래 그래프 처럼 전이학습의 효과를 실제로 증명함으로써 최종 미션을 마무리 하였다.
느낀점
우리 팀은 최종적으로 한국지능정보사회진흥원 원장상을 수상하였다. 장관상을 목표로 한 대회이기에 다소 아쉬운 점이 많아서 조금 남겨 보자면..
▶ 본선 준비 시 다른 팀들은 다양한 모델들을 사용하였다. 하지만 우리 팀은 예선에서 사용한 모델만을 사용해야 한다고 생각하고 따로 공지가 없어서 예선 모델에서 성능 향상을 목표로 한 아쉬움이 있다..
▶ 또한, 앙상블 기법 등을 통한 모델 성능 분석을 생각하였지만 시도하지 못한 아쉬움도 있다..
내년에도 열린다면 참여해서 꼭 장관상을 타낼꺼다..!!