[부스트캠프 AI Tech 7기] Level 1 중간 회고

2024. 9. 9. 12:02Boostcamp AI Tech

 

오늘은 'boostcamp AI Tech' 7기 CV 트랙의 Level 1 이론 과정을 마친 기념으로 지난 5주를 돌아보려 한다!

본래는 일주일마다 1편의 회고를 작성해보려 했지만...

 

ㅎㅎㅎ

 


1. 1주차

  1주차는 '적응'하는 시간이었다. 부스트캠프 AI Tech는 하루 그리고 일주일 동안 난이도 높은 일정을 여러 개를 소화해야 하는 부트캠프이고, 1주차는 일정들을 이해하고, 새로운 일상을 체화시키는 시간이었다. 부스트캠프의 일정을 요약하자면 아래와 같다.

  • 출석체크
  • 데일리 스크럼 & 모각공
  • 피어세션
  • 스페셜 피어세션
  • 오피스아워
  • 마스터클래스
  • 퇴실체크

  1주차 시기에는 이토록 많은 일정들을 보고선, 캠퍼들의 자율 학습을 방해하는 비효율적인 일정이 참 많다 느꼈다. 하지만 한 달이 지난 지금, 돌아보니 부스트캠프 운영진이 캠퍼들의 목적을 종합적으로 고민하면서 만든 일정임이 느껴졌다. 부스트캠프에는 비전공자, 학부 연구생, 석사, 취준생 등 다양한 경력과 목적을 가진 사람들이 모여든다. 그러하니 캠퍼들의 목적은 제각기 다를 수밖에 없고, 부스트캠프는 각 캠퍼가 원하는 바를 이룰 수 있도록 일정을 설계해놓았다.

자랑스러운 우리 CV 6조, Ctrl + CV!

 

  캠퍼들 이야기를 하다보니, 이 이야기도 빠질 수 없다! 바로 나레기 제외 능력자들만 모인 CV 6조, 'Ctrl CV'이다!  팀원들의 면면을 보자면,

  • 게임 그래픽스 개발자를 꿈꿨던 C/C++ 마스터 캠퍼님
  • 기계공 출신으로 로봇 관련해선 모르는 게 없는 로보틱스 마스터 캠퍼님
  • 과묵하시지만, 조용하고 빠르게 공부와 과제를 끝내버리시는 힘숨 최강자 캠퍼님
  • 궁금한 점을 주저하지 않고 물어보는 용기를 가진 학부 연구생 동갑내기 캠퍼님
  • 나이는 어리지만, AI 학부 연구생으로 코딩+AI를 모두 잘하는 막내온탑 캠퍼님

  까지... 팀원들이 모두 능력자였다! (ㅎㅎ 나홀로 비행기 퍼스트클래스 개꿀)

  처음 만났을 때는 MBTI I 6명이 모인 팀답게 어색함과 침묵을 모두 갖춘 팀이었는데, 다들 친해진 지금은 (나는 안하지만) 게임도 같이 하고, 아침 알고리즘 공부도 같이 하고, 프로젝트를 앞둔 지금은 CV 1등을 꿈꾸는 팀이다!

 

   중요한 이야기는 다 끝났지만 강의에 대해서도 간단히 말하자면, 1주차 강의의 주제는 'PyTorch'였다. PyTorch의 전반적인 문법을 배우고, 이를 과제로 복습하는 교육 방식이었다. 난이도는 놀랍게도 그렇게 높지 않았는데, 1주차 마스터님이 워낙 강의를 잘하셨던 점도 컸고, 부스트캠프 AI Tech의 첫 주인만큼 적응을 염두에 뒀기에 심화적인 수준까진 파고들지는 않았던 것 같다.

 

  참고로 1주차 마스터클래스 시간에 누군가 내가 정말 묻고 싶은 질문을 대신 해주었는데,

인공지능의 새로운 패러다임 전환이 발생하면 '수학이 덜 중요해지지 않을까요?'하는 희망을 품으시는 분들이 계신데,
인공지능에서 수학적 담론의 위치는 절대적입니다.

 

슬펐다.

인공지능의 길에 들어온 이상, 수학은 떼어낼 수 없게 되었나 보다.

그래도 마스터님께서 이후에 캠퍼들에게 해주신 말씀이 참 인상 깊었다.

 

자기가 관심 있는 분야를 끝까지 밀고 나가시면은 그 분야는 레드오션이라 생각이 들지 않아요.
끝까지 밀고 나가다보면 언젠가 그 분야가 촉망받을 때가 있거든요. 
관심 있는 분야를 꾸준히 공부하다보면은 얼마든지 블루오션을 만들 수 있다!

 

