Robust and accurate recovery of sensory signals in the nervous system by compressed sensing

Abstract

To encode sensory information effectively, the brain extracts salient features from near infinite numbers of possible sensory stimuli in the environment. The neural code that allows the brain to reduce stimulus dimension and avoid combinatorial explosion remains unknown. Here we show that compressed sensing could be used to accurately recover signals from incomplete and inaccurate responses in the sensory system. We find that detectors in the mouse olfactory systems exhibit properties of compressed sensing. Odor identity and intensity can be identified precisely and robustly based on the response from a small number of randomly selected olfactory glomeruli. Accurate recovery can be achieved in the presence of high level of noise. Compressed sensing reduces the dimensionality of the sensory input and offers robust sensory coding.

Intro

Perceptual objects are constructed from elemental features embedded in the sensory stimuli. The number of possible feature combinations grow exponentially with increased complexity, resulting in a problem known as combinatorial explosion. The brain must reduce the dimensionality of the feature space such that only small sets of salient features are extracted and represented. A robust coding strategy that allows reliable discrimination and identification of salient stimuli must have the ability to perform feature extraction without being overly specific in their response, lest certain stimulus features deemed irrelevant in one situation becomes important in others. An ideal neural code must be both specific and robust to allow the specific identification of salient stimuli among irrelevant ones, and do so in noisy and fluctuating environment. The two requirement are often incompatible in current theories of neural coding. In most cases, individual neuron participates in the encoding of multiple stimuli and multiple neurons participate in the encoding of the same stimulus. Response of individual neurons to the same stimulus often vary and is influenced by brain states and other stimuli. The inherent variability in the brain creates ambiguity in decoding sensory inputs and difficult to reconstruct the original signals. High specificity in feature tuning by individual neurons makes decoding sensitive to noise. Whereas a coding scheme based on the response of large populations of neurons reduces the effect of noise in signal recovery. The recovery of signals is also influenced by the members in the population code. In cases where individual neurons respond to multiple stimulus features but salient signals are sparse, compression of the signals occurs. With sparse signals, the theory of compressed sensing allows efficient detection and accurate recovery of signals even when they are sampled under the traditional Nyquist-Shannon rate. It is not known whether and how the nervous system could use compressed sensing to encode and decode sensory information.

Theoretical framework

Therefore we explore the use of compressed sensing to recover sensory input. We pose the problem of sensory coding as followed. A stimulus, x, is described as a vector belonging to a n-dimensional stimulus feature space $R_n$. Stimuli are detected or represented by a set of m detectors (neurons), which are tuned to specific setswith each detector being tuned to a set of features. The population response of the detectors is therefore the product of the detector matrix Φ (m X n) and the stimulus vector, i.e.: $$y=Φx$$ When m >= n, x can be accurately reconstructed from the response pattern provided that Φ is known. In the brain, however, the number of possible features far exceeds the number of encoders because. When m<< n, traditional decoding strategies based on linear transformation becomes an ill-posedunderdetermined inverse problem and result in ambiguity in recovering of the original signals. As salient stimuli can be representedare sparssparselye, a sparse basis set Ψ can be constructed to transform salient stimuli to obtain: $$x=Ψc$$ where c is the vector representing the stimulus x in the sparse space. Response to the stimulus is therefore: $$y=Φx=ΦΨc=Ac$$ Here, the original signal is transformed into a sparse representation and a new basis set A generate the response patterns in the detectors (Fig. 1). In compressive sensing, a properly constructed basis set allows the precise recovery of the signal x even when m<< n by finding the sparsest solution using algorithms such as L1-minimization. Here, the application of compressed sensing in sensory processing differs from that in engineering, which seeks to construct the proper sensing matrix such that the signal can be precisely recovered. In sensory coding the sensing matrix (sensory cells and higher order neurons) is pre-determined. At first approximation the tuning properties of individual neurons are fixed. The goal of sensory physiology, therefore, is to experimentally determine the tuning property of the sensing matrix and, in turn, to extract signal identities based on the responses of the detector neurons.

