부스트캠프 AI Tech 9주차 회고 (2021-09-27 ~ 2021-10-01)

P Stage 강의 커리큘럼

  1. 인공지능과 자연어 처리
  2. 자연어의 전처리
  3. BERT 언어모델 소개
  4. 한국어 BERT 언어 모델 학습
  5. BERT 기반 단일 문장 분류 모델 학습
  6. BERT 기반 두 문장 관계 분류 모델 학습
  7. BERT 언어모델 기반의 문장 토큰 분류

대회관련

협업전략, 툴

협업툴

협업툴은 Notion을 메인으로 사용한다. 여러 툴에서 파편적인 기능들만을 선별적으로 사용할 수도 있지만, 데드라인이 주어진 대회라는 플랫폼 하에서는 채널이 다양할 수록 혼란만 가중되는 것 같다. Notion에서 여러 유용한 Template을 하나하나 가져와서 꽤 괜찮은 Dashboard를 만들고, 코드관리를 제외한 모든 것을 Notion으로 해결하고 있다. 기록의 중요성에 공감을 많이 하여 모인 팀 답게, Notion을 적극적으로 사용하고 있고 그로인해 체계적인 실험과 작업관리가 가능해진 것 같다.

또한 Wandb를 팀단위로 만들어서 각자 한 실험에 대한 log를 시각화하여 볼 수 있게 되었다. good practice인듯!!

협업전략

실험전략은 개인이 하고싶은 것 위주로 플래닝을 진행하며, 작은 모델을 Base로 하여 빠른 실험이 가능하도록 했다. 또한 실험을 통한 성능비교를 위해 hyperparameter나 seed등 변수가 될 수 있는 모든 것들을 fix하여 진행한다. 코드의 경우 본인의 실험에 따라 각자의 코드가 전부 달라지며, 그것을 하나로 통합하면서 진행하는 것은 대회에서는 굉장히 비효율적인 방식인 것 같다. 한 번 진행해보고 PR이나 Merge에 병목이 생기는 것을 경험한 뒤로, 언제든 그때그때의 실험으로 Rollback이 가능하도록 branch를 여러개로 나누되, 합치진 않기로 결정했다.

NLP Augmentation

자세히 보기

부스트캠프 AI Tech 7주차 회고 (2021-09-13 ~ 2021-09-17)

강의내용

  • 강의정리 및 강의노트는 저작권상 이유로 공개하지 않습니다.

학습현황

  • 21.09.13 월 (09:30 ~ 20:15)
  • 21.09.14 화 (09:20 ~ 20:50)
  • 21.09.15 수 (09:40 ~ 23:59)
  • 21.09.16 목 (09:58 ~ 23:59)
  • 21.09.17 금 (10:00 ~ 22:50)

진도

  • Transformer - Self-supervised Pre-training Models - Advanced Self-supervised Pre-training Models

이번 주의 개선할 사항 및 자기성찰

  • 멘탈 트레이닝을 잘 해야겠다.
  • 부캠을 떠나서 그냥 이번 주에는 감정적인 대응도 많이 하고, 어떤 일의 결과들도 쉽게 승복하지 못했던 것 같다.

과제 수행과정과 결과물

자세히 보기

부스트캠프 AI Tech 6주차 회고 (2021-09-06 ~ 2021-09-10)

강의내용

  • 강의정리 및 강의노트는 저작권상 이유로 공개하지 않습니다.

학습현황

  • 21.09.06 월 (05:30 ~ 20:15)
  • 21.09.07 화 (05:20 ~ 20:50)
  • 21.09.08 수 (06:00 ~ 22:00)
  • 21.09.09 목 (08:28 ~ 23:59)
  • 21.09.10 금 (00:00 ~ 03:00, 09:58 ~ 21:50)

진도

  • Intro to NLP, Bag of Words - Word Embedding - Recurrent Neural Network - LSTM and GRU - Sequence to Sequence - Beam Search and BLEU score

이번 주의 개선할 사항 및 자기성찰

  • 이력서는 미리미리
  • 자소서는 미리미리

과제 수행과정과 결과물

자세히 보기

부스트캠프 AI Tech Pstage1 회고 (2021-08-23 ~ 2021-09-04)

🔥 Final Score

