논문을 최소 100편 읽어야 합니다

AI 문제를 풀 때 논문 100편은 필수 요건입니다

by 이준영

논문을 읽지 않으면 AI 문제를 제대로 정의할 수 없다


문제를 풀 때 가장 중요한 건 ‘문제 정의’입니다. 우리가 문제를 잘 정의했다면 이미 절반은 푼 것이나 다름없습니다. 그래서 빠르게 해결책을 찾는 것보다, 충분한 시간을 들여 문제를 제대로 정의하는 것이 오히려 전체 속도를 높이는 일입니다. AI 연구에서도 마찬가지입니다. 문제 정의가 명확하지 않으면, 이후의 모델링이나 실험은 길을 잃습니다.


문제 정의를 잘하기 위해서는 논문을 반드시 읽어야 합니다. 한두 편이 아니라, 넓고 다양하게 읽어야 합니다. 단순히 관련 연구를 나열하기 위해서가 아니라, 우리의 문제를 더 깊이 이해하고 제약조건을 구체화하기 위해서입니다.


예를 들어 새로운 분류기를 만들기 위해 외주로 데이터를 레이블링했는데, 생각보다 잘못된 레이블(noisy label)이 많았다고 가정해보겠습니다. 이때 논문을 읽지 않았다면 단순히 “레이블이 깨끗하지 않다”는 문제로만 인식했을 겁니다. 하지만 여러 논문을 읽다 보면 다양한 접근을 발견하게 됩니다. 어떤 논문은 여러 명에게 같은 데이터를 맡겨 데이터셋을 정제하라고 제안합니다. 그럼 우리는 “추가 레이블링 예산이 가능한가?”를 따져봐야 합니다. 또 다른 논문은 “수백 개의 클린한 데이터만 있어도 학습에 문제가 없다”고 말합니다. 그렇다면 “그 정도의 클린 데이터를 우리가 직접 모을 수 있을까?”라는 현실적인 질문을 던지게 되죠. 어떤 연구는 아예 외주 레이블링의 품질 저하 원인을 분석하기도 합니다. 이런 논문들을 읽으며 우리는 “우리도 같은 문제가 있는 건 아닐까?”를 점검해볼 수 있게 됩니다.


이처럼 논문을 읽는 것은 우리의 제약조건을 구체적으로 인식하고 문제를 더 정확하게 정의하기 위한 과정입니다. 좋은 문제 정의는 ‘무엇을 할 수 있고 할 수 없는가’를 명확히 아는 데서 시작됩니다. 논문을 다양하게 읽음으로써 우리가 풀고자 하는 문제의 제약 조건을 더 구체화해나갈 수 있고 이를 통해 더 좋은 문제 정의를 할 수 있습니다. 문제가 잘 정의되면 솔루션은 비교적 쉽게 찾아낼 수 있습니다.


논문을 읽지 않으면 AI 문제를 빠르게 풀 수 없다


어떤 연구자들은 논문을 충분히 읽지 않고, 일단 내 아이디어부터 구현합니다. “이렇게 하면 되지 않을까?” 하고 시도해보죠. 이렇게 해서 문제가 풀릴 수도 있지만, 대부분은 기대만큼의 결과를 얻지 못합니다. 그래서 또 다른 아이디어를 내어 시도하고, 여러 번의 이터레이션을 거치며 괜찮은 방향을 찾아냅니다. 이런 방식이 문제를 해결하지 못할 때도 많지만, 운이 좋아서 해결이 되더라도 나중에 돌아보면 이미 누군가 그 방법을 논문으로 공개해둔 경우가 정말 많습니다. 결국 우리는 시간을 낭비한 셈이죠. 논문만 미리 찾아봤다면 훨씬 더 빨리 그 지점까지 도달할 수 있었을 겁니다.


Hyperconnect AI에서는 관련 논문들을 가능한 한 폭넓게 찾아봅니다. NeurIPS, ICLR, ICML, CVPR 같은 top-tier 컨퍼런스 논문들을 우선 보지만, workshop이나 arXiv도 가리지 않고 검토합니다. top-tier 논문은 우리의 제약조건과 일치하는 경우가 많지 않지만, workshop 논문에서는 의외로 비슷한 제약과 방향을 가진 시도들을 자주 발견합니다. 그렇게 폭넓게 읽다 보면 시행착오의 폭이 확실히 줄어듭니다.