Construct an olfactory dictionary

In principle, it is possible to apply compressed sensing method to decode sensory signals if the sensing matrix A is known. We explore the mouse olfactory system to test whether accurate recovery of stimulus information can be achieved. The mouse olfactory epithelium expressed ~1000 odorant receptors (ORs). Olfactory sensory neurons expressing the same OR project their axons into the olfactory bulb and converge into two of ~2000 glomeruli. The glomerular array therefore represents the odorant receptor array that encode odor information. At the outset, the olfactory system acutely faces the problem of dimensionality – a limited number of ORs is used to encode a much larger number of odorant molecules. As such, individual glomeruli are tuned to multiple odors and disparate physiochemical properties of odorants. This property of broad tuning appeared to fulfill the requirement of sensors for compressed sensing and compelled us to examine whether compressed sensing could serve as neural code. We probed the sensing properties of individual glomeruli by recording odor-evoked responses from the dorsal surface of G-CaMP2 mice to large sets of odorant stimuli. The response matrix Y can be expressed as the product of the basis set A and a property matrix C, in which each odorant c is represented by a vector of a set properties.
$$Y=AC$$ To recover the signals through compressed sensing, C needed to be sparse. By imposing sparsity restriction on C, we applied blind source separation technique to generate both A and C, with C being the sparsest solution (Fig. 1).
In one of our experiment, we used 58 odorants to stimulate the nose and recorded the responses from 94 glomeruli. Using the response matrix constructed the sensing matrix (the dictionary) as well as the odorant matrix with a set of 40 properties. We note that the number of properties can be arbitrarily set and produce remarkably similar results. For this set of experiment, 40 properties were chosen as it is ??? (Forty properties. Supp figure). We also note that the properties that have resulted from this analyses do not have physical meaning, but they can be mapped to existing physical descriptions of the odorants (see accompanying manuscript). Because of the sparsity restriction, the property matrix is sparse (Gini index??); each odorant can be described by a few of the virtual properties. The basis set is also sparse (index), but none of the glomeruli was tuned to a single feature. Most glomeruli are tuned to disparate set of properties and each properties is represented by multiple glomeruli. We measure the coherence of among the properties detected by individual glomeruli and found that ????? (measurement of incoherence). These features conform to the properties of measurement matrices of compressive sensing.

Recovery of odor identity using compressive sensing algorithms

Because the basis set constructed from blind source separation has more numbers of basis than stimulus, it is overcomplete. It is not surprising that response patterns can be used to recover the identities of odors accurately. It is not known, however, whether applying compressed sensing algorithm would allow recovery odor identities when the signals were undersampled. To examine this, we selected subsets of glomeruli and applied compressed sensing algorithm to recover odor identities. To prevent overfitting of non-specific responses, we excluded 19 odors that produced very weak responses among the glomeruli. In the initial test, we selected sets of glomeruli that collectively covered all odorant properties and used their response patterns to reconstruct odor identity. Figure 2 shows the correlation between original and recovered signals using Lp minimization based on different subsets of glomeruli. Strikingly, with only 9 glomeruli, we were able to recover odor identities with high fidelity (Figure 2). Of the 39 odors examined, ?? were recovered with nearly perfect correlation (R^2>0.9). Increasing the number of glomeruli to 13 resulted in further increased accuracy (Figure 2).

Robustness and redundancy in signal recovery

We next evaluated the performance of randomly selected sets of glomeruli in signal recovery with Monte Carlo analyses (Figure 3). The performance of the random sets was slightly below those selected sets, but there was a sharp rise in performance when the number of glomeruli reaches above 15, when nearly perfect recovery for all odorants was achieved. These results show that responses from an arbitrary set of glomeruli could be used to encode a much larger set of signals and permit accurate reconstruction. Importantly, each signal could be recovered using different set of glomeruli. This high level of redundancy therefore could provide high level of confidence in odor identification.