🥉Public Leaderboard

  • Acc: 81.508
  • F1 (macro): 0.766 (11등)

🥉Private Leaderboard

  • Acc: 80.746
  • F1 (macro): 0.754 (13등 - 2위 하락)

📝 Task Description

COVID-19의 확산으로 우리나라는 물론 전 세계 사람들은 경제적, 생산적인 활동에 많은 제약을 가지게 되었습니다. 우리나라는 COVID-19 확산 방지를 위해 사회적 거리 두기를 단계적으로 시행하는 등의 많은 노력을 하고 있습니다. 과거 높은 사망률을 가진 사스(SARS)나 에볼라(Ebola)와는 달리 COVID-19의 치사율은 오히려 비교적 낮은 편에 속합니다. 그럼에도 불구하고, 이렇게 오랜 기간 동안 우리를 괴롭히고 있는 근본적인 이유는 바로 COVID-19의 강력한 전염력 때문입니다.

감염자의 입, 호흡기로부터 나오는 비말, 침 등으로 인해 다른 사람에게 쉽게 전파가 될 수 있기 때문에 감염 확산 방지를 위해 무엇보다 중요한 것은 모든 사람이 마스크로 코와 입을 가려서 혹시 모를 감염자로부터의 전파 경로를 원천 차단하는 것입니다. 이를 위해 공공 장소에 있는 사람들은 반드시 마스크를 착용해야 할 필요가 있으며, 무엇 보다도 코와 입을 완전히 가릴 수 있도록 올바르게 착용하는 것이 중요합니다. 하지만 넓은 공공장소에서 모든 사람들의 올바른 마스크 착용 상태를 검사하기 위해서는 추가적인 인적자원이 필요할 것입니다.

따라서, 우리는 카메라로 비춰진 사람 얼굴 이미지 만으로 이 사람이 마스크를 쓰고 있는지, 쓰지 않았는지, 정확히 쓴 것이 맞는지 자동으로 가려낼 수 있는 시스템이 필요합니다. 이 시스템이 공공장소 입구에 갖춰져 있다면 적은 인적자원으로도 충분히 검사가 가능할 것입니다.

자세히 보기

부스트캠프 AI Tech 4주차 회고 (2021-08-23 ~ 2021-08-27)

강의내용

  • 강의정리 및 강의노트는 저작권상 이유로 공개하지 않습니다.

학습현황

  • 21.08.23 월 (09:40 ~ 20:20)
  • 21.08.24 화 (10:30 ~ 23:59)
  • 21.08.25 수 (07:00 ~ 23:59)
  • 21.08.26 목 (09:50 ~ 23:59)
  • 21.08.27 금 (10:00 ~ 23:59)

진도

  • 이미지 분류 대회를 위한 EDA - Dataset - Data Generation - Model - Training - Inference - Ensemble - Experiment Toolkits

이번 주의 개선할 사항 및 자기성찰

  • 협업을 위한 코드에서 고려하지 못한 점들이 너무 많이 있었다.
    • 내가 아는 것을 다른 사람도 알 거라는 착각
    • 아 이걸로 되겠지 하면서 push 했다가 오류 발생하는 지점들
    • 예외처리 고려 여부
    • Package fix
    • TODO List 공유 x
    • 수정사항 및 기능 설명이 우선시 되었어야 하는데 하지 않았음.
  • 앞으로 팀 전체 코드를 위해서는 상대방의 아무것도 없는 환경 상태에서 바로 돌아갈 수 있도록 더 많은 신경을 써서 코드를 작성해야겠다.

피어세션

자세히 보기

부스트캠프 AI Tech 3주차 회고 (2021-08-17 ~ 2021-08-20)

강의내용

  • 강의정리 및 강의노트는 저작권상 이유로 공개하지 않습니다.

학습현황

  • 21.08.17 화 (09:50 ~ 19:15)
  • 21.08.18 수 (10:20 ~ 23:50)
  • 21.08.19 목 (09:36 ~ 05:00)
  • 21.08.20 금 (09:48 ~ 23:59 예정)

진도

  • Pytorch (Basic - Pytorch Template - Custom Model - AutoGard & Optimizer - Dataset & Dataloader - Custom Dataset - Monitoring tools - Multi GPU - Hyperparameter Tuning - Troubleshooting)

