ICML 재제출하며 들었던 생각... + 유학 지원한 결과가 하나씩 나오면서 드는 생각
1. 논문 낼 수 있을지부터 생각하지 말고 항상 내가 궁금한 것에 집중하자
처음 연구를 시작할 땐 분명히 "내가 궁금한 것" 자체에 motivate되었던 거 같은데, 리젝 2번을 경험하고 나니까 너무 리뷰어들이 어떻게 생각할지만 따지게 된 거 같다. 물론 논문 (글) 잘 쓰는 게 중요한 것도 맞고 어느 정도의 selling은 필요하다고 생각하지만... 억지로 필요 없는 구조를 만들어내서 노벨티를 강조하려고 하거나, 더 쉽게 설명할 수 있는데 굳이 수식 엄청 넣는다거나 할 필욘 없을 거 같다. 그래서 원래는 우리 메소드를 계속 수식으로 썼었는데, 이번 ICML은 그냥 코드 스타일의 알고리즘으로 써냈다. 다 쓰고 지난 번에 제출했던 거랑 비교해봤는데 진짜 차이가 심해서 깜짝 놀랐다.
- 왜 이런 메소드가 필요한건지에 대한 설명도 훨씬 잘되어있고
- 실험도 훨씬 체계적이고
- 여러 가지 아이디어 추가하면서 노벨티도 크게 늘어났고
- 글 자체도 간결하게 더 잘씀..
확실히 1년 동안 내가 발전한 게 느껴져서 뿌듯했다
그리고 주변에서 유학 준비하는 애들 보면 논문에 엄청 연연하고 (나도 그랬었고, 사실 100:1쯤 되는 ML 유학의 말도 안되는 경쟁률이 그렇게 만드는 거지만?) 그게 전부라고 생각하는데... 사실 우린 다 지금 21,22살밖에 안됐고 앞으로 30+년 더 연구해야되는데 벌써부터 논문에 연연하고 스트레스 받을 필요 없는 거 같다. 그냥 난 어느 곳으로 대학원을 가게 되든 그냥 최선을 다해서 재밌게 살려고 한다.. (절대 CMU, MIT 떨어져서 cope하는거 아님 ^^)
아 그리고 novelty에 대해 쓴 아래 블로그가 꽤 인상적이었다
https://perceiving-systems.blog/en/news/novelty-in-science
Novelty in Science
perceiving-systems.blog
Update) ICML Spotlight으로 붙었다 ㅎㅎ 그만큼 내가 많이 성장했다는 뜻 같아서 행복하네요😆
2. AI대학원에서 배운 것
나보다 나이 많은 사람들 앞에서 극도로 소심해지는 내 성격 이슈로 사람들과 별로 친해지진 못했지만... 솔직히 사수님이 내 정신개조를 시켰다 싶은 수준으로 배운게 많다. 2학년 때 있었던 랩 사수님은 너무 성격이 좋으셔서 무조건 잘했다고만 해주는 스타일이었는데, 이 분은 약간 솔직하셨음 그리고 엄청 똑똑하고 수학 잘하셨는데 난 확통 SU로 넘겨버리고 수학 놓은지 오래돼서... 도대체 내가 얼마나 멍청해 보였을까 ㅜㅜ (그래도 나 코딩은 잘하는데 보여드릴 방법이 없네;)
사수님이 한 말 중에 인상 깊었던 거:
1. 실험부터 하지 말고 가설부터 세우세요
2. 왜 사람들이 다른 모델 다 놔두고 ㅇㅇ학생 방법을 써야될까요? 성능 말고 다른 이유를 생각해보세요
특히 2번 조언은 이번 ICML 논문 쓰는 데에 진짜 큰 도움이 되었던 거 같다.
뭔가 나는 첫 연구 경험을 컴퓨터비전, 그것도 CVPR NTIRE competition 으로 시작해서 항상 성능이 연구에서 제일 중요하다고 생각하고 있었던 거 같다. 근데 당연히 그런게 아니었다. 애초에 빅테크에서 7B 30B 모델 학습시키는데 내가 3090 4장 가지고 어케 이김?
성능이 좀 떨어져도 내가 제시한 것만의 장점이 있는지 아니면 theoretically sound한지 (그럼 내 걸 가져다가 누가 scale할 수도 있는거고) 를 앞으로는 꼭 생각해보려고 한다
3. 전산 전공자로서 나의 장점을 항상 생각하자
ML은 수학이나 통계학 전공하고 오는 사람들이 많고, 그게 더 유리하다고 생각했었다. 특히 내가 요즘 하고 있는 generative model, rl/self-sup, comp bio (structure bio) 는 정말로 수학과 출신이 많은 거 같다... 그래서 원래 내가 생각했던 방법은 두가지였다
1. 분야를 바꾼다
2. 이제라도 수학 공부 (복전?)을 한다
뭐 1은 언제든지 가능하다. 그래서 오히려 더 아직은 이걸 고민할 단계가 아니라고 생각한다. 왜냐면 난 어차피 CS PhD 프로그램만 지원했고, 하다가 분야랑 안 맞는거 같으면 몇 년 더 다닐 각오하고 바꾸면됨!!
근데 2같은 방향은 사실 말도 안된다. 아니 수학 공부를 하는건 물론 필요하고 좋은데 그냥 난 내가 수학을 못한다는 걸 (딱 카이 평균 수준이라는 걸) 인정하기로 했다.. 그냥 적성이라는 걸 받아들이기로 했다. 그리고 내 적성을 생각했을때 내가 어떤 식의 연구를 해야되는지, 어떤 태도를 가져야 하는지 생각해봤다
1. 코딩을 잘한다
-> 빠르고 효율적이고 많이 실험하기
-> 연구를 최대한 잘 보여줄 수 있는 실험+시각화
-> 라이브러리 구축 + high reproducibility 로 내 연구를 잘 sell하기
솔직히 고만고만한 연구들은 결국 코드가 깔끔해야 인용 많이 되는걸 느꼈음..ㅋㅋㅋㅋㅋㅋ;
2. 개발을 할 수 있다
-> 간지나는 프로젝트 페이지나 demo를 통해서 내 연구를 잘 sell하기
3. Abstraction
수학을 관통하는 하나의 theme....이 무엇인지는 모르겠지만 cs는 abstraction이겠지? 근데 결국 내가 대학교에서 cs를 잘했던 것도 그런 abstract reasoning랑 잘 맞기 때문이라고 생각한다. 그런 내 적성을 살려서
-> 다양한 분야의 논문을 최대한 많이 읽고 연결 짓기
-> 조금 엄밀하지 못하고 근거가 부족하더라도 일단 상상해보기
-> 논문을 누구나 쉽게 이해할 수 있도록 잘 쓰기
4. 결론적으로 훨씬 열심히 살아야겠다
솔직히 내가 cs를 택한 이유는 flexibility 때문이었는데... 다른 직업으로 성공하려면 워라밸도 안 좋고 엄청 열심히 살아야 될 거 같아서... 근데 결국 no free lunch였다 cs라고 놀고먹을 수 있는 건 아니었음 하하 :))
대학교 때는 노느라 바빴지만... 박사과정 시작하면 정말 열심히 살아야지
댓글