Multiple spiking functionalities in memristive neurons. Time-to-first-spike, spike count, and firing rate encoding in Ag/HfZrO2-based neuromorphic hardware.
本文报道了在退火优化的Ag/Hf₀.₅Zr₀.₅O₂忆阻神经元中实现多种脉冲功能特性。单个器件可同时支持时间编码(TTFS)、计数编码和频率编码,为高能效神经形态计算硬件提供基础。
class MemristiveNeuron:
def __init__(self, R_off=1e6, R_on=1e3, tau=1e-3):
self.R_off = R_off # 高阻态
self.R_on = R_on # 低阻态
self.tau = tau # 时间常数
self.membrane = 0 # 膜电位模拟
def integrate(self, input_current, dt):
# 积分发放动力学
dV = (input_current * self.R_on - self.membrane) / self.tau * dt
self.membrane += dV
if self.membrane >= self.threshold:
spike = self.emit_spike()
self.membrane = 0 # 重置
return spike
return None
def emit_spike(self):
# 多模式编码支持
timestamp = self.get_time() # TTFS
spike_count = self.increment_counter() # Spike count
firing_rate = self.calculate_rate() # Firing rate
return {
'timestamp': timestamp,
'count': spike_count,
'rate': firing_rate
}
| 编码模式 | 机制 | 应用 |
|---|---|---|
| TTFS | 首次脉冲时间 | 快速决策 |
| Spike Count | 脉冲数量 | 精度任务 |
| Firing Rate | 发放频率 | 模拟计算 |
输入层 忆阻神经元 输出
┌─────┐ ┌─────────────────────────────────┐ ┌─────┐
│ I₁ │───►│ │───►│ O₁ │
└─────┘ │ ┌─────────┐ ┌─────────┐ │ └─────┘
┌─────┐ │ │ Memristor│ │ Spiking │ │ ┌─────┐
│ I₂ │───►│ │ Array │──►│ Circuit │───►│───►│ O₂ │
└─────┘ │ │ (Ag/HZO) │ │ │ │ └─────┘
┌─────┐ │ └─────────┘ └─────────┘ │ ┌─────┐
│ I₃ │───►│ │───►│ O₃ │
└─────┘ └─────────────────────────────────┘ └─────┘