끝까지 공부해봐야겠다!

 

2. 2주차

2주차의 주제는 'ML Lifecycle'이었다.

 

  2주차 강의는 'ML Lifecycle'이란 주제에 맞게, ML Lifecycle 전반을 배우고, Neural Network를 Linear Model의 Linear Regression과 Backpropagation을 중점적으로 배웠다. Backpropagation 파트는 기초적인 편미분 지식과 선형대수 지식을 요구했기에 어려웠지만, 충분히 소화할만 했다. 마지막 강의 3개가 'Transformer'였던 것을 제외한다면 말이다.

인공지능 공부 2주차에 Transformer를 마주한 심정을 예측하시오. (3점)

 

  능력자 팀원들도 인공지능 학계의 최종보스를 2주차에 마주하곤 경악했다. 하물며 나는 어떻겠는가?

  애초에 나는 부스트클래스 시절, Transformer 파트가 제일 싫어서 NLP 트랙을 줄곧 피해왔던 사람이었다. 그런데 코딩 순수 학습시간 3주, 인공지능 학습 2달차 신입에게 이걸 배우라고? 정말 복장 터지는 이야기였다.  

Transformer Model을 배우는 내 심정 : 제발 죽어

 

  Q. CV 트랙은 Transformer 안 배우죠? 
  A. 요즘 CV는 ViT (Vision Transformer) 씁니다 ㅎㅎ 

                                - 절망의 2주차 마스터클래스 中 -

 

  2주차는 1주차로 부스트캠프 희망편을 찍은 학생들을 위한 절망편 한 주였다. 아래는 나의 희망을 깨부순 2주차 마스터님의 어록들이다.

Linear Classifier은 한계가 명확하기 때문에 잘 사용하지 않습니다.
(그래서 배운) Softmax Classifier도 한계가 명확하기 때문에 잘 사용하지 않습니다.

요즘 CV는 주로 ViT 씁니다.
여러분 잘 따라오고 계시죠? (아니요)
...

 

  각설하고, 8-10강은 RNN과 파생 모델 (LSTM, GRU 등), RNN 기반 모델의 Long-term Dependency 문제를 해결하기 위한 Attention Mechanism, 최종적으로 Attention Mechanism을 일반화한 모델 Transformer Model을 상세히 배웠다. 처음에는 끔찍하게도 어려웠지만, 2차례 복습까지 마치고 나니, 마스터님이 AI 입문 레벨의 캠퍼들도 'Attention is all you need'의 내용을 이해할 수 있도록 세세히 풀이해주려 하신 점이 잘 느껴졌다. 단지 풀이 과정에 미분 연산이 가미되어, 비전공자 출신 입문자인 내가 잘 못 느끼고 있던 것이었다. 이를 깨달은 순간, 나는 정말 좋은 선생님에게서 훌륭한 강의를 듣고 있구나 했었다.


 

  2주차는 새로운 인연을 만난 주이기도 했다.

  그날은 '광'이었다. 나는 Transformer를 이해하느라 머리가 터질 지경이었고, 반은 힐링, 반은 빡공한다는 마음으로 광화문 스타벅스에서 공부하고 있었다. 그러던 중, 한 캠퍼님이 갑작스레 단톡방에 번개 카공을 제안하셨고, 카공 중이었던 내가 그 분을 휙 낚아챘다. 정말 첫 인상이 강한 분이셨는데. 일단 성함이 고려시대 구국 영웅이셨다. 거기에 Github 프로필 이미지는 기타를 치며 샤우팅하는 사진이었는데, 덕분에 어떤 분일지 정말 긴장하면서 기다렸었다. 막상 만나뵌 분은 순박한 인상과 꿈을 가지신 멋진 캠퍼셨지만.

  

  그 캠퍼분은 독특한 이력을 가지고 계셨다. 제주도에서 밴드 활동을, 부산에서 전자공학과 밴드 활동을, 서울에서 취준과 밴드 활동을 동시에 하고 있는 '음악에 진심인 캠퍼'였다. 전자공학과도 음악 무대를 백스테이지에서 잘 다루는 기술을 배울 수 있는 학과가 어딜까 고민하다 가신 것이었고 (결론은 그곳엔 답이 없었다 한다), 인공지능에 빠져들게 된 계기도 인디 음악인들이 인공지능 툴로 더욱 손 쉽게 음악을 프로듀싱하고, 마케팅을 하여 이름을 알리게 할 수 있는 꿈을 가졌기 때문이었다. 그 캠퍼님의 이야기는 정말 새롭고 재밌었다. 인공지능의 매력과 흐름을 이때 다시금 느꼈던 것 같다.

