6주차

J. Hwang·2024년 9월 13일
0

Boostcamp AI Tech

목록 보기
6/25

Day 1. Monday

✏️ 복습

강의 수강 완료

🙌🏻 Peer Session

📋 Memo

강의도 없고 별다른 일정도 없어서 널널한 하루였다. 피어 세션 시간에는 내일부터 진행될 CV 기초 대회를 어떻게 진행할지에 대해서 논의하고 코딩 테스트 스터디를 하는데 시간 가는 줄 모르고 했다. 나도 열심히 해서 팀에 누가 되지 않게 다같이 으쌰으샤 할 수 있도록 해야겠다.


Day 2. Tuesday

✏️ 복습

🙌🏻 Peer Session

  • CV 기초 프로젝트 1. Sketch image classification 논의
    data augmentation (상하좌우 반전, random crop, 색상 관련)

📋 Memo

오늘부터 본격적으로 CV 기초 프로젝트 대회가 시작되었다. 배운 것을 제대로 소화 하지도 못한 것 같은데 바로 실전에 뛰어드려니 막막한 느낌이 든다. 게다가 서버 이슈로 뭔가 제대로 해보지도 못하고 있고...그래도 복습하고 실제로 해보면서 많이 배울 수 있도록 하자.


Day 3. Wednesday

✏️ 복습

🙌🏻 Peer Session

코딩 테스트 문제 풀이 → 논문 리뷰 스터디

  • Seq2seq
    • 고정된 길이의 sequence만 처리할 수 있는 DNN의 문제점을 보완하기 위함
    • encoder와 decoder로 구성되어 있고, encoder에서 단어 단위로 토큰화를 하고, 순차적으로 쌓인 정보가 압축되어서 context vector로 변환된다.
    • decoder에서는 encoder에서 받은 context vector를 참고해서 그 다음으로 나올 값을 예측한다.
    • 특이점 : reversing (순서를 뒤집어서 토큰을 넣게 됨) → 번역할 언어 사이의 관계에 따라 reversing의 효과가 달라지게 됨
    • 새로운 평가 지표 도입 (기존의 평가 지표는 위치 기반이기 때문) → BLUE score를 도입함
    • 장점 : input의 길이와 output의 길이가 달라도 처리할 수 있음
    • 단점 : 그러나 input sequence가 길어질수록 정보의 손실이 발생할 가능성이 높아져서 attention mechanism이 등장하게 됨.
  • Transformer
    • NLP에서 많이 사용
    • 기존에 나온 RNN, LSTM, GRU 등은 순차적으로 데이터 입력 및 처리를 하기 때문에 속도가 느리다
    • Attention mechanism → Q, K, V는 결국 유사도를 측정하기 위함
    • 정보 손실을 막기 위해 context vector를 시간에 따라 추적 (ctc_{t})
    • Single-head attention으로 이해하는 엔코더 → multi-head attention

📋 Memo

마스터 클래스에서 기초 대회에 임하는 마음가짐에 대해서 말씀해주셨는데 주변에 비해 못한다고 너무 자책하지 말라는 위로가 많이 와닿았다. 아직까지도 잘 모르겠지만 그래도 꺾이지 말고 열심히 해보자....


Day 4. Thursday

✏️ 복습

🙌🏻 Peer Session

CV 기초 대회 1. sketch image classification 논의

  • GPU 사용 방법
    ⚠️ 코드 돌리기 전 반드시 nvidia-smi로 GPU 사용량 확인하기
  • 역할 분배

  • github EDA 디렉토리에 따로 EDA 코드랑 결과물 이미지 업로드

👶 Mentoring

  • 대회 진행 가이드라인
  • 대회 진행 관련 꿀팁들
    • wandb나 tensorboard 같은 협업 툴 이용
    • git, notion 등을 활용한 실험 정리
    • 역할 분담 : 베이스라인 코드 작성 (1-2인), 모델 서베이 (되도록 ), wandb 작성, EDA (1인) 등
    • 패턴에 집중
    • 이미지 크기에 유의
    • 가설 나열
    • git flow branch, git commit convention을 이용한 협업 가이드
    • test set과 validation set이 분포가 맞도록 잘 조정할 것
    • NSML
    • 예전 기수 github 참조

🏢 Office hour

  • EDA
    • 데이터 특성 이해
    • Pattern & outlier 파악 (종횡비가 극단적으로 큰 이미지 존재 → 단순히 정사각형으로 리사이징 할 시 이미지의 특성이 손상되므로 따로 처리할 방법을 고민해야 한다.)
    • 데이터 전처리에 대한 고민
    • augmentation을 어떻게 잘 할 수 있을지 (윤곽선을 굵게 한다거나?)
    • Test set 은 imbalance가 없는가?
  • Tensor board, weight&biases, mlflow, github을 통한 실험관리
  • Github kanban board, github을 통한 실험 관리 (pull request)
  • GitHub branch strategy
  • pip install nvtop → GPU 사용량 trace에 매우 좋음!

📋 Memo

멘토링과 피어 세션, 오피스 아워를 통해서 기초 대회를 어떻게 진행해야 할지에 대한 틀을 확립하고 팁을 많이 얻을 수 있었다. 팀원들이 너무 뛰어나서 내가 기여할 수 있는 일이 적다는 것이 너무 아쉽다. 당분간은 정말 빡세게 일해서 팀원들에게 누가 되지 않고 조금이라도 도움이 더 되도록, 그리고 다음 팀에서 다음 프로젝트를 진행할 때 조금이라도 더 기여할 수 있도록 빨리 많은 기능들을 능숙하게 해낼 수 있도록 익혀야겠다.


Day 5. Friday

✏️ 복습

🙌🏻 Peer Session

  • 팀 회고
    • 잘한 점 : 일정을 유연하게 조정해서 이번 주 일정을 모두 무사히 소화했다!
    • 아쉬운 점 : 지각. 잠을 잘 자자.
  • 대회 관련 논의
    • Wandb 사용법
    • github branch 파서 pull request 할 수 있도록 연습

🏠 Homework

  • 기본 과제 1 완료

📋 Memo

바쁜 일주일이 벌써 다 지나갔다. 대회와 강의를 병행하는 것이 꽤 힘들어서 주말에 보충해야 할 것 같다. 처음에는 대회를 팀제로 어떻게 진행해야 할지 감이 거의 안 잡혔는데 멘토링을 토대로 역할 분담을 하고 각자의 역할대로 진행하니 좀 더 체계적으로 진행되고 있다는 느낌이다. 비록 추석이 껴있기는 하지만 더 보충해서 대회에 기여를 할 수 있도록 해야겠다.

profile
Let it code

0개의 댓글