brunch

You can make anything
by writing

C.S.Lewis

by 뭅즤 Oct 08. 2022

AI 분야 대학원생을 위한 현실적인 연구 가이드

각자의 목적에 맞는 연구 방법을 찾기 위해

이번 글에서는 AI를 연구하는 대학원생의 현실적인 연구 과정과 몇 가지 유용한 팁에 대해 알아보려 합니다.


연구 방법론에 대한 이야기는 대학 교수님들을 포함한 다양한 전문가들이 이미 많이 다루고 있습니다. 대학원생으로서는 반드시 연구에 대한 전통적인 방법론을 학습하는 것이 중요하다고 생각합니다. 그러나 각 대학원생마다 다른 목표와 관심사를 가지고 있기 때문에 개인에게 맞는 연구 방법이 필수적입니다.


따라서 이 글에서는 연구 방법론에 대한 깊은 탐구보다는 석사 과정 대학원생이 실제로 연구를 수행하는 과정과 현실적으로 고려해야 할 요소에 초점을 맞추려고 합니다. 또한 AI 분야 대학원생 뿐만 아니라 AI 연구 엔지니어로서 기업에서 비슷한 방식으로 연구를 수행하는 것도 함께 고려해 보면 좋겠습니다. 기업에서의 연구는 일반적으로 연구 목표와 개발 일정이 더 명확하며, 특정 비즈니스 문제를 해결하기 위해 필요한 연구가 많다는 점에서 대학원과는 다른 점이 있습니다.


연구 방법


제 나름대로 연구 과정을 크게 네 단계로 나누어 볼 수 있습니다. 첫째, 연구 분야의 문헌 조사와 최신 동향 파악입니다. 둘째, 이전 연구들의 한계와 문제점을 분석하는 단계입니다. 셋째, 이를 해결하기 위한 새로운 방법을 모색하고 고안하는 단계입니다. 넷째, 설계한 방법을 기반으로 실험을 수행하고 그 결과를 평가하며 지속적으로 피드백을 받는 과정입니다. 이 네 단계를 반복하면서 의미 있는 연구 결과를 도출해 나가는 것이 목표입니다.


1. 서베이

연구를 시작할 때 가장 먼저 해야 할 일은 연구하려는 분야에 대해 깊이 있게 알아가는 것입니다. 문제를 명확히 정의하고 최근 몇 년간 어떤 방식으로 이 문제가 해결되어 왔는지를 이해하는 것이 중요합니다. 일반적으로 연구 분야를 이해하기 위해 책을 읽거나 구글에서 검색을 하겠지만, 대다수는 가장 최근의 논문을 살펴보게 될 것입니다. 처음에는 이해하기 어려운 용어와 개념들이 많아서 논문이 자세히 설명하지 않는 세부 사항을 놓칠 수 있습니다. 그래서 최신 논문을 이해하기 위해 필요한 경우 레퍼런스 논문도 함께 보게 되며, 이는 종종 10개 이상의 논문을 투자하는 많은 시간을 요구할 수 있습니다. 모든 내용을 꼼꼼히 읽을 필요는 없지만, 이해하는 데 시간이 걸리기 마련입니다. 모르는 개념은 연구실 동료들과 논의하거나 유튜브와 구글을 통해 정보를 얻는 것도 추천합니다. 다만, 한글로 설명된 블로그 등에서는 종종 오해가 있을 수 있으니 주의가 필요합니다.


예를 들어, 2D 객체 탐지 분야를 연구하려면 최신 SOTA를 달성한 논문을 살펴보게 될 것입니다. 이 과정에서 여러 스케일의 객체를 어떻게 잘 감지할지, 트랜스포머를 어떻게 활용할지, 어떤 방식으로 학습할지 등 많은 개념들이 등장하게 됩니다. 현재 논문에서 제안된 방법이 아닌 경우 이전 연구 논문을 참조해야 할 때도 있습니다. 연구의 문제점을 파악하고 발전 방향을 결정하는 데는 이 분야의 발전 과정을 이해하는 것이 도움이 됩니다.


또한, 연구를 진행하면서 자주 느끼는 점은 이미 다른 연구자가 시도한 것일 수 있습니다. 따라서 구현하고 적용하기 전에 충분한 서베이를 통해 이미 시도된 방법들을 잘 파악하는 것이 중요합니다. 실제로 2~3달 동안 고생하여 실험을 진행한 후 비슷한 연구가 이미 발표되어 있어 실험을 새로 시작해야 할 때도 있습니다.

서베이는 연구를 시작할 때 주로 진행되지만, 연구 진행 중에도 계속해서 새로운 연구가 발표되는지 확인하는 습관을 가지는 것이 중요합니다. 



2. 문제점 파악

서베이를 일정 수준 완료한 후에는 현재 기술의 문제점을 명확히 파악해야 합니다. 많은 논문들에서 "이전 연구는 ~~ 부분에서는 우수하지만 ~~ 부분에서 한계가 있다"와 같은 내용을 Introduction 부분에서 발견할 수 있습니다. 문제점을 파악하고 명확히 정의하는 것은 기술 개선의 방향을 결정하는 데 중요합니다. 논문을 작성할 때도 명확한 문제 인식이 필요하기 때문에, 이는 논리적인 논문 구성에 있어 중요한 요소입니다.


