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를 시간에 따라 추적 (ct)
- Single-head attention으로 이해하는 엔코더 → multi-head attention
📋 Memo
마스터 클래스에서 기초 대회에 임하는 마음가짐에 대해서 말씀해주셨는데 주변에 비해 못한다고 너무 자책하지 말라는 위로가 많이 와닿았다. 아직까지도 잘 모르겠지만 그래도 꺾이지 말고 열심히 해보자....
Day 4. Thursday
✏️ 복습
🙌🏻 Peer Session
CV 기초 대회 1. sketch image classification 논의
- GPU 사용 방법
⚠️ 코드 돌리기 전 반드시 nvidia-smi로 GPU 사용량 확인하기
👶 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
📋 Memo
바쁜 일주일이 벌써 다 지나갔다. 대회와 강의를 병행하는 것이 꽤 힘들어서 주말에 보충해야 할 것 같다. 처음에는 대회를 팀제로 어떻게 진행해야 할지 감이 거의 안 잡혔는데 멘토링을 토대로 역할 분담을 하고 각자의 역할대로 진행하니 좀 더 체계적으로 진행되고 있다는 느낌이다. 비록 추석이 껴있기는 하지만 더 보충해서 대회에 기여를 할 수 있도록 해야겠다.