논문형식의 CV에 대한 고찰 (A contemplation on writing CV in the form of a thesis)

Mingi Kwon

Abstract

나는 1996년생이며 강원대학교 전자공학과를 졸업하여 현재 연세대학교 인공지능 대학원에서 석사과정을 밟고 있다. 연구분야는 ComputerVision, 그 중에서도 생성모델을 연구중이다. 대부분의 CV는 자신의 이력을 나열하고 여러 성과들을 보여준다. 하지만 나는 새로운 방식의 CV를 작성하려 한다. 이 글은 기존의 여러 CV들과 달리 ‘나’라는 사람을 조금 더 많이 보여주는 CV를 논문 형식으로 작성한다. (컨셉이다.) 이 글은 권민기라는 사람이 어떤 사람인지 궁금한 사람들에게 큰 도움을 주는 글이다. 모두 사실만을 기반으로 하였으며 권민기에 대한 state-of-the-art 글임을 밝힌다. * 2년만에 수정을 하러 들어왔다. 굉장히 낯간지럽다. 과거의 나. 대체 무슨 짓을 해놓은 것인가..

나의 스토리를 보고 싶다면 Introduction을, 내가 보유한 skill이 궁금하다면 Method를, 경력이 궁금하다면 Experience를 참고하라. 출판되는 내 논문들은 References에 추가될 예정이다.

Introduction

나는 어떤 사람인가를 남들에게 말하는 것은 매우 어렵다. 오랜 기간 친하게 지낸 친구들 조차도 내가 어떤 사람인지 파악하지 못하는 부분이 있기 마련인데 일면식도 없는 누군가에게 나에 대해 알려주기란 참 어려운 일이다. 그리고 그것이 고작 글 몇줄이라면 그 속에 나라는 사람을 온전히 녹아내는 것은 더더욱 힘든 일이다.
나는 이 글을 통해 나라는 사람에 대해 최대한 온전히 전하고자 한다. 기업에 제출하는 것도 아니고, 특정한 형식이 있는 것도 아니다. (물론 논문 형식을 사용하고 있지만 이것은 어디까지나 내가 자유롭게 사용한 형식일 뿐이다.) 따라서 이 글을 보는 불특정 다수에게 나의 스토리를 통해 능력과 더불어 어떤 사람인지까지 전하고자 한다.

나는 어렸을 때 부터 코딩 비슷한 것들을 해왔었다. 시작은 불순한 동기였다. 부모님께서 막아두신 컴퓨터를 뚫기 위해 처음 시작한 프로그래밍은 학창시절 선생님 몰래 컴퓨터실에서 인터넷을 하기 위한 방법으로 발전했다. 친구들의 컴퓨터를 원격으로 종료시켜보기도 하고 경고창을 엄창나게 띄우는 프로그램을 만들기도 하고 중학교 전교의 컴퓨터를 꺼보기도 했었다. 하지만 놀랍게도 그 모든 것들이 코딩이라는 자각이 없었고, 개발자라는 직군에 대해 단 한번도 생각해 본 적이 없었다. 코딩은 그저 한 악동의 장난감이었을 뿐이었다. 하지만 재미없는 것은 지독히 안했던 성격탓에 공부는 소홀히했고, 내가 다녔던 현대고등학교에서 거의 제일 낮은 학교인 강원대학교 전자공학과에 진학하였다. (실제로 비슷한 내신 성적을 가진 친구들은 모두 SKY ~ 중경외시 안으로 들어갔다.)

그리고 학부 1학년 2학기에 C언어 수업을 듣게 되었었다. 난생 처음 배운 코딩이었지만 내가 알고 있던 것들 이었다. 흥미가 생겼고 가장 재미있었다. 그 때 개발자라는 방향성을 가졌던 것 같다.
이러한 방향성을 확인해 보고자 군대를 가기 전 무턱대고 프로그래밍을 하는 회사들을 찾아보며 일을 해보려 시도했었다. 운이 좋게도 지인 소개를 통해 들어간 회사에서 3개월 가량 프리랜서로 일할 수 있었고, 개발자에 대한 방향성은 더 짙어졌다. 당장 생각나는 일화를 하나 풀어보자면, 해당 회사의 사장님께서 특정 매뉴얼의 문서를 작성해달라 요청하신 적이 있다. 2주의 시간을 주셨는데, 복사 붙여넣기와 반복적인 작업이 많은 일이었다. 나는 그걸 직접 작성하는게 아니라 약 1주일의 시간을 코딩에 매달렸고, 1주일 후 엔터 한번에 모든 매뉴얼 문서를 완성했던 기억이 있다. (사장님이 정말 좋으신 분이였어서 본인은 2주를 기대했다며 1주간 쉬라고 하셨었다.) 이후 ‘인공지능’에 관심을 가지게 된 것은 군대에 있을 때였다. 육군 7사단에서 근무하면서 상병쯤 되었을 때 개인시간이 엄청나게 늘어났었다. TV를 안보던 내가 택한 것은 인터넷 강의를 듣는 것이었다. MOOC와 EdX, 그리고 edwith 등을 통해 아무 이유 없이 인공지능 수업을 들었었다. 그 당시에는 아직 인공지능이 엄청나게 널리 알려지기 전이었기에 대부분 외국 강의를 들었었고, 고려대학교에서 제공했던 인공지능 수업도 들었었다. 운이 좋아 해당 수업을 가장 열심히 들었다며 공과대학장상을 받기도 했다. (무려 2016년 일이다.)

