Keras學習筆記03 常用重要模組

2021-07-23 06:16:20 字數 2007 閱讀 7634

編譯模型必選兩個引數之一

可以通過傳遞預定義目標函式名字指定目標函式,也可以傳遞乙個theano/tensroflow的符號函式作為目標函式,該函式對每個資料點應該只返回乙個標量值,並以下列兩個引數為引數:

真實的優化目標函式是在各個資料點得到的損失函式值之和的均值。

可用的目標函式:

編譯模型必選兩個引數之一

可以在呼叫model.compile()之前初始化乙個優化器物件,然後傳入該函式(如上所示),也可以在呼叫model.compile()時傳遞乙個預定義優化器名。在後者情形下,優化器的引數將使用預設值。

所有優化器都可用的兩個引數(用於對梯度進行裁剪):

clipnorm

# all parameter gradients will be clipped to

# a maximum norm of 1.

sgd = sgd(lr=0.01, clipnorm=1.)

clipvalue

# all parameter gradients will be clipped to

# a maximum value of 0.5 and

# a minimum value of -0.5.

sgd = sgd(lr=0.01, clipvalue=0.5)

常用的優化演算法有:

1. sgd

隨機梯度下降法,支援動量引數,支援學習衰減率,支援nesterov動量。

keras.optimizers.sgd(lr=0.01, momentum=0.0, decay=0.0, nesterov=false)
引數:

2. rmsprop

除學習率可調整外,建議保持優化器的其他預設引數不變,該優化器通常是面對遞迴神經網路時的乙個良好選擇。

keras.optimizers.rmsprop(lr=0.001, rho=0.9, epsilon=1e-06)
引數:

3. adagrad

建議保持優化器的預設引數不變。

keras.optimizers.adagrad(lr=0.01, epsilon=1e-06)
引數:

4. adadelta

建議保持優化器的預設引數不變。

keras.optimizers.adadelta(lr=1.0, rho=0.95, epsilon=1e-06)
引數:

參考文獻

adadelta - an adaptive learning rate method

5.adam
keras.optimizers.adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08)
引數:

參考文獻

adam - a method for stochastic optimization

啟用函式可以通過設定單獨的啟用層實現,也可以在構造層物件時通過傳遞activation引數實現。

可以通過傳遞乙個逐元素運算的theano/tensorflow函式來作為啟用函式:

from keras import backend as k

deftanh

(x):

return k.tanh(x)

model.add(dense(64, activation=tanh))

model.add(activation(tanh)

預定義的啟用函式有:

Keras學習筆記2 常用函式

全連線層 詳細請看 keras 中文文件 keras是什麼?1.dense 全連線層 2.keras.layer.input 用於例項化keras張量 3.activation 啟用函式 4.dropout 正則化層 5.flatten 展平 6.reshape 調整輸入大小 7.lambda 將任...

Keras學習筆記

手冊 keras中文文件 1.張量 一階張量是向量,二階張量是矩陣。2.batch batch gradient descent,遍歷全部資料集算一次損失函式,然後算函式對各個引數的梯度,更新梯度。太慢。stochastic gradient descent,每看乙個資料就算一下損失函式,然後求梯度...

HTML學習筆記03 常用標籤

影象標籤和路徑 注釋和特殊字元 實列 記住每個標籤的語義 標題標籤 h head縮寫 重要性依次遞減 六級標籤 特點 每個標題獨佔一行 文字被放大 段落標籤 分段必須要用段落標籤 段落之間有較大空隙 會根據視窗大小自動換行 p 換行標籤 可以不加 單標籤,break的縮寫,意為打斷,強制換行 特點 ...