/ The Blog of Jinho Ko / Computer science

·

12 min read

Writing for Computer Science (Justin Zobel 저) - Part.2

By Jinho Ko

3. Reading and Reviewing

Reading is about discovering the importance of developing an understanding. 많은 연구자들은 5년 이상 연구를 해야 그들의 가장 훌륭한 연구를 한다고 하는데, 그것은 분야에 대한 깊은 이해에 시간이 필요하기 때문이다. 이를 위해서는, 효율적인 reader가 되어야 한다. Reading은 scientific process의 가장 핵심이다. 비평과 분석이 요구된다. 또한, intellectual test와도 같은reviewing은 다른 이들의 일에 대한 깊은 이해와 책임감이 요구된다. Review를 하는 것은 reviewer 본인에게도 도움이 되는데, 연구에서의 여러 실패사례를 직접 보여주기 때문이다.

Research Literature

연구가 끝나갈 때 쯤이면, 너의 연구에 관련된 모든 literature에 대한 파악이 되어야 한다. 이 작업은 너의 일이 novel하거나 innovative함을 보여주고, 또한 새로운 질문이나 다른 시각을 가지게 해 준다. 이들은 source of knowledge지만, lab notebook과 같은 primary source는 포함하지 않는다.

연구자가 논문을 완성하기 위해 정말 잘 알아야 할 논문의 수는 적은 반면, 관련성을 찾기 위해 확인해야 하는 논문은 많다. 따라서 다양한 reading mode를 가질 수 있어야 하며, 이 작업은 productive cycle 안에서 이뤄져야 한다.

Finding Research Papers

대부분의 문헌 조사 작업들은, 다른 연구자들이 이미 해 놓은 경우가 많으며, 이것을 잘 찾아야 연구 속도를 앞당길 수 있다.

다음의 연구 논문 찾는 방법들을 참고하자.

  • Obvious search terms을 쓸 것. (나의 경험 상, 잡다한 수식어는 빼는 것이 좋고, 문장보다는 핵심적인 단어들을 나열해서 검색하는 게 더 잘 나온다. 또한, 가장 중요한 것은, "무조건 들어가야 하는 단어"를 꼭 추가하는 것인데, 예컨대 "이 주제를 논하려면 무조건 이 단어가 포함되어야 한다" 하는 것들이 있다. 그 단어들을 먼저 포함해야 하는 것 같다.)
  • 비슷한 연구 분야의 랩 페이지를 찾아가 보고, 여러 사이트들을 두루두루 뒤져 볼 것.
  • 좋은 논문들의 reference를 follow-up할 것
  • Journal이나 conference의 recent issue를 참고할 것.
  • arXiv.org
  • 다른 사람들을 참고할 것, 내가 찾는 주제를 이미 알고 있는 사람이 있을 수 있음.

논문을 읽을 때, terminology에 대한 이해를 명확히 하거나, 논문의 중요도를 가려내는 것이 중요하다. Preprint, conference, journal version이 다 있는 논문의 경우 저자가 definitive하다고 하는 논문을 읽자.

“Relevant"한 논문의 정의를 넓게 잡자

  • 단순히 competing method인 것을 넘어,
  • 다른 분야에서 interesting insight를 보이는 것
  • benchmark가 있는 것
  • 나의 연구에 적용할 수 있는 좋은 이론

모든 relevant work를 찾는 건 어려우나, 모든 significant work를 찾는 것은 무조건 해야 한다. Searching과 Reading은 별개이며, 우선 uncritical하게 자료를 모으고 critical하게 분석해서 정리하는 게 좋다.

문헌조사를 끝내면, 더 이상 기존의 아이디어가 기존의 아이디어가 아님을 확인할 수 있다. 이후, 자신의 연구에 관해 what aspects may be novel한지 명확해진다. 동시에, 다른 사람이 이미 한 일이더라도 내가 contribution을 할 수 있음을 기억하자.

Critical Reading

Challenge: whether to believe what you read. Rule of thumb은, 1-2년 이상 되었으나 출간되지 않은 논문은 어딘가 문제가 있는 논문이다. 저자의 다른 논문을 통해 검증하는 작업을 거치자.  많은 논문은 misguided되어 있다:

  • 수학이 의미없거나
  • 이상한 성질이 증명되었거나
  • 가정이 비합리적이거나
  • 평가 방법이 말이 안 된다던지
  • 사용된 데이터가 약하거나
  • 그냥 틀렸다