그러나 이 과정은 매우 어렵습니다. 논문 저자들은 종종 자신의 제안을 강조하며 단점을 명시하지 않는 경향이 있습니다. 따라서 제안된 방법을 깊이 이해하고 여러 시나리오에서 실험을 통해 단점을 분명히 파악하는 것이 필요합니다. 특히 최근에는 대부분의 딥러닝 프로젝트들이 성능이 상향 조정되어 있기 때문에 단순한 "성능이 낮다"는 문제를 다루는 논문은 드물어졌습니다.


예를 들어, 객체 탐지 분야에서는 occluded object(가려진 객체)를 탐지하는 성능 저하 문제, labeled data를 확보하기 어려운 경우의 supervised learning 학습 방법 문제, 네트워크 디코더 구조가 bounding box를 정확히 찾지 못하는 문제 등이 있을 수 있습니다. 또한 특정 상황이나 데이터셋에서 성능이 저하되는 문제나 end-to-end 프레임워크가 적합하지 않은 경우도 문제점으로 다룰 수 있습니다.


문제점을 명확히 이해하는 것이 어렵다면 여러 실험을 통해 결과를 개선하는 방법도 있습니다. 그러나 논문 작성 시에는 결과 뿐만 아니라 과정과 동기가 논리적으로 설명되어야 하기 때문에, 실험 결과에서 문제점을 역으로 도출하는 것이 중요합니다.



3. 문제 해결을 위한 방법 고안

이 시점에서는 정말로 정신이 피폐해지고 자존감이 떨어지는 때일 겁니다. 이미 연구 분야를 선택하고 문제점을 일정 부분 파악했으니 이제는 그 문제를 해결하기 위한 논리적인 방법을 고안해야 할 때입니다. 그러나 쉽게 해결될 문제는 아닙니다. 탑티어 컨퍼런스에 발표된 논문들은 잠깐 문제점을 찾았다고 해결될 수 있는 수준의 연구가 아니기 때문입니다.


또한 제안하는 방법이 이전에 시도된 방법이거나 다른 큰 단점이 발생할 경우(성능이 1% 향상되지만 속도가 5% 느려진다거나), 수용되지 않을 수 있습니다. 따라서 다방면으로 논리적으로 사고하고 교수님과 연구실 동료들과 의견을 주고 받는 것이 중요합니다.


특히, 문제 해결 방법은 간단해 보이더라도 실제로 코드로 구현하는 것은 상당한 노력이 필요할 수 있습니다. 따라서 고안한 방법의 의도와 신빙성을 충분히 검증한 후에 구현하는 것이 시간을 절약하는 데 도움이 될 것입니다.


그러나 이러한 과정들이 매우 어렵습니다. 어떤 아이디어를 생각해도 다른 사람이나 지도 교수님에게는 부족하다고 느낄 수 있습니다. 그래서 제가 생각하기에 좋은 아이디어라고 판단되면 프로토타입을 만들어 실험해 보고, 조금이라도 유의미한 결과가 나오면 교수님과 함께 논의하여 아이디어와 실험 방향성을 정립했습니다. 탑티어 논문처럼 명확한 문제 인식, 논리적인 동기, 유의미한 결과를 도출하는 것은 쉬운 일이 아니지만, 조금씩 아이디어를 개선하고 유의미한 결과를 창출하는 과정이 중요하다고 생각합니다.



4. 실험 및 피드백

실험 단계에 도달하면 연구는 꽤 진전된 상태입니다. 이제는 구현할 아이디어를 코드로 옮겨 필요한 실험을 진행할 차례입니다.


가장 중요한 점은 다양한 케이스를 세심하게 계획하고 실험하는 것입니다. 이전 SOTA(Sate-of-the-Art) 논문에서 어떤 실험을 했는지를 참고하여 동일한 조건 하에서 실험을 진행하는 것이 매우 중요합니다. AI 분야의 논문은 논리적인 동기, 적절한 제안 방법, 그리고 뛰어난 실험 결과가 결합되어야 좋은 저널이나 학회에 게재될 수 있습니다. 이러한 신뢰성 있는 실험 결과를 얻기 위해 이전 연구들과 동일한 조건에서 실험을 수행하는 것이 중요합니다.


일반적으로 제안하는 방법을 단계적으로 검증하는 ablation 실험, 다양한 데이터셋과 기존 방법들과의 성능 비교 실험, 시각적 분석을 위한 실험 등이 포함될 수 있습니다.


