용묻이
용스용스
용묻이
전체 방문자
오늘
어제
  • 분류 전체보기 (40)
    • 일상 (7)
      • 개발라이프 (1)
      • 대학라이프 (0)
      • 회사라이프 (1)
      • 군대라이프 (4)
    • 개발 (24)
      • 파이썬 (6)
      • 데이터 과학 (2)
      • 데이터 엔지니어링 (1)
      • 데이터 분석 (2)
      • 기타 (2)
      • BOJ (1)
      • Articles 번역 (1)
      • 논문 정리 (9)
    • 리뷰 (9)
      • IT 서적 (1)
      • 책 (4)
      • 영화 (1)
      • 드라마 (0)
      • 웹소설 (1)
      • 웹툰 (0)
      • 애니메이션 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 프로토콜
  • 신영복
  • 파이썬
  • 동양사상
  • 홀로코스트
  • 설득의 심리학
  • Method Resolution Order
  • 동양고전
  • 먹먹함
  • 사이버펑크
  • 빅터 프랭클
  • MRO
  • 엣지러너
  • 로버트 치알디니
  • 객체지향
  • OOP
  • 죽음의 수용소에서
  • 로고테라피
  • 빅토르 프랑클
  • 아우슈비츠

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
용묻이

용스용스

[번역] 더 많은 논문 읽는 법 - How to Read More Research Papers
개발/Articles 번역

[번역] 더 많은 논문 읽는 법 - How to Read More Research Papers

2022. 7. 9. 15:59

이 글은 Louis Bouchard가 본인의 블로그에 게시한 글을 번역+요약한 것입니다. 곧대로의 번역은 아니고 의역하거나 불필요한 내용은 줄이거나 했습니다. 따로 저자에게 번역을 허락받지는 않았습니다.(연락을 보냈는데 답이 없어서..) 핵심적인 내용은 전부 원문 저자의 내용에서 가져왔습니다. 덧붙인 내용은 역주를 제외하고는 없습니다.


처음 논문을 읽게 되면 꽤 어렵습니다. 집중이 흐트러지고 이해가 안되기도 하고, 이상한 논문을 읽게 되기도 합니다. 이에 관하여 꿀팁과 몇 가지 좋은 도구들을 공유해보려고 합니다.

필자가 처음 논문을 읽은 건 2년 전이었습니다.(역주: 원문은 2021년에 작성되었습니다.) 1950년대의 연구 것들로부터 양식이 전혀 변하지 않은 논문들은 정말 재미 없어 보였습니다. 심지어 온갖 수식은 읽을 의지를 없애버리기까지 합니다. 필자는 유튜브 채널 "What's AI"를 운영해오면서 수백 편의 논문을 읽어왔고 많은 경험을 쌓았습니다. 그 과정에서 얻은 것들(꿀팁과 강력한 도구들)을 공유해보려고 합니다.

본인에게 적절한 논문 찾기

논문을 읽으려면 읽을 논문이 있어야겠죠. 먼저 자신이 읽을 법한, 읽고자 하는, 읽으면 좋은 논문을 찾는 데에서부터 시작합니다.

먼저 주제가 필요합니다. 만약 컴퓨터 비전 분야에서 transformers 모델이 어떻게 응용되는지 궁금하다고 합시다. 이 주제를 가지고 42 Papers나 Arxiv Sanity에 들어가 "vision transformers"를 검색한 뒤 읽을 법한 논문들을 찾습니다. 두 사이트 모두 Arxiv의 논문들을 큐레이팅해주는 서비스입니다. "image matting" 같은 특정 task에 대해 관심이 있을 때는 Papers With Code에서 바로 찾아볼 수도 있습니다. 해당 task에 대한 성능 리더보드와 그 모델들의 코드 링크까지 같이 제공하다보니 주제에 따라서는 이 사이트가 상당히 유용합니다.

마땅히 찾아볼만한 주제가 없다면 상기 42 Papers에서 적당히 트렌디한 논문을 찾아보거나 Daily Papers에서 추천되는 논문을 찾아보는 것도 좋습니다. Daily Papers는 트위터에서 trending하고 있는 논문들을 보여주는 사이트입니다.

