안녕하세요! 이제 막 2021년 하계 URP 과정을 마친 컴퓨터공학과 18학번 이현주입니다.
누군가 이 글을 읽고 계신다면 그때는 RCV 연구실의 학부 연구생이라고 소개할 수 있겠네요! 저는 일주일 후에 RCV 연구실에 학부 연구생으로 들어가게 됩니다. 이 글에서는 제가 URP에 지원한 동기와, URP 과정 동안 겪었던 일들, 그리고 URP를 하는 동안 알았더라면 좋았을 것들에 대한 내용을 담아서 작성하겠습니다.
URP 지원 동기
우선 ‘컴퓨터공학과 학생이 어떻게 지능기전 연구실 프로그램에 지원을 했지?’라는 생각을 하는 분이 있을 수도 있다고 생각합니다. 저도 지원할 때 연구실 분들 프로필을 보니 대부분 지능기전공학과 분들이라 걱정이 되기도 했었습니다. 그래서 일단 제가 어떤 흐름으로 여기까지 왔는지 얘기해보도록 하겠습니다. 이걸 들으면 왜 지원했는지 아실 수 있을 거예요. 저 같은 타과생 분들에게도 조금이나마 도움이 되었으면 좋겠습니다.
일단 저는 게임 개발자가 되고 싶어서 컴퓨터공학과에 진학을 했습니다. 그렇지만 직접 만들어보니 아닌 것 같아서 다른 분야를 탐색하게 됐죠. 게임 쪽을 제외하고는 어떤 분야가 있는지조차도 몰랐기 때문에 진로 탐색을 위해 컨퍼런스를 많이 다녔었고, 재밌어 보이는 걸 그때그때 공부해서 써먹었습니다. 그러다가 한 컨퍼런스에서 인공지능으로 손글씨를 만드는 발표를 보게 됩니다. 그 이후로 아예 인공지능 쪽을 조금 공부하다가 다시 개발 쪽으로 돌아갔었는데, 학교에서 영상처리 수업을 듣고 컴퓨터 비전이라는 분야에 다시 관심이 생기게 됩니다. 좋은 기회가 생겨 어플 제작 프로젝트에서 이미지를 인식하여 분류하는 작업을 하는 파트를 맡기도 합니다. 구현은 했지만 내부에서 어떻게 돌아가는지를 모르니까 좀 더 공부해보고 싶다는 생각이 있었을 때쯤 마침 휴학을 하게 되어 머신러닝 공부를 본격적으로 하게 됩니다. 캐글에도 관심이 있어 최유경 교수님께서 운영해주시는 세종대 캐글 스터디에도 참여했었는데, 이때 유튜브를 통해서 교수님의 인공지능/기계학습 강의를 보며 공부를 하기도 했습니다.
아무튼, 저는 그 전에도 RCV에서 운영하는 세종 인공지능 연구소 사이트를 통해 공부를 하기도 했었고, 연구실에 다니고 있는 친구들에게 듣기도 했기 때문에 연구실과 URP에 대해서는 간접적으로 조금 알고 있었습니다. 해당 연구실에 다니는 친구에게 슬쩍 물어본 적도 있었는데 교수님과 연구실 사람들에 대해 좋은 얘기들만 하더라구요. 이렇게 열정 가득한 사람들이 많고, 분위기가 좋은 랩실에서 저도 함께하고 싶어 기회를 노리고 있었는데, 마침 학부 연구생을 모집한다는 걸 알게 됐습니다. 그래서 저는 URP 과정을 성공적으로 마친 후에 RCV 연구실에 들어가 학부 연구생을 하고, 대학원까지 진학하겠다는 야망을 품고 URP에 지원했습니다! 이런 생각을 확실하게 하고 들어왔기 때문에 개발과 연구 사이에서 엄청 많이 고민하지는 않았던 것 같아요. 후기를 쓰고 있는 지금도 역시 지원하길 잘했다고 생각합니다.
URP 과정 동안 겪었던 일들
커리큘럼은 이전 URP와 유사하기도 하고, 다른 분들께서도 설명을 해주셨으니 생략하도록 하겠습니다. 저는 제가 URP 과정에서 많은 배움을 얻은 것들 위주로 얘기해볼 예정입니다.
(1) 세미나
매주 월요일(또는 화요일) 세미나 시간에 발표를 했습니다. 이 시간이 부담스럽게도 느껴질 수 있지만, 잘 활용하면 더 값진 일주일을 보낼 수 있을 것입니다. 간단하게 말해서 지난 일주일 동안 했던 내용을 동기들과 멘토님들, 교수님 앞에서 발표하는 시간입니다. 일주일 동안 어떤 공부를 했고, 어떤 시행착오를 겪었고, 앞으로 어떤 방향으로 나아갈 지에 대해 얘기하면 피드백을 받을 수 있습니다. 자신의 경험을 공유하는 시간이라고 보시면 됩니다. 저도 처음에는 이 시간이 부담스럽기도 하고, 다른 친구들의 PPT에 비해 제 PPT의 퀄리티가 떨어져 보이기도 하고, 방향도 잘못 잡은 것 같고 성능도 잘 안 나오는 것 같아 부끄럽기도 했었는데요. URP에서 하는 모든 과정들은 경쟁이 아니라 함께 상생하고 성장하기 위한 것이기 때문에 어려운 점이나 모르는 점, 시행착오 등을 드러내는 것을 부끄러워하지 않으셨으면 좋겠습니다. (저는 이걸 극복하는 게 좀 오래 걸렸어요.) 실패(사실 실패가 아닌!)한 경험이 있다면 그 이유를 분석해서 더 발전할 수 있기 때문에 오히려 좋다고 생각합니다! 그리고 발표자료에 사용할 것들은 평일에 미리미리 준비해놓으시길 바랍니다… 주말에는 쉬어야 2달 동안의 일정을 지치지 않고 수월하게 할 수 있어요…!
(2) 이론 세미나
CNN tutorial 세미나, Grabber 세미나, Annotation 세미나, Calibration 세미나 등 URP를 먼저 경험하신 멘토님들께서 일종의 이론 수업을 해주십니다. 다들 열심히 준비해오시고, 열정적으로 가르쳐주시기 때문에 많은 것을 배울 수 있었습니다. 이 때 세미나를 잘 듣고 이해를 해야 해당 과정을 원활하게 할 수 있습니다. 하나를 이해를 못 하면 뒤에 나오는 내용도 이해를 못하기 때문에 도미노처럼 싸그리 이해가 안 됩니다… 이론 세미나 끝난 후에 혼자 이해하려면 시간이 몇 배는 더 드니까 이해가 안 되는 게 있으면 바로바로 질문하시면 좋을 것 같습니다. (이해한 것 같아 보이는 동료도 사실 이해 못한 것일 수도 있어요)
(3) 퀘스트
일단 퀘스트라고 하면 여러 종류로 나눌 수 있는데요. 저는 4~5주차에 했던 Detection 응용 과정이 월드 퀘스트고, 6주 차에 했던 Grabber 과정이 일일 퀘스트 같다는 생각을 했습니다. 월드 퀘스트 같은 경우에는 NPC가 모험의 큰 목표만 알려줍니다. 그게 우리는 ‘SSD의 성능을 개선하라!’ 였고요. 드넓은 월드를 모험하듯이, 직접 데이터셋을 분석하고, 모델의 문제점을 찾아내고, 그걸 극복하기 위해 여러 방법들을 시도해야 합니다. 물론 좀 헤매다가 방향을 잃을 수도 있겠죠. 자신이 맞는 방향으로 가고 있는지 확신이 안되거나, 좀 고민되는 부분이 있다면 멘토님에게 도움을 요청하는 것도 좋다고 생각합니다. 물론 처음부터 그러는 건 고민하는 시간이 없다 보니 얻어가는 게 별로 없으니까, 어떤 문제점이 있어서 어떤 방향으로 개선을 하고 싶은데, 어떤 키워드로 검색을 해야 할지 조언을 구하면 도움이 많이 될 겁니다! 기간이 길기 때문에 노션이나 깃허브 이슈 등으로 여태 했던 일들을 정리하면서 하는 걸 추천드려요. 데이터를 시각화하기도 하고, 문제점 관련 키워드가 포함된 논문을 검색하기도 하는 이런 과정 자체를 처음 해봤는데, ‘연구’라는 것을 살짝 찍어먹어 본 것 같아서 힘들지만 그만큼 얻은 건 많은 시간으로 기억하고 있습니다. 일일 퀘스트 같은 경우는 하루에 해야 하는 분량이 정해져 있습니다. 저는 공식 문서를 읽고 필요한 걸 찾아봐서 구현하는 Grabber가 그렇다고 느꼈었는데요. ‘화면이 꺼지는 버튼을 구현해라’, ‘카메라 2개로 입력을 받아라’, 이런 식이었습니다. 전자와 비교했을 때 날마다 해야 할 일이 딱딱 정해져 있어서 좋기도 했습니다. 개발할 때 배웠던 지식들이 Grabber 할 때 좀 유용하게 쓰인 것 같아서, 개발과 연구도 비슷한 면이 있다는 생각이 들기도 했습니다. 일일 퀘스트 할 때는 빨리 구현한 동기들에게 도움을 받기도 하고, 제가 도움을 주기도 하고, 서로 어떤 다른 방식을 사용했는지 비교해보기도 하면서 많이 배운 것 같습니다.
URP를 하는 동안 알았더라면 좋았을 것들
여기는 약간의 반성과 회고를 적을 것 같은데요… 제 경험을 공유하기 위해 tmi 가 잔뜩 있을 수도 있다는 점 미리 양해 부탁드립니다.
혼자 오랫동안 붙잡고 있지 말자.
제가 3학년이고 활동하는 동아리에서는 선배 역할을 맡고 있다보니까 후배들에게 알려주는 역할을 많이 했었습니다. 그렇기 때문에 또래에게 모르는 것을 물어보고, 배우는 게 비교적 익숙하지가 않았습니다. 게다가 프로젝트를 할 때 협업을 많이 했었는데, 파트별로 한 명씩 하는 경우가 대다수였어서 맡은 파트는 혼자 하다 보니 혼자 파고들어서 구현해내는 일에 익숙했습니다. 오래 붙잡고 있으면 결국 해낼 수 있었으니까, 시간이 많이 걸리더라도 스스로 구현했다는 것 자체에 많이 뿌듯함을 느꼈었죠. 그래서 URP 과정을 하는 동안에도 그 습성이 발현돼서 될 때까지 붙잡고 있기도 했는데, 그게 약간 후회되기도 합니다. 물론 얻은 것도 있지만, 너무 오래 붙잡고 있으면 동기들과 많은 얘기를 못합니다. ‘앗 나 이거 하느라 아직 그거 안 했어…’ 약간 이런 느낌으로… 아무튼 붙잡고 있는 것은 좋으나, 너무 붙잡고 있다 싶으면 곁에 있는 동기들에게 방향을 물어보거나, 도움을 청하시면 좋을 것 같습니다. 시간을 좀 더 적절히 배분했다면 더 많은 걸 얻었을 것 같다는 생각도 드네요. 이걸 읽으시는 분들은 좀 더 시간을 적절히 쓰시길 바랍니다!
왕복 3시간은 굉장히 힘들다.
저는 1학년 때 통학을 했었는데요. 그래서 2달 쯤이야 거뜬하게 해낼 줄 알았습니다. 초반에는 지하철에서 책도 읽고 논문도 읽으면서 나름 의미 있게 시간을 썼었는데, 나중에는 그냥 졸다가 도착하더라고요. 후반으로 갈수록 체력 소모가 심하니까 건강 관리를 잘하시길 바랍니다… 파이팅!
글을 마치며
제 글이 도움이 됐으면 하는 마음에 쓰고 싶은 걸 다 쓰려다 보니 내용이 너무 길어졌네요…! 앞서 URP를 하셨던 선배님들, 그리고 동기님들도 이런 마음으로 글을 쓰시지 않으셨을까 싶습니다. 동기라고 적긴 했지만 사실은 이제 URP 친구들이죠! 지원할 때 관심사가 비슷한 동료를 만나고 싶다고 썼었는데 좋은 동료이자 친구들이 생겨서 정말 좋았습니다. 지금 되돌아보면 2 달이라는 게 믿기지 않을 정도로 많은 걸 배웠어요. 불안했던 생각들도 많이 정리가 됐고요. 이런 소중한 기회를 마련해주신 교수님, 그리고 RCV 멘토님들 정말 감사합니다. URP 친구들도 정말 고마웠어! 이걸 읽고 계시는 분이 있으시다면 지원할 생각이 조금이라도 있으신 거겠죠? 저는 URP에 지원했던 일이 제가 살면서 잘했던 일 중 하나로 손꼽힐 것 같습니다. 정말 후회 없는 선택이 되실 거예요. 최고의 URP, 적극 추천합니다! 마지막으로 진짜 다들 감사하다는 말씀 전하면서 이만 마무리하겠습니다. 2달 동안 얻은 것들이 헛되지 않게 앞으로도 열심히 하겠습니다. 정말 감사했습니다!