1. 程式人生 > 其它 >關於卷積神網路,以及模型訓練自己的一些理解

關於卷積神網路,以及模型訓練自己的一些理解

評價神經網路好壞的一個重要一句就是: 以最少的代價使神經網路獲得最好的準確率。
關於特徵:特徵就是對己而言,特徵是某些突出性質的表現,於他而言,特徵是區分事物的關鍵,所以,當我們要對事物進行類或者識別,我們實際上就是提取‘特徵’,通過特徵的表現進行判斷。
特徵選擇(feature selection)::特徵選擇的本質是對一個給定特徵子集的優良性通過一個特定的評價標準進行衡量,通過特徵選擇,原始特徵集合中的冗餘特徵和不相關特徵被除去,而有用的特徵被保留。
關於模型訓練:訓練分類模型實質上是在做極大似然估計。損失函式是啥?是交叉熵(cross-entropy),但為啥用交叉熵和極大似然估計有關係呢,把Non-negative loglikelihood,softmax搞明白,理解分類會更直觀一點。

關於卷積神經網路:
卷積層負責提取特徵,取樣層(池化層pooling)負責特徵選擇,全連線層負責分類。
卷積核放在神經網路裡就代表對應的權重(weight),卷積核和影象進行點乘(dot product),就代表卷積核裡的權重單獨對相應位置的Pixel進行作用。這裡強調一下點乘,雖說我們稱之為卷積,實際上是位置一一對應的點乘,不是真正意義的卷積。比如影象為位置(1,1)乘以卷積核位置(1,1),仔細觀察右上角你就會發現了。 至於為什麼要把點乘完所有的結果加起來,實際上就是把所有作用效果疊加起來,就好比前面提到的RGB圖片,紅綠藍分量疊加起來產生了一張真正意義上的美女圖。

單卷積層提取的是區域性特徵,但是到高層卷積就能提取到全域性特徵,所以CNN一般需要累積到多層。

一般認為卷積提取的是local feature ,cnn 使用時經常會堆疊多層,從底層往上看,底層卷積負責提取不同位置區域的資訊,越網上層的卷積相當於是對底層卷積得到的資訊進行組合並提取更深層次的資訊。理論上只要底層和上層的卷積配合得當是可以在上層提取到global feature的,但大多數情況下上層得到的是有損不全的。
卷積輸出的特徵圖(feature map),除了特徵值本身外,還包含相對位置資訊,比如人臉檢測,眼睛,鼻子,嘴巴都是從上到下排列的,那麼提取出的特徵值也是按照這個腎虛排列的。
關於卷積核:卷積核越大,感受野越大,提取的特徵就越偏向於全域性,卷積核越小感受野就小,就偏向於區域性,多個小的卷積核累加,可以提升感受野,也就是擴大區域性特徵的提取,所以現在的卷積神經網路都採用小的卷積核一層一層疊加。