논문 제출 마감 기한을 고려하여 실험을 어느 정도 진행한 후에 결과를 체계적으로 정리하고 논문에 반영해야 하는데요. 딥러닝 분야의 경우, 주로 딥러닝 모델을 구현하거나 학습 방법을 변형하는 경우가 많습니다. 코드를 구현할 때는 모든 것을 직접 작성하기보다는 이미 사용되고 있는 모듈을 GitHub 등에서 가져와 활용하는 것이 시간을 절약할 수 있는 방법입니다. 그러나 본인이 작성한 코드에 대해 계속 의심하는 습관을 가지는 것이 중요합니다. 사소한 실수가 큰 문제를 일으킬 수 있으므로 실험을 진행하는 동안 코드를 지속적으로 검토하는 것이 필요합니다. 2~3달의 시간을 들여 실험을 한 후에야 코드 오류를 발견할 경우 처음부터 다시 실험을 해야 할 수도 있습니다.


좋은 결과를 얻기 위해 실험 결과(수치, 결과 이미지 등)를 분석하고 아이디어를 수정하는 과정을 지속적으로 반복해야 합니다. 충분히 유의미한 결과가 도출되면 실험 내용을 체계적으로 정리하여 논문을 작성하는 것이 바람직합니다.




현실적인 연구 방법 & 팁


서베이

연구를 시작하기 전에 관련 분야의 대표적인 저널과 학회 논문을 꾸준히 읽는 것이 중요합니다. Computer Vision 분야에서는 CVPR, ICCV, ECCV 등이 대표적이며, AI 분야에서는 AAAI, ICML, NIPS, ICLR 등이 있습니다. 이를 통해 연구의 주요 이슈와 최신 동향을 파악할 수 있으며, 구글 검색을 통해 논문 리뷰나 유튜브 리뷰를 참고하는 것도 유용합니다.


문제점 파악 

이전 연구의 문제점을 파악하는 것은 단순한 생각으로는 충분하지 않습니다. 여러 환경에서 이전 연구를 테스트하고 결과를 분석해야 합니다. 대다수의 논문은 주로 좋은 결과만을 강조하기 때문에, bad case를 찾는 시각으로 접근하는 것이 중요합니다. 또한, 다양한 논문을 체계적으로 읽고 정리하는 습관을 통해 이전 연구들이 어떤 방식으로 문제를 해결하려 했는지 이해하는 것이 필요합니다.


문제 해결

다양한 분야에서 사용되는 방법들을 적절히 변형하여 연구에 적용하는 것이 효과적입니다. 예를 들어, NLP에서 사용되던 transformer를 vision 분야에 활용하는 연구가 나오면 이를 참고하여 새로운 접근법을 고안할 수 있습니다. 이러한 cross-domain 접근은 연구의 가능성을 크게 높이는 요소가 될 수 있습니다.


실험 

탑티어 논문들은 범용적인 기여도가 크지만, 특정 조건에서의 성능 향상을 목표로 한 연구도 중요합니다. 연구 초기에 모든 것을 완벽하게 해내기보다는 특정 상황에서의 연구 결과를 중심으로 실험을 계획하는 것이 현실적입니다. 예를 들어, 2D object detection에서 낮은 조명이나 악천후와 같은 환경에서의 성능을 개선하는 연구를 할 수 있습니다.


실험을 진행할 때는 ablation 실험을 포함하여 단계적으로 결과를 체계적으로 분석하는 것이 좋습니다. 또한, GPU 개수와 같은 실험 환경의 세부 사항을 미리 확인하고 적절히 조정하는 것도 중요합니다. 이를 통해 실질적이고 유의미한 연구 결과를 얻을 수 있습니다.




지금까지 주관적인 AI를 연구하는 석사과정 대학원생을 위한 연구 과정과 몇 가지 팁들을 소개해드렸습니다.


많은 대학원생들이 연구 성과의 높은 기준과 요구에 좌절하기도 합니다. 하지만 교수님, 학교, 학계 또는 주변에서 요구하는 높은 조건을 완벽히 만족시키지 못해도 본인의 목적과 관심을 바탕으로 한 연구를 통해 유의미한 결과를 도출하는 것이 중요합니다. 연구 성과에 너무 많은 스트레스를 받지 않고, 본인만의 논리적 사고와 엔지니어링 역량을 발휘할 수 있는 연구와 결과를 만들어내는 데 집중하시면 좋겠습니다. 이를 통해 자신의 연구 경험을 보다 의미 있고 전문적으로 성장시킬 수 있을 것입니다.


AI 엔지니어

AI 엔지니어에 대해 알아보자
-
 AI 엔지니어는 어떤 일을 할까?


AI 대학원 관련 글

AI 엔지니어로의 첫걸음
AI 분야 대학원 진학, 어떤점을 고려해야 할까?
AI 연구실 대학원생의 일과
AI 분야 대학원생의 연구 주제 선정 팁
AI 분야 대학원생을 현실적인 연구 가이드
비전공자도 AI 대학원 진학해도 될까?


AI 엔지니어 취업 관련 글

효과적인 딥러닝 공부 전략
AI 엔지니어로 취업하기
AI 엔지니어 취업 성공 전략
대학원 졸업해야 AI 엔지니어가 될 수 있나요?



매거진의 이전글 AI 분야 대학원생의 연구 주제 선정 팁
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari