1.2 神經網絡的應用
神經網絡是一種自動的特征提取器,神經網絡可以自動從原始數據中提取重要的特征,無須手動設計特征工程,這使得神經網絡在圖像、語音、自然語言處理等領域中表現出色。
神經網絡在模式識別方面表現突出,特別是在語音、視覺和控制系統中,能夠識別和分類對象或信號等。此外,神經網絡還可以用于執行時序預測和建模任務。神經網絡在通信、軍事探測、生物醫學工程、地震勘探、計算機視覺等領域都有廣泛的應用。例如,電力公司可利用神經網絡準確預測電網上的負載,以確保可靠性,并優化發電機的效率。又如自動取款機通過讀取支票上的賬號和存款金額,以可靠的方式接受銀行存款。再如病理學家依靠癌癥檢測應用的指導,根據細胞大小的均勻度、腫塊密度、有絲分裂及其他因素將腫瘤分類為良性或惡性。
傳統的圖像處理方法通過對圖像的亮度、紋理和對比度等信息進行處理,提取到相關的特征,則可對圖像的內容進行判斷,從而達到設計分類器或檢測器的目的。而這個過程中需要設計者擁有關于圖像領域的專業知識,甚至需要較強的數學知識。因此,使用傳統方法進行特征工程往往耗時費力,且效果有限。相比之下,將特征工程與分類器合并起來并用神經網絡替代這兩個步驟,可以大大降低工作量。設計者只需要提前確定三個問題:神經網絡的神經元數量、它們的連接方式以及輸入數據后如何自動學習連接強度。其余任務皆可交由神經網絡自動完成,從而大大減少人工成本。
神經網絡可以根據層次的數量分為淺層神經網絡和深層神經網絡,無論是淺層神經網絡還是深層神經網絡,都是一種通過直接輸入數據來進行學習的機器學習技術。所以實際上深度學習技術也可以看作對函數y=fθ(x)的模擬過程。將x作為輸入,再利用參數θ去學習x的特征,對于神經網絡而言,不再通過人工設計的特征工程去提取特征,而是通過自動學習得到特征,即特征工程的自動化。這也是神經網絡和傳統方法在視覺問題上的一個重要差別。
與傳統的機器學習相比,神經網絡具有如下優勢。
? 特征提取的高效性。
機器學習算法要求事先確定特征,在特征工程上需要花費大量時間和精力。而神經網絡方法不需要大量的特征工程,可以直接通過訓練自動學習特征,進行自我“修正”。
? 數據格式的簡易性。
神經網絡對數據格式的要求相對簡單,在傳統的機器學習分類問題中,通常需要對數據進行歸一化、格式的轉化等數據預處理工作,而在神經網絡中則不一定需要,例如神經網絡可以直接將圖片的原始數據作為輸入,而不做任何額外的處理。在設計者不知道怎么做數據預處理的情況下,直接將數據輸入神經網絡,也能得出一個相對不錯的結果。
? 學習能力強。
神經網絡可以在復雜、大量數據中學習,由于其內部有大量參數,所以神經網絡的表示能力很強。對于復雜數據,傳統的方法可能無法有效地學習和表示數據。
? 具有一定的遷移性。
在相近的任務上,神經網絡具有一定的遷移性。比如在圖像分類任務上,可以把在基準數據集上訓練得到的網絡遷移到當前任務,只需要在當前數據上進行微調便可得到所需的模型。
思考
既然神經網絡這么強大,那么是不是任何任務都可以用神經網絡來完成,不需要其他方法了?
首先,神經網絡需要數據才能進行學習,因此第一個需要考慮的問題是數據的來源及獲取數據的成本問題,有一些方法不需要使用大量數據,而是基于人類智慧的結晶,把智慧蘊含在方法中,這些方法本身可能非常簡便易行。因此,在實際問題中,當需要解決任務時,設計者的第一反應應該是不一定要使用神經網絡,而是先考慮利用相應的知識結構和儲備來設計一些簡單而高效的方法,也許不需要進行學習,就能夠達到任務的要求。
其次,在實際應用中,神經網絡是一種模糊技術。神經網絡在實際應用中具有許多優勢。例如,對于掃地機器人這類應用,若采用傳統的控制方式,需要編寫大量的if…then…語句,并對環境建模同時進行大量的精確控制。而采用神經網絡則可以通過在掃地機器人前端設置碰撞傳感器,當檢測到前方可能有障礙物時,進行模糊計算并得出一個概率,然后根據這個概率做出模糊決策,來決定是否需要前進。此外,有時還會通過碰撞進行信息的反饋,然后經過多次撞擊后學會避障行走,這也是神經網絡的優勢之一。但需要注意的是,在需要精確控制的應用中,神經網絡并不是一個好的選擇,例如手術機器人的操作。在這種情況下,必須使用精確控制來完成任務。
因此神經網絡并不適合所有任務。它只是解決問題的一種工具,實際中還有許多其他工具可以使用,不一定僅僅使用神經網絡來解決問題,有時用其他工具結合神經網絡一起使用可能會得到更好的結果。