第五章 基因演算法
6.1 實驗參數設定與硬體
在語音前置處理部分,個人電腦上採用 8kHz、16bits、單聲道的 wav 錄音 格式,音框長度 256 點,使用整數快速傅立葉轉換,取十維的梅爾倒頻譜特徵參 數。在隱藏式馬可夫模型方面,採用離散的隱藏式馬可夫模型,觀察結果數為 64 個,隱藏的狀態數 7 個,狀態跳躍可跳至本身、下一個、下兩個狀態,每個 模型皆從狀態 0 開始。
在基因演算法方面,每代染色體數 16,每個染色體有 5 個實數基因,分別 對應至 IMF1 到 IMF5 重組的權重w,在染色體存活率為i 0.5 和突變率為 0.05 下,
測試了隨機配對、輪盤法、競爭法這三種選擇方法,針對的目標噪音為 20db 的 語音做訓練,演化代數 1000 代,其訓練結果如表 6-1,收斂過程如圖 6.1。
表 6-1 不同選擇法之演化結果
選擇方法 隨機選擇 輪盤法 競爭法
20db 辨識率 0.96 0.944 0.942
圖 6.1 不同選擇法的收斂過程
表 6-1 中以隨機選擇的效果最佳,因此我們採用了隨機配對法,其後在其它設定 不變下針對不同的突變率(0.04、0.05、0.06、0.07、0.1)做測試,其結果如表 6-2,
收斂過程如圖 6.2。
表 6-2 不同突變率之演化結果
突變率 0.04 0.05 0.06 0.07 0.1 20db 辨識率 0.956 0.96 0.946 0.942 0.95
圖 6.2 不同突變率的收斂過程
在表 6-2 中,最高和最低辨識率相差 0.018,差距並不大,不過突變率還是決定 採用辨識率較佳的 0.04 和 0.05 來演化,取兩者中較佳的作為實驗結果。另外由 於懷疑上面之演化結果可能僅是區域最佳解,並非全域解,將染色體個數由 16 個變成 64 個,為原來的四倍大,增加其搜尋的廣度,而演化代數減為原來的四 分之一,使新的設定和原來的設定所搜尋的染色體數相等。兩者相比較,染色體 64 個演化 250 代其搜尋的廣度較大但深度較淺,染色體 16 個演化 1000 代其搜 尋的廣度較窄但深度較深,經實驗染色體 64 個演化 250 代其演化結果辨識率為 0.942,並沒有比原來 16 個染色體演化 1000 代的 0.96 佳,因此在同演化時間下 每代染色體數量採用 16 個。另外基因演算法可以不斷的演化來搜尋最佳解,但 實際上我們不可能讓它無限期的演化下去,由於本實驗計算量相當龐大,16 個 染色體數量演化 1000 代需要 3 天到 4 天才能完成,採用 1000 代和 16 個染色體 數量的設定在時間上較能接受,其演化結果也達到不錯的效果。
語音資料方面,在電腦上,採用電腦單人錄音,目標聲音為 0 到 9 共 10 個 中文音節,每個音錄 100 次,50 次當訓練,另 50 次當測試用,板子上則使用廠
商提供的軟體從板子錄音傳輸到個人電腦,在板子訓練好參數後再將參數下載到 板子上,辨識測試則在板子上直接辨識和統計辨識率。
在嵌入式硬體部分,採用友晶科技 DE2-70 開發板,此硬體以 Altera CycloneII FPGA 為核心連接許多基本 IO 介面包括聲音輸出輸入、JTAG、7 段顯示器、指 (Signal-to-Noise Ratio, SNR)[4],其計算公式如下,
)