I want to be able to read CS and math research papers with ease.
August 1, 2013 8:04 PM Subscribe
I often find myself crossing interdisciplinary lines and reading research papers, trying to understand some new practice or algorithm in math or computer science. I start out thinking "I just need to understand these basic concepts and I'll crack this", but end up with a very tired brain at 5am, having tried to mainline dense trees of Wikipedia and Eric Weisstein'sWolfram MathWorld, and still not feeling like I retained everything.
It feels like a lot of the problem is not understanding the math symbols, and thinking that there must be a secret class that grad students take to learn this. In the past it made me angry--if this new research is so useful, why can't papers come with implementation summaries for non-academics who don't know the symbols and base concepts? (I'm looking at you, every SigGraph paper, ever).
It's probably asking a lot, but what would be your reading list for going from a basic understanding of say, Calculus and Linear Algebra, to being able to confidently follow along with graduate papers in computer science and math?
It feels like a lot of the problem is not understanding the math symbols, and thinking that there must be a secret class that grad students take to learn this. In the past it made me angry--if this new research is so useful, why can't papers come with implementation summaries for non-academics who don't know the symbols and base concepts? (I'm looking at you, every SigGraph paper, ever).
It's probably asking a lot, but what would be your reading list for going from a basic understanding of say, Calculus and Linear Algebra, to being able to confidently follow along with graduate papers in computer science and math?
CS is really big on conferences, and so if you look around in the authors' website, you can often find presentation slides. Even without the presenter, they're often better for getting an idea of what's going on than the paper itself.
posted by matildatakesovertheworld at 8:53 PM on August 1, 2013
posted by matildatakesovertheworld at 8:53 PM on August 1, 2013
I can't speak to computer science, but can speak a little to math, especially applied math and the intersection with physics. Many journals have page limits, so that elegant 100 page calculation you (the original author) did might need to be compressed down to 10 to 20 equations in a journal paper to fit. If you are working in a related field and reading the paper -- and really need to understand what is going on in detail -- you can attempt to recreate the calculation/proof/whatever by filling in the blanks between the equations in the paper. It is like doing a higher order sudoku puzzle and can be very frustrating. Eventually someone writes a "review" paper on whatever topic you are interested in, where the whole purpose it to get someone up to speed by summarizing the most important papers in a canonical way and (hopefully) including all of the left-out math.
posted by kovacs at 8:55 PM on August 1, 2013
posted by kovacs at 8:55 PM on August 1, 2013
Best answer: I think you're going about this the wrong way. There is no reading list that will make papers across all of math and computer science easy to read -- or, if there is, you will spend so long going through it that you will never read any papers. It sounds to me like you have a problem either in your expectations or your process.
Have you read How To Read A Paper? If not, you should. Reading a paper well is not easy and can take quite a lot of time. Also, staying up until 5am is probably a mistake.
You say that you feel like there must be a secret class on reading papers that grad students take. There really isn't, except if you call it "all of grad school", and the part of grad school that helps with reading papers is mostly just reading papers. It's not just reading, of course: it's also discussing and evaluating and implementing. But all of these activities make you engage with papers that you may not understand very well over a period of days or weeks or months, and they make you notice and fill in areas where your background knowledge is lacking.
Here are some suggestions for duplicating relevant parts of the grad school experience:
1. Try choosing a paper you really love the idea of and making it a project: commit to taking a week, or two weeks, or a month to really understand it. Get to the point where you could prepare an informal 10-minute talk about the paper, explaining its motivations, contributions, strengths, and shortcomings, at a level your pre-project self would have understood. You may need to read references, borrow textbooks, work out missing steps on paper, talk to friends, watch recorded lectures online, and so on.
2. Get a couple of like-minded people together and have a reading group. Each meeting, you discuss a different paper. It may work better if one person is assigned the task of presenting the paper and leading the discussion. Everyone still reads the paper in advance -- just not as thoroughly as the presenter. Presenting the paper might consist more or less of the 10-minute talk I mentioned in the last paragraph.
3. Implement a paper (or two or more). You mentioned reading SIGGRAPH papers. Choose an area of graphics that is interesting to you, find a seminal paper, and implement it. Ideally you want something very well-cited, not too recent, and not too complicated. Stable Fluids or Seam Carving for Content-Aware Image Resizing would both be reasonable options. Both of these methods are explained countless other places on the web, too.
If you continue doing these things long enough, you will probably find papers in the areas you study becoming easier to read.
I also have some more specific comments from a computer-graphics-centric perspective:
hanoixan: why can't papers come with implementation summaries for non-academics who don't know the symbols and base concepts?
Understanding the base concepts is usually very important to getting a paper's method to work correctly. Writing numerical code without understanding the reasoning behind it is basically guaranteed to result in a buggy implementation.
grouse: Really what papers should come with is the code.
In some cases code can be very helpful, like if you're trying to replicate results or understand the finer points of parameter tuning. However, it's frequently not very helpful at all if you're trying to understand a paper's basic results and contributions.
kovacs: Many journals have page limits,
This is a good point. In the case of SIGGRAPH, 12 pages is basically a hard limit, and you can maybe push it to 13 in revisions if your reviewers agree. This includes all of your figures (it's graphics, you need pictures), references, everything. So sometimes you do have to be terse.
posted by Serf at 1:10 AM on August 2, 2013 [6 favorites]
Have you read How To Read A Paper? If not, you should. Reading a paper well is not easy and can take quite a lot of time. Also, staying up until 5am is probably a mistake.
You say that you feel like there must be a secret class on reading papers that grad students take. There really isn't, except if you call it "all of grad school", and the part of grad school that helps with reading papers is mostly just reading papers. It's not just reading, of course: it's also discussing and evaluating and implementing. But all of these activities make you engage with papers that you may not understand very well over a period of days or weeks or months, and they make you notice and fill in areas where your background knowledge is lacking.
Here are some suggestions for duplicating relevant parts of the grad school experience:
1. Try choosing a paper you really love the idea of and making it a project: commit to taking a week, or two weeks, or a month to really understand it. Get to the point where you could prepare an informal 10-minute talk about the paper, explaining its motivations, contributions, strengths, and shortcomings, at a level your pre-project self would have understood. You may need to read references, borrow textbooks, work out missing steps on paper, talk to friends, watch recorded lectures online, and so on.
2. Get a couple of like-minded people together and have a reading group. Each meeting, you discuss a different paper. It may work better if one person is assigned the task of presenting the paper and leading the discussion. Everyone still reads the paper in advance -- just not as thoroughly as the presenter. Presenting the paper might consist more or less of the 10-minute talk I mentioned in the last paragraph.
3. Implement a paper (or two or more). You mentioned reading SIGGRAPH papers. Choose an area of graphics that is interesting to you, find a seminal paper, and implement it. Ideally you want something very well-cited, not too recent, and not too complicated. Stable Fluids or Seam Carving for Content-Aware Image Resizing would both be reasonable options. Both of these methods are explained countless other places on the web, too.
If you continue doing these things long enough, you will probably find papers in the areas you study becoming easier to read.
I also have some more specific comments from a computer-graphics-centric perspective:
hanoixan: why can't papers come with implementation summaries for non-academics who don't know the symbols and base concepts?
Understanding the base concepts is usually very important to getting a paper's method to work correctly. Writing numerical code without understanding the reasoning behind it is basically guaranteed to result in a buggy implementation.
grouse: Really what papers should come with is the code.
In some cases code can be very helpful, like if you're trying to replicate results or understand the finer points of parameter tuning. However, it's frequently not very helpful at all if you're trying to understand a paper's basic results and contributions.
kovacs: Many journals have page limits,
This is a good point. In the case of SIGGRAPH, 12 pages is basically a hard limit, and you can maybe push it to 13 in revisions if your reviewers agree. This includes all of your figures (it's graphics, you need pictures), references, everything. So sometimes you do have to be terse.
posted by Serf at 1:10 AM on August 2, 2013 [6 favorites]
When I was an undergrad math major, and even later during graduate school, there was this mysterious concept that professors kept on mentioning: "mathematical maturity." I didn't really know what that meant at the time, and it's hard to describe. I definitely didn't have it then, and even now (I've just finished grad school) I wouldn't say I'm completely there, but I've gotten to the point where I can pick up a paper that's related to but not exactly in my field, and I can read it and get a decent idea of what it says.
Mainly it's just experience. The more you know, the easier it is to pick up new things and put them in context. Knowing symbols and base concepts is part of mathematical maturity.
The job of a research paper is to communicate the results of research to other researchers. It is not meant to provide an introduction to the field. That is what textbooks, monographs, and survey articles are for. A paper should explain its notation, but not necessarily give all the definitions of the concepts. So for instance I might start a paper by saying "Throughout the rest of this paper, g will denote a finite-dimensional complex semisimple Lie algebra," and expect that my reader either knows what that is, or can look it up now that I've given them the keyword.
Also, lots of papers are badly written! There's nothing you can do about that.
Anyway, I'd say just stick with it. But be smart about it - read survey articles or textbooks in order to learn the common notation and base concepts, or else your reading of research articles will leave you with a superficial understanding at best.
posted by number9dream at 6:13 AM on August 2, 2013
Mainly it's just experience. The more you know, the easier it is to pick up new things and put them in context. Knowing symbols and base concepts is part of mathematical maturity.
The job of a research paper is to communicate the results of research to other researchers. It is not meant to provide an introduction to the field. That is what textbooks, monographs, and survey articles are for. A paper should explain its notation, but not necessarily give all the definitions of the concepts. So for instance I might start a paper by saying "Throughout the rest of this paper, g will denote a finite-dimensional complex semisimple Lie algebra," and expect that my reader either knows what that is, or can look it up now that I've given them the keyword.
Also, lots of papers are badly written! There's nothing you can do about that.
Anyway, I'd say just stick with it. But be smart about it - read survey articles or textbooks in order to learn the common notation and base concepts, or else your reading of research articles will leave you with a superficial understanding at best.
posted by number9dream at 6:13 AM on August 2, 2013
The feeling of frustration, "tired brain", helplessness, etc. that goes with reading a paper is not your private problem that others have completely overcome. There are many reasons for these feelings, including bad writing, jargon, page limits, and the fact that something worth writing a paper about should be non-trivial and new.
What (some) others have achieved and that you need to understand is not to be intimidated and not to blame yourself for the slow going.
posted by Obscure Reference at 6:37 AM on August 2, 2013
What (some) others have achieved and that you need to understand is not to be intimidated and not to blame yourself for the slow going.
posted by Obscure Reference at 6:37 AM on August 2, 2013
Best answer: There are many good suggestions above. I'd add the following thoughts:
1. Don't underestimate the level of specialization, particularly within math and CS. Many, if not the majority, of papers published in these fields can really only be picked up cold and completely understood from start to finish by a small group of people on the planet, ranging in size from a few hundred down to less than 10 for very specialized results. (e.g. in specialized math, Mochizuki's recently annouced proof of the ABC conjecture; several mathematicians have expressed their belief that there is likely no one else on the planet who can understand/verify his proof without many months or even years of studying the appropriate backgrounds.)
2. Don't overestimate the quality of the papers. Many academic papers are poorly written and there is little effort or pressure to teach scholars how to best communicate their results to a audience, whether one of colleauges within their specialty or the scientific community at large. This is amplified by a (usually small) group within every academic speciality who believe significant or deep results actually should be difficult to understand and thus fill their own writing with unnecessary jargon and complexity while omitting obviously helpful intuition guidance.
3. Another part of the "mathematical maturity" that number9dream mentions above is getting comfortable with your areas of ignorance. As I read papers, I notice when an idea or step(s) is used that I don't completely understand. It is like a fuzzy area in my brain; I can clearly see the stuff that goes in and the stuff that comes out, but how those "pipes" are connected is fuzzy and unclear. After I digest the entire paper, I've got a picture of the in/out "pipes", some connections that are clear, and (often many!) connections that are fuzzy. Then I can look at the whole and identify which fuzzy areas I need/want to go learn/clarify versus which ones I'm happy to leave fuzzy, knowing that I could clarify them, but it probably is not worth my time/effort.
posted by stoffer at 8:52 AM on August 2, 2013 [2 favorites]
1. Don't underestimate the level of specialization, particularly within math and CS. Many, if not the majority, of papers published in these fields can really only be picked up cold and completely understood from start to finish by a small group of people on the planet, ranging in size from a few hundred down to less than 10 for very specialized results. (e.g. in specialized math, Mochizuki's recently annouced proof of the ABC conjecture; several mathematicians have expressed their belief that there is likely no one else on the planet who can understand/verify his proof without many months or even years of studying the appropriate backgrounds.)
2. Don't overestimate the quality of the papers. Many academic papers are poorly written and there is little effort or pressure to teach scholars how to best communicate their results to a audience, whether one of colleauges within their specialty or the scientific community at large. This is amplified by a (usually small) group within every academic speciality who believe significant or deep results actually should be difficult to understand and thus fill their own writing with unnecessary jargon and complexity while omitting obviously helpful intuition guidance.
3. Another part of the "mathematical maturity" that number9dream mentions above is getting comfortable with your areas of ignorance. As I read papers, I notice when an idea or step(s) is used that I don't completely understand. It is like a fuzzy area in my brain; I can clearly see the stuff that goes in and the stuff that comes out, but how those "pipes" are connected is fuzzy and unclear. After I digest the entire paper, I've got a picture of the in/out "pipes", some connections that are clear, and (often many!) connections that are fuzzy. Then I can look at the whole and identify which fuzzy areas I need/want to go learn/clarify versus which ones I'm happy to leave fuzzy, knowing that I could clarify them, but it probably is not worth my time/effort.
posted by stoffer at 8:52 AM on August 2, 2013 [2 favorites]
Response by poster: Thanks, everyone, for your responses. I definitely realize that understanding this material takes work, I just want to work more intelligently on that path. I'm actually pretty glad there isn't a secret grad course for understanding this.
posted by hanoixan at 9:59 AM on August 2, 2013
posted by hanoixan at 9:59 AM on August 2, 2013
This varies between disciplines, but using the same letters to describe coefficients in equations is totally a thing (at least it is in fluid mechanics), and so the more papers you read, the more sense something like δζ/δx = -1/ρ*δP/δx + yadda yadda yadda + this - that^whatever will make because you will recognize what those letters represent in the context of the specialities of the people writing these papers.
posted by oceanjesse at 5:35 PM on August 2, 2013
posted by oceanjesse at 5:35 PM on August 2, 2013
This thread is closed to new comments.
if this new research is so useful, why can't papers come with implementation summaries for non-academics who don't know the symbols and base concepts?
Really what papers should come with is the code.
posted by grouse at 8:07 PM on August 1, 2013 [4 favorites]