읽을 논문이 준비되어 있다면

읽어볼 법한 논문들의 리스트가 완성되었다면, 바로 하나씩 읽는 방법은 추천하지 않습니다. 다음에서 소개하는 방법을 따라해보세요.

먼저 논문의 레퍼런스를 확인해 그 논문이 읽을 가치가 있는가부터 확인합니다. 레퍼런스가 너무 적거나 이상한 인용이 있다면 나쁜 신호입니다. 레퍼런스로부터 논문을 빠르게 판단하는 방법이 있는데, Connected Papers를 사용하면 됩니다. 인용 관계의 논문들을 연결하여 그래프로 보여주는데 저자의 이름 위주로 보여줍니다. 서로 연결되어 있거나 인용이 많이 된 유명한 논문들은 믿고 읽을 수 있습니다.

이로부터 논문을 어떻게 판단하냐면, 레퍼런스 논문들이 우수하다면 해당 연구 분야의 접근법과 선행 연구를 잘 조사했다는 의미이므로, 해당 논문이 읽을 만한지 혹은 잘 작성되었는지 어느 정도 짐작할 수 있습니다.

정량적인 인용 정보로 연구를 판단하는 게 마냥 좋은 것만은 아닙니다. 피인용수에는 많은 함정이 내포되어 있으며, 연구가 실질적으로 재현이 가능하고 같은 결과를 보이는지 등 정성적인 측면에서도 바라보아야 합니다.

<역주>
원문에서는 피인용수를 맹신하여 연구를 판단하면 안되는 이유로 "nonreplicable publications are cited more than replicable ones"라는 말을 썼습니다. 이는 논문 실험 결과가 복제 불가능한 경우 - 실험 결과를 과장하거나 순전히 거짓으로 작성하거나, 실험 과정 자체에 문제가 있는 등의 이유로 타 연구자가 논문과 같은 방식으로 실험했을 때 유사한 결과를 얻지 못하는 경우 - 더 많이 인용됨을 발견한 논문의 제목입니다. 단순히 흥미로운 결과를 얘기하기만 해도 피인용수가 높음을 보이며, 따라서 복제 가능성(replicability)이 실질적으로 확실하게 연구의 질을 표현할 수 있는 지표라고 말합니다. 요약하자면, 잘못된 연구도 인용이 많이 된다는 것입니다. 역문에는 이 부분을 간략히 "함정이 많다"고만 표현했습니다.

이러한 과정은 일종의 테스트, 필터링입니다. 이 과정을 거치면 처음 구성한 리스트에서 논문들의 개수가 줄어들어 있겠죠. 그 다음엔 리스트의 논문들을 쭉 한 번 훑어봅니다. 제목, 초록, 키워드, 결론을 읽어봅니다. 이것만으로도 해당 논문의 기본적인 아이디어를 이해할 수 있고 이를 계속 읽을지 말지 결정할 수 있습니다. 본인이 원하는 주제를 논하고 있는지 아닌지도 판단 가능하죠.

이렇게 또 필터링된 논문 리스트가 있습니다. 이번에는 좀 더 깊게 훑어 보는데, Figures나 Tables들을 보고 그것들에 달려 있는 캡션을 읽습니다. 혹은 introduction + related works 파트를 빠르게 읽습니다. 중요한 건 methology나 experminets 같은 파트로 더 들어가지 않는 것입니다. 논문들을 더 잘 이해하고 적절한 것을 선별할 수 있습니다. 지금 내가 찾고 있는 논문인지, 내게 도움되는 논문인지 판단하고 싶을 때 이 접근법을 쓰면 좋습니다. 그리고 지금 단계까지만으로도 연구와 그 결과를 요약할 수 있습니다.

