boostcamp ai tech 3기 9주 회고

3월 14일 월요일 화이트 데이

Transformer(Self-Attention) 강의를 들었다. transformer에 관한 내용은 이전에 공부한 적이 있으나, 여전히 어려웠다. 이번에는 조금 더 상세하게 파고 들었다. 결론부터 말하자면 이해가 안되었다. 대략적으로 attention 구조가 어떻게 생겼고, 어떤 흐름으로 작동되는지는 알고 있지만, 전반적으로 강의를 이해하기엔 내 머리가 못 따라갔다. 이와 같은 이론 강의를 들을 때마다 고작 1시간 정도의 분량으로 압축한 강의를 내가 완벽하게 이해하지 못해도 괜찮을까라는 생각이 든다. 그러니까 애초에 이걸 이론적으로 하나하나 다 알아야 한다면 강의를 이렇게까지 압축시켜서 핵심적인 큰 흐름만 전달할리도 없을 뿐더러 강의 효과가 거의 없다는 생각이 들면서 그냥 지금은 대충 알고 넘어가도 되지 않을까라는 정신승리를 하게 된다. 아무튼 과제 제출이 끝난 목요일과 금요일부터 관련 자료로 더 공부해야 할게다.

피어세션 시간에 과제 3, 4에 대해 서로 질문하고 답변하는 시간을 가졌다. 네 번째 과제의 bucketing 부분의 코드가 다양했던 게 인상 깊었다.

몇몇 부분에서 과제가 설명하길 짧게 짠다면 코드를 네 줄로도 작성 가능하다고 했고, 팀원 분들 중에서도 그 정도는 아니지만 코드를 짧게 짠 사람이 있었다. 물론 코드 작성 스타일은 일반적으로 우리가 글을 쓸 때의 문체와 같이 서로 다르다. 다만, 내 생각엔 알고리즘 문제의 시간복잡도를 향상시키려는 시도처럼 어쩔 수 없는 상황이 아니라면 리스트 컴프리헨션이나 혹은 극단적인 숏코딩 스타일은 지양하는 게 좋다. 왜냐하면 당장 자신이 짠 코드도 시간이 조금만 지나도 해석하기 어려울 정도로 가독성이 떨어지기 때문이다. 알고리즘 문제 코드만 주로 보아온 나로서는 딥러닝 과제 코드에서 자주 나오는 짧은 코드 스타일이 어색하다.

지난 주 동료평가를 읽어보고 나를 칭찬해준 팀원들에게 감사함을 느꼈다. 한편으로는 더 분발해야 겠다는 생각에 주말 동안 세 번째와 네 번째 과제를 마치겠다는 맹세를 지키고자 일요일 밤늦게까지 과제에 시간을 썼다. 이로 인해 잠을 거의 못 자서 그런지, 혹은 어제 오늘 계속 내린 비 때문인지, 아니면 그저 월요일이라서 그런지는 몰라도 오늘 하루종일 피곤하고 축처진 느낌이었다. 집중이 안되었다.

한동안 새로운 알고리즘 문제를 제대로 푼 게 없다. 바쁘다는 핑계로 solved.ac에서 브론즈 문제만 찾아 풀었다. 이에 대한 대가를 지난 토요일에 치렀다. sk 코테를 조졌고, 백준 실버컵을 조졌고, 앳코더 대회도 조졌다. 단 하루에 3연벙을 당했다. 자신감이 많이 떨어졌다.

3월 15일 화요일

하루종일 깃허브 특강이 있었다. 깃허브로 개인적인 자료만 업로드했지 다른 사람과 협업 한 적 없었고, 깃허브의 전체 기능 중에서 내가 할 줄 아는 건 극히 일부이다. 이번 특강을 통해서 많은 걸 배웠고, 다음 특강이 기대된다.

  • master는 마지막 커밋을 가리킨다
  • checkout은 head를 옮긴다. head는 현재 working directory가 어떤 버전과 같은지 가리킨다!
  • head는 현재 커밋을 가리킨다.
  • checkout은 head를 옮긴다.
  • 시간 여행을 할 땐 checkout을 해서 이동하고, 다시 복귀하는 곳은 master.

3월 16일 수요일

주말과 월요일, 화요일에 바쁘게 과제를 하고, 강의를 들었더니 오늘은 여유로웠다. 심화과제는 파라미터 조정 등을 통해서 모델의 성능을 향상시키는 과제였다. transformer와 BERT와 같은 NLP 관련 내용들에 대한 이해가 부족해서 심화과제에 시간을 쏟기 보단 우선 관련 글을 읽어봐야겠다는 생각이 들었다. 그래서 이번주 남은 기간 동안 논문이나 블로그 글을 보면서 개념을 정리할 계획이다.

피어세션에서 NLP 학습 모델에 관한 내용으로 이야기 주제를 잡았다. 이번 강의들이 다루는 내용이 난해하고 부족한 느낌이라 다들 관련 글을 찾아서 추가적인 공부를 하는 것에 동의했다. 피어세션 마지막엔 상반기 취준에 관한 얘기를 나눴다. 이번 팀은 이런저런 얘기를 할 게 많아 재밌는 것 같다. 형식적인 내용뿐만 아니라 다양한 주제로 얘기를 하다보니 16시에 시작한 피어세션이 오늘은 17시 30이 되어서야 끝났다.

3월 17일 목요일

해야 할 과제와 들어야 할 강의가 없기에 정리하고 복습하는 시간을 가졌다. 강의가 이해하지 못한 부분이 많아서 할 게 너무나 많고, 정리하는 과정에서도 모르는 게 많이 생긴다. 새로운 글을 찾아 읽을 때마다 자잘한 정보는 계속 쌓이는데, 정리가 안된다.

오피스아워 시간에 과제 설명을 들었는데, 조교님들의 코드를 보는 건 즐겁다. 깔끔하게 잘 썼다.

피어세션 시간에 이런 저런 잡담과 함께 강의 관련해서 찾은 정보와 향후 수행할 프로젝트 주제에 관해 논했다.

3월 19일 금요일

향후 파이널 프로젝트의 주제에 관한 논의로 하루를 시작했다. 정호님께선 텍스트에서 키워드를 찾아내어서 문서요약 & 학습에 도움 되는 서비스에 대한 발표를 하셨고, 태양님은 특정 도메인에 관한 번역기 서비스를 제안했다. 기원님께서는 TTS 서비스를 제안했다. 세 가지 제안이 모두 흥미로웠고, 현실성이나 독창성과 같은 평가 요소를 고려해서 조만간 결정이 될 것 같다.

멘토링 시간에 부스트캠프 연계 회사 탐방 세션에 관한 언급이 있었다. 그리고 프로젝트 주제 선정 시에 고려하면 좋은 평가 요소에 대해 조언해주셨다. 이번 멘토링 세션 요약은 다음과 같다.

  • 이력서 / 자소서 미리 쓰기
  • 프로젝트 주제 정하기