내가 느끼는 부스트캠프 AI Tech의 모습

 

  인공지능은 컴퓨터 공학의 결정체를 넘어서, 학제 간 융합을 통한 활용 단계로 접어들고 있다. 그렇기에 수학+컴퓨터 공학이라는 진입장벽을 무릅쓰고, 을 품은  사람들이 용감하게 뛰어드는 것이라 생각한다. 역사학에서 인공지능으로 건너오고 있는 나도 마찬가지지만, 또다른 분야에서 엄청난 열정을 가지고 자신의 꿈을 위해 험난한 인공지능의 길을 걷는 사람을 보니, 나까지도 열정을 불태우게 되는 것 같다. 부스트캠프 AI Tech의 매력이란 AI에 관한 꿈을 가진 사람들이 300명 가까이 모여서 옹기종기 같이 공부하는 것이고, 네트워킹을 통해 300개의 서로 다른 이야기를 들을 기회를 얻을 수 있다는 것 아닐까.

 

(찍은 사진이 날라갔어요..)

 

  광복절은 먼 곳까지 와서 같이 공부한 캠퍼분을 위해 맛집을 소개해드리면서 마무리되었다. 청계천의 작은 우육면집이었는데, 다행히도 아주 만족하셨다고 후기를 알려주셔서 참 다행이란 생각이 들었다.

 

3. 3주차

  3주차의 주제는 'EDA & Data Visualization'이었다.

  3주차는... '휴식과 창의성'의 한 주였다는 생각이 든다. 한 주 동안, 캠퍼들은 '데이터 시각화'와 '데이터 전처리' 방법을 학습했고, 이를 토대로 데이터에서 유의미한 Insight를 도출하는 방법을 깨닫는 시간을 가졌다. 사실 강의 자체는 어렵지 않았다. 이는 데이터 시각화와 전처리 기법의 코드만 알면 해결되는 부분이니 말이다.

 

  가장 중요한 점은 전처리와 시각화를 거친 '데이터에서 무엇이 보이는가?'는 우리 스스로 깨달아야 한다는 점이이다. 이는 강의로는 알아갈 수 없는 부분이었다. 그래서 3주차 마스터님은 두 가지의 독특한 심화과제를 내셨다. 하나는 여러 가지 시각화 사례에서 하나를 골라, 잘못된 점을 찾아내서 수정 사항을 제안하는 과제였고, 다른 하나는 캠퍼가 원하는 데이터를 뽑아서 유의미한 Insight를 도출하는 과제였다. 과제만큼 독특했던 점은 마스터님의 진로 강의 뿐만 아니라, 캠퍼들의 3주차 심화과제 발표도 같이 진행된다는 3주차 마스터클래스였다. 물론 3주차 강의와 기본 과제 소화에 여념이 없는 나에게 심화과제와 마스터클래스 발표는 어느 먼 나라 얘기였고, 그 날이 다가왔다.


  3주차를 마무리하는 금요일 (8/23). 그날도 나는 고려 구국 영웅 캠퍼님과 청계천에서 카공하고 있었다. 나는 주간 학습 내용을 정리해서 제출해야 하는지라 쉴새 없이 복습하고 요약하기 바빴다. 그때 내 눈에 데이터 시각화 기법으로 서울시 지도를 형형색색 칠하고 계신 캠퍼님이 들어왔다. 돌이켜보니 그 날 아침까지도 마스터클래스 심화과제 발표 자원자가 1명 밖에 없다고 운영진이 제발 발표해달라고 하던 공지가 떠올랐다. 그렇다. 그 용감한 한 명이 내 옆에 있었다. 

