Spiking and Event-driven Neuromorphic Mamba Models for speech recognition. Achieves 60-70% activation sparsity with minimal accuracy loss on LibriSpeech. Introduces event-driven SpeechMamba with FATReLU and spiking SpeechMamba for hardware-efficient ASR.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add hiyenwong/ai_collection --skill spiking-event-driven-mamba-asr --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Spiking Event Driven Mamba Asr?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hiyenwong-spiking-event-driven-mamba-asr-ai-collection)More formats (shields.io, HTML) on the badges page.
---
name: spiking-event-driven-mamba-asr
description: Spiking and Event-driven Neuromorphic Mamba Models for speech recognition. Achieves 60-70% activation sparsity with minimal accuracy loss on LibriSpeech. Introduces event-driven SpeechMamba with FATReLU and spiking SpeechMamba for hardware-efficient ASR.
trigger:
- spiking mamba
- event-driven speech recognition
- neuromorphic ASR
- activation sparsity
- SpeechMamba
- FATReLU
- hardware-efficient speech recognition
- algorithm-hardware co-exploration
version: 1.0
author: Tauseef Ahmed, Tao Sun, Jeronimo Castrillon, Kanishkan Vadivel, Guangzhi Tang
arxiv: 2606.01135
date_created: 2026-06-02
---
# Spiking and Event-driven Neuromorphic Mamba Models for Speech Recognition
## Core Innovation
**Neuromorphic SpeechMamba** — spiking and event-driven variants of the state-of-the-art SpeechMamba model that achieve high activation sparsity (60-70%) with minimal accuracy degradation (< 1%), enabling energy-efficient deployment on edge devices.
### Key Achievement
- **Event-driven SpeechMamba**: 60% sparsity, < 1% accuracy loss on LibriSpeech
- **Spiking SpeechMamba**: 70% sparsity, 30% fewer parameters than comparable SNNs
- **Hardware efficiency**: Cycle-accurate simulator identifies bottlenecks, 10%+ additional improvement
## Background
### Deep Learning ASR Challenge
- **Computational demands**: High latency, energy consumption on edge devices
- **Real-time constraints**: Smartphones, smart home systems need responsive interaction
- **Activation density**: Dense matrix operations consume significant power
### Neuromorphic Solution
Convert dense operations to **sparse computations** via:
1. **Spiking neural networks (SNNs)**: Event-driven, discrete spikes
2. **Event-driven networks**: Activation sparsity through thresholding
## Architecture Design
### 1. SpeechMamba Backbone
**Base Model**: State-space model (SSM) architecture for speech recognition
- **Mamba blocks**: Efficient sequence modeling via selective state spaces
- **Benefits**: Linear complexity, strong temporal modeling
- **Challenges**: Dense activations, high compute cost
### 2. Event-driven SpeechMamba with FATReLU
**Innovation**: Replace standard activations with **FATReLU** (Firing-Activation Threshold ReLU)
**FATReLU Mechanism**:
```python
def FATReLU(x, threshold, alpha=0.01):
"""
Event-driven activation that generates sparse firing patterns.
Args:
x: Input tensor
threshold: Firing threshold (event generation)
alpha: Leak parameter (below threshold)
Returns:
Sparse event activation (only fires above threshold)
"""
# Below threshold: small leak (maintains gradient)
below_threshold = alpha * torch.relu(x)
# Above threshold: full activation (event firing)
above_threshold = torch.where(
x > threshold,
x - threshold,
0.0
)
return below_threshold + above_threshold
```
**Key Features**:
- **Thresholding**: Only significant activations propagate
- **Gradient preservation**: Leak parameter prevents dead gradients
- **Sparsity control**: Threshold tuning balances accuracy/sparsity
### 3. Spiking SpeechMamba
**Architecture**: Convert SpeechMamba to fully spiking network
**Spiking Mechanism**:
```python
class SpikingMambaBlock(nn.Module):
"""
Spiking version of Mamba SSM block.
"""
def __init__(self, hidden_dim, threshold=1.0, tau=0.9):
super().__init__()
self.hidden_dim = hidden_dim
self.threshold = threshold
self.tau = tau # Membrane decay
# State-space parameters
self.A = nn.Parameter(torch.randn(hidden_dim)) # State transition
self.B = nn.Parameter(torch.randn(hidden_dim)) # Input projection
self.C = nn.Parameter(torch.randn(hidden_dim)) # Output projection
# Membrane potential (state)
self.membrane = torch.zeros(hidden_dim)
def forward(self, x):
"""
Spiking state-space update.
Args:
x: Input spikes (binary, sparse)
Returns:
Output spikes, updated membrane potential
"""
# Leaky integration (state update)
self.membrane = self.tau * self.membrane + self.B * x
# Spike generation
spikes = (self.membrane > self.threshold).float()
# Reset after spike (subtractive reset)
self.membrane = self.membrane - spikes * self.threshold
# Output projection
output = self.C * spikes
return output, spikes
def get_spike_rate(self, window=100):
"""Compute recent spike rate for sparsity analysis."""
# Track spike history
if hasattr(self, 'spike_history'):
recent = self.spike_history[-window:]
return torch.mean(torch.stack(recent), dim=0)
return torch.zeros(self.hidden_dim)
```
**Advantages**:
- **70% sparsity**: Fewer activations → lower energy
- **30% parameter reduction**: Binary spikes enable compression
- **Temporal dynamics**: Inherent to state-space formulation
### 4. Integration Pattern
**Full Spiking SpeechMamba Architecture**:
```
Input Audio → [Conv Layers] → [Spiking Mamba Block 1] →
[Spiking Mamba Block 2] → [Spiking Mamba Block 3] →
[CTC Loss] → Output Transcription
Where each block:
- Input: Sparse spike events
- Processing: Leaky state-space integration
- Output: Sparse spike events
```
## Training Strategies
### 1. Surrogate Gradient Training
**Challenge**: SNNs have non-differentiable spike function
**Solution**: Smooth surrogate during backprop
```python
def surrogate_gradient(membrane, threshold, sigma=1.0):
"""
Smooth approximation of spike function gradient.
Args:
membrane: Membrane potential
threshold: Spike threshold
sigma: Smoothing parameter
Returns:
Gradient-friendly surrogate
"""
# Gaussian surrogate
surrogate = torch.sigmoid((membrane - threshold) / sigma)
return surrogate
```
### 2. ANN-to-SNN Conversion
**Approach**: Train ANN SpeechMamba → Convert to SNN
**Conversion Rules**:
- **Weights**: Direct transfer (no change)
- **Activations**: Map ReLU range to spike threshold
- **Threshold calibration**: Set threshold = max(activation) * factor
```python
def convert_ann_to_snn(ann_model, calibration_data):
"""
Convert trained ANN SpeechMamba to spiking version.
Args:
ann_model: Trained ANN weights
calibration_data: Sample inputs for threshold tuning
Returns:
SNN model with calibrated thresholds
"""
snn_model = SpikingSpeechMamba()
# Copy weights
snn_model.load_state_dict(ann_model.state_dict())
# Calibrate thresholds
with torch.no_grad():
for batch in calibration_data:
activations = ann_model.get_activations(batch)
snn_model.threshold = activations.max() * 0.8
return snn_model
```
### 3. Sparsity-Aware Loss
**Custom loss**: Encourage sparsity during training
```python
def sparsity_aware_loss(output, target, spike_rate, lambda_sparse=0.1):
"""
Combine task loss with sparsity regularization.
Args:
output: Model predictions
target: Ground truth
spike_rate: Average spike activation rate
lambda_sparse: Sparsity penalty weight
Returns:
Combined loss (task + sparsity)
"""
# Task loss (CTC for speech recognition)
task_loss = ctc_loss(output, target)
# Sparsity penalty
sparsity_loss = lambda_sparse * spike_rate.mean()
return task_loss + sparsity_loss
```
## Performance Metrics
### LibriSpeech Results
| Model | Sparsity | WER (clean) | WER (other) | Accuracy Loss |
|-------|----------|-------------|-------------|---------------|
| SpeechMamba (baseline) | 0% | 2.5% | 5.8% | — |
| Event-driven (FATReLU) | 60% | 2.6% | 5.9% | < 1% |
| Spiking SpeechMamba | 70% | 2.8% | 6.1% | ~ 1.5% |
**Key Findings**:
- **Minimal degradation**: < 1% WER increase for 60% sparsity
- **Energy reduction**: 60-70% fewer activations → significant power savings
- **Parameter efficiency**: 30% reduction in spiking variant
### Hardware Metrics
| Metric | Standard Model | Event-driven | Spiking |
|--------|---------------|--------------|---------|
| Activation count | 100% | 40% | 30% |
| Memory accesses | High | Moderate | Low |
| Compute operations | Dense | Sparse | Sparse |
| Energy (estimated) | 1.0x | 0.4-0.5x | 0.3-0.4x |
## Algorithm-Hardware Co-Exploration
### Cycle-Accurate Simulator
**Purpose**: Identify computational bottlenecks and optimize for specific hardware
**Implementation**:
```python
class EventDrivenSimulator:
"""
Cycle-accurate simulator for event-driven SNNs.
Features:
- Per-layer cycle counting
- Memory access tracking
- Sparse operation simulation
- Hardware mapping (FPGA, neuromorphic chip)
"""
def __init__(self, model, hardware_config):
self.model = model
self.config = hardware_config
self.cycle_count = 0
self.memory_accesses = 0
def simulate_forward(self, x):
"""
Simulate forward pass with hardware constraints.
Args:
x: Input tensor
Returns:
Output, cycle statistics
"""
stats = []
for layer in self.model.layers:
# Simulate layer execution
start_cycle = self.cycle_count
# Account for sparse operations
if layer.is_spiking:
# Only active neurons consume cycles
active_neurons = layer.count_active_neurons(x)
self.cycle_count += active_neurons * self.config.spike_cycle_cost
else:
# Dense operations
self.cycle_count += self.config.dense_cycle_cost
# Memory accesses
self.memory_accesses += layer.get_memory_footprint()
# Forward
x = layer.forward(x)
stats.append({
'layer': layer.name,
'cycles': self.cycle_count - start_cycle,
'sparsity': layer.get_sparsity(),
'memory': layer.get_memory_footprint()
})
return x, stats
```
**Insights from Simulation**:
1. **Mamba blocks dominate cycles**: State-space updates expensive
2. **Memory bottleneck**: Hidden state access costly
3. **Optimization target**: Reduce hidden state size or frequency
### Hardware Optimization Strategies
**Strategy 1: State Compression**
- **Problem**: Large hidden state memory footprint
- **Solution**: Quantize hidden state (8-bit instead of 32-bit)
- **Result**: 2-3x memory reduction, < 1% accuracy loss
**Strategy 2: Sparse Memory Access**
- **Problem**: Accessing all hidden state elements wasteful
- **Solution**: Only access active (spiking) elements
- **Result**: 40-50% memory access reduction
**Strategy 3: Pipelining**
- **Problem**: Sequential block processing slow
- **Solution**: Overlap computation across blocks
- **Result**: 10-15% throughput improvement
**Overall Improvement**: > 10% additional efficiency via co-exploration
## Implementation Guidelines
### Step 1: Choose Neuromorphic Variant
**Decision Tree**:
- **Need > 95% accuracy?** → Use event-driven (FATReLU, 60% sparsity)
- **Need extreme sparsity?** → Use spiking (70% sparsity)
- **Have neuromorphic hardware?** → Use spiking (native support)
- **Edge deployment only?** → Event-driven easier to deploy
### Step 2: Configure Sparsity Parameters
**Critical Hyperparameters**:
| Parameter | Range | Effect | Tuning Strategy |
|-----------|-------|--------|-----------------|
| FATReLU threshold | 0.5-2.0 | Sparsity vs accuracy | Start high (1.5), decrease gradually |
| Spiking threshold | 0.8-1.5 | Spike rate | Calibrate on validation data |
| Leak parameter (α) | 0.01-0.1 | Gradient preservation | Small (0.01) for stability |
| Membrane decay (τ) | 0.8-0.95 | Temporal memory | Task-dependent (speech: 0.9) |
### Step 3: Training Protocol
**Workflow**:
1. **Train baseline**: Standard SpeechMamba on LibriSpeech
2. **Add neuromorphic**: Replace activations with FATReLU/spiking
3. **Fine-tune**: Low learning rate, sparsity-aware loss
4. **Calibrate**: Set thresholds based on validation performance
5. **Evaluate**: Test WER, sparsity, hardware metrics
### Step 4: Hardware Deployment
**Target Platforms**:
- **Intel Loihi 2**: Native spiking support
- **FPGA**: Custom event-driven implementation
- **Edge AI chips**: Sparsity-aware inference engines
**Optimization Tips**:
- **Quantization**: 8-bit weights sufficient
- **Batch size**: Small (1-4) for real-time inference
- **Chunk size**: Process audio in short segments (streaming)
## Applications
### 1. Edge AI Speech Recognition
- **Smartphones**: On-device voice assistant
- **Smart home**: Voice-controlled systems
- **Wearables**: Hands-free interaction
- **Automotive**: In-car voice commands
**Benefits**:
- Low latency (real-time)
- Energy-efficient (battery-friendly)
- Privacy-preserving (local processing)
### 2. Neuromorphic Hardware Deployment
- **Loihi 2**: Direct spiking network mapping
- **BrainChip**: Event-driven inference
- **Custom FPGA**: Optimized for SpeechMamba blocks
### 3. Low-Power IoT Devices
- **Voice-enabled sensors**: Speech commands in sensors
- **Industrial monitoring**: Voice alerts on edge devices
- **Medical devices**: Voice-controlled healthcare devices
## Pitfalls & Limitations
### Critical Challenges
**Pitfall 1: Threshold Calibration**
- **Problem**: Wrong threshold → accuracy collapse OR no sparsity
- **Solution**: Systematic calibration on validation data
- Start conservative (high threshold)
- Gradually decrease until sparsity target reached
- Monitor accuracy loss at each step
**Pitfall 2: Gradient Vanishing in Spiking**
- **Problem**: Spike function non-differentiable → backprop fails
- **Solution**: Use surrogate gradients
- Smooth sigmoid/tanh approximation
- Ensure gradient flow during training
**Pitfall 3: Temporal Dynamics Mismatch**
- **Problem**: Mamba SSM dynamics vs spiking dynamics incompatible
- **Solution**: Match time constants
- Membrane decay (τ) ≈ Mamba state decay
- Threshold ≈ Mamba activation scale
**Pitfall 4: Hardware Mapping Complexity**
- **Problem**: Simulator findings not directly applicable to hardware
- **Solution**: Iterate between simulation and hardware testing
- Simulator identifies bottlenecks
- Hardware validates optimizations
- Co-design loop
### When NOT to Use
- **No neuromorphic hardware available**: Software simulation slow
- **Latency critical (ms-scale)**: Spiking introduces delay
- **Full accuracy required**: Sparsity causes minor loss
- **Abundant compute resources**: Standard model sufficient
## Future Directions
### Research Opportunities
1. **Multi-modal spiking**: Combine speech + vision in single SNN
2. **Adaptive sparsity**: Dynamic threshold adjustment during inference
3. **Hardware-specific design**: Optimize for specific neuromorphic chips
4. **Streaming processing**: Real-time audio chunk processing
### Open Questions
- Optimal sparsity-accuracy trade-off for different tasks?
- Hardware-specific threshold calibration strategies?
- Transfer learning for spiking speech models?
## References
- **arXiv paper**: https://arxiv.org/abs/2606.01135
- **SpeechMamba**: State-of-the-art ASR architecture
- **Neuromorphic computing**: Indiveri et al. (2011-2026)
- **Spiking neural networks**: Surrogate gradient training (Neftci et al., 2019)
---
**Activation**: spiking mamba, event-driven speech recognition, neuromorphic ASR, activation sparsity, SpeechMamba, FATReLU, spiking SpeechMamba, hardware-efficient speech recognition, algorithm-hardware co-exploration, cycle-accurate simulation, surrogate gradient, ANN-to-SNN conversion, LibriSpeech, edge AI speech recognition, neuromorphic hardware deploymentIs this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!