Robustness to noise (Figure 4)

Noise inevitably corrupts the signal and diminishes the ability to recover the original signal. We tested the robustness of signal recovery against noise by adding Gaussian noise to the glomerular responses. Correlation between recovered signal and the original were obtained from Monte Carlo analyses. The mean R^2 values as a function of glomerular number and noise level is plotted in a heatmap. Increasing noise level indeed led to reduced correlations. At the same noise level, more glomeruli are required to achieve high level of recovery. However, compressed sensing is remarkably resilient against noise. At 10% noise level, nearly perfect recovery is achieved with 15 glomeruli. Even when the noise level reached 50% of the signal, we were still able to obtain an average R^2 value of 0.5 with 29 glomeruli. Robustness against noise was more evident for selected sets of glomeruli that exhibited comprehensive coverage. Compared with a randomly selected set of 13 glomeruli, the selected set of glomeruli recovered signals with higher fidelity and were more resistant to added noise. Even with noise as large as the signal (100%), these glomeruli maintains an average of R^2 of 0.4.

Recovering intensity information (Figure 5)

Sensory systems not only transmit information about the identity of the stimuli, but also intensity information. Odors at high concentrations not only evoke stronger responses from the same glomeruli, but also recruit additional glomeruli. The same glomerulus also respond to different odorants with different dose-dependency. This is a problem that have not been well understood. We explore whether compressed sensing could recover glomerular responses to different odor concentration. Using the recorded glomerular response to three different odor concentrations, we could generate a basis set that capture the sensitivity of individual glomeruli to different concentrations and expressed them as weights against different properties. Using this updated basis set, we calculated the response to different odors at different concentrations. As illustrated for three different glomeruli in Figure 4, the recovered concentration dependent activity precisely recapitulated those of the original responses. Thus, compressive sensing not only could be used to recover the original signals, but also capture the intensity information.

Consistency across different experiments (Figure 6)

DISCUSSION

Compressed sensing, tuning specificity and distributed coding Compressed sensing is manifest at the earliest stage in odor detection. Odorants are high-dimensional stimuli by the vast number of physiochemical features that characterize the odorant compounds. The high dimensional stimulus space must be mapped to a 2-dimensional olfactory map. Each odorant activates an ensemble of odorant receptors and each odorant receptors is activated by different odorants. While these characteristics are qualitatively consistent with features of the sensing matrix capable of compressed sensing, they may not comply strictly to the mathematical requirement such as incoherence and the restricted isometry property. Nevertheless, as our analyses show, an arbitrary set of glomeruli that are tuned to disparate odor features are sufficient to allow signal recovery. We suggest that a neural code based on compressed sensing may be a general one broadly applicable to other systems. In some system, stimuli are sensed by highly evolved, specialized detectors. Pheromone receptors, for example, are highly specific and neuron make genetically specified, stereotypic connections with downstream circuits to elicit innate behaviors. However, such design principle is ill-suited to accommodate the environment at large because it is impossible to design specific receptor for each and every potential stimulus. Most neurons in the sensory pathways are tuned to broad sets of properties. Even for systems exhibiting highly specific sensory responses at various stages, downstream cells exhibiting complex tuning properties. As such, individual features are represented distributively and individual neuron participates in the encoding of multiple stimuli. This characteristic enables information to be compressed, allowing a limited number of neurons to carry a large amount of information. Information theory, white noise and compressed sensing.

Robustness of compressed sensing code