음잘알 캠퍼님의 발표 자료 中... 참 신기한 Bottom-up 방식

 

  덕분에 나는 그 캠퍼분으로부터 발표 목적과 리허설을 먼저 들을 수 있었다. 음악과 문화 전반에 진심인 캠퍼답게, 서울시의 인구 밀도, 토지 현황, 자치구별 문화 시설 수, 문화행사 관련 공공 데이터셋들을 시각화하고, 이를 기반으로 변수 간 상관관계를 분석하면서 도출된 Insight가 유의미한지를 판별하는 과정 전반을 담은 발표였다. 개인적으로는 명확한 목적 및 가설을 수립한 후, 이에 맞춰 데이터를 전처리+시각화하는 'Top-down' 방식만을 보아왔기에, 이처럼 여러 데이터셋을 들춰보고 각 데이터 변수들을 일일이 비교해보면서 가설을 그때그때 수립한 다음, 무의미한 Insight는 가지치기해가면서 좋은 Insight를 찾아가는 'Bottom-up' 방식은 너무나 새로웠다.

 

  이후 마스터클래스 시간에 NLP 트랙의 한 조와 음잘알 캠퍼님이 각자의 심화과제를 발표했다. 앞의 조는 세종시의 '치킨집을 세종시 어디에 세우는 것이 좋을까'란 주제로 세종시 상업지구 데이터셋, 치킨집 밀도, 위치 데이터셋 및 폐업한 치킨집 위치 데이터셋을 활용하여, 해당 주제의 답변을 찾아나가는 과정을 보여줬다. 실용성보다는 심미성을 보는 내 입장에서는, 지도 위에 위치 및 밀도 데이터를 시각화한 NLP 조의 발표는 정말 감탄이 나올 만큼 멋졌고 (학부 조별과제 PPT 같이 했던 얘들아 제발 보고 배워줘), Insight를 도출해가는 과정도 짜임새 있어서, 나는 푹 빠져들어 감상했었다. 마스터님이 지도 데이터 위에 시각화하는 것은 가시성이 떨어진다고 말하시기 전까진.

  난 심화과제를 하지도 못했고, 발표도 하지 않는 입장이었는데도, 그 냉철한 비판에 몸이 떨렸다. 하물며 앞 조와 마찬가지로 지도 위 시각화를 여러 차례 사용한 채로 발표를 앞둔 음잘알 캠퍼님은 마스터 님의 한 마디를 듣고 얼마나 긴장했을까. 그런데도 음잘알 캠퍼님은 나에게 리허설했던 것처럼 실수 없이 발표를 마무리하셨다.

 

  단 한 차례의 마스터클래스에서 나는 강의에서는 배울 수 없던 것들을 배웠다. 하나는 두 발표자의 서로 다른 형식의 EDA 방식을 배웠고, 다른 하나는 두 발표자들의 마음가짐이었다. 나의 경우, 나 스스로 다른 캠퍼들보다 실력이 많이 뒤쳐진다 생각하고는, 이를 바깥에 알리고 싶어하지 않았다. 모르는 것을 과감히 질문하기보다는, 강의만을 우직하게 이해하면서 따라가면 된다고 생각했다. 하지만 두 팀은 자신들이 어떠한 Insight에 다다르기까지의 과정을 숨김 없이 다 드러내었고, 공개적으로 마스터님의 피드백을 받았다. 그 결과, 두 팀은 자신들의 경험에 새로운 가르침을 얹어서 배워갈 수 있었다.

  옆의 캠퍼님의 발표를 보고서 느꼈다. 애초에 모르기 때문에 여기서 배우는 것일텐데, 모르는 것을 숨기고, 피드백받는 것을 두려워하면 쓰나. 5주차 멘토링과 더불어, 3주차 마스터클래스는 내가 모르는 것을 조금씩 질문하게 하는 원동력이 되었다.

 

 

너무나 훌륭한 발표를 해주신 음잘알 캠퍼님과 옆에서 아무 것도 안한 나(?)를 기념하며, 그 날 하루는 광화문 돈까스 맛집을 찾아갔다.

아, 여기 진짜 역대급 맛집이네.

 

4. 4-5주차

  4-5주차의 주제는 'CV 기초 이론'이다.

  그렇다. 4-5주차부터는 강의와 공지 채널 등이 트랙별로 분리되기 시작한다. 이에 따라 CV 트랙 캠퍼들은 CV 기초 이론 강의의 길로 들어가게 된다. 사실 나는 부스트캠프 커리큘럼에서 CV 기초 이론이 가장 기대되었다. 부스트클래스 시절, CNN 파트가 가장 재밌어서 온 점도 있었고, 로보틱스 SW 엔지니어를 지망하는 학도로서 로봇 비전과 멀티모달의 핵심 기초를 배운다는 생각에 들떠 있었다.

(그리고 교수님이 내 고딩 동창 이름이어서 더 기대되었다.)