지금 시점에 여러분은 여러분이 읽을 논문을 섬세한 필터링을 거쳐 선별한 상태가 되었습니다. 남은 작업은 그 논문을 읽는 것입니다. 다만 단순히 훑거나 읽는 것이 아니라 완전히 논문에 빠져드는 것입니다(Dive it). 펜 등의 필기구와 함께 메모하거나 밑줄을 그으며 완전히 탐독합니다. 필자는 아예 종이로 출력하여 필기구로 메모하며 읽는 법, 혹은 Adobe Acrobat Reader같은 도구로 highlighting하며 읽는 등의 방법을 추천합니다.

<역주>
역자는 태블릿과 펜으로 하는 방법을 쓰고 있습니다. 개인적으로 갤럭시 Tab S7과 S펜의 조합을 선호합니다. 당연히 아이패드도 문제 없죠.
의외로 출력해서 필기구로 하는 방법도 좋습니다. 뭔가 집중이 잘 된달까.

읽는 중에는 모르는 단어나 개념을 구글링하고, 본문에서 타 연구를 인용할 때에는 그 레퍼런스를 체크합니다. 모르는 부분을 그냥 넘어가거나 레퍼런스를 제대로 확인하지 않으면 연구를 정확히 이해하지 못할 수 있고, 그러면 논문을 처음부터 다시 읽게 될 수 있습니다. 특히 입문 단계의 사람들에게 이런 일이 일어납니다. 읽는 와중에 생기는 질문을 메모하고 복잡하거나 명확하게 이해하지 못한 부분은 확실히 체크(highlighting)하면서 읽어야 합니다.

읽는 중 떠오르는 질문을 그 자리에서 바로 구글링할 수 있겠지만, 필자는 여러 커뮤니티에 질문을 올려보는 것도 좋습니다. Discord, Reddit, Linkedin, Facebook, Slack 같은 곳에 많은 커뮤니티가 있습니다.

<역주>
우리나라에는 개발 커뮤니티라면 okky, 생활코딩. 데이터 사이언스 분야라면 TensorFlow KR 등의 커뮤니티가 메이저하게 활동 중입니다.

여기까지 연구 논문을 읽는 법을 어느 정도 이해했을텐데, 이제 논문 읽기와 관련하여 괜찮은 도구들을 소개해드리겠습니다.

데이터 사이언티스트 및 AI 연구자들에게 도움되는 도구들

논문 이해에 관한 도구

유튜브

앞서서 Arxiv Sanity Preserver, 42 Papers, Papers With Code 등을 소개드렸습니다. 사실 논문을 찾을 땐 도움되지만 논문을 이해할 때 도움되지는 않습니다.
유튜브에서 많은 사람들이 논문에 대해 설명하는 영상을 올리고 있습니다 유명한 논문이라면 유튜브를 활용해봅시다. Yannic Kilcher, What's AI, Letitia 등이 AI 관련 논문들에 대해 소개하고 설명하는 영상을 제공합니다. 깊은 설명이 아닌 빠르게 감을 잡는 부분에서는 Two Minute Papers 같은 채널이 좋습니다.
필자가 보기에 이런 채널들이 상당히 도움되고 시간을 아껴주는데, 그러다보니 필자는 종종 논문을 읽기 전에 유튜브 영상을 보기도 합니다.

crossminds

구글 크롬의 애드온인 crossminds는 Arxiv 페이지에서 바로 비디오를 볼 수 있게 해줍니다.

crossminds를 사용해서 그동안 몰랐던 훌륭한 채널을 찾게 되기도 합니다. 단언컨데 필자의 2020년 최고의 발견은 crossminds이라고 할 수 있습니다.

Articles

Medium 같은 플랫폼에서 논문에 대한 요약과 설명을 보는 것도 비슷하게 괜찮은 방법인데, Towards AI나 Towards Data Science에도 많은 아티클들이 있습니다.

논문 구현에 관한 도구

논문을 구현하는 데 있어서도 도움이 되는 도구들이 몇 가지 있습니다.

CatalyzeX