나는 주변에서 ‘머리가 좋다’는 말을 자주 들었다. 그리고 ‘머리는 좋다’는 말도 많이 들었다. 하기 싫은 것을 안했었다. 수학은 재미있었으나 영어는 재미가 없어 고등학교 내신 수학 2등급, 영어 8등급을 받던 학생이었다. 학부시절 때 열심히 공부하진 않았지만 높은 학점을 받았다. 최종 학점이 4.2/4.5인 것을 생각해보면 혹자는 성실한 대학생활을 보냈으리라 생각할 것이다. 하지만 현실은 수업시간에 수업을 재밌게 들은 것이 전부였다. 전공 수업이 재밌었고, 재밌게 느끼는 것에 대해서 만큼은 곧 잘 하던 내 성격 그대로 학점이 나왔던 것 같다. 대신 남는 시간에 인공지능 공부를 조금씩 했었다. 군대 전역 이후에도 꾸준히 조금씩 인공지능 관련 강의들을 들었었다. 사실 듣기만 했을 뿐, 공부하지는 않았다. 그저 재미있는 영상이었다. 평소에도 과학과 수학 관련 유튜브 영상을 즐겨보던 내게 있어서 하나의 유희였던 것 같다.

알고 있는 것을 사용해보고 싶은 나의 욕구로 인해 학부 4학년 때 만든 졸업프로젝트는 엄청난 스케일로 제작되었다. 피아니스트 친구와의 대화를 통해 모든 악보마다 자신만의 운지법을 찾는데 2주 가까운 시간이 걸린다는 이야기를 들은 적이 있었다. 이를 모티브 삼아 “새로운 악보가 주어졌을 때 자신에게 맞는 운지법을 추천해주는 시스템”을 만들었다. 먼저 영상을 통해 피아노의 건반과 치는 사람의 손가락을 인식한다. 전자피아노를 사용하여 어떤 건반이 언제 눌렸는지 알아낸 뒤 건반 위에 어떤 손가락이 있는지 인식한다. 얼만큼의 시간동안 건반을 눌렀는지, 어떤 손가락으로 눌렀는지 기록하여 데이터화한다. 이를 통해 박자와 음 그리고 이전 손가락 번호를 가지고 다음 손가락 번호를 예측하는 모델을 학습시킨다. 새로운 악보를 넣어주면 해당 악보의 박자와 음을 가지고 운지법을 추천해준다.
지금와서 생각해보면 아쉬운 부분들이 꽤나 있지만 결과적으로는 완성하였고, 동작하였다. 이를 통해 대학교 전체 졸업프로젝트 중에서 대상을 수상하여 강원대학교 총장상을 받기도 하였다.

사실 졸업 이후에 바로 취직을 시도하였었다. 하지만 인공지능 관련 분야는 석사 이상만 채용을 하는 것을 보고 급하게 대학원 진학을 선택하였다. 그리고 현재는 박사과정을 할지 고민중에 있다. -> 연세대학교에서 석박 통합 과정을 하고 있다.

나는 불편한 것을 못참는 성격이다. 지금껏 꽤나 다양한 프로그램들을 ‘나의 필요에 의해서’ 만들어왔다.
코로나 이후엔 잘 가지 않지만 그 이전에 매주 가던 교회에서 사람들의 출석여부를 수기로 기록했었다. 나름 규모가 있는 교회였기에 해당 부서의 인원만 500명에 달했었는데, 이를 모두 손으로 체크한 뒤 엑셀로 정리하는 모습을 보았다. 비효율적이라 생각되어 간단한 웹사이트를 통해 조장이 조원들의 출석여부를 체크하고 자동으로 구글 스프레드시트에 기록되도록 만들었다. 이후 2년이 넘게 지속적으로 사용되었으며 출석 데이터를 통해 조원 편성이나 기타 여러 곳에 활용하기도 했었다.

