tensorflow常用優化器總結

2021-08-28 00:22:14 字數 922 閱讀 9765

反向傳播演算法和梯度下降演算法用來調整神經網路中引數的取值,梯度下降演算法主要用於優化單個引數的取值,反向傳播演算法給出了高效的方式在所有引數上使用梯度下降演算法,來使得神經網路模型的損失函式盡可能小。tensorflow提供了多種方式實現反向傳播和梯度下降過程,通用的方式為:tf.train.gradientdescentoptimizer(learning_rate = 0.1).minimize(loss), 設定學習率以及要優化的損失函式即可。需要注意的是目前都是通過乙個batch的訓練資料上調整引數。

##tf.train.gradientdescentoptimizer

旨在對所有步驟中的所有變數使用恆定的學習率,是目前最常用的梯度下降演算法,一般來說能夠有效地找到區域性最優解。常常搭配一種自動呈指數衰減的學習率方法tf.train.exponential_decay

##tf.train.adagradoptimizer

adagrad方法是將每乙個引數的每一次迭代的梯度取平方累加再開方,用基礎學習率除以這個數,來做學習率的動態更新。學習率不再是乙個固定的值,此演算法學習率會單調猛烈地下降。

##tf.train.adadeltaoptimizer

為了避免adagrad單調猛烈下降的學習率,adadelta產生了。adadelta限制把歷史梯度累積視窗限制到固定的尺寸,而不是累加所有的梯度平方和。

##tf.train.adamoptimizer

adam優化演算法是隨機梯度下降演算法的擴充套件式,在計算機視覺與自然語言處理等任務中很出色。

優勢:高效地計算;

所需記憶體少;

適合解決含大規模資料和引數的優化問題;

adam通常被認為對超引數的選擇相當棒;

適合解決包含很高雜訊或稀疏梯度的問題;

adam演算法可以看作是修正後的 adagrad+rmsprop演算法;動量直接併入梯度一階矩估計中;學習率建議為0.001。

tensorflow常用的優化器

tf.train.momentumoptimizer learning rate,momentum,use locking false name momentum minimize loss learning rate 學習率,資料型別為tensor或float。momentum 動量引數,mome...

tensorflow(五) 優化器

一 基礎知識 1.損失函式 損失函式是評估特定模型引數和特定輸入時,表達模型輸出的推理值與真實值之間不一致程度的函式。形式化定義如下 其中xi是樣本,是模型引數,f xi 是模型 的值,y i是真實的測試資料。f xi 越接近y i,說明模型擬合越的接近真實值。常見的損失函式有平方損失函式 交叉熵損...

Tensorflow學習 優化器

import tensorflow as tf from tensorflow.examples.tutorials.mnist import input data 載入資料集 mnist input data.read data sets mnst data one hot true batch ...