深度學習 自學手冊

2021-08-13 23:21:59 字數 2232 閱讀 3659

機器學習

神經網路

前饋神經網路:沒有迴路的

反饋神經網路:有迴路的

dnn 深度神經網路

cnn 卷積神經網路

rnn 迴圈神經網路

lstm 是rnn的一種,長短期記憶網路

自然語言處理

神經元-分類器

hebb 學習方法,隨機 –類似sgd

一篇神經網路入門

bp反向傳播,表示很複雜的函式/空間分布

從最後一層往前調整引數,反覆迴圈該操作

y=a(wx+b) x輸入 y輸出 a啟用函式 b偏移 w權重

每一層網路都是這樣

神經網路訓練權重–使損失函式最小–sgd

bp是求梯度的一種方法

權重要初始化:均勻分布初始化權重

前饋神經網路:多個感知器組合,由不同啟用函式控制

啟用函式:把線性–非線性的,一般用relu y=max(x,0)

輸入層與輸出層節點是固定的

圓圈是神經元,連線代表權重

兩層神經網路可以無限逼近任意連續函式

多層神經網路本質就是複雜函式擬合

隱藏層的數量,每層的節點數都是手工調的,根據經驗來判斷

神經網路防止過擬合–正則化–權重衰減

正則化–dropout

多層神經網路–深度學習

引數一樣的情況下,更深的網路比淺層網路有更好的識別效率

1、dense層

dense就是常用的全連線層,第一層指定輸入維度和輸出維度,後面的層只需要指定輸出維度。

2、activation層

啟用層對乙個層的輸出施加啟用函式。一般用relu。

有 relu、tanh、sigmoid

sigmoid:未啟用是0,啟用是1。[0,1]。容易飽和,輸出不是0均值的–收斂慢

tanh:[-1,1] 。梯度飽和–梯度為0

relu:f(x)=max(0,x)。

優點:收斂快,梯度不會飽和,計算簡單

缺點:神經元壞死,x<0時梯度為0,該神經元就無效了。

學習率大–壞死;合適的較小的學習率–不會頻繁壞死

leakyrelu :

f(x)=αx,(x<0)

f(x)=x,(x>=0)

這裡的 α 是乙個很小的常數。這樣,即修正了資料分布,又保留了一些負軸的值,使得負軸資訊不會全部丟失。

prelu:

對於 leaky relu 中的α,通常都是通過先驗知識人工賦值的。

然而可以觀察到,損失函式對α的導數我們是可以求得的,可以將它作為乙個引數進行訓練。

帶引數的relu,a是可調的,對a本身做sgd,不斷更新a

3、dropout層

dropout將在訓練過程中每次更新引數時按一定概率(rate)隨機斷開輸入神經元,dropout層用於防止過擬合。正則化。

4、優化器optimizers

sgd

預設:optimizer=』sgd』

adam

預設:optimizer=』adam』

經驗:5、 損失函式loss

mean_squared_error或mse:均方差

mean_absolute_error或mae:絕對誤差

mean_absolute_percentage_error或mape:平均絕對百分差

mean_squared_logarithmic_error或msle

binary_crossentropy(亦稱作對數損失,logloss),邏輯回歸,和sigmoid一起使用。

categorical_crossentropy:亦稱作多類的對數損失,和softmax一起使用。

6、評價指標和訓練

python自學手冊 Python 自學手冊

在我派的眾多文章中,程式設計和 一直是繞不開的內容。對於尚未接觸程式設計的新手而言,也許你的訴求並不是掌握 之後以此為職業,而只是想通過程式設計思維和 知識解決生活和工作中的實際問題。有沒有一套相對輕量 簡單,卻可以把如何程式設計這件事說明白的自學教程呢?有。這套 python 自學手冊 就是我們送...

深度學習 自學筆記

要求基礎 python基礎學會 本人大二由於有老師引導學習深度學習所以能堅持學下去,在這裡記錄學習過程方便以後查閱。由於是自學所以學習過程是需要復現的,方便以後查閱 翻找。在網上查資料的缺點是資料數量龐大為了找到自己需要的都要看一遍,所以在看的時候碰見有用的需要記錄下來。我直接鏈結位址,下面的鏈結可...

深度學習煉丹手冊

對於畫素級別的影象預處理,如 將3通道的rgb彩色標籤圖對映為標籤連續的單通道8bit掩碼圖,在同樣呼叫opencv並且採用相同演算法時,c 的處理速度可能是python opencv python 的近百倍。目前不清楚具體原因,但是根據觀察,實際python執行時只呼叫了單個cpu,而c 版本則將...