AI 조직 안에서 논문을 읽는 건 분명한 ‘일’로 간주되어야 합니다. 이미 누군가 겪은 시행착오의 기록을 통해, 우리 팀의 시행착오를 줄이는 가장 빠른 방법이니까요. 머신러닝은 비싼 기술입니다. 비싼 만큼 시행착오를 줄여야 이터레이션이 개선되고, 우리가 원하는 지점에 더 빠르게 다다를 수 있습니다.


어떤 논문을 선택해야 할까?


논문을 충분히 다양하게 검토했다면 어떤 논문을 선택해 구현할지 결정해야 합니다. 이때 많은 연구자분들이 SotA에 주목합니다. 하지만 SotA 모델들은 수많은 학습 트릭이 포함된 경우가 많고 하이퍼파라미터에 민감하며, 벤치마크 데이터에서는 잘 작동하더라도 회사의 데이터셋에서는 재현성이 낮은 경우가 적지 않습니다.

그래서 “좋은” strong baseline을 선정하는 것이 중요합니다. strong baseline을 잘 선정해야 이후 시행착오를 줄여 프로젝트의 성공 가능성을 의미 있게 높일 수 있습니다. 좋은 strong baseline은 아래와 같은 특징을 가지는 경우가 많습니다.


1/ 좋은 strong baseline은 다양한 데이터에서 일관된 성과를 보입니다. 여러 논문들의 실험 파트에서 반복적으로 등장하고, 각기 다른 방식으로 성능을 리포트하면서도 일관되게 준수한 결과를 보여주는 모델들이 있습니다. 논문마다 결과가 조금씩 다르더라도 평균적으로 안정적인 성능을 보인다면, 이런 모델이 좋은 strong baseline이 될 가능성이 높습니다.

2/ 성능이 비슷하다면 복잡도가 낮고 유지보수가 쉬운 모델을 strong baseline으로 택하는 것이 좋습니다. 오컴의 면도날처럼 단순한 모델이 오히려 여러 데이터에서 잘 작동할 가능성이 높습니다. 반대로 복잡한 모델은 하이퍼파라미터 튜닝에 많은 시간을 요구하고, 안정적으로 재현하기 어려워 리스크가 있습니다.

3/ 논문을 다양하게 읽다 보면 비슷한 계열의 아이디어들이 보이고 그중 여러 논문의 뿌리가 되는 논문이 있습니다. 같은 갈래에 속하는 여러 논문들이 뿌리가 되는 논문과의 차이를 설명하려고 애쓰는 경우가 많다면, 그건 좋은 strong baseline일 가능성이 큽니다. 그리고, 이런 논문들이 간단한 경우도 많습니다.

4/ 또 좋은 strong baseline은 코드가 공개되어있는 경우가 많습니다. 재현성에 대한 자신감이 있기 때문에 코드를 공개한 경우가 많을 것이고 해당 코드를 돌려봄으로써 시행착오를 줄일 수 있습니다. 생각보다 논문에 명시되지 않았던 학습 트릭이 들어있는 경우를 발견하는 경우도 흔합니다.


물론 우리가 찾은 논문들 중에 위 기준을 모두 만족하는 논문이 없을 수도 있습니다. 하지만, 우리는 찾은 여러 연구들 중에 시행착오를 가장 줄일 확률이 높은 논문을 우선적으로 선정해서 성능을 확인해야 합니다.

우리가 정한 strong baseline이 충분히 좋은 결과를 보여준다면 정말 행복한 상황입니다. 하지만, 대부분의 경우 우리의 기대치에 못미치는 경우가 많습니다. 그럴 땐 strong baseline의 어떤 점 때문에 성능이 부족한지를 찾고 strong baseline을 어떻게 변형하고 개선할지 고민해야 합니다. strong baseline을 설정하는 과정은 그런 의미에서 실험의 끝이 아니라 시작점에 가깝습니다.