일부 논문은 완벽한데, 그들은 대부분 새로운 work을 제시한 것이라 그런 것일 수 있으며, 어떤 논문은 기술적으로 outdated된 assumption을 따른다. 따라서, 모든 논문에 대해 questioning, balanced, and skeptical한 포지션을 취해야 한다.

가져야 할 critical questions는 다음과 같다.

  • Contribution이 있으며, 그것이 significant한가?
  • 결과가 올바른가?
  • 올바른 Related work가 잘 서술되어 있는가?
  • 방법론이 실제 question을 반영하는가?
  • Proposal과 결과가 critically analyzed되어 있는가?
  • 합리적인 결론이 도출되었는가?
  • 기술적 세부사항이 모두 올바른가?
  • 결과가 증명될 수 있는가?
  • 심각한 모호함이 존재하는가?

이는 곧, 단순히 읽어제끼는 게 아니라 contribution과 shortcoming을 명확히 하는 데 있다. 중요한 논문이라면 각 component에 대한 formed opinion이 다 생길 때 까지 읽어야 한다. 그리고, 연구를 진행함에 따라 논문을 보는 시각이 달라지므로, 논문 reading은 연구가 끝날 때 까지 해야 한다.

Developing a Literature Review

TODO

Authors, Editors, and Reviewers

저자가 논문을 완성하면, editor(of the journal)이나 PC(of the conference)에게  전달되면, 이후 editor는 reviewer에게 논문을 평가하게 하고 평가를 돌려받는다. 저자는 paper의 내용이 올바름을 책임지는 궁극적인 주체가 되어야 한다. 리뷰어는 공정해야 하며, conflict of interest를 피해야 한다. 리뷰를 조속히 해야 하며, 리뷰어로써의 한계를 명확히 해야 하고, venue의 standard에 분명히 부합하는 논문만 acceptance를 추천해야 한다. Editor는 reviewer를 적절하게 골라야 하며, 의견이 갈릴 때 중재해야 한다. Guidance를 받은 적 없는 초짜 저자들은 자신의 결과물에 대해 확신이 많은데, 이 때 그들을 잘 설득하는 것도 중요하다. 특히, 대부분의 strong results들은 틀렸으며, 리뷰어들은 이에 대해 언짢아한다.

Contribution

The contribution is the main criterion for judging a paper. Contribution을 구성하는 두 요소는 originality와 validity이다.

Originality는 제시된 아이디어가 명확하고 새로우며 흥미로운 정도이다. 혁신적인 아이디어는 드물다. 그럼에도 불고하고, 이러한 아이디어들이 더 가치있는 것은 사실이다. 이 경우 through and writen well paper만이 marginal new idea를 가지고도 통과될 수 있다. 많은 훌륭한 아이디어들은 돌이켜보면 다 명확하고, 오히려 덜 복잡하다. 그 이유는 이 저자들은 설명을 잘 하기 때문이다. 실제 존재하는 문제인지 파악하는 것 역시 중요하다. 기존 아이디어를 organizing하는 것이나 reevaluation하는 것 역시 중요한 contribution이 될 수 있다(예, survey paper).

Validity는 아이디어의 견고한 정도이다. 좋은 과학은 다른 과학자들이 인정할 수 있는 correctness의 demonstration 방법을 요한다. 이는 주로 다음의 형태를 띤다.

  • proof of analysis
  • modeling
  • simulation
  • expreiment
  • mix of these together
  • comparison to existing ideas

또한, theoritical result를 보이는 것도 중요한데, 왜냐면 일시적인 computational result와 다르게 theoretical result는 영원하기 때문이다. 이러한 theory에 대한 examination을 보이는 논문 역시 중요한 contribution이 된다.

Evaluation of Papers

논문의 evaluation은 곧 asking critical question을 포함한다. 또한, 다음의 사항들을 생각해볼 수 있다.
  • Contribution이 최근의 것인지 아니면 오래된 관심사에 대한 것인지?
  • Venue의 readership에 관련된 주제인지?
  • 빠진 것은 무엇인지?
  • Readership의 broadness는 얼마나 되는지?
  • 논문을 이해할 수 있는지?

대부분의 논문은 명시적이거나 암묵적인 가정을 가지고 있는데, 이를 찾아낼 수 없으면 어딘가 문제가 있다는 소리이다. 이를 통해 논문의 부족한 점을 찾을 수 있다. 

논문의 질은, 또한, bibilography를 통해 확인할 수 있다. 일반적인 rule-of-thumb이, reference가 적으면 질 나쁜 논문일 가능성이 높다. Reference가 같은 저자의 논문이라면 중복된 내용일 확률이 많고, 일부 논문만이 최신이 것이라면 저자가 분야를 잘 이해하지 못했을 확률이 높다. 또한, major conference에 실리지 않은 reference는 유의하자. Reference가 부실한 경우, 저자들은 그 아이디어가 자신의 것이라고 우기고 싶은 것이다.

