Fast and accurate spike sorting of high-channel count probes with KiloSort
New silicon technology is enabling large-scale electrophysiological recordings in vivo from hundreds to thousands of channels. Interpreting these recordings requires scalable and accurate automated methods for spike sorting, which should minimize the time required for manual curation of the results. Here we introduce KiloSort, a new integrated spike sorting framework that uses template matching both during spike detection and during spike clustering. KiloSort models the electrical voltage as a sum of template waveforms triggered on the spike times, which allows overlapping spikes to be identified and resolved. Unlike previous algorithms that compress the data with PCA, KiloSort operates on the raw data which allows it to construct a more accurate model of the waveforms. Processing times are faster than in previous algorithms thanks to batch-based optimization on GPUs. We compare KiloSort to an established algorithm and show favorable performance, at much reduced processing times. A novel post-clustering merging step based on the continuity of the templates further reduced substantially the number of manual operations required on this data, for the neurons with nearzero error rates, paving the way for fully automated spike sorting of multichannel electrode recordings.
The authors develop a new spike sorting method. Unlike other approaches, their method is not based on dimensionality reduction. Their GPU based implementation  leads to dramatic time savings as compared to KlustaKwik. Importantly, their method utilizes a novel template-wise smoothing method based on the SVD decomposition of the cluster average of the traces (templates), which is the key for obtaining the aforementioned computational gains. 
Improvements in spike sorting are always appreciated because of the always-increasing electrode array capabilities (e.g number of electrodes or density) leading to new computational challenges. Methodologically, their contribution is the observation that one can take the SVD of the mean of raw traces in the cluster order to i)regularize shape of templates, ii)obtain computational gains via a GPU implementation of the operations in equation 6. This methodological contribution leads to impressive improvements in time while maintaining comparable levels of accuracy. In general it is a very nice paper.  However, I think this paper has major issues and it is not suitable for publication in the NIPS conference/proceedings. 1)Overall, it gives the impression that it hasn't been fleshed out enough. We see this in i)missing references due (I suppose) errors in compilation of the pdf ii)lack of scales and labels in graphs iii)lack of enough references (beyond the ones that are missing in i). See for example section 2.1 or references supporting their optimization method) iiii)the authors don't do a very good job in graphically displaying their results/methods. 2)Their methodological contribution may be a bit incremental for a NIPS paper. It is certainly smart the SVD trick they apply, and how it entails computational gains, but the rest of the innovations are rather simple algebra tricks and don't lead to the same impressive results.  3)The way in which the authors present their method in relation to already published literature is not quite accurate: for example, in lines 63-66 it is stated that they improve the method in [1] but the motivation in [1] is actually orthogonal: they utilize continuous time modeling as a device to resolve overlapping spikes that are separated by a sub-sampling-rate time-lapse. Then, it is imprecise to call this an improvement over [1], as the author, I believe, are instead borrowing the idea from [1]  and applying it to a simplified context (which ends up being useful, of course). Also, the authors state that their non-PCA approach is an innovation (line 68-70 'unlike previous approaches'). However, this has already became a common practice in the spike sorting literature ([1],[2],[3],[4]).  4)The time comparison the authors present is questionable (lines 220-225). Why didn't they attempt a GPU against GPU comparison?  As a summary, it has a very nice key insight that could be the seed of a very nice work. However, the snapshot presented by the authors at this time seems still too "under-development".   [1]Chaitanya Ekanadham, Daniel Tranchina, and Eero P Simoncelli. A unified framework and method for 296 automatic neural spike identification. Journal of neuroscience methods, 222:47–55, 2014. [2]Jonathan W Pillow, Jonathon Shlens, EJ Chichilnisky, and Eero P Simoncelli. A model-based spike 293 sorting algorithm for removing correlation artifacts in multi-neuron recordings. PloS one, 8(5):e62123, 294 2013. [3]D. Carlson, V. Rao, J. Vogelstein, and L. Carin. Real-Time Inference for a Gamma Process Model of NeuralSpiking.NIPS, 2013 [4].D. Carlson, J. Vogelstein, Q. Wu, W. Lian, M. Zhou, C. Stoetzner, D. Kipke, D. Weber, D. Dunson, and L. Carin.Multichannel Electrophysiological Spike Sorting via Joint Dictionary Learning & Mixture Modeling.IEEETBME, 2014