일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 논문
- 카메라
- Qumi Q2
- 홈씨어터
- 크롬캐스트
- 온타리오
- DTS
- 파노라마
- Git
- NAS
- 수필
- 이클립스
- Dolby
- 홈시어터
- 미니 라우터
- 자바
- 대학원생
- 홍콩
- 5.1채널
- 프로그래밍 팁
- Slimport
- 사진
- Wamo
- 안드로이드
- Chromecast
- 샤오미
- nexus 5
- 소프트웨어 공학
- Java
- 캐나다
- Today
- Total
Lifove Story
행복한 대학원생 되기 - 2편: PhD가 되어가는 단계 본문
행복한 대학원생 되기 연재
1편: 왜 대학원생이 되었는가? (동기) (2015/05/03)
2편: PhD가 되어가는 단계 (2015/05/10)
3편: 수업 듣기 (Coursework) (2015/06/07)
4편: 문제 찾기 (2015/11/08)
5편: Literature Survey (문헌조사)
6편: 박사 자격 시험
7편: 학회와 저널 (2017/07/07)
8편: 논문 리뷰 (2016/05/13)
9편: 논문 쓰기 (2017/01/23)
10편: 지도 교수
11편: 학위 논문과 디펜스
12편: 졸업 후 진로 (2017/01/10)
1편에서 살펴보았듯이, PhD를 공부하는 대학원생들은 연구자, 그러니까 문제 해결자가 되기 위해 훈련받는 사람들이다. 그래서, 어떤 문제가 주어졌을 때, 문제를 해결하고, 또 나의 해법이 학문적으로 타당한지를 여러가지 이론과 실험으로 증명할 수 있어야 한다. 그리고, 이렇게 할 수 있는 사람에게 PhD라는 학위가 수여가 된다.
그러면, PhD를 받을 수 있는 문제해결자가 되기 위해서는 어떤 단계를 거쳐야 할까?
다양한 관점이 있겠지만, 대개는 문제를 찾고 해결한다는 관점에서 대학원생의 삶을 세 단계로 구분한다. 우리 연구실에서는 매년 신입 대학원생들이 올 때 마다, 지도교수님께서, 성공적인 대학원 생활을 위한 가이드 라인을 주시는데, 그 때 나누어 주셨던 3단계는 다음과 같다.
3단계까지 왔다는 것은, 비로서 문제해결자로서의 자격을 갖추게 되었다는 말이다, 그래서 3단계를 달성 할 때 쯤, 2단계와 3단계를 거치면서 작성한 논문들을 집대성해 박사논문을 쓰면, PhD라는 학위를 얻을 수 있게 된다.
1단계 이야기 (교수가 문제와 해법의 아이디어를 제시하고 학생이 아이디어를 구현/실험만 하는 단계)
박사 1년차는 어려운 수업(Coursework) 따라가느라 정신이 없지만, 대개는 교수님께서 하고 계시는 연구 프로젝트에 필요한 데이터를 뽑거나 일명 연구 노가다라 불리는 연구에 필요한 다양한 작업도 해야 한다. 실험까지도 직접 해야 할 때도 있다. 연구조교 (Research Assistant)로 교수님을 도와드리는 것이다.
사실, 많은 대학원생들이 이 것을 그냥 '일'로만 생각해서, 동기부여가 안되는 경우가 많은데, 사실 이 과정이 굉장이 중요하다. 1년차 때는 무엇을 연구해야 할지 연구주제 결정도 하지 못했을 가능성이 많고, 이 전에 처음부터 끝까지 논문을 써 본 경험이 없거나 부족하다면, 사실 연구를 위해서 실제적으로 내가 바로 할 수 있는 것들이 거의 없을 것이다. 그런데 마치 교수님 하시는 연구가, 나하고 별로 상관없이, 교수님으로 부터 장학금을 받으니 당연히 해야할 의무 쯤으로만 생각한다면, 재미도 없고, 내 시간과 노동력이 착취 당한다는 억울함이 생길 수도 있다. 그런데, 조금만 생각을 바꾸면, 내가 연구실에 들어온 이상, 내 연구주제가 교수님 하시는 연구와 동떨어질 수 없고, 교수님을 도와드리면서 하게 되는 일들을 통해, 연구에 필요한 Tool들을 익히고, 연구를 위해서는 어떤 데이터들이 필요하고, 또 아이디어들을 어떤 식으로 구현해야 하는지에 대한 것들도 배울 수 있게 된다. 그러니까, 1단계의 경험들 모두가 앞으로 2, 3단계를 위한 중요한 밑거름이고, 버릴게 하나도 없다는 것이다. 사실 내가 앞으로 뭘 할지도 모르기 때문에, 지금 하는 노가다가 앞으로 연구에 도움이 될까 의심이 들 수도 있지만, 내가 하는 노가다가, 어쨋든 교수님 하시는 연구의 문제를 해결하는 방법이기 때문에, 분명 앞으로 어떤 연구에서 1단계에서 경험했던 것들이 쓰일 수 있는 기회가 반드시 온다는 것이다. 경험은 버릴게 아무것도 없다.
내가 1학년 때, 교수님께서 소프트웨어 버그 관련 정보를 뽑아 달라고 하신 적이 있다. 그 때 뽑아드렸던 데이터로 IEEE Software라는 유명한 저널에 논문을 출판하셨는데, 자료를 뽑은 나의 이름과 함께 고마움을 Acknowledgement 섹션에 남겨 주셨다. 비록 저자는 아니었지만 탑 저널에 내 이름이 올라가는 순간이었다. 그 당시 연구 초자인 나에겐 그런 영광이 없었고, 추후의 연구에도 많은 동기 부여가 됐었다.
또 다른 경험은, 교수님께서 버그예측 분야의 문제와 해결 방법의 아이디어를 주시고, 논문을 써보라고 하셨다. 사실 그 당시, 해당 분야의 지식이 없어서, 교수님께서 주신 문제가 왜 중요한 문제인지, 전혀 감이 오질 않았다, 그래서 실험 결과가 잘 나온 건지, 이 것이 정말 연구자들과 소프트웨어 산업에 영향을 줄 수 있을지에 대해서도 정말 아무 생각이 없었다. 하지만, 논문 작업을 처음부터 끝까지 하면서, 버그예측 연구에 필요한 여러가지 도구를 다루는 방법, 또 실험을 설계하고 실행하는 방법 등 모든 관련 지식들을 배울 수 있었고, 그런 배움 자체가 재미가 있었다. 그런데, 안타깝게도 그 논문은 여러 번의 시도를 했지만, 어디에도 받아주는 데가 없었다.
이 논문을 쓰면서, 배웠던 모든 것들이, 지금의 연구 주제를 결정하는데 중요한 역할을 했다. 사실 그 때까지 내가 연구 관련해서 아는 것이라고는 버그예측 분야의 실험을 위해 어떤 도구를 사용하고, 실험을 설계하고 실행을 해야하는 지에 관한 것들이었다. 우리 연구실에 교환학생으로 온 형님 한 분이, 버그예측 관련하여 새로운 메트릭을 제안하는 논문을 쓰게 되었는데, 이 때 실험 설계 및 실행을 내가 맡아서 하게 되었다. 내가 실패했던 논문 프로젝트의 경험이 있었기에 가능했던 일이었다. 반가운 것은, 논문을 보낸 첫 학회가, 탑 소프트웨어 학회 중 하나인 Foundation of Software Engineering (FSE)이었고, 해당 논문이 당당히 학회지에 게재되는 영광을 누렸다. 2저자로 출판된 박사과정 첫 학회 논문이었다.
1단계는 정말 맨땅에 해딩하는 것들이 많은데, 어떤 것도 버릴게 없고, 결국에는 경험한 것들이, 언젠가 좋은 성과들을 내는데 많이 도움이 된다.
2단계 이야기 (교수는 문제만 제시하고, 학생이 문제해결을 위한 아이디어의 고안/구현/실험을 모두 하는 단계)
1단계의 경험으로 나는 버그예측 관련 연구에 필요한 도구들과 실험을 돌릴 수 있는 기본 능력을 키울 수 있었다. 이렇게 성장한 나를 위해, 교수님께서 버그예측 분야의 새로운 문제를 하나 던져 주셨다. 교차 프로젝트에서의 버그예측시 성능이 좋지 않은 문제를 어떻게 해결할 것인가에 관한 것이었다. 1단계와는 다르게, 2단계에서는 문제를 푸는 방법까지 생각해 내는 것이었다.
2단계가 문제를 해결하는 방법을 경험하는 과정이기 때문에, 연구자로서의 본질을 이해하는 굉장히 중요한 단계라고 할 수 있겠다. 문제를 해결하기 위해, 어떻게 하면 좋은 버그예측 성능을 달성할 수 있을지, 정말 셀수 없이 많은 시도를 했었다. 몇 개월 동안, 그러면서, 10페이지 학회 논문을 다 작성해서, 여러 번 제출했었고, 또 여러 번 거절 당했다. 거절 당할 때 받은 논문 리뷰어들의 코멘트를 받아, 또 다른 해결방법을 시도해서 수정한 다음, 다른 학회나 저널에 제출하는 일을 반복했다.
학회나 저널에 논문이 받아들여지지 않는 것을 Reject(리젝)이라고 표현 하는데, 리젝을 당하면, 속상하기도 하지만, 리젝 당하면서 남겨진 리뷰어들의 코멘트들이, 새로운 아이디어에 대한 힌트가 되어, 논문 개선을 위해 많은 도움이 된다. 이 논문이 여러번 리젝을 당하면서, 논문의 주제가 잠재성이 충분하다는 코멘트들은 빠지지 않았다. 그래서, 여러번 시도할 수 있었던 것 같다.
어쨋든 문제 해결을 위해, 마지막으로 시도했던 것이, Transfer Learning 이라고 최근에 Machine Learning분야에서 관심을 받고 있던 새로운 기술이었다. 우리 학교 졸업생 중 한 명이 이 분야의 전문가였고, 결국 그 친구를 내 논문에 2저자로 영입을 하게 되면서, 해당 문제를 더욱 개선 할 수 있었다. Transfer Learning이라는 새로운 개념을 도입하고 나의 문제에 맞게 개선을 하게 되면서, 또 다른 최고의 학회인 International Conference of Software Engineering (ICSE)에 1저자로 논문을 발표하고, 학회지에 실을 수 있는 영광을 얻게 되었다. 또 좋은 평가를 받아 해당 논문이 ACM Distinguished Paper Award 후보에 오르기도 했다.
Transfer Learning의 기술을 도입했기 때문에, 100% 나의 아이디어는 아니지만, 내 문제를 해결하기 위해, 존재하는 기술을 잘 도입하는 생각도 아이디어가 될 수 있고, 또 나의 실정에 맞게 해당 기술을 적절히 수정 보완한 부분도, 문제 해결의 새로운 아이디어로 인정받은 것이다. 이런 모든 것을 통해, 즉 문제해결 과정을 통해, 3단계로 성장할 수 있는 발판을 마련할 수 있었다.
3단계 이야기 (학생이 문제도 발견하고, 문제해결을 위한 아이디어의 고안/구현/실험을 모두 하는 단계)
논문을 쓰다보면, 항상 Future Work, 그러니까 후속 연구로 무엇을 할 것인지, 해결해야 할 또 다른 문제는 없는지에 대해서 논의를 해야 한다. 교차 프로젝트에서의 버그예측 문제를 풀어가는 과정 중에, 여전히 해결하지 못한 다른 문제들을 발견하는 일들은 지극히 자연스러운 일이다. 그런데, 비록 자연스러운 일이라고 해도, 연구로서의 가치가 있는 문제를 찾는 것은 쉬운 일이 아니다. 의미있는 문제를 찾았다면, 이미 연구의 50%는 성공했다는 말도 있다.
문제도 문제 나름이라, 작고 지엽적인 문제들도 있고, 오랫동안 풀지 못하는 난제들도 있다. 그래서 문제의 종류를 세 가지로 생각해 보았다.
(1) 연구의 판을 바꾸는 혁신적인 문제
(2) 이미 해결책이 있지만, 더욱 개선이 필요한 중요한 문제
(3) 조금 덜 중요한 문제
(1)번의 경우는 고도의 창의력이 있을 때 찾을 수 있는 문제이다. 아무도 문제라고 생각하지 못한 문제를 찾거나, 하루가 멀다하고 나오는 새로운 기술들을 아무도 생각하지 못한 일에 적용하는 것 등, 그래서, 해결된다면 우리 삶에 혁신을 몰고 올 수 있는 문제이다. 이런 문제는 미래를 내다 볼 수 있는 혜안이 없으면 찾기 힘들다.
(2)번의 경우는 꾸준히 한 분야를 파다가 보면, 기존의 연구성과들의 제한점들을 발견하게 된다. (2)번과 같은 유형의 문제는 해당분야의 전문가로 과거의 연구성과들을 잘 알고 있을 때, 발견할 수 있기 때문에, 꾸준히 논문들을 읽고 생각하며 공부해야 찾을 수 있다. 즉, 많은 노력이 필요하다.
좀 세속적으로 표현을 하자면, (1)은 천재형 사람들이 찾을 수 있는 문제이고, (2)는 노력형 사람들이 찾을 수 있는 문제이다. 내가 느끼기에는 (1)번 유형의 사람들은 (2)의 문제들에 그닥 관심을 갖지 못하고, 무시하거나 좀 지루해 하는 경향이 있는 것 같고, (2)번 유형의 사람들은 (1)의 문제들은 정말 천재들만 풀 수 있다는 일종의 넘사벽을 미리느끼는 것 같다. 하지만, 노력형 천재가 있듯이, (2) 유형의 사람이 정말 대가가 된다면, 결국 (1)의 문제들을 다룰 수 있게 된다.
사실 나는 (2) 유형이다. 2단계에서의 연구 주제였던, 교차 프로젝트에서의 버그예측 논문에 남겨져 있는 제한사항들을 발견 했다. 그 중 한 문제를 해결하는 논문을 작성했다. 현재, 학회에 제출해 결과를 기다리고 있다. (포스팅 후 3주 후 이 논문이 ESEC/FSE2015에 accept 됐습니다!) 2단계 때의 논문을 쓰면서, 해당 분야에 관련 논문들을 대부분 섭렵하게 되었고, 이 지식을 바탕으로 문제를 풀다보니, "추가로 이런 부분이 해결이 된다면 좋겠다"라고 생각되는 또 다른 문제들을 자연스럽게 발견할 수 있었다. 2단계에서 2년 동안 공부하면서 노력한 결과로 자연스럽게 찾은 문제였다. 아마도, 2단계에서의 부지런한 노력이 없었다면, 문제를 찾지 못했을 것이다.
또 작업 중인 다른 논문이 하나 있는데, 산학 협력과정을 통해 발견한 문제였다. 버그예측 기술들을 산업 현장에 적용을 하다가, 산업 현장이 가지고 있는 제한사항들 때문에, 기존 기술들을 적용하지 못하는 어려움이 있었다. 연구실에만 있으면, 실제 산업 현장에서는 어떤 어려움들이 있는지 알 수가 없다. 여기서 내가 발견한 문제는, 2단계에서 쌓아온 내공을 바탕으로 산업 현장의 현실을 알았기 때문에 발견할 수 있는 문제였다. 결국, 문제를 발견하고, 해결 방법을 고안해 내고, 실험을 통해 내가 고안한 해결책이 잘 작동하는 결과를 얻었다. 현재, 결과를 분석한 내용을 추가하여 논문을 작성했고, 학회에 제출 했다.
우리 지도교수님은, 초년차 대학원생 들에게, 항상 Crazy Idea가 있는지 물어보신다. 지금 생각해 보면, 아마 (1) 유형의 학생이 될 수 있을지 매번 확인을 하시는 것 같다. 난 교수님의 그 질문을 받을 때면, 늘 엄청 스트레스 였다. 아는게 없고, 아는 것도 체계적으로 정리가 되어 있지 않아서, 해결해야 할 문제들이 뭔지 잘 몰랐기 때문이다. 그러니, 1단계의 나였을 때는, 교수님의 질문에 전혀 답을 할 수 없었다.
2단계를 마칠 무렵에도, 언제나 그랬듯이 교수님께서 New idea가 있는지 물어보셨고, 2단계에서 쓴 논문에서 발견한 문제를 말씀을 드렸다. 이 때 중요한 것은, 내가 발견한 문제가 정말 해결할 만한 가치가 있는 문제인지를 검증을 받아야 하는데, 그 첫 관문이 지도교수의 검증이다. 다행히, 해당 문제와 간단한 해결 방법을 들으시더니, (1)번 유형의 문제가 아니라, 별로 흥미로운 반응은 주시지 않았다. 그런데, 의미있는 문제라고는 생각하셨던지, 풀어보라고 허락을 해주셨다. 그 때 느꼈던 기쁨은 이루 말할 수 없었다. 3단계를 시작할 수 있게 됐기 때문이다.
(1) 유형의 학생이 되기를 요구하는 교수님 밑에서, 정말 많이 힘들었었다. 교수님은 계속 (1)의 유형의 학생이 되기를 원하시는데 (사실 교수의 가장 큰 기쁨은 학생들이 자기보다 더 나은 연구자가 되는게 아니겠는가?), 그 기대에 별로 부응 못하는 거 같아, 내가 연구자로서 자질이 없는가 라는 자책을 꾸준히 안고 대학원 생활을 했다. 아마 (2)번 유형의 연구가 있다는 것을, 또 이런 방향의 연구도 의미있고 중요하다는 것을, 스스로 깨닫지 못했다면, 아마 못 견뎠을 것이다. 혹시라도, 본인이 (1) 유형의 연구자가 아닌 것 같아 낙담하는 마음이 있거나 열등감이 있다면, (2)번 유형의 문제 해결자도 훌륭한 PhD임을 기억했으면 좋겠다. 물론 (1) 유형의 연구자가 된다면, 최고의 PhD임이 분명하겠지만, 천재가 아닌 이상, (2)의 문제를 해결하는 내공이 없으면 (1) 유형의 연구자가 될 수 없을 것이다.
그럼 (3) 유형은 중요하지 않은 것인가? 사실 (3)의 문제를 푸는 경험은 (2)로 가는 기본적인 밑거름이 된다고 생각한다. 그런데 사실 나는 (3)의 과정을 경험 하지 못했다. 아마도 우리 교수님의 대학원생 지도 철학과 연관이 많은 것 같다. 지도교수의 연구 성향 유형이 여러개 있는데, 유형 별로 장단이 모두 존재한다. 10편에서 자세히 나눌 기회가 있겠지만, 우리 지도교수님은, 그렇고 그런 논문을 다작 하는 것 보다, 최고의 학회나 저널에 양질의 논문을 출판하는 것을 더 중요하게 생각 하시는 것 같다. 그래서, 교수님 밑에 있는 박사과정 학생수에 비해, 논문의 수는 많지가 않다. 박사 3년차에도 논문 하나 출판하는게 쉽지가 않다. 하지만 출판되는 논문들은 모두 최고의 학회나 저널에 등재가 된다. 쏟는 시간과 노력에 비해 금방 연구성과가 나타나지 않아, 연구과정이 지루하고, 지치기도 하고, 동기부여도 잘 안됐다. 그렇지만, 결국에는 좋은 학회에 논문들을 출판할 수 있었다. 사실 이런 과정을 거쳐서 논문이 되면, 엄청 기쁠 줄 알았는데, 물론 기쁘긴 하지만, 이 거 할려고, 내가 이렇게 시간을 보냈는가라는 허무함도 많이 든다. 아마 이 것은 내 성격 탓인 것 같다.
멀지 않은 미래에, 만약 내가 지도교수가 된다면, 학생들이 (3)의 작은 문제부터 시작하도록 돕고 싶다. 그래서, 학회 전에 워크샾 같은 곳에 출판할 수 있는 수준의 논문들도 써서, 짧은 논문이지만, 출판의 기쁨을 여러번 느끼고, 그래서 점진적으로 더 크고 중요한 문제인 (2)번 문제, 그리고, (1)번 문제까지 갈 수 있는 동기를 부여해 주고 싶다. 물론 처음부터 (1) 유형의 성향이 있는 학생들은 이런 방식을 좋아 하지 않겠지만...
아무튼, 우리 지도교수님께서 내가 3단계까지 왔다는 것을 인정해 주셨는지, 2단계 논문과 아직 출판되지 않은 3단계 두편의 논문을 합쳐서 박사 논문을 쓰도록 허락을 해주셨고, 올 여름에 최종 박사 논문 심사가 있다. 어서 빨리 그날이 되어서, 새로운 출발을 하고 싶다.
지금 대학원 생활을 하고 있다면, 나는 지금 어느 단계인지 고민해보고, 이 번 포스팅이, 한 단계 성장을 위해 무엇을 해야할지 생각할 수 있는 작은 기회가 되었으면 좋겠다.
글이 도움이 되셨다면 공감을 눌러주세요!
'Lifove Research' 카테고리의 다른 글
행복한 대학원생 되기: 12편 졸업 후 진로 (4) | 2017.01.11 |
---|---|
행복한 대학원생 되기 - 8편: 논문 리뷰 (4) | 2016.05.14 |
행복한 대학원생 되기 - 4편: 문제 찾기 (0) | 2015.11.08 |
행복한 대학원생 되기 - 3편: 수업 듣기 (Coursework) (4) | 2015.06.07 |
행복한 대학원생 되기 - 1편: 왜 대학원생이 되었는가? (동기) (2) | 2015.05.03 |