지난 주 선언에서 지킨 것과 지키지 못한 것

  • 수식 하나, 키워드 하나조차 가볍게 넘기지 말라는 다짐을 어느정도 지킬 수 있었던 것 같다. 파이토치의 공식문서를 트래킹하면서 어떤 역할을 하는지 몰랐던 함수들에 대해서 하나씩 정리해나갈 수 있었다.

이번 주의 개선할 사항 및 자기성찰

  • 한 번에 너무 많은 양의 코드를 실행해보고, 너무 많은 지식을 받아들이려고 하다 보니 뇌용량에 한계가 온 것 같다. 단기간에 기억해야 하는 것들을 전부 기억할 수 있다는 자신감이 떨어지는데, 오래 볼 수 있도록 한 번 정리를 하는게 좋지 않았을까 하는 아쉬움이 남는다. 다음주에는 성실한 블로그 포스팅에 조금 더 신경써보자.
자세히 보기

부스트캠프 AI Tech 2주차 회고 (2021-08-09 ~ 2021-08-13)

강의내용

  • 강의정리 및 강의노트는 저작권상 이유로 공개하지 않습니다.

학습현황

  • 21.08.09 월 (09:47 ~ 19:20)
  • 21.08.10 화 (09:30 ~ 19:19)
  • 21.08.11 수 (09:34 ~ 20:44)
  • 21.08.12 목 (09:30 ~ 23:35)
  • 21.08.13 금 (09:50 ~ 20:30)

진도

  • Data Viz (시각화의 요소 - Python & Matplotlib - Bar Plot - Line Plot - Scatter Plot)
  • Deep Learning Basic (MLP - Optimization - Convolution - Modern CNN - CV App - RNN - Transformer - Generative Models)

지난 주 선언에서 지킨 것과 지키지 못한 것

  • 수식을 손으로 풀어보자고 했는데 하지 않았다.
  • 따로 수학공부를 시작했다.

이번 주의 개선할 사항 및 자기성찰

  • 이론적인 부분에 많이 몰입하지 못했다.
  • 수학 공부를 따로 시작했으나 목표를 세우지 않고 시작하여 학습에 대한 기준점을 세우지 못했다.
자세히 보기

부스트캠프 AI Tech 1주차 회고 (2021-08-02 ~ 2021-08-06)

강의내용

  • 강의정리 및 강의노트는 저작권상 이유로 공개하지 않습니다.

진도

  • 파이썬기초 -> Numpy -> Pandas
  • AI 기초수학 -> 벡터 -> 행렬 -> 경사하강법 -> 확률론 -> 통계학 -> CNN -> RNN)

개선할 사항 및 자기성찰

  • Python에 익숙하다고 자만하며 강의를 대충 들었다.
    • 아예 모른다고 할 수 있는 것들도 별로 없었고, 처음 들어보는 것도 없었으나 실제 코딩할 때는 강의를 다시 돌려보는 모습을 보며 아직 자만할 때가 아니라고 느꼈다.
    • 특히 Python pickle과 logging 패키지를 사용한 영속성 객체관리 및 로거사용법과 같이 찾아보면서 할 수 있는 수준으로만 그쳐있는 지식들을 한 번쯤은 파보는 것도 괜찮을 것 같다.
    • 위에 언급한 Pickle과 Logging과 같은 자주 사용될 수 있는 친구들은 Baseline을 따로 만들어서 보관하는 것이 좋을 것 같다.
  • 수학에 좀 더 익숙해지기
    • 머리를 쓰지 말고 손으로 풀어보자.
    • 선형대수/확률론/통계학 세 과목만큼이라도, 반드시 따로 공부를 더 해야한다.

완벽하게 이해하지 못한 내용

  • AI Math 전체.. (책을 구입해서 차근차근 또 봐야겠다.)
    • 자연상수와 관련된 계산공식들 (Log​, Sigma, ​ Exp 같은..) 꼭 알아둘 것!
    • L2 norm
    • Maximum Likelihood Estimation
    • Bayesian Statistics & Probability

과제 수행과정과 결과물

  • 5개의 필수과제와 3개의 선택과제, 9번의 퀴즈
자세히 보기