一、損失函式(loss) [前向傳播的**值y與已知答案y_的差距]:
1.優化目標:使loss達到最小值。
2.優化方法:均方誤差(mse)
交叉熵(ce)
自定義詳解:
1.均方誤差mse:
公式:
函式:loss_mse = tf.reduce_mean(tf.square(y_ - y))
tf.reduce_mean(x) :表示計算所有元素的平均值。
2.交叉熵cs: 表徵兩個概率分布之間的距離
公式:函式:ce = -tf.reduce_mean(y_*tf.log(tf.clip_by_value(y, 1e-12, 1.0)))
也可以寫成:ce = tf.nn.sparse_softmax_cross_entropy_with_logits(logits = y, labels = tf.argmax(y_,1))
cem = tf.reduce_mean(ce)
二、學習率:每次更新的幅度
公式:
優化目的:找到損失函式最小點。
注意:學習率設定大了,不收斂,設定小了收斂速度慢
指數衰減學習率:
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 = ture)
引數:學習率基數,訓練輪數,學習率多少次更新一次,(ture為梯形下降,false為指數型下降)
神經網路優化(一)
使用反向傳播演算法和梯度下降演算法調整神經 網路中引數的取值。神經網路的優化過程分為兩個階段 1.1第一階段 先通過前向傳播演算法計算得到 值,並將 值和真實值做對比得出兩者之間的差距。1.2第二階段 通過反向傳播演算法計算損失函式對每乙個引數的梯度,再根據梯度和學習率使用梯度下降演算法更新每乙個引...
神經網路優化
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input data 載入資料集 mnist input data.read data sets mnist data one hot true 每個批次的...
神經網路優化器
神經網路陷阱 1 區域性極小值 優化器極易陷入區域性極小值從而無法找到全域性最優解。2 鞍點 當成本函式值幾乎不再變化時,就會形成平原 plateau 在這些點上,任何方向的梯度都幾乎為零,使得函式無法逃離該區域。梯度下降 公式如下 超引數 表示學習率,代表演算法每次迭代過程的前進步長。學習率的選擇...