Naver AI Tech 7기/LEVEL1

Week7 주간 학습정리 - [CV level 1 대회 정리]

지혜의 시작 2024. 9. 27. 18:59
728x90

📌 학습 정리 

 1. RandomSeed 고정

RandomSeed를 고정해야 Data Augmentation 등을 하고 나서 데이터를 다시 재현할 수 있다?

2. confusion matrix

다음 대회에서는 confusion matrix 사용해서 최종 결과 앙상블 할 때 어떤 모델이 어떤 데이터? 어떤 부분?을 잘 못 맞췄는지 

3.  Sketch-Specific Data Augmentation for Freehand Sketch Recognition 

위 논문에서 나온 BPD, MSR 기법이 스케치 이미지 데이터에 특화된 Data Augmentation 기법이라서 꼭 적용해보고 싶었다.

특히 BPD의 경우에는 따로 데이터 학습이 필요없는 수학적으로 Data Augmentation을 하는 기법이라서 수학과 출신인 나에게는 정말 흥미로웠다. 꼭 다시 한 번 시도하자..!! 깃헙, 구글링, ChatGPT 들아 날 도와주렴...!!

 

 

📌 Retrospect

잘한 점

  • 이번 level1 대회에서는 데이터 어그멘테이션에 집중함. 팀 내에서 논문을 발표할 순서가 되어서 스케치 이미지 데이터 관련한 논문을 찾아봤고 채리 누나의 논문을 참고해서 더 발전된 논문을 찾아 BPD, MSR 기법을 적용해서 데이터 어그멘테이션 실험을 시도했다.
  • GPT 의 도움을 받았지만 그래도 결과는 좋지 못했다… → 주말에 한 번 더 시도해볼 예정이다.
  • 나의 부족한 부분들(모델 지식..등)은 기본은 채우려고 노력하되 대회마다 좀 더 집중해서 해볼 분야를 정해서 하는 게 좋은 듯~

아쉬운 점

  • 실험할 때 변인 통제를 제대로 하지 않았다. 그래서 실험 결과 성능 측정을 제대로 할 수 없었다.
  • 다음 플젝부터는 한 번에 하나의 변인 만을 실험하면서 정확한 실험을 해야겠다. 중첩 효과 금지

시도할 것

  • 아직 다 정리하지 못해서 더 있겠지만 여러 방법을 찾아서 시도해보자~ (다른 팀 Solution + 우리 팀의 방법 + 나만의 생각)
  • 다음 플젝부터는 data, model., inference, more idea의 큰 틀을 만들고 계획 후에 진행하면 좋을 것 같다.

느낀 점

  • 모델을 직접 많이 찾아서 코딩 하지는 않았지만 팀원들의 코드를 보면서 많이 배웠고 특히 나도 timm 라이브러리를 사용하면서 거기서 sota 모델들을 사용하는 방법들을 알게 되었다. (https://timm-models-explorer.streamlit.app/ : Thanks to 동훈이 형)
  • 승수형은 관록이 느껴짐..대회를 많이 해보고 여러 아이디어 제시 굿 → 성능 잘 나온 모델들 csv모아서 하드 보팅하는 아이디어 몰랐는데 형 때문에 알게 됨
  • 채리 누나도 논문 찾아보면서 새로운 아이디어 제공 굿
  • 대환이 형은 cs 지식이 많음을 느낌. 데이터 가지고 이것저것 해보면서 여러가지 데이터 어그멘테이션 기법들을 시각화하면서 기법을 적용했을 때의 가설과 그 타당성을 잘 보여줌. → 실험 후 시각화를 통해 실험의 타당성 확보 잘하심,,배우기,,
  • 이미지가 전체적으로 밝기와 대비가 높음 → 모든 이미지의 밝기를 20% 어둡게 하는 방법을 택해서 시각화 했더니 확실히 스케치 이미지가 훨씬 뚜렷해짐.
  • 아영이도 마찬가지로 스케치 데이터에 적용할만한 여러가지 기법들 잘 정리해줌..잘 적용도!!
  • 동훈이형은 최신 모델 가져다 쓰고 모델 코드 작성 빠르게 시작하고 모델 실험 많이 해줌!! 동훈이형도 대회를 많이 해본 관록이 느껴짐..kfold 적용 등등 빠르게 기법들을 적용해서 초반 성능 올리기 잘함,,,굿

스케치라는 흔하지 않는 특징을 가진 이미지를 다루면서 데이터에 대해 이런저런 생각을 해볼 수 있어서 좋았다~~~

 

📌 다른 팀들 IDEA

 1. cutmix & mixup

Data Augmentation 중 가장 성능이 좋았다고 함 다른 Augmentation은 성능이 크게 향상 되지 않았다고 함

그런데 또 다른 팀은 cutmix를 해도 성능이 그다지 좋아지지는 않았다고 하네~ 역시 모델마다 좋은 augmentation이 다른 건가..

 

우리 팀도 cutmix와 mixup 실험을 시도했지만 시간 부족으로 인해 완벽히 실험을 마무리하지 못했다..실험 결과가 나왔다면 좋았을 텐데 아쉽다..

 

2. Ensemble

우리 팀은 Ensemble을 각 모델 fold 별로 best_model.pt를 추출해서 그것들을 가지고 softvoting한 결과를 제출물 csv로 만든 후 ai stage에 제출하여 public score를 본 후 좋은 성능을 보인 모델들의 csv를 다 모아서 최종적으로 하드 보팅을 진행했다. 우리 팀은 최대 6개까지 ensemble을 해봤다..하지만 성능 향상이 크게 되지는 않았다..

 

다른 어떤 팀은 ensemble 10개까지도 해봤다고 함....와우.. 

 

3. 파라미터 수가 많은 무거운 모델

우리 팀은 너무 무거운 모델은 사용하지 않았다. 학습 시간이 너무 오래 걸려서..근데 점수가 잘 나온 팀들을 보니 3-4일 동안 학습시킨 경우도 있었다.. 다음에는 무거운 모델들도 배치 사이즈를 최대한 낮추고(6까지 낮춘 팀도 있음) 한 번 돌려보자~~

 

4. Wandb

 

5. ..

 

728x90