논문을 읽고 해당 연구를 구현하고 싶을 때가 있습니다. Papers With Code에서 구현체를 찾았다면 좋지만 없다면 구글링을 통해서 공식 혹은 비공식 구현 코드를 찾아야 합니다. 이 CatalyzeX라는 애드온은 Arxiv에서 바로 구현 코드를 찾아 보여줍니다. 크롬 뿐만 아니라 파이어폭스에서도 사용 가능합니다. crossminds처럼 구현 코드로의 링크를 Arxiv 페이지에서 바로 제공하는데 상당히 쓸만합니다.


지금까지 필자의 논문을 찾고, 효율적으로 읽고 이해하는 꿀팁들을 알아보았습니다. 사실 필자가 생각하기에 반복이야말로 최고의 학습법입니다. 그렇기에 필자는 진정 제대로 이해하고자 하는 논문이 있다면 여러 번 읽기를 추천합니다. 또, 같은 내용이더라도 다양한 자료에서 반복 학습하는 게 더 큰 효과가 있습니다. 유튜브, Medium 글, 논문 본문 등 여러개를 보는 것 말입니다. 단순히 읽는 것보다 누군가가 설명해주는 게 더 많은 정보를 받아들일 수 있습니다. 그리고 그러한 자료가 많은 게 데이터 사이언스 분야의 장점이며 그러한 장점을 최대한 활용하는 걸 추천합니다.

마지막으로, 흥미로운 논문을 발견했을 때 그 자료를 Zotero와 같은 데 저장해두기를 강력히 추천합니다. Zotero는 reference management software인데, 무료이고 사용하기에도 간단합니다. 레퍼런스를 자동 생성하는 기능도 있어 Word 및 Google Docs에도 구현되어 있습니다.

연구에서 편향과 신뢰성에 대하여

어떤 연구가 신뢰할 만한가 따지는 것은 논문을 탐독하여 방법론과 실험, 결과가 이치에 맞는지 확인하는 것 외에 마땅히 없습니다. 본문의 내용을 단순히 받아들이기만 해서는 안됩니다. 저자가 솔직하게 작성했다고 하더라도 작성 시점 이후 무언가 변경되었을 수도 있고, 혹은 실험 과정에 실수가 있었을 수도 있습니다. 실험 결과에 기반하여 결론을 낼 때도 잘못된 결론을 작성하는 경우도 있습니다.

마찬가지로 실험 결과를 그대로 받아들이면 안됩니다. plot과 table이 같은 결과를 보이는지 이중으로 확인해야 합니다. plot에서 스케일을 조절해 해당 연구가 특출난 성과를 거둔 것처럼 트릭을 쓰는 경우가 있습니다.

Conclusion 파트는 단순히 저자들이 실험 결과로부터 낸 결론입니다. 연구에 대해 빠르게 이해하는 데 도움되는 단락이지만서도 저자의 편향이나 실수 및 오류가 포함될 수 있는 부분입니다. 즉 여러분이 본문을 읽고 나서 저자와는 다른 결론에 도달할 수 있다는 뜻이기에 역시 Conclusion 파트를 읽을 때에도 유의하며 읽어야 합니다.

결론

결국 연구를 잘, 효과적으로 이해하는 방법은 논문을 읽는 것뿐입니다. 두려워하지 말고 읽어보세요. 읽으면 읽을수록 더 잘 읽게 됩니다. 논문에 대한 영상을 보고 논문을 읽는 것도 좋은 방법입니다. 논문 읽기가 상당히 쉬워져요.

References

  • 42 Papers  —  Find trending papers
  • Arxiv Sanity Preserver  —  A Curation list of Arxiv papers
  • Papers With Code  —  Find papers for your task with code!
  • Daily Papers   — Find trending papers on Twitter
  • Crossminds.ai  —  Video explanations for many Arxiv papers
  • CatalyzeX  —  Code implementation for most Arxiv papers
  • Connected Papers  —  Create a visual graph with your paper’s citations’ relations.
  • Zotero – Reference management software
  • Yannic Kilcher  —  Great youtube channel covering AI papers
  • What’s AI  —  Great youtube channel covering AI papers
  • Letitia  —  Great youtube channel covering AI papers
  • Two Minute Papers  —  Great youtube channel giving a quick overview of AI papers
    용묻이
    용묻이

    티스토리툴바