山西工程技術學院 崔建國 寧永香
人工神經網絡(Artificial Neural Network,即ANN),它從信息處理角度對人腦神經元網絡進行抽象,建立某種簡單模型,按不同的連接方式組成不同的網絡。在工程與學術界也常直接簡稱為神經網絡或類神經網絡。神經網絡是一種運算模型,由大量的節(jié)點(或稱神經元)之間相互聯接構成。每個節(jié)點代表一種特定的輸出函數,稱為激勵函,(activation function)。每兩個節(jié)點間的連接都代表一個對于通過該連接信號的加權值,稱之為權重,這相當于人工神經網絡的記憶。網絡的輸出則依網絡的連接方式,權重值和激勵函數的不同而不同。而網絡自身通常都是對自然界某種算法或者函數的逼近,也可能是對一種邏輯策略的表達[1]。
最近十多年來,人工神經網絡的研究工作不斷深入,已經取得了很大的進展,其在模式識別、智能機器人、自動控制、預測估計、生物、醫(yī)學、經濟等領域已成功地解決了許多現代計算機難以解決的實際問題,表現出了良好的智能特性。
聽力損傷很厲害的人,普通助聽器沒有對其沒有多少用,因為它們必須依靠送話器的嘴子(口承)。但是,當聲音中的頻率變化信息是表現為語音基波頻率的正弦波時,有些聾人能聽到這種變化。因為這種頻率變化信息為聾人提供了語音中的重音和聲調。利用人工神經網絡這種算法設計一種新型的助聽器,可以很好地服務于耳聾患者。
MLP(Multi-Layer Perceptron),即多層感知機,是一種前向結構的人工神經網絡,映射一組輸入向量到一組輸出向量。MLP可以被看做是一個有向圖,由多個節(jié)點層組成,每一層全連接到下一層。除了輸入節(jié)點,每個節(jié)點都是一個帶有非線性激活函數的神經元(或稱處理單元)[2],如下圖。

圖1 多層感知機結構圖
一種被稱為反向傳播算法的監(jiān)督學習方法常被用來訓練MLP。MLP是感知機的推廣,克服了感知機不能對線性不可分數據進行識別的弱點。
MLP在80年代的時候曾是相當流行的機器學習方法,擁有廣泛的應用場景,譬如語音識別、圖像識別、機器翻譯等等,但自90年代以來,MLP遇到來自更為簡單的支持向量機的強勁競爭。近來,由于深層學習的成功,MLP又重新得到了關注[3]。
前文所述,當聲音中的頻率變化信息是表現為語音基波頻率的正弦波時,有些聾人能聽到這種變化,基于這種結論,世界上許多科研機構或企業(yè)已用這種方法做出了處理語音的電子系統樣機,但大多只是部分成功。在倫敦的GUY醫(yī)院作了一種稱為SIVO的助聽器,并由藥物委員會和健康部投資,現正在由30個耳聾患者鑒定其性能。
SIVO這種助聽器可以提取語音的基波頻率,其方法是檢測語音壓縮波形中聲域的脈沖激勵信號所產生的初始峰值電壓,這個模擬峰值電壓信號驅動一個微控制器去合成某種正弦波,其幅度和頻率與每個聾人相適應。不幸的是這種系統在充滿噪聲和混響(或反射)自然環(huán)境中的性能較差。
第二種助聽器最近由GUY醫(yī)院的工程部所設計,成為SIVO2,它將克服SIVO的許多限制或不足,采用了基于人工神經網絡算法的數字信號處理技術,稱為多層感知機,簡稱MLP(Multilayer Perceptron)。
經初步研究表明:在有噪聲的情況下,這種多層感知機(即MLP)能成功地檢測語音中的基波信號。
SIVO2系統的設計基本準則是:必須體積小巧,且一個電池能待機和實時處理語音工作12小時以上,后一點“實時處理語音工作”是非常重要的,因為說話人的基波頻率變化特性能傳送有用信息給耳聾患者。
SIVO2系統中,輸入的語音送到三階高通貝塞爾濾波器,如圖2,該濾波器低端轉折頻率為80Hz,濾波器能將噪聲濾去,而保存有用信息的線性相位響應。因為即使最大安靜的房間內也存在一個大的次聲(頻率小于16Hz)噪聲,約60到70分貝,如不濾去,則會影響聽者注意力甚至對聽者產生痛苦的感覺。

