Neural activity shows substantial variability in response to repeated presentations of the same stimulus (called trial-to-trial variability), and it is unclear how a population of neurons can reliably discriminate between different stimuli with such trial-to-trial variability. To analyze population activity, we define a multi-neuronal firing rate space where each axis represents the firing rate of one neuron. In this talk, I discuss the hypothesis that, in the firing rate space, trial-to-trial variability and stimulus information lie in mostly orthogonal subspaces. The stimulus information can then be extracted with a simple linear projection, independent of the amount of trial-to-trial variability in the orthogonal subspace. I also present a framework that incorporates dimensionality reduction to analyze the activity of many tens of neurons recorded simultaneously, and preliminary data from the visual cortex (V1) that supports our hypothesis.