벌써 부트캠프가 끝난지도 2달이 다 넘어가지만... 네이버 상에만 남겨두었던 OUTTA 부트캠프의 후기를 더 많은 사람들이 보았으면 해서 짧게나마 남겨보려 한다.
OUTTA 부트 캠프??
AI 교육 캠프로 7/3(일)~ 8/28(일) 총 8주간, 지원자들이 OUTTA 자체 교육 프로그램을 활용하여 AI 및 머신러닝에 대해 공부하며 멘토팀으로부터 멘토링도 받고, 함께 힘을 합쳐 팀 프로젝트를 진행하며 간단한 인공지능을 개발하는 활동으로 구성되어 있습니다. 지원자격은?
- 전국 대학교 학부생 - 캠프일정 끝----까지 참여 가능한 분 - 머신러닝에 관심은 가지고 있었지만! 관련 지식이 없어 시작하기 막막했던 분 - 머신러닝 관련 지식과 경험을 가져가고 싶으신 분 - 배움에 열정을 가진 분들 !! 모두모두 대환영이랍니다 🤩
활동 혜택은?
멘토링, AI에 관심있는 여러 대학생들과의 커뮤니티, 수료증, 우수 활동 3위팀 및 우수 참가자 시상
(개인적으로 가장 끌렸던..)
활동 방식?
1) 온라인 세미나 2) 개별 과제 3) 그룹 스터디 4) 팀별 프로젝트
[출처] [대학생 대외활동] OUTTA AI 부트캠프|작성자 윤지]
<활동 내역>
최종 프로젝트를 끝마치면서... 인공지능 교육단체, OUTTA. 정직인 학습에서 동적인 학습으로!
교육 (7월~)
7월 한 달은 제공 영상을 통한 머신러닝과 데이터 분석의 개념 학습이 주된 활동이었다. 매주 화, 목, 토 마다 1시간 내외의 영상을 보며 이론, 실습을 병행했고, 각 강의마다 실습 코드가 과제 형식으로 주어졌다. 매 번 과제를 완벽하게 수행하진 못해 아쉬운 마음도 있었다.
물론 개인 비서(Chat 읍읍ㅡㅂ)를 필두로 문제 해결을 한 적도 종종 있었는데, 한편으로는 이런 식의 학습이 과연 내 역량 향상에 도움이 될까 싶어 정말 몇 시간 동안 과제를 붙잡고 머리를 싸매기도 했다 ㅎㅋㅋㅋ.. 교육 일정의 구성은 아래와 같이 이뤄졌으며, 실시간 Q&A를 통해 멘토분으로부터 의문점을 풀 수 있었다.
머신러닝
지도 학습/비지도 학습
데이터 시각화/데이터 전처리
데이터 크롤링
추천 시스템 구현
프로젝트 (8월~)
8월부터는 본격적인 프로젝트 준비와 부트캠프 측에서 제공해준 스켈레톤 코드의 developing 과정이 있었다. 한 달간 배운 지식과 코드 활용 능력을 써먹을 때가 왔다. 프로젝트를 위한 팀이 정해지고,어떤 주제를 선정해 프로젝트를 완성할 지 논의가 오가기 시작했다.(모종의 이유(?)로 기존의 팀은 해체되고, 쓰니는 다른 팀에 소속되어 최종 프로젝트에 착수했다.)
그렇게 최종 선정된 주제가 바로 '이커머스 별점 예측 및 추천 시스템 구현하기'다. 사실 교내 동아리 KHUDA 활동과 함께 머신러닝에 대해 공부하고 있는 와중 프로젝트에 착수하기 시작했는데, 역시나 당시 활동에서 다루었던 개념들이 많이 언급되면서 꽤나 유용하게 써먹었다.
'별점'은 추천시스템의 중요한 요소이다. 해당 고객 데이터를 토대로 별점을 예측해보고, CBF, item based filtering, user based CF 등을 활용해보는 형식이었는데, 온라인 상에서 크롤링한 데이터를 가져와 스켈레톤 코드의 구체화와 알고리즘의 제대로 된 구현이 목표였다. 랜덤 포레스트와 KNN 모델로 별점을 예측했으며, 모델링이 끝남과 동시에 새로운 데이터로 추천 시스템 함수를 작성했다!
팀원들과 함께 작성했던 최종 프로젝트의 코드는 깃헙에 공유했다. (아직 readme나 코드 세부 변경사항에 대한 머지는 안한 상태... 해야 되는데 ㅠㅠ) 주요 내용으로는 '이커머스 상품 별점 예측 및 User based CF 추천시스템 구현'이다.
개인적으로 아쉬운 점이 많이 남은 부트캠프다. 과제가 지나치게 어렵거나 부담스러울 정도는 아니었지만, 뛰어난 강의를 제공해주신 석학 분들에 비해 상대적으로 비루한 뇌 속 생태계와 나태한 군생활 동안 녹아내린 내 머리에 들어온 지식이 너무나도 적었다;; 머신러닝의 초반부와 그 이론적인 측면에 대해선 교과 과정을 통해 일부 알고 있지만, 가면 갈수록 난해해지는 난이도와 괴랄한 형태의 함수, 알고리즘에 정말 머리를 쥐어짰다. 그래서인지 그동안의 수업에서 솔직히 반 정도 밖에 이해하지 못했다..(반이라도 이해해서 다행인가 싶다ㅋㅋㅋ) 아무래도 그동안 실습했던 코드를 복기하며 다시 공부를 해야 할 듯 싶다.
하지만, 얻은 것도 많다. 우선, 복잡한 코드에 대한 거부감이 조금이나마 사라졌다. 각종 웹데이터를 크롤링하고, 결측치를 채워도 보며, 실제 코드가 작동되는 방식을 이해해보니, 내심 속으로 거부하고 있던 복잡한 알고리즘에 대한 막연한 두려움이 살짝 사라진 듯하다. 그리고 무엇보다 내가 들어본 적 있는 알고리즘이 어디선가 사용되고 있으며, 각종 코드에서 인용되고 설명하고 있다는 점이 신기했다! 물론, 완벽한 건 아니다. 하지만, 모르쇠로 일관하고 무작정 거부하기보다 코드를 읽고, 조금이라도 이해하고자 노력한다. 내가 모른다는 사실을 알고 있다면, 알기 위해 적어도 노력을 시작이라도 할 수 있으니 모르고 있는 것을 모르는 것보단 낫지 않은가. (메타인지?에 대한 정확한 정의나 문장이 또렷하게 기억이 나진 않지만, 뉘앙스는 엇비슷했던 걸로 기억한다. 문맥적으로 이해하고 대강 이해해주시길..)
OUTTA는 서울대학교 글로벌 공학교육 센터, 서울대학교 공학교육 혁신센터, 네이버 클라우드에서 후원받아 자체 교육 프로그램을 구성하고 있다. 데이터 사이언스와 딥러닝에 대해 각종 멘토링을 제공하며, 다양한 팀 프로젝트를 직접 경험해볼 수 있는 대형 부트캠프다. 필자는 '딥러닝반'과 '데이터반' 중 데이터반에 소속되어 데이터 분석의 전 과정을 처음부터 끝까지 접했다. 뿐만 아니라, 데이터 기반 사고를 연습하며 end-to-end 프로젝트를 기획하고 직접 구현해볼 수 있었는데, 여지껏 경험했던 부트 캠프들 가운데 가장 만족스러웠던 활동으로 기억에 남았다.
사실, 교육 과정 중간중간 포기하고 싶은 마음이 굴뚝 같았다.. 익숙치 않은 데이터 분석의 개념과 기타 활동들이 한 번에 겹치다 보니, 정신도 없고 스스로 한계를 부닥치면서, 정말 맨 땅에 헤딩을 하는 느낌을 많이 받았다;;
하지만 그만큼 해당 부트캠프는 필자에게 굉장히 의미있는 경험이었다. end-to-end 프로젝트는 좋은 기획력과 데이터 분석 과정을 다룰 수 있는 다방면의 지식이 필요하다는 것을 뼈저리게 느끼면서.. 부족함을 많이 알았다 ㅎㅎ
무엇보다 포기하지 않는 끈기와 의지가 중요함!
비즈니스 마케터와 IT 기획자의 진로를 구체화하면서, 그 역량을 어떻게 확보하면 좋을지 항상 고민하던 본인에게 수료 과정은 남다른 경험과 만족감을 선사했다. (물론 수상은 하지 못해 아쉽지만;; ㅠㅠ)
최종 프로젝트는 추후 공부와 병행하면서 추가 디벨롭할 예정이다. 아직 데이터 분석 분야에 경험과 지식이 부족하다보니, 제대로 알지 못한 채 넘어간 부분도 꽤나 많다. 그러다보니 코드 내부적으로도 부실한 점이 많고, 팀원들에게 의지한 부분도 적지 않다. 때문에 개인 프로젝트(비공개)와 최종 프로젝트를 발전시킴으로써 데이터 분석의 전 과정을 다시 한 번 체화하고, 앞으로 함께할(?) 다른 팀원들에게도 해당 지식과 경험이 도움이 되었으면 좋겠다!