
什麼是深度神經網路?
深度神經網路 (DNN) 是一種模仿人腦處理資訊的機器學習模型。與遵循預先定義規則的傳統演算法不同,DNN 可以從資料中學習模式,並根據先前的經驗進行預測 - 就像我們一樣。
什麼是神經網路架構?
DNN 中的「深層」指的是擁有多個隱藏層,可讓網路識別複雜的模式。
神經網路由多層節點組成,這些節點從其他層接收輸入並產生輸出,直到達到最終結果。
神經網路由多層節點(神經元)組成。每個節點接受輸入、處理輸入並將輸入傳送到下一層。
- 輸入層:第一層擷取原始資料 (例如:影像、文字)。
- 隱藏層:輸入與輸出之間的層,用來轉換資料和偵測模式。
- 輸出層:產生最終預測。
神經網路可以有任意數量的隱藏層:網路中的節點層數越多,複雜度就越高。傳統的神經網路通常由 2 或 3 個隱藏層組成,而深度學習網路最多可以有 150 個隱藏層。
神經網路 vs. 深度神經網路

簡而言之:超越輸入資料並能從先前經驗中學習的神經網路就成為深度神經網路。
神經網路會依據輸入的資料,遵循編程的規則來做決定。舉例來說,在國際象棋遊戲中,神經網路可以根據預設的戰術和策略建議步驟,但它只限於程式設計師所提供的內容。
但是深度神經網路會從經驗中學習,從而更進一步。DNN 並非完全依賴預設的規則,而是可以根據它在大型資料集中所辨識到的模式來調整其決定。
範例
想像一下編寫一個程式來識別照片中的狗。傳統的神經網路需要明確的規則來辨識毛髮或尾巴等特徵。另一方面,DNN 會從成千上萬的標示影像中學習,並隨時間改善其準確度 - 甚至不需要額外的程式就能處理困難的情況。
深度神經網路如何運作?
首先,輸入層中的每個神經元都會接收一筆原始資料,例如圖像中的像素或句子中的單字,並為此輸入分配一個權重,表示此輸入與任務的相關程度。
低權重(小於 0.5)表示資訊相關的可能性較低。這些加權輸入會通過隱藏層,由神經元進一步調整資訊。這個過程會持續多層,直到輸出層提供最終預測。
深度神經網路如何知道自己是否正確?
深度神經網路在訓練過程中,會將其預測與標記資料進行比較,以瞭解自己的預測是否正確。對於每個輸入,網路會檢查其預測是否與實際結果相符。如果預測錯誤,網路會使用損失函數計算誤差,以衡量預測的偏差程度。
然後,網路會使用反向傳播來調整造成誤差的神經元的權重。此過程會在每次迭代時重複進行。
神經網路有哪些不同類型?
深度神經網路如何隨著時間的推移而改進?
深度神經網路會從錯誤中學習,從而不斷改進。當它做出預測(例如找出客戶問題或推薦產品)時,它會檢查自己的預測是否正確。如果不對,系統就會自我調整,以便下次改進。
例如,在客戶支援方面,DNN 可能會預測如何解決票單。如果預測錯誤,它會從錯誤中學習,並在未來更好地解決類似的票單。在銷售方面,DNN 可透過分析過去的交易,了解哪些潛在客戶的轉換率最高,並隨著時間的推移改善其建議。
因此,每一次互動,DNN 都會變得更準確、更可靠。
與人類心智不同的邏輯
但深度學習模型通常是以黑盒子的方式運作,也就是說人類不一定能看到它們是如何得出結論的。舉例來說,一個網路可能會辨識出一隻狗,但不清楚它是專注於毛髮、耳朵還是其他東西。
研究人員試圖將網路處理影像的方式視覺化,但對於更複雜的任務,例如語言或財務預測,其邏輯仍然是隱藏的。雖然這些演算法看起來很新,但許多都是數十年前開發的。資料和運算能力的進步讓這些演算法在今日變得實用。
為什麼深度神經網路越來越受歡迎?
1.處理能力的提升
DNN 激增的主要原因之一是處理能力更快、更便宜。運算能力在實現快速收斂方面發揮了重要作用。
2.增加資料集的可用性
另一個關鍵因素是大型資料集的可用性,深度神經網路需要大型資料集才能有效學習。隨著企業產生更多資料,DNN 可以發現傳統模型無法處理的複雜模式。
3.改善非結構化資料的處理
它們處理文字、影像和音訊等非結構化資料的能力,也開啟了聊天機器人、推薦系統和預測分析等領域的新應用。
神經網路可以使用非結構化數據嗎?
是的,神經網路可以處理非結構化資料,這是其最大的優勢之一。
使用非結構化資料的人工神經網路稱為無監督學習。這是機器學習的聖杯,更類似於人類的學習方式。
傳統的機器學習演算法難以處理非結構化資料,因為它們需要特徵工程 - 手動選擇和擷取相關特徵。相比之下,神經網路可以自動學習原始資料中的模式,而無需大量的手動介入。
深度神經網路如何使用訓練來學習?
深度神經網路的學習方式是進行預測,並將預測結果與正確結果進行比較。例如,在處理照片時,它會預測圖片中是否有狗,並追蹤它答對的頻率。
網路會透過檢查正確預測的百分比來計算其準確度,並利用此反饋來改善。它會調整神經元的權重,然後再執行一次。如果準確度有所改善,它會保留新的權重;如果沒有,它會嘗試不同的調整。
這個循環會反覆多次,直到網路能夠持續辨識模式並作出準確的預測。一旦達到這一點,就表示網路已經收斂,並且訓練成功。
節省編碼時間,效果更佳
神經網路之所以如此命名,是因為這種程式設計方法與大腦的工作方式之間存在相似性。
就像大腦一樣,神經網路演算法使用神經元或節點網路。像大腦一樣,這些神經元是離散的功能(如果你喜歡的話,也可以是小機器),它們接受輸入並產生輸出。這些節點按層排列,其中一層中神經元的輸出成為下一層神經元的輸入,直到網路外層的神經元產生最終結果。
因此,存在神經元層,每個單獨的神經元接收非常有限的輸入,併產生非常有限的輸出,就像在大腦中一樣。神經元的第一層(或輸入層)接收輸入,網路的最後一層神經元(或輸出層)輸出結果。
將這種類型的演算法稱為「神經網路」準確嗎?
人腦當然比神經網路複雜得多,也強大得多。將這種演算法命名為「深度神經網路」是一場品牌戰役,但這可能會讓人對這些技術所能達到的效果產生不切實際的期望。儘管如此,仍有人試圖使用非常複雜的神經網路來重新設計大腦,希望藉此在機器人開發中複製出類似人類的一般智慧。那麼神經網路和機器學習技術如何幫助我們解決識別狗狗的問題呢?
好吧,深度神經網路演算法無需手動定義類似狗的屬性,而是可以識別重要屬性並處理所有特殊情況而無需程式設計。