圖2 基于神經網絡算法的助聽器結構圖
濾波器的輸出信號送到模擬集成電路AD28MSPO2的16位西格瑪(Sigma)增量編碼解碼器,該集成電路有連續(xù)輸出和抗假頻干擾能力以及重新構成多種濾波器的能力,是一種可切換的高通濾波器,并且可進行可編程增益控制,編碼解碼器的采樣頻率為8kHz。
SIVO2系統的核心是德克薩斯儀器公司的高速16位定點DSP(數字信號處理器)芯片TMS32C51。它首先完成幾個二階IIR(遞歸濾波器)濾波器功能,以便把語聲信號分為6個頻率組(頻率50Hz和30KHz之間分為6個頻率組)。這6組信號輸出然后再進行整流,以保持其正電壓部分,再經過低通濾波器濾波,采樣頻率降到2KHz采樣和進行對數壓縮,最后才送DSP神經網絡進行處理。這6組信號驅動6條延遲線(每條延遲線都有41級),延遲線形成MLP的輸入向量[4]。
多層感知機部分包括六個處理單元和一個輸出單元,六個處理單元之間雙層全互聯。MLP是用來識別語音基波的,MLP的輸出去控制產生合適的正弦波,該正弦波再編碼解碼器,最后去驅動一個推挽式恒流助聽器。
對所有的助聽器來說,一個帶決定性的設計考慮因數是其功耗大小,需要仔細地設計和作某些折中考慮。DSP芯片TMS32C51片內有4k字節(jié)RAM和可以用來利用的靜態(tài)邏輯電路,RAM能用來存儲數據,減少了芯片的通信量。研究表明,MLP工作于8位是適當的,它為在16位DSP中作進一步研究提供了足夠的基礎。
要使MLP發(fā)揮作用,其輸出的非線性函數必須加到每個單元,通常采用的非線性函數是S型函數,而不包括除法和冪指數,因其運算太慢可能影響實時操作,采用查表算法,乘、加數據操作被減化,TMS32C51能在一個50ns周期內完成。
雖然對MLP來說8位工作是合適的,但是濾波器的組合軟件必須以16位精度運行,以獲得足夠的動態(tài)范圍和iir濾波器的穩(wěn)定工作(因為Fir濾波器復雜,所以未用)。
總計,查表運算可以用于:S函數,輸出基波作正弦波的合成,存儲與耳聾患者感覺舒服的聽覺曲線有關的頻率以及與講話人是男人、女人或小孩有關的頻率偏移。
整個SIVO2系統是裝在兩塊6層印制板上,一塊裝DSP,它有兩片128k*8位的電可擦除E2PROM芯片和兩片8k*8位的25nsCMOS靜態(tài)SRAM。另一塊印制板上裝有麥克風放大器、高通噪聲濾波器、編譯碼器和耳機功率放大器。整個系統用這種方法分開是因為每個患者都有一個合適的電氣管子插在耳內,它以小電流仿真建立聲音的感覺。
由電可擦除的E2PROM芯片存儲程序編碼和要查閱的表格,它還采用了Intel公司的“自舉塊”型BACK ROM器件,它有4個可保護、可擦除的部分。靜態(tài)SRAM保存MLP的權值,它不能放入DSP的RAM,且每個部分都有它自己的“選通”線,以便能選擇高字節(jié)或低字節(jié)以節(jié)省功率。
電可擦除E2PROM很適合這種應用,因為我們可以毫無困難地重新對助聽器再編程,就像對RAM編程一樣方便,且用了“自舉塊”技術,意味著即使發(fā)生某些程序運行錯誤時,也絕不會完全死機(系統癱瘓),可以“自舉”(自啟動之意)。
SIVO2系統采用電池供電,因此省電變得極為重要,系統絕不允許任何總線懸空(可以接為高阻),管腳懸空比較容易接受外界的電磁干擾,且將總線拉高(高電平)時在電阻上的功耗比起總線懸空的功耗要少的多。
這種基于人工神經網絡算法開發(fā)的助聽器樣機經過長期測試,效果很好,表明該系統獲得了高度的成功。佩戴這種助聽器的耳聾患者不僅能聽到聲音,而且在典型噪聲情況環(huán)境下,聲音聽起來相對是和諧的,不同于一般的助聽器放大后引起聽者不舒服或感覺模糊。