결국 strong baseline을 세운다는 건 단순히 비교 기준을 만드는 일이 아닙니다. 이후의 모든 연구와 개선이 쌓일 수 있는 토대를 다지는 일입니다. 좋은 연구는 단단한 출발점에서 시작됩니다.


AI 문제를 풀기 전에 관련 논문을 100편 읽어야 합니다


논문을 읽어야 문제를 잘 정의할 수 있고, 논문을 읽어야 시행착오를 줄여 목표를 더 빠르게 달성할 수 있습니다. 이렇게 논문 읽기는 AI 연구에 있어 중요합니다.


Hyperconnect AI에서는 “새로운 문제를 시작할 때 저는 최소 100편의 논문을 조사해야 한다”는 원칙을 가지고 일하고 있습니다. 과하다고 생각하실 수도 있지만, 실제로는 그 정도를 봐야 다양한 솔루션을 검토할 수 있습니다. 100편을 보지 않았다는 것은 보통은 충분히 다양한 분야의 논문을 검토하지 않은 경우가 많습니다. 인접 분야를 포함해 이 문제를 풀기 위한 충분한 검토를 하기 위해서는 최소 100편의 연구를 봐야 합니다.


문제 정의에서의 논문 읽기의 중요성을 역설했 듯, 100편을 모두 꼼꼼히 읽어야 한다는 이야기는 아닙니다. 문제 정의를 할 때에는 다양한 논문을 빠르게 훑는 것이 중요합니다. 초록과 결론 기여부분을 집중적으로 보고 전체적으로 논문을 스키밍하면서 연구들을 본인만의 방식으로 그룹화합니다. 서베이 논문을 읽으면서 여러 논문들을 한번에 파악할 수도 있고, 요즘은 ChatGPT나 Gemini 에 탑재돼있는 연구 기능을 활용해 다양한 논문들의 갈래를 파악하는 것도 도움이 됩니다. 그렇게 논문들을 리스트업하고 주요 논문들에 나와있는 관련 연구(related works)들을 살펴보면서 다른 논문들에 대해서 조금 더 객관적으로 바라보기도 합니다.


수백편 정도가 아니라 읽어야 할 논문이 수천편 정도로 너무 많다고 생각이 들면, 문제 정의를 조금 더 좁게할 필요가 있습니다. 읽어야 할 논문이 너무 많은 경우는 정의한 문제가 너무 넓은 경우가 많고, 문제 정의가 제대로 안돼있을 가능성이 큽니다. 여러 논문들을 빠르게 스키밍하면서 우리의 제약조건을 제대로 파악하는 과정이 필요합니다.


문제 정의와 솔루션 선택을 포함해 논문은 최소 100편 이상 조사되어야 합니다. 아직까지 논문 읽기는 연구자들이 해야 하는 고유한 역할로 생각하고 있습니다. 시니어 연구자들에게는 2-3일 내에 끝마칠 것은 주니어 연구자의 경우에는 5일 안에 끝마칠 것을 가이드하고 있습니다.


논문 읽는 것이 습관화된 조직이 AI를 잘하는 조직이다


논문을 꾸준히 읽는 조직은 문제를 더 잘 풉니다. 각 연구자들이 더 많은 분야의 논문을 이해하고 있을수록, 새로운 논문을 읽는 속도가 빨라지고 문제를 푸는 속도도 빨라집니다. 또, 서로가 다른 배경지식을 가진 연구자들끼리 서로 연구에 대한 피드백을 주고받으면 조직의 문제 풀이 능력은 더 향상됩니다. 하지만, 이런 문화를 유지하는 것은 쉽지 않습니다. 연구자 본인은 스스로 충분히 논문을 탐색했다고 생각할 때가 많다고 느낍니다. 충분히 읽었다고 생각이 들 때 더 읽어야 합니다. 충분히 많은 옵션들을 검토하고 그 중에 최선의 옵션이 무엇인지 생각하는 조직이 되어야 합니다.

작가의 이전글어떻게 AI 문제를 풀어야 하는가?