人工神經網絡(Artificial Neural Networks)是早期機器學習中的一個重要的算法,歷經數十年風風雨雨。神經網絡的原理是受我們大腦的生理結構——互相交叉相連的神經元啟發。但與大腦中一個神經元可以連接一定距離內的任意神經元不同,人工神經網絡具有離散的層、連接和數據傳播的方向。
例如,我們可以把一幅圖像切分成圖像塊,輸入到神經網絡的第一層。在第一層的每一個神經元都把數據傳遞到第二層。第二層的神經元也是完成類似的工作,把數據傳遞到第三層,以此類推,直到最后一層,然后生成結果。每一個神經元都為它的輸入分配權重,這個權重的正確與否與其執行的任務直接相關,最終的輸出由這些權重加總來決定。
神經網絡的常見應用場景有圖像物體識別、視頻目標識別等。例如圖像中的紅綠燈物體識別,將組成一個紅綠燈的要素分解,綠色、紅色、黃色、金屬邊框、圓形、靜止標識等,然后利用神經元學習,即進行“檢查“。完成學習后,將有待識別的圖像輸入,神經網絡的任務就是給出結論,圖像中到底有沒有紅綠燈。神經網絡會根據所有權重,給出一個經過深思熟慮的猜測——“概率向量”。
回過頭來看這個紅綠燈的例子。神經網絡是調制、訓練出來的,時不時還是很容易出錯的。它最需要的,就是訓練。需要成百上千甚至幾百萬張圖像來訓練,直到神經元的輸入的權值都被調制得十分精確,無論是否有霧,晴天還是雨天,每次都能得到正確的結果。
只有這個時候,我們才可以說神經網絡成功地自學習到一個紅綠燈的樣子。