指數衰減學習率

2022-05-02 00:51:16 字數 1499 閱讀 2231

#設損失函式 loss=(w+1)^2,令w初值是常數10.反向傳播就是求最優w,即求最小loss對應的w值

#使用指數衰減學習率,在迭代初期得到較高的下降速度,可以在較小的訓練輪數下取得更有效收斂度

import

tensorflow as tf

learning_rate_base = 0.1 #

最初學習率

learning_rate_decay = 0.99 #

學習率衰減率

learning_rate_step = 1 #

餵入多少輪batch_size後,更新一次學習率,一般設為:總樣本數/batch_size

#執行了幾輪batch_size的計數器,初值給0,設為不被訓練

global_step = tf.variable(0, trainable=false)

#定義指數下降學習率

learning_rate = tf.train.exponential_decay(learning_rate_base,global_step,learning_rate_step, learning_rate_decay, staircase=true)

#定義待優化引數,初值給10s

w = tf.variable(tf.constant(5,dtype=tf.float32))

#定義損失函式loss

loss = tf.square(w+1)

train_step = tf.train.gradientdescentoptimizer(learing_rate).minimize(loss, global_step=global_step)

#生成會話,訓練40輪

學習率衰減

在訓練深度神經網路時,通常會隨著訓練的進行降低學習率。這可以通過使用預定義的學習率計畫或自適應學習率方法來完成。學習率表 學習率時間表旨在根據預先定義的時間表降低學習率,從而在訓練過程中調整學習率。常見的學習率時間表包括基於時間的衰減,逐步衰減和指數衰減。什麼是學習率?使用隨機梯度下降演算法訓練深度...

學習率衰減 Learning Rate Decay

以目前最主流的引數優化演算法gradient descent為例,為了讓梯度下降的效能更優,我們需要將學習率設定在乙個合適的範圍。具體來說,學習率其實就是演算法的步長,一步走多少決定了很多事情 步子大了,優化效率高,很可能一下越過最優解 相反,步子小了,優化效率低,很可能陷進乙個區域性最優解怎麼都走...

筆記 學習率衰減

加快學習的乙個辦法就是學習率衰減。假設你要使用 mini batch 梯度下降法,mini batch 數量不大,大概 64 或者 128 個樣本,在迭代過程中會有噪音,下降朝向這裡的最小值,但是不會精確地收斂,所以你的演算法最後在附近擺動,並不會真正收斂,因為你用的學習率是固定值,不同的 mini...