Bench modeSteps, parts, and safety only. Big type for a phone at the bench.
Phase 3: Read intentProjectTwo to four weeks per paper$0Tier 0

Project F: Reproduce a paper

Download the data behind a published result, reimplement the method, get a number, and explain why it differs from theirs. A graduate-level portfolio piece built from a laptop, and the fastest way to learn what published accuracies mean.

AssumesProject F: The software pipelineClassification done honestlySpineDecoding / signal processing / MLComputational neuroscience

You are skimming: the title, the first figure, and the short version. Switch to Read in the header for the full page, or Deep to open every deep dive.

Most published decoding accuracies are a little too good. Not from dishonesty, usually, but from choices: a favourable cross-validation split, a tuned hyperparameter, a subject dropped. The only way to know what a number means is to try to get it yourself. Pick one of the four targets below, download the public data, implement the method from the paper’s description, and report your number next to theirs with your best explanation of the gap. Then post it. A reproduction with an honest discrepancy is worth more to a lab than a novel result with none.

Four targets, in order of difficulty

EEGNet on BCI Competition IV 2a. The 2018 paper reports four-class motor imagery accuracy on nine subjects. downloads the data and has the model. The exercise is matching their preprocessing and their split (within-subject, session 1 train, session 2 test) and seeing how close you land. Then run the baseline on the same split and note that it is about as good. Two weeks.

A Kalman filter cursor decoder on intracortical data. The archive and the Neural Latents Benchmark host monkey and human motor cortex recordings with hand or cursor kinematics. Bin spikes at 20 ms, fit a linear observation model from velocity to firing rates, and run the exactly as the BrainGate papers describe. Report the correlation between decoded and true velocity. Three weeks; the Kalman explainer is the preparation.

A seizure detector on the TUH corpus. Request access to the Temple University seizure corpus. Band-power features per two-second window, a gradient-boosted classifier, and evaluation the way clinicians care about: sensitivity to seizures and false alarms per 24 hours, not accuracy per window. Compare to the published baselines on the corpus. Three to four weeks; the data are large.

A speech decoder. The data behind the 2023 speech-BCI papers (Willett et al.; Metzger et al.) are public. Reimplementing the recurrent network that maps neural features to phonemes is a real project, a month or more, and the result is a portfolio piece that few graduate students have. Start here only after the first two.

The method

Read the paper the way the Phase 0 page says. Then read its methods three times, writing down every choice: filter settings, epoch windows, normalization, split, hyperparameters, and what was done with subjects or trials that were excluded. Where the paper is silent, you must choose, and every such choice goes in your report as “not specified; I assumed.”

Implement in a clean repository with a README that states the target number, your number, and the gap. Use the same evaluation the paper used first, exactly, even if you think it is flawed; then add the evaluation you think is right and report both.

The report

One page. The paper’s claim. Their number. Your number, with the same split. Your number with an honest split, if different. A list of every place you had to assume. Your best explanation of the gap, in order of likelihood. What you learned about the method that the paper did not say. Post it on your site and, if the gap is interesting, send it to the authors; they are usually glad.

  1. Pick a target. Read the paper and write the five-line summary, then the methods checklist.
  2. Get the data. For TUH, request access early; it takes days.
  3. Implement the preprocessing exactly. Check intermediate results against any figure in the paper you can compare to.
  4. Implement the model. Get any number at all first, then tune toward the paper’s setup.
  5. Run the paper’s evaluation, then your honest one.
  6. Write the report. Post it. Note the time it took.
Recall
Why report a reproduction under the paper's split and under an honest split?
The paper's split lets you check whether you matched their method; the honest split tells you what the method actually achieves. The gap between the two is often the most informative result.
Recall
What is the difference between a replication and a reproduction as this page uses the terms?
Replication runs the authors' code; reproduction reimplements the method from the paper's description. Reproduction reveals every unstated choice and teaches far more.