運用人工智能分層神經網絡思想,通過訓練學習實現手寫數字識別功能。
關鍵字: VC、人工智能、神經網絡、手寫識別
通過本系統開發學習,初步認識計算機人工智能與神經網絡,掌握基本方法與思路。
市面語音、手寫、指紋識別系統多建立在神經網絡技術基礎上,是解決識別難題的適當方法。
本系統採用 VC 開發,讀者需熟悉 VC。
人工神經網絡模擬生物神經元,分單層與多層。實驗證明層數不影響識別能力,但適當多層結構可加快訓練收斂速度。本系統採用分層前向神經網絡,結構圖:
圖1:分層前向神經網絡結構
設輸入層 n、隱層 m、輸出層 p。權值矩陣 V (n×m)、W (m×p)。學習率 α,精度 ε。
a[j] = g(Σ V[k,j]*I[k])o[i] = g(Σ W[j,i]*a[j])Err[i] = T[i] - O[i]。Δ[i] = Err[i] * g'(in[i])W[j,i] += α * a[j] * Err[i] * g'(in[i])Err[j] = Σ Err[i] * W[j,i] * g'(in[j])V[k,j] += α * I[k] * Err[j] * g'(in[j])激活函數選 S 型函數及其導數易計算形式:
g(x) = 1/(1+exp(-x)), g'(x) = g(x)*(1-g(x))。
前向傳播計算輸出層值,若全局誤差 < ε 則識別有效。
為消除書寫位置偏移,採樣後計算質心並平移所有點(含訓練樣本),使識別具備平移不變性。
通過開發熟悉了人工神經網絡基本工作方式。神經網絡種類繁多,各有特點,可擴展至更多領域。我國 AI 研究起步較晚,仍需巨大努力追趕發達國家水平。