速率編碼(rate coding)
速率編碼使用輸入特征來確定尖峰頻率,例如將靜態輸入數據(如 MNIST 圖像)轉換為時間上的脈沖(spike)序列。它是將神經元發放脈沖的頻率與輸入值(如像素強度)建立聯系的一種編碼方式(應用較為廣泛)。其核心思想是:
-
像素值越高,脈沖發放越頻繁;
-
像素值越低,發放越稀疏,甚至不發放。?

-
將輸入圖像轉換為一個隨時間變化的二值脈沖序列(0 或 1),形成一個 spike train。
-
每個像素變成一串在若干時間步內可能為“1”的離散事件,值為1時代表該時間點有脈沖。
-
時間上的這些脈沖事件與原始像素強度成比例(這就是速率編碼):強度高的像素在序列中出現1的概率更高。
例如:
-
一個像素值為0.9,可能在10個時間步中產生9次脈沖;
-
一個像素值為0.1,只會偶爾產生1次脈沖(10個時間步中)。
延遲編碼(latency coding)
延遲編碼使用輸入特征來確定峰值時間。
機制
-
輸入值會轉換為單個脈沖,但脈沖的時間決定了輸入值的大小。
-
例如,在MNIST數據集中,接近1的功能會更早觸發,而接近0的功能會更晚觸發。像素強度為0.9的像素可能在t=1時發放脈沖,而強度為0.2的像素在t=8發放脈沖。也就是說,在MNIST案例中,明亮的像素會更早發射,而黑暗的像素會更晚發射。一句話總結:輸入大意味著峰值快;輸入小意味著峰值晚。
-
時間窗口中只有一次發放(或不發),是時間稀疏型編碼。
優點
-
高效:每個神經元只發一個脈沖,節省能量。
-
精確表達時間信息:適用于對時間敏感的任務(如聲紋識別、動作感知等)。
缺點
-
對噪聲敏感:小的時序誤差可能會造成顯著的識別錯誤。
-
需要高精度時鐘同步。
原理分析:
效果展示:
增量調制(delta modulation)
增量調制使用輸入特征的時間變化來產生尖峰。
機制
-
系統記錄前一時刻的輸入值,只在當前輸入值與之前相比有顯著變化時,發出脈沖。
-
脈沖信號表示“變化發生了”,而不是輸入值本身。
-
可使用“正變化”和“負變化”兩類脈沖。
優點
-
高能效:輸入靜止或緩慢變化時幾乎不發脈沖,節省計算和能量。
-
更適合處理視頻流、連續傳感器數據等時變信號。
缺點
-
不適合靜態圖像(如 MNIST),因為沒有“變化”就沒有脈沖(與使用在速率編碼rate coding中的增加時間步使得靜態圖像成為video的方式進行比較,置于“supplentary information”)。
-
初始狀態需要校準,依賴上下文歷史。
Supplementary Information:
增量調制不建議用于靜態圖像原因分析:
增量調制(Delta Modulation)的設計初衷是為動態、連續的信號輸入服務,如傳感器數據、視頻幀、語音波形等。這些數據天然包含時間上的“變化”信息。由于只在輸入有“明顯變化”時發放脈沖,對于一幀靜態圖像,這種變化在時間上根本不存在,所以無法自然產生脈沖。如果使用類似rate coding的方式將靜態圖片中的各個像素在不同時間步作為網絡輸入,即實現像素值輕微波動制造人為的“變化”以觸發脈沖,會引入噪聲擾動而并非真實語義變化即“偽脈沖”;此外,增量調制依賴的時間關聯將被破壞,導致脈沖分布偏離原始的圖像特征。
速率編碼適配靜態圖像原因分析:
rate coding并不依賴時間變化,只是將像素值映射為脈沖發放的頻率,因此適用于非時間相關的數據,例如圖片、結構化特征向量等。
Conclusion
調整方式 | 可行性 | 風險或挑戰 |
---|---|---|
添加擾動或噪聲 | 有限 | 易引入不必要脈沖,增加誤差 |
設計滑動窗口機制 | 可行 | 設計復雜度高,需任務定制 |
使用自然序列圖像 | 理想 | 數據源要求變為動態數據(如視頻) |
綜上分析,如果具體的任務本質是靜態分類,使用速率編碼或延遲編碼更自然。而若你是在開發低功耗、動態感知系統(如事件攝像頭、安防感知設備),那么增量調制在真正的動態場景中會表現得更好。