1. 程式人生 > >深度學習幾個名詞的淺度理解

深度學習幾個名詞的淺度理解

學習機器學習大有半個月了,還是雲裡霧裡的,其中學習的道路是,先在B站觀看吳恩達視訊,看了兩遍,中間有過走神,更多是看彈幕裝X,也許是自己確實基礎薄弱吧,效果不太好,後來看了李巨集毅的視訊,懂了不少,不過被神奇寶貝搞蒙圈了,哈哈,現在看的是莫凡的Tensorflow視訊,感覺還不錯,結合淘寶買的《TensorFlow實戰Google深度學習框架》瞭解一點,想記錄一下自己學習成果,希望大佬們可以多評論,多提出問題。
關鍵字:
過擬合:當學習器把訓練樣本學得太好了,這種太好了就是把一群鴨中的醜小鴨都得當給檢驗出白天鵝了,完全是為了保證training data的訓練精度百分之百,可能導致泛化能力降低,防止過擬合的方法:增加training data與正則化。我覺得過擬合和欠擬合就像兩個孩子背題一樣,過擬合每道題都背,如果出新題型,就容易歇菜,,題就好比真實曲線。而增加training data就好比每道題都做過了,考試出了的題很大程度上是自己做過的題。
欠擬合:學習能力太差了,而欠擬合根本不用功學習,每道題都按照自己的理解,導致每道題都會一些,但是又達不到滿分。

卷積神經網路(CNN)
我覺得它的存在就兩部分,一部分是避免全連線,一部分為了權重共享。當初看視訊的時候其實已經知道了CNN是什麼意思,但是不知道為什麼這麼做,後來才知道它這麼做只是為了後來的全連線,全連線是個上層抽取出來的特徵向量在裡面做一個權重計算,輸出各個類別的概率,像是一個分類器。
然而卷積的理解也比較簡單,就是張量和卷積核張量 進行卷積。

池化
池化我覺得就像當初opencv裡學的模糊化一樣,只不過降維了,這裡叫降取樣(subsampling),作用就是減少特徵數量,李巨集毅的話是“Subsampling the pixels will not change the object”
這裡可能會採用一個操作叫Dropout(捨棄),也是為了減少過多引數,網上說它的作用是為了防止過擬合,我也不知道為什麼,就看到一個人說過“ dropout讓一其中一部分神經元暫時不與後面連線,只取概率p的一部分神經元參與連線,那這部分權重和偏置就明顯減少了,引數減少了模型就變得簡單了,越是簡單的模型就越不容易過擬合了”。