CV 기초 이론 첫 강의 후 풍경.gif

 

  2주차 Transformer는 명강이었다.

 

  4-5주차 강의는 객관적으로는 훌륭한 강의였다. Computer Vision이란 방대한 분야를 개론, CNN, ViT, Segmentation, Detection, Multimodal, Generative Model, 3D & 3D Human으로 단 10개의 강의로 압축시키고, 이를 주요 모델의 구조와 핵심 아이디어까지 설명한 것만으로도 충분히 좋은 강의였음에는 틀림이 없다. 다만 지나치게 압축되다 보니, main idea인 파라미터 수식을 보여주지만, 이를 유도하거나 자세하게 풀이하는 단계까지는 들어가지 못해서, 수식을 이해하지 못하고 얼렁뚱땅 넘어가는 일이 잦아졌다. 또한 교수님이 전문 용어를 많이 활용하셔서 이를 일일이 찾아봐야 했던 점도 꽤 불편했다.

 

  그리고 과제.. CLIP 모델이나 Stable Diffusion 모델이 원체 무거운 건 알고 있었지만, 과제를 두어 번 실행하고 나면, 시간은 있는 대로 가고, Colab 사용량은 제한이 오고... 부계정을 파서 실행하고... 덕분에 구글 계정은 4개까지 팔 수 있다는 사실도 깨달았다^^ 분명 강의는 화요일에 다 듣고, 과제는 수요일에 마무리하고, 목금에 학습 정리를 한다는 내 원대한 계획, 수목금 과제로 대체되었다. 되는 것 하나 없는 일상에 정말 자존감이 바닥까지 떨어졌던 2주일이었다.

Transformer 활용한 CV 모델들 제발 다 껃여


  하지만 4-5주차는 힘들었던 만큼, 새로운 사람을 통해 배우고, 좋아하는 것을 하면서 힐링받은 2주일이기도 했다. 

  먼저 4주차 첫 날 (8/26), 일전에 연락드렸던 로보틱스 인턴 유경험자 캠퍼분과 소사역 스타벅스에서 간단히 커피챗을 진행했다. 이 날, 나는 그 캠퍼님이 이야기해주신 답변으로부터 여러모로 새로운 시각을 배울 수 있었다. 가령 '로보틱스는 무엇이라 생각하시나요?'란 물음에 대해서, 로잘알 캠퍼님은 '로보틱스는 넓게 보면 모빌리티다. 지금이야 자율주행, UAM, 로보틱스는 마치 별개의 분야처럼 느껴지지만, 미래에 기계가 고도화되면서 통합되면은 그것이 바로 로보틱스일 것.'이라고 답변해주셨다.

  로봇에 대하여 휴머노이드나 산업용 로봇 등처럼 엄청난 기술력의 결과물로 일반화했던 나에게 로봇의 가능성이 세상 어디에나 열려있다는 답변은 꽤 세상을 보는 시각을 바꾸게 해주었다. 이외에도 로보틱스를 배울 때, 알아두면 좋은 지식 같은 것도 겸사겸사 배워왔지만, 그날의 가장 큰 소득은 집에 돌아가는 내내 로봇의 가능성을 지닌 기계를 찾고자 세상 이곳저곳을 살펴보게 만든 제일 처음의 답변이었던 것 같다.  

 

  4주차를 마무리하는 하루 (8/30)는 'NAVER' boostcamp 캠퍼로서의 느낌을 내기 위해, 고려 구국 영웅 음잘알 캠퍼님과 함께 네이버 본사 옆 스타벅스에서 공부를 했다. 계획한 일정은 '열심히 공부하기 -> 네이버 본사 브랜드스토어 투어 -> 열심히 공부하기'였는데, 네이버 본사에 들어가보니 거기에도 미래적인 느낌의 (실물 로봇을 곁들인) 스타벅스가 있었다. 생각해보니 카공의 3가지 조건을 충족하더라.

  • 공부가 잘되는가? ---> NAVER 본사에서 우러져 나오는 동기부여
  • 귀가 즐거운가? ---> 옆에서 스몰토크하시는 네이버 임직원들만 봐도 즐거움.
  • 눈이 즐거운가? ---> 내 옆에 귀여운 로봇들 돌아다님. 내 옆에 AMBIDEX 있음.

NAVER 1784 로비 & AMBIDEX in 스타벅스 1784점!

 

그래서 짐 싸들고 이주해서, 네이버에서 하루를 마무리했다. 사실 그냥 뭘하든 행복했던 하루여서 적어보았다.


 

오늘부로 길다면 길었고, 짧다면 짧았던 한 달여의 boostcamp Level 1의 이론 과정이 끝났다.

내일부터는 실전처럼 팀원들과 함께 나아가는 기나긴 협동 Project에 돌입하게 된다!

앞으로 어떻게 흘러갈지 모르겠어서... 무섭기도 하지만, 또 그만큼 기대된다!

 

Ctrl CV 1등 가즈아!