The How and Why of Reading 300 Papers in 5 Years

The header image above was generated using the text-to-image tool at, from the input “teddy bear scientists having an intense discussion in a reading group about machine learning”.

Since I started my PhD almost five years ago (in September 2018), I have categorized, annotated and written short comments for all research papers I read in detail. I share this publicly in a GitHub repository, and recently reached 300 read papers. To mark this milestone, I decided to share some thoughts on why I think it’s important to read a lot of papers, and how I organize my reading. I also compiled some paper statistics, along with a list of 30 papers that I found particularly interesting and/or well-written.

Why I read a lot of papers

The simple reason as to why I try to read a lot of papers, is that I find it very enjoyable and interesting. Among all the different everyday activities of a typical PhD student, reading papers is one of my clear favorites. However, I also think it’s key for becoming a good researcher. In fact, I consider reading papers to be a fundamental part of what it even means to be a researcher.

First of all, I have found it to be a very powerful tool for learning new things. It’s actually quite remarkable how much you can learn about a certain machine learning problem or method simply by reading e.g. 5 papers about it in detail.

Secondly, I think it’s a great way to generate new research ideas. When reading an interesting paper, I virtually always get at least one idea about how the proposed approach potentially could be extended in some way, or how it could be combined with some of my previous work.

How I’m able to read a lot of papers

As a PhD student, I’m always quite busy with research, teaching duties, coursework and other meetings. In my experience, the single most important thing one can do in order to read a lot of papers is therefore to actively prioritize reading. This means setting aside some time in your schedule each week, specifically for reading. Aiming to read at least one paper a week has generally worked well for me, and I thus make sure to schedule at least one 1-2 hour time slot each week. By treating reading just like any other weekly meeting, I have (almost) always been able to find time for it.

The second most important thing one can do is probably to join (or start) a reading group. I’ve been organizing a weekly machine learning reading group at our division since I started as a PhD student. Being a member of a reading group makes it much easier to actually set aside time to read e.g. one paper a week.

Joining a reading group also comes with many other benefits. First of all, it’s a good way to “force” yourself to read papers you wouldn’t necessarily have selected yourself (such papers can be surprisingly interesting). I think this is important, to not just read the very latest state-of-the-art papers within your specific area of interest. Instead, I think one should actively try to branch out a little and also read some older papers, and papers from other areas.

Moreover, discussing a paper you’ve read in a reading group almost always significantly improves your understanding of the paper. Joining a reading group is also a great way to learn more about your colleagues’ research and interests, and of course, discussing papers with other people is a generally fun and enjoyable activity in itself.

How I organize my paper reading

For each paper I read in detail, I create a note somewhere where I can easily find it later. In this note, I write down any questions, thoughts or ideas which arise during reading. Reading papers can generate a lot of research ideas, and they all seem obvious right there and then, but if you don’t write them down they will be very difficult to remember in the future. A PhD is long, you might want to go back to a certain read paper years later, and then such notes (even if they are very brief) can be incredibly useful.

Afterwards, I also write a very short summary of the paper, quickly answering questions such as “Was the paper interesting overall?”, “Was it easy to understand?” or “Could it be relevant for my research now or in the future?”. Having short answers to simple questions like these can also turn out to be surprisingly helpful.

For each paper, I also annotate the pdf and upload it to my GitHub repository (i.e., somewhere where I can easily find it later). I strongly recommend getting a tablet for reading and annotating papers, it really does make a big difference.

The main reason for why I annotate each paper is that this makes it easier to stay focused while reading. I find that actively annotating a paper “forces” you to actually try to understand what you’re reading. Moreover, it enables you to go back to a paper years later and quickly find the most interesting and important information.

Why I share my reading publicly

The reason why I share a list of all my read papers publicly on GitHub is somewhat of a coincidence, it’s mostly just an idea I happened to have one day when I started my PhD. Now almost five years later, it is however something that I definitely can recommend.

There are of course much more advanced tools such as Zotero (which I’m sure can be super useful and convenient), but I really enjoy the simplicity of my “GitHub repository” system, and it seems to provide all the features I need. For example, it enables me to go back and very quickly find particular papers that I’ve read before.

Moreover, I strongly believe in the general principles of open science. Open exchange and publication of information are defining features of the scientific community, and publicly sharing all of my reading in this way is, at least to me, a natural next step towards truly transparent and accessible research.

Last but not least, publicly sharing my reading definitely motivates me to read more papers. It adds a bit of external pressure and encouragement to stay consistent with my reading, to actually set aside some time (almost) every week. Without it, I’m quite confident that I wouldn’t have been able to reach 300 read papers already.

How I find interesting papers to read

To read a lot of papers, one also has to find a lot of interesting papers. I regularly look for interesting new and old papers, for example by checking:

  • arXiv.
  • Twitter.
  • Accepted papers lists for upcoming and previous conferences.
  • The references in interesting papers.
  • The “Cited by” list on Google Scholar for interesting papers.
  • A list of people whose research I find particularly interesting, occasionally checking arXiv/scholar for their new papers.

I have a (nearly) daily habit of quickly going through all new cs.LG and cs.CV papers on arXiv, and spending 5 minutes scrolling through twitter. The number of papers on arXiv keeps increasing every year, but I still find it manageable and worthwhile to go through them daily (typically, this takes at most 20-30 min). There are many aspects of twitter that I really don’t like (thus I limit myself to 5 min per day), but I must admit that it’s a good tool for finding interesting papers, researchers, workshops, seminars etc.

Whenever I find a seemingly interesting paper, I go through it very quickly (check the abstract, scroll through the method and/or experiments) and decide whether or not it still seems interesting. If so, I then save it somewhere where I easily can go back and find it later. Specifically, I put the paper titles in Google Keep lists, and if a paper seems especially interesting I also make a short note about that. Once I have time to read a paper in detail, I then go through my lists of interesting papers and pick one.

30 Particularly Interesting and/or Well-Written Papers

I went through my comments for all 300 read papers, and selected a list of 30 papers that I found particularly interesting and/or well-written:

Uncertainty Estimation:

Out-of-Distribution Detection:

Energy-Based Models:


Paper Statistics

I compiled some more detailed statistics of my read papers (number of papers read each year, papers by publication year, papers by venue, papers by category):

303 read papers.

1.84 GB of annotated pdfs.

Papers read each year Papers by publication year Papers by venue Papers by category

comments powered by Disqus