대학원에 진학하고 가장 먼저 하게 된 일은 당연하겠지만 논문을 읽는 것이었다. 인공지능 논문은 arxiv.org 에서 가장 많이 받아 보는데 이 사이트에서 논문을 받으면 파일 이름이 숫자로 되어있다. 파일 정리를 위해 이를 매번 논문 제목으로 바꿔주는 것이 불편하여 크롬 확장프로그램을 하나 만들었다. 자동으로 파일 이름에 논문 제목, 저자, 연도를 기입되도록 만들었다. 사용자가 점점 늘어 현재 1000명 가까이 사용하고 있다.

연구실에서 사용되고 있는 GPU들을 확인하고 비어있는 GPU를 찾아 학습을 돌리는 일이 많았다. 불편해서 특정 구글 스프레드시트에 여러 서버들의 GPU 상태와 사용자를 적어주는 프로그램을 만들었다. 이를 통해 한번에 현황을 확인할 수 있게 되었고, 현재까지도 높은 만족도로 사용중이다.

이 외에도 프리랜서로 일하던 시기에 메뉴얼을 자동으로 만들어주는 프로그램을 만들기도 했었으며 군대에서도 매일 반복되는 업무들을 모두 클릭 한번에 자동화시키기도 했다.(이는 나중에 감찰이 들어와 모두 지워졌다..)

자 이제 나에 대해 정리를 해보자. 재미있는 일을 잘하며 불편한 것을 싫어한다. 주도적으로 그리고 창의적으로 무언가를 찾아 문제를 해결한다. 하지만 재미없는 일은 잘 안하는 편이다.

본래 논문에서 Related Work는 같은 분야의 다른 논문들을 소개하는 장이다. 하지만 CV에 있어서는 불가능하므로 introduction과 관련있는 일들을 서술한다.
introduction에서는 코딩과 인공지능에 중점을 두어 서술하였다. 이 과정에서 빠진 이야기들이 많다.
우선 나는 국제 발명대회에서 금메달을 수상한 적이 있다. 메이커톤에 출전하여 화재 시 레이저를 통해 탈출 방향을 알려주는 기계를 만들었다. 안개 속에서 레이저가 더 잘 보이는 특성을 이용하여 비상구 방향으로 움직이는 레이저를 통해 직관적으로 동선을 유도하였다. 이는 국제 특허도 출헌되었다. 강원대학교에서 선발한 8명에 포함되어 미국에서 수업을 듣는 기회를 가졌다. 미국 뉴저지 소재의 불룸필드 대학교에서 8주간 리더십 캠프 과정을 거쳤으며 뉴욕 소재 무디스회사의 개발자분께 프로그래밍 수업도 함께 받았다. 데이터베이스 관련 회사에서의 4주간 인턴 경험이 있다. 공공데이터 활용 수료증을 가지고 있다.
또한 사업계획서를 2번 써보았으며 2번째 작성한 사업계획서는 현재 3명의 팀원으로 진행중이다. 개인적인 취미로 해외 유튜버 Veritasium의 영상을 한국어로 더빙하여 올리는 일을 하고 있다. 유튜브 채널이 궁금하다면 페이지 최하단의 유튜브 버튼을 클릭하자. (구독과 좋아요..?)

논문도 많이 썼다. 믿기지 않을 만큼 굉장히 열심히 살아왔던 것 같다.

  • (공동1저자) Understanding the Latent Space of Diffusion Models through the Lens of Riemannian Geometry [Neurips2023]
  • (공동1저자) Training-free Style Transfer Emerges from h-space in Diffusion models [WACV 2024]
  • (1저자) Diffusion Models already have a Semantic Latent Space [ICLR2023 spotlight]
  • (2저자) FurryGAN: High Quality Foreground-aware Image Synthesis [ECCV2022]
  • (공동1저자) Unsupervised Discovery of Semantic Latent Directions in Diffusion Models [Just arxving]
  • (공동1저자) Attribute Based Interpretable Evaluation Metrics for Generative Models
  • (1저자) Comming Soon text-to-video paper
  • (공동저자) Coming Soon Motion Customization Video Diffusion Model paper
  • (공동저자) Coming Soon Plug and Play Diffusion Distillation paper

공동 1저자가 굉장히 많다. 사실 저 모든 논문들이 근 1년간 써진 논문들이다. 석사 기간 2년간은 배우는 단계였던 것 같고… 그 이후에 하고 싶은게 많지만 손이 없어 다 못한 시절동안 공동 1저자 논문을 많이 썼던 것 같다. 함께 논문을 써준 저자들에게 무한한 감사를 남긴다.

