Paper writing tips / nitpicks view markdown
A (growing) list of nitpicks that may help improve a paper (mostly focused on ML conference papers). This list is all opinions, but for brevity I’ll state them as facts.
In general, I highly recommend the book storytelling with data (it looks long, but it’s a very quick read!).
Figures
- For every figure, think carefully about the message you intend it to convey and how it could be misinterpreted
- Choose a single message to send with a figure and relentlessly remove all distractors
- If a figure makes multiple points, split it into multiple figures
- Clear figures ≠ beautiful figures
- Use colors for curves/bars very sparingly. For ML plots with many curves, there are usually only a couple things to highlight (highlight only a few curves with color and leave the rest gray, e.g. this plot)
- If curves have a natural ordering, then color them with a colormap, preferably a perceptually uniform one like viridis
- Use diverging colormaps that are centered properly for values that are diverging like correlations (e.g. this plot)
- Make figures colorblind-friendly (importantly, don’t use red & green together)
- Keep colors consistent across different figures
- Remove everything unnecessary
- Remove top / right splines
- Remove gridlines unless the precise values on a graph are useful for a reader
- Label subpanels / individual points so they can be referenced directly in the text
- Fonts should be readable: generally very similar size to the baseline fontsize of the paper
- Figs should be in a vector format (e.g. pdf) so that their resolution stays sharp even when zoomed in. The only exception to this is when you’re plotting a ton of data, vector files can become very large and you should instead use a rasterized format with high resolution (e.g. png at 300 dpi).
Tables
- Right-align numbers and keep rounding consistent (this makes it so that the decimal point lines up regardless of how large the numbers are)
- Use bolding for emphasis
- Show averages over different elements when possible
Writing
- Here’s are some nice, brief notes on academic writing
- Write in present tense
- First-person is fine when it simplifies writing
- Make your abstract really good: most people will only ever read the abstract
- I prefer longer abstracts that give a description of the results
- Introduction
- AI papers often start with a grand opening
- This is okay, but make the scope and limitations of your paper clear in the intro
- Usually, the intro should have a compelling, easy-to-digest figure that motivates your approach; focus here on motivation rather than method details
- AI papers often start with a grand opening
- Methods
- Remove all jargon and math that is not strictly needed for your method
- Give your method a name that is easy to remember and reference (ChatGPT is pretty good at coming up with these names; this website may also help)
- Results
- Start the results with a single figure/table with your key finding
- Show ablation results with respect to each important hyperparameter/setting separately
- Figure/table captions should only describe the data; main text should contextualize the results for the paper
- Discussion
- Don’t recap results
- Address limitations and directions for future work
- General
- Text should move from simple to complicated, start with high-level motivation, then high-level solution before getting into detailed solution
- Start with a paper outline and iteratively refine it to fill in details
- This makes it easier to elicit feedback
- Save the final polishing of writing / cleaning figures until everything is set
- Writing should be clear and easy to skim