第08课:深层神经网络(DNN)
上一篇是實戰內容,我們使用 Python 一步步搭建了一個最簡單的神經網絡模型,只包含單層隱藏層。并使用這個簡單模型對非線性可分的樣本集進行分類,最終得到了不錯的分類效果。本文將繼續從深度神經網絡入手,介紹深層神經網絡的數學原理和推導過程。
神經網絡為什么要深?
我們都知道神經網絡能處理很多問題,而且效果顯著。其強大能力主要源自神經網絡足夠“深”,也就是說網絡層數越多,神經網絡就更加復雜,處理數據的能力越強,模型就越具有強大的學習能力。這符合我們直觀的理解。下面通過兩個例子來解釋其中內在的原因。
首先來看神經網絡在圖像處理、人臉識別領域的應用。神經網絡的輸入是一張圖片,從計算機角度來看,接收的是一個一個像素值。神經網絡的第一層主要是從原始圖片中提取一些邊緣信息,例如面部的水平、垂直邊緣。這樣每個神經元做的事是邊緣檢測。然后,神經網絡的第二層是將前一層得到的邊緣信息進行整合,提取出面部的一些局部特征,例如眼睛、鼻子、嘴巴等等。之后,神經網絡更深,提取的特征更加復雜,從模糊到細節、從局部到整體。可見,如果隱藏層足夠多,那么能夠提取的特征就越豐富、越復雜,模型的準確率就會越高。
下圖是一個人類識別的例子,隨著網絡層數加深,隱藏層提取的特征也逐漸變得復雜。
語音識別神經網絡模型也是一樣,淺層的神經元能檢測出簡單的音調,隨著網絡層數加深,神經元還能檢測出基本的音素、單詞信息,甚至對短語和句子進行檢測。提取的特征由簡單到復雜,功能也越來越強大。
總結
以上是生活随笔為你收集整理的第08课:深层神经网络(DNN)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 适合 Python 入门的 8 款强大工
- 下一篇: 第06课:浅层神经网络(NN)