Content of Reviews / Drafting a Review / Checking Your Review

TODO

4. Hypotheses, Questions, and Evidence

The hypothesis is a statement of belief about how the object behaves.

Hypotheses

A pipeline of a research program

  • Preliminary investigation leads to hypothesis
  • Hypothesis suggests the research question
  • The phonomenon(assuming the hypothesis is correct) is observed
  • The evidences are collected.

가설은 세부적이면서 엄밀해야 한다. 그렇지 않을 시 여러 조건이 계속 붙게 되며, 그 과정에서 논리적 모순이 추가된다. 따라서 해당 가설에서 주장하는 것과, 반대로 주장하지 않는 것이 무엇인지를 명확히 하는 작업이 필요하다. 처음의 아이디어가 어떻게 작용할 것인지는, 실험이 되기 전 까지는 아무도 모르기 때문에 motivation 자체가 subjective element process인 것은 맞으나, 결국 연구는 objective 하게 끝나야 한다. 모든 hypotheses는 testable해야 하며, 동시에 그 가설이 주장하는 범위 내에서는 모든 test가 이루어져야 한다. 

대부분 경우 black box work에서는 가설이 약하다. 이러한 방법에서는 데이터에 대한 insight나 implication따위는 없기 때문에 결과가 predictive하지 못하다. 또한 가설을 다듬는 과정에서 연구자들은 re-naming fallacy를 범하곤 한다. 어떤 경우 초기 테스팅 이후에 가설을 다듬는 과정이 필요할 수 있다. 그러나 가설은 실험을 따라가서는 안된다. 가설은 실험의 결과가 아니라, only be regarded as confirmed if it is able to make successful predictions인 것이어야 하는 것이다. 반대로 말하자면, tests should be blind to hypotheses이어야 한다.

Defending Hypotheses

동료에게 당신의 가설을 defending해 보자. 이 과정에서, 반박할 수 없거나 불확실한 점들을 인정해야 한다. 또한 이러한 점들을 논문에 기술해야 하며, 이러한 생각의 프로세스를 독자들이 그대로 따라갈 수 있게 해야 한다. 동시에, 반례를 찾기 위한 노력을 멈추지 말아야 한다. 가끔 반박할 수 없는 논리가 있는 경우 적어도 논문에 기술하는 것이 맞지만, 근본적으로는 결과를 재고해야 한다. 가설을 가장 먼저 테스트하기 위한 좋은 방법은, 해당 가설을 만족하는 혹은 만족하지 않는 정말 간단한 예시들이 있는지 찾아보는 것이다. 절대로 당신의 가설이 맞다고 가정하지 말자. 가설을 세움과 같은 직관이 더 강할수록, 더 열심히 가설을 검증하기 위해 노력해야 한다.

Forms of Evidence

논문은 assembly of evidences and its supporting explanations로 볼 수 있다. 결국 읽는 독자를 설득하게 만드는 것이다. 크게 네 가지 evicence의 종류가 있다. Proof: 증명은 가설을 말하는 formal한 argument이다. 증명으로부터 오는 확신은 강한 편이지만, 증명 역시 틀릴 가능성이 있다. 특히, 실제 세계가 반영된 경우 증명은 대부분 의미가 없다. 또한, asymptotic analysis is always enough하다는 생각을 버리자 Model: 모델은 어떤 가설의 수학적 설명이다. 모델을 고름에 있어 얼마나 사실적인지, simplification의 정도는 어느 정도인지를 고려해야 한다. 반면, 모델이 너무 복잡한 경우 사실과는 거리가 멀 가능성이 높다. Simulation: 시뮬레이션은 주로 가설에 대한 단순한 형태의 부분적 구현이다. “white coat” test: artificial, isolated, tightly controlled 로 이야기할 수 있다. 시뮬레이션은 더 완만한 결과를 제공하지만, 그래도 비현실적인 부분이나 실현가능성이 없는 결과로 이어질 수 있다. Experiment: 실험이야말로 가설에 대한 완전한 검증이며, 가장 사실적이다. 반대로, 실험은 특정 케이스나 데이터에 대해서만의 결과를 도출한다. 따라서, 실험을 severe하게 하는 것이 good evidence를 도출하는 데 있어 가장 핵심적이다. 

Use of Evidence

