1、什么是人工神經網路(ANN)
人工神經網路的靈感來自其生物學對應物,生物神經網路使大腦能夠以復雜的方式處理大量資訊,大腦的生物神經網路由大約1000億個神經元組成,這是大腦的基本處理單元,神經元通過彼此之間巨大的連接(稱為突觸)來執行其功能,人腦大約有100萬億個突觸,每個神經元約有1,000個!
人體神經元模型,下如圖:

- 接收區(receptive zone):樹突接收到輸入資訊,
- 觸發區(trigger zone):位于軸突和細胞體交接的地方,決定是否產生神經沖動,
- 傳導區(conducting zone):由軸突進行神經沖動的傳遞,
- 輸出區(output zone):神經沖動的目的就是要讓神經末梢,突觸的神經遞質或電力釋出,才能影響下一個接受的細胞(神經元、肌肉細胞或是腺體細胞),此稱為突觸傳遞,
那么,什么是人工神經網路呢?有關人工神經網路的定義有很多,這里,芬蘭計算機科學家托伊沃·科霍寧(Teuvo Kohonen)給出的定義:人工神經網路是一種由具有自適應性的簡單單元構成的廣泛并行互聯的網路,它的組織結構能夠模擬生物神經系統對真實世界所做出的互動反應,
人工神經網路的結構
- 輸入層:輸入層接收特征向量 x ,
- 輸出層:輸出層產出最終的預測 h ,
- 隱含層:隱含層介于輸入層與輸出層之間,之所以稱之為隱含層,是因為當中產生的值并不像輸入層使用的樣本矩陣 X 或者輸出層用到的標簽矩陣 y 那樣直接可見,
人工神經網路由一個輸入層和一個輸出層組成,其中輸入層從外部源(資料檔案,影像,硬體傳感器,麥克風等)接收資料,一個或多個隱藏層處理資料,輸出層提供一個或多個資料點基于網路的功能,例如,檢測人,汽車和動物的神經網路將具有一個包含三個節點的輸出層,對銀行在安全和欺詐之間進行交易進行分類的網路將只有一個輸出,
2、人工神經網路(ANN)的運行原理
人工神經網路的強大之處在于,它擁有很強的學習能力,在得到一個訓練集之后,它能通過學習提取所觀察事物的各個部分的特征,將特征之間用不同網路節點連接,通過訓練連接的網路權重,改變每一個連接的強度,直到頂層的輸出得到正確的答案,
人工神經網路的核心成分是人工神經元,每個神經元接收來自其他幾個神經元的輸入,將它們乘以分配的權重,將它們相加,然后將總和傳遞給一個或多個神經元,一些人工神經元可能在將輸出傳遞給下一個變數之前將激活函式應用于輸出,
神經網路每層都包含有若干神經元,層間的神經元通過權值矩陣 Θl 連接,一次資訊傳遞程序可以如下描述:
- 第 j 層神經元接收上層傳入的刺激(神經沖動);
2.1、前向傳播
刺激由前一層傳向下一層,故而稱之為前向傳遞 對于非線性分類問題,邏輯回歸會使用多項式擴展特征,導致維度巨大的特征向量出現,而在神經網路中,并不會增加特征的維度,即不會擴展神經網路輸入層的規模,而是通過增加隱含層,矯正隱含層中的權值,來不斷優化特征,前向傳播程序每次在神經元上產出的激勵值都可看做是優化后的特征,
2.2、反向傳播
由于神經網路允許多個隱含層,即,各層的神經元都會產出預測,因此,就不能直接利用傳統回歸問題的梯度下降法來最小化 J(Θ) ,而需要逐層考慮預測誤差,并且逐層優化,用反向傳播法優化預測,首先定義各層的預測誤差為向量 δ(l) :
· 訓練程序
3、神經網路結構的設計
3.1感知器
最簡單的神經網路結構,不包含隱含層
從形式上看,回歸問題算是感知器的非網路表達形式,
感知器可以解決邏輯運算問題(01分類問題)-sigmoid函式
多分類問題,添加多個隱層
3.2、結構設計
在神經網路的結構設計方面,往往遵循如下要點: - 輸入層的單元數等于樣本特征數, - 輸出層的單元數等于分類的型別數, - 每個隱層的單元數通常是越多分類精度越高,但是也會帶來計算性能的下降,因此,要平衡質量和性能間的關系, - 默認不含有隱藏層(感知器),如果含有多個隱層,則每個隱層上的單元數最好保持一致, · 程序 - 設計激活函式
4、神經網路訓練程序
人工神經網路首先為神經元之間的連接權重分配隨機值,ANN正確而準確地執行其任務的關鍵是將這些權重調整為正確的數字,但是找到合適的權重并不是一件容易的事,特別是當您處理多層和成千上萬的神經元時,
通過對帶有注釋示例的網路進行“培訓”來完成此校準,例如,訓練上述影像分類器,則提供多張照片進行不斷訓練,神經網路會逐漸調整其權重,以將每個輸入映射到正確的輸出類別
基本上,訓練期間發生的事情是網路進行自我調整以從資料中收集特定模式,同樣,對于影像分類器網路,當您使用質量示例訓練AI模型時,每一層都會檢測到特定的特征類別,例如,第一層可能檢測到水平和垂直邊緣,第二層可能檢測到拐角和圓形,在網路的更深處,更深的層次將開始挑選出更高級的功能,例如面部和物體,

神經網路的每一層都將從輸入影像中提取特定特征
當您通過訓練有素的神經網路運行新影像時,調整后的神經元權重將能夠提取正確的特征并準確確定影像屬于哪個輸出類別,
訓練神經網路的挑戰之一是找到正確數量和質量的訓練示例,而且,訓練大型AI模型需要大量的計算資源,為了克服這一挑戰,許多工程師使用“ 轉移學習”(一種培訓技術),您可以采用預先訓練的模型,并使用針對特定領域的新示例對其進行微調,當已經有一個與您的用例接近的AI模型時,轉移學習特別有效,
5、神經網路的好處和局限性
人工神經網路的特點和優越性:
- 具有自學習功能
- 具有聯想存盤功能
- 具有高速尋找優化解的能力
局限性:
- 神經網路需要大量資料
- 神經網路在概括方面很不好
- 神經網路是不透明的
6、專案實體
參考:
EO_Admin:https://www.cnblogs.com/geo-will/p/9764573.html
知乎:https://zhuanlan.zhihu.com/p/111288383
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/253822.html
標籤:Python