중간에 삼성 휴먼테크 금상 수상을 했다. // 큰 상이다.

또한 서울시에서 주최한 Seoul AI에 연사로 초청되었다가 컨퍼런스 일정 기간동안 전화를 못받아 일반 발표자로 강등(?) 당한 이력도 가지고 있다. 오세훈 서울 시장이 왔다고 하는데 못봤다. ㅋㅋㅋ

현재는 창업도 겸하고 있다. Giverny / Cinelingo ai 잘 되면 좋겠다.

Method

나는 다양한 프로그래밍 언어를 다뤄봤다. C/C++, Java, Python, Javascript, html, CSS, php, R, sql, asp, VB 등등 언어 자체는 많이 다뤄봤다. 웹 같은 경우 Spring과 Angular를 사용해봤으며 데이터베이스와 연동하여 동작하게 할 수 있다. C/C++은 임베디드 시스템 개발에 사용해보았다. 전자공학과의 지식도 가지고 있어 회로설계 및 여러 센서들의 데이터 통신 코딩도 가능하다. 안드로이드 어플도 만들어 봤으며 FPGA 코딩도 해보았다.
하지만 최근에는 pytorch를 사용한 인공지능 관련 코딩만 하다보니 다른 스킬들은 다 잊은 듯 하다… 리눅스를 자유롭게 사용하며 GPU관련 여러 세팅을 무리없이 할 줄 안다. 도커 및 singularity를 사용할 줄 알고 다양한 환경을 빠르게 습득하는 편이다.

자기자랑일수도 있지만 코딩을 잘하는 편인 것 같다.

Experience

대학원 생활을 해오고 있다.

훌륭하신 어영정 교수님 밑에서 정말 많은걸 배우고 습득했다. 여기에는 지식과 연구적 방법 뿐 아니라 인성과 사람을 다루는 법 또한 포함된다.

Adobe에서 6개월간 인턴 경험이 있다. 미국 실리콘밸리에서 6개월을 보냈다. 전체 Adobe research 인턴들 중에 유일하게 inperson으로 3개월이 연장되어 6개월간 일한 케이스이다.

Conclusion and discussion

나는 어떤 사람인가. 이 글만 보았을 때에는 자기자랑을 수없이 많이 늘어놓은 사람처럼 비춰질 수도 있을 것 같다. 하지만 내가 전달하고자 하는 이야기는 간단하다. 나에게 있어 코딩은 도구이며 실제로 여러 문제를 해결하는데 사용하는 사람이라는 것이다. 재미를 추구하며 과학과 수학을 좋아하는 사람이다. 흥미가 없는 일은 손이 잘 안가는 사람이며 반대로 흥미를 가지면 창의적인 시각을 겸비하여 덤벼드는 사람이다. 또한 나는 노는 것도 엄청나게 좋아한다. 당구, 볼링, 탁구, 농구, 축구 등 다양한 스포츠를 어느정도 준수하게 할 줄 알고 노래방, 보드게임방, 만화방, PC방 등등 거의 모든 것들을 좋아한다. 게임의 경우 하스스톤이라는 게임 대회에 출전하여 수상한 경험까지 있다. 유튜브 보는 것을 즐기며 술도 좋아한다. 다만 시끌벅적한 술자리를 좋아하는 것은 아니여서 소수 인원이 모여 마시는 것을 선호한다. 꽤나 많은 시간을 이러한 여가시간으로 보내는 사람이다.

References

  • (공동1저자) Understanding the Latent Space of Diffusion Models through the Lens of Riemannian Geometry [Neurips2023]
  • (공동1저자) Training-free Style Transfer Emerges from h-space in Diffusion models [WACV 2024]
  • (1저자) Diffusion Models already have a Semantic Latent Space [ICLR2023 spotlight]
  • (2저자) FurryGAN: High Quality Foreground-aware Image Synthesis [ECCV2022]
  • (공동1저자) Unsupervised Discovery of Semantic Latent Directions in Diffusion Models [Just arxving]
  • (공동1저자) Attribute Based Interpretable Evaluation Metrics for Generative Models
  • (1저자) Comming Soon text-to-video paper
  • (공동저자) Coming Soon Motion Customization Video Diffusion Model paper
  • (공동저자) Coming Soon Plug and Play Diffusion Distillation paper

Appendix

학력
반원초등학교
경원중학교
현대고등학교
강원대학교
연세대학교 대학원

군대
7사단 8연대 수색중대 만기전역

소속 연세대학교 인공지능 대학원 Cinelingo

Written on March 13, 2022 / Updated Feb 11, 2024