Our analyses showed that compressive sensing based coding scheme is enormously powerful. Accurate recovery of input information requires only a fraction of the glomeruli and is insensitive to noise. Additional glomeruli not only provides increased coding capacity, but also rapidly increases the accuracy in signal recovery. A striking feature of this compressed sensing code is that the encoders are non-specific with regard to tuning. It may seem paradoxical that an effective code is composed of neurons that are non-specifically tuned to disparate features of the stimuli, but it is this property, naturally required by compressed sensing, that renders the glomeruli the power to encode information. Brain neurons are limited in their number and their repertoire of response patterns. Highly specific tuning have low information content and reduces the coding capacity of the network. Whereas individual sensors employing compressed sensing strategy to encode information may not be specific, stimulus can be accurately identified when multiple neuron join force to represent a specific property of the stimulus. The properties of compressed sensors dictate that the certain levels of correlations exist among individual sensors. This corollary runs counter to classic coding theories, which suggests that individual neurons are decorrelated in their response properties such as to reduce redundancy. In the meantime, the nervous system still relies on decorrelation to reduce the impact of noise derived on signal corruption. In population coding, noise can be reduced by redundancy, where uncorrelated noise can be cancelled. Correlation, on the other hand, reduces the effectiveness of noise cancellation. A balance is struck in compressed sensing, however. Individual neurons may exhibit correlated response to the same feature, but because of the distributed representation of the features, there will be large proportions of neurons that are correlated. Compression increases the coding capacity of a limited number of neurons their response pattern and redundancy is built into the coding scheme when multiple sensors are responsible for encoding the same feature.

Reading the code

We demonstrate that odor identities can be accurately recovered through compressed sensing algorithm. We do not know, however, how this algorithm is implemented in the brain. In the olfactory bulb of the awake mouse, mitral cell responses are sparsened, possibility implemented by the granule cell network through dendrodendritic inhibition. A theoretical frame that minimized the cost function naturally leads to the sparse response. Thus, the mitral cells is likely to act as decoders of signals in the olfactory glomeruli. Nevertheless, the number of mitral cells is still rather small. Interestingly, the number of neuron in the piriform cortex, which receives direct input from the olfactory bulb, is orders of magnitude more numerous than the mitral cells. A distinct feature of the piriform cortex is that each pyramidal cells integrate the input from spatially distributed mitral cells. Therefore, the piriform cortex might serve as a processing stage that “unpack” the compressed information from the bulb, to decode the signals and allow them to be represented sparsely by the cortical neurons. Individual pyramidal cells may serve as to detect the activation of specific combination of glomeruli. In addition, as the individual pyramidal cells also respond to multiple odors, they may themselves serves compressed sensors and encode information that can be decoded further.


In [1]:
using CompressedSensing
using PyPlot


INFO: Loading help data...

In [ ]:
nProperties = 50

sparsityRange=[1:nProperties]
measurementRange=[1:nProperties]


nmonte=10
output = zeros(length(sparsityRange),length(measurementRange))

for i = 1:nmonte
    for nMeasurements = measurementRange
        for sparsity = sparsityRange
            m = randn(nMeasurements,nProperties)

            sample = zeros(nProperties)
            sample[rand(1:nProperties,sparsity)]=randn(sparsity)
            output[sparsity,nMeasurements]+=(cor(IRLS(m,m*sample,threshold=1e-5),sample).>.95)./nmonte
        end
    end
end

1+1


In [54]:
pcolormesh(flipdim(flipdim(output,1)',1),label="Test")
colorbar();


Out[54]:
PyObject <matplotlib.colorbar.Colorbar instance at 0x11a964200>

In [12]:
output


Out[12]:
50x50 Array{Float64,2}:
 0.1  0.0  0.1  0.4  0.3  0.6  0.9  0.8  …  1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.2  0.2  0.2  0.3  0.6  0.4     1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.1  0.0  0.0  0.2  0.2  0.4     1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.1  0.2  0.2     1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.2     1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.1  0.0  0.0  0.0  0.1  0.0  0.2  …  1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
 ⋮                        ⋮              ⋱            ⋮                      
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     1.0  0.9  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.8  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  …  1.0  1.0  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.9  0.9  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     1.0  0.9  1.0  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.9  1.0  0.9  1.0  1.0  1.0  1.0
 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0     0.9  0.9  1.0  1.0  1.0  1.0  1.0