위에서 찾은 evidence들을 reasoning을 통해 구성하고 연결하는 것이 중요하다. 이러한 연결은 하나의 논문 안에 다 담겨야 한다. 우선순위를 정해, end-to-end reasoning을 해야 한다. 그리고 이 reasoning은 persuasive하며, 논문의 독자들은 이 evidence를 통해 당신의 논문을 평가할 것이다.

Approaches to Measurement

측정이라는 것은 어떤 현상에 대한 결과물이다. 현상 자체는 절대 바뀌지 않으나, 측정의 방식은 context에 따라 달라질 수 있다. 연구는 기본적으로 being qualitative함을 추구하나, 실험은 quantitative하다. 그래서 우리는 논문을 통해 이 quantitative함을 qualitative함으로 바꿔야 한다. 이 과정에서, qualitative함을 보이기 위해 한 가지 measure만 사용하는 경우라면 연구의 목적이 실제 결과물과 엄청 멀어지는 상황이 생길 수 있다. 특히, measure를 사용하는 데 있어 optimization-to-a-measure 문제가 많이 일어나는데, 이는 많은 경우 논문들이 same reference dataset을 공유할 때 잘 일어난다. Data와 measure이 static한 경우를 경계해야 한다.

Good and Bad Science

기존 논문들의 성능을 검증하고 확인하는 논문들은 cs분야에서 저평가되어 왔으나, 실제로는 아주 중요한 단계이다. Proposal과 speculation이 많은 논문들은 주로 더 믿기 어렵다. Theoretical work는 항상 testable theories를 논해야 한다. 또한, 용어가 과장된 경우 역시 질이 떨어지는데, 이러한 단어들이 주로 포함되어 있다 : “intelligent”, “belief”, “aware”,.. 이러한 단어가 있는 논문들은 컴퓨터의 당연한 행동들을 제대로 분석하지 않은 채 특별함을 과장해 말할 확률이 높다. 특히 “semantic"이란 단어 역시 detail을 뭉뚱그리는 단어이다. 논문이 약하진 않지만 유사과학으로 여겨지는 것들도 있는데, 이런 경우 결과와 아이디어에 발전이 없으며, 데모가 준비되어 있지 않고, 다른 reference를 소홀히 하며 결과가 널리 알려진 사실에 위배되는 경우들이다. 또한, evidence나 method가 내부적으로 inconsistent한 경우도 있다. (논리적 비약).  정리하자면, 논리적인 검증이 없는 연구논문은 곧 bad science라고 할 수 있다.

Reflections on Research

언급된 점들을 연구에 반영하는 방법, 좋은 approach들은 다음과 같다.

  • falsification : 실험적 결과는 아무리 방대하더라도 이론이 맞음을 절대 완벽하게 증명할 수는 없다. 이는 곧 가설에서부터 반례를 찾아내는 시작점이 될 수 있다. 물론 이러한 approach를 통해 새로운 theory를 찾을 수는 없다는 것은 조심해야 한다.
  • confirmation: 어떤 이론이 인정받은 경우, 그 이론이 증명된 것이 아니라, 다만 그 이론에 대한 믿음이 강화되었다고 보는 approach이다.

연구는 결국 iterative process in which theory and hypothesis dictate a search for evidence이다. 위 어프로치를 통해 연구 주제와 과정을 다듬고 과학의 세계에 기여할 수 있다.

A "Hypotheses, Questions, and Evidence" Checklist

Regarding hypotheses and questions

  • 어떠한 현상을 조사되었는가? 왜?
  • 연구의 목적이 명료하며, 가설과 연구 주제는 무엇인가?
  • 어떻게 이 논문이 혁신적인가? 주장을 반영하였는가?
  • 가설을 반박할만한 것은 무엇인가? 증명불가능한 결과들이 있는가?
  • 저자의 가정으로는 무엇이 있으며, 그것이 타당한가?
  • 이 논문은 충분한 비평을 거쳤는가?

Regarding evidence and measurement 

  • 어떠한 evidence의 form이 사용되었는가?
  • measure는 무엇이며, 객관적이며 적절한가?
  • qualitative aim은 무엇이며, 그것을 위한 quantitative measure는 적절한가?
  • measure의 선택에서 타협점이나 단순화한 것들은 무엇인가?
  • 결과가 충분히 예측할 만 한가?
  • evicence와 가설을 잇는 주장은 무엇인가?
  • 유리한 결과들이 어디까지 가설을 커버하는가? 반대로 불리한 결과들은 가설을 반증하는가?
  • 이 어프로치의 약점은 무엇인가?
last modified June 2, 2024
comments powered by Disqus

© Copyright 2024. Jinho Ko. All rights reserved. Last updated: June 02, 2024.