안녕하세요! 이번에 2022년 동계 URP를 마친 지능기전공학 스마트기기전공 18학번 조동현입니다. 이 글은 제가 URP에 지원한 동기와 URP 과정, URP를 통해 어떤 것을 얻었는지 정리해보도록 하겠습니다.
URP 지원 동기
연구란 무엇이고 이를 경험해보고 싶습니다. 저는 대학원에 이미 가기로 한 상태이고 대학원에 가기 전 연구란 어떤 것인지 경험을 해보고 싶어서 지원했습니다. 연구라는 것은 책 [대학원생 때 알았으면 좋았을 것들]과 최유경 교수님이 추천해주셨던 영상, 글 등을 통해 어느 정도 알고 있었습니다. 하지만 연구라는 개념을 알고 있는 것과 직접 연구라는 것을 경험하는 것에는 큰 차이가 있다고 생각했습니다. 물론 학부 연구생이라 대학원에서 하는 것과 비교하기 힘들고, 3개월의 짧은 시간 동안이라 경험했다기에는 부족한 부분이 있지만 그래도 학부생 때 이런 경험을 하는 것 자체가 귀중하다고 생각했습니다. 당시에 비전에 관심도 많고 조교분 중 한 분이 적극적인 추천도 해줘서 망설임 없이 지원했던 것 같습니다. 8주 지난 지금 시점 다시 생각해보면 정말 잘한 선택이라고 스스로 생각하고 있습니다.
URP 과정
URP에 들어와서 주로 어떤 일을 했는지 궁금하실 것 같아서 정리를 해봤습니다. 첫 주는 인공지능 기초를 공부했습니다. 모델의 weight 값들이 역전파를 통해 어떻게 업데이트가 되는지, CNN의 구조는 어떤 식으로 되어있는지 등을 공부했습니다. 그다음 2~3 주차에서는 SSD 논문을 통해서 One Stage Detection을 코드화 시키는 작업을 했습니다. 논문을 분석해서 읽어보며 왜 이런 방식으로 코드를 짰는지 논문과 비교를 해보며 최대한 이해를 해보려고 노력했습니다. 참고 논문을 계속 따라가면서 필요한 개념들을 공부했고 기존에는 블로그를 통해서 누군가가 설명해준 것을 이해하며 논문을 읽었는데 앞으로는 관련 정보가 없을 확률이 높아서 스스로 정리하며 읽어야겠다고 생각하며 논문을 읽었습니다. 4~5 주차에는 KAIST Pedestrian Dataset을 이용해서 모델을 학습하고 Baseline의 성능을 개선하는 것에 집중했습니다. 성능을 높이기 위해서 다양한 논문을 읽어봤습니다. 모델을 만드는 시간이 적어도 12시간에서 24시간 정도가 걸렸는데 그 시간 동안 얼마나 알뜰하게 잘 쓰는지가 중요하다고 느꼈습니다. 모델을 잘 못 학습시켜서 밤새워서 학습한 것을 다시 학습할 때 낭비한 시간이 많았었는데 이를 바로잡으려고 다양한 노력을 했습니다. 6~8주차는 카메라 캘리브레이션과 Grabber를 공부하고 실습했습니다. 카메라의 구조와 카메라 파라미터를 공부하며 어디에 사용이 되는지 이해하는 시간을 가졌습니다. Matlab을 사용해서 calibration 실습을 진행했고 다양한 툴을 이용해서 시각화하면서 코드를 직접 하나하나 작성하는 것이 아니라 만들어진 툴을 잘 이용할 줄 알아야 한다는 것을 느꼈습니다.
URP를 통해 얻은 것, 느낀점
연구 진행 과정을 가볍게 한번 밟으면서 그 과정에서 배운 것들이 많았습니다. 앞으로 연구할 때 문제를 해결하기 위해서 단순 구글링을 한다고 해결할 수 있는 상황이 없어질 것입니다. URP 과정에서 이를 해결하기 위해서는 다양한 최신 논문들을 survey 해야하고 해당 논문에서 어떤 방식으로 어떤 문제를 해결했는지 등을 경험해봤습니다. URP 성능 계선 과정 중 가장 힘들었던 것은 문제를 정의하는 것이었습니다. URP 지원했던 큰 이유도 문제를 정의하는 방법을 직접 경험해보고 싶어서이었습니다. 성능을 개선하기 전에는 문제점을 먼저 찾아야 하는데 이를 정량적으로 데이터를 이용해서 찾은 후 스스로를 설득하는 과정을 거쳤습니다. 가설을 세우기도 했고 가설을 통해서 실험을 돌리며 문제점에 대해 정당화하는 시간을 가지면서 힘들지만 URP 통해 기르고 싶었던 능력이라 열심히 했던 것 같습니다.
임근택 조교님과 김태주 조교님이 논문 검색 팁을 알려주셔서 좋은 논문은 어떤 식으로 찾는지 알게 되어 도움이 많이 됐습니다. 논문을 읽으면서 논문의 구조도 자동으로 익숙해지기 시작했고 논문을 읽을 때 어느 부분을 중요하게 봐야 하는지를 배움으로 다양한 논문을 조사할 때 빠르게 원하는 논문을 선택하는 능력이 길러졌습니다.
특히 URP 동안 막혔을 때마다 주변 조교님 혹은 담당 멘토인 임근택 조교님께 도움을 받았는데 조언받을 때마다 느꼈던 것은 “물어보길 정말 잘했다” 입니다. URP 과정 동안 혼자 홀로서기 과정도 중요하지만, 기존에 이미 조교분들이 시행착오를 겪었던 내용들과 겹칠 확률이 높아서 어느 정도 시도를 해 보시고 바로 물어보는 것을 추천해 드립니다. 그리고 주어진 목표를 해결하기 위해서 다양한 방법들을 찾게 되는데 해당 문제를 해결하는 주요 해결 수단이 아닌데도 불구하고 엉뚱한 방향을 잡으며 시간을 낭비하는 경우가 생길 수도 있습니다. 저도 한 문제를 해결하기 위해서 개념을 찾아보다가 메인 개념과는 관계없는 다른 부분을 붙잡고 공부하고 있었습니다. 이를 local minimum에 빠진 것으로 생각하면 될 것 같은데 스스로가 계속 인지하며 유의해야 합니다. 가장 좋은 방법은 주변 조교에게 자신이 어떤 것을 하고 있는지 계속해서 알려주는 것입니다.
매주 세미나를 할 텐데 꼭 준비 잘해서 최대한 세미나를 잘 활용하면 좋을 것 같습니다. 한 주 동안 어떤 것을 했는지 정리도 할 수 있고 잘못 알고 있는 개념들을 피드백 받을 수 있어서 일주일 중 제일 중요한 시간으로 생각하고 준비했습니다. 다른 동료분들이 하는 세미나의 피드백도 정리하며 계속해서 발전하는 것도 정말 값진 시간이었던 것 같습니다.
추가로 이번에 지원 고민 중인 분들은 궁금한 부분이 많을 것 같은데 혼자 고민하지 마시고 조교님들에게 직접 물어보거나 경험했던 분들에게 연락하면 친절하게 알려줄 것입니다.
감사합니다
URP의 프로그램에 참여 기회를 주신 최유경 교수님, 다양한 조언을 해주시고 세미나를 해주신 조교님들, 두 달 동안 함께 URP를 이겨낸 동료들에게 감사합니다. 최유경 교수님과 상담할 때마다 제가 갈 수 있는 다양한 길의 방향을 알려주셔서 혼자서는 힘들게 고민만 했던 부분을 올바른 방향으로 가게끔 도움을 주셔서 감사합니다. URP 학생들이 잘 따라올 수 있도록 계속 고민하면서 트랙을 짜주신 조교님들도 너무 감사합니다. 잘하고 있는지 지속해서 뒤에서 지켜봐 주며 질문한 내용을 같이 고민하고 조언을 해주셔서 정말 감사합니다.