目錄
F(x)建構方程 28*28 就是784個參數建構的方程;
建構的方程是基于圖像的矩陣
梯度下降求偏導進行參數調優
多元度計算多個偏導數的模;
損失函數
損失函數:均方誤和交叉熵
激活函數的作用
參數調優方法
- F(x)建構方程 ,
- 梯度下降求偏導,
- 損失函數确定偏導調整,
- 激活函數處理非線性問題
F(x)建構方程 28*28 就是784個參數建構的方程;
建構的方程是基于圖像的矩陣
梯度下降求偏導進行參數調優
《一個人工智能的誕生》EP06 - 梯度下降_哔哩哔哩_bilibili
多元度計算多個偏導數的模;
向量的模的計算公式:空間向量模長是²√x²+y²+z²;平面向量模長是²√x²+y²。 向量的模公式 空間向量(x,y,z),其中x,y,z分别是三軸上的坐标,模長是:²√x²+y²+z² ;平面向量(x,y),模長是:²√x²+y²。向量的大小,也就是向量的長度(或稱模)。向量a的模記作|a|。模是絕對值在二維和三維空間的推廣,可以認為就是向量的長度。推廣到高維空間中稱為範數。
可視化鍊式法則
損失函數
通過損失函數求解進行模型評估
損失函數(loss function)或代價函數(cost function)是将随機事件或其有關随機變量的取值映射為非負實數以表示該随機事件的“風險”或“損失”的函數。
在應用中,損失函數通常作為學習準則與優化問題相聯系,即通過最小化損失函數求解和評估模型。
常見損失函數
- 交叉熵損失函數
- 0-1損失函數
- 平方損失函數(線性回歸:最小二乘法)
損失函數:均方誤和交叉熵
一、均方誤差函數:
編輯
其中,t是真實标簽,y是網絡預測值。
然後我們将其對權重w求導:
發現它的變化與激活函數的導數有關系,也就是激活函數梯度f'(z)越大,w的大小調整得越快,訓練收斂越快。反之,f'(z)越小,w的大小調整得越慢,訓練收斂越慢。
以一個二分類問題為例,進行兩組實驗。
在上圖兩點中,0.98距離0差距較大但是它的梯度(斜率)趨于零,根據我們上面的分析,也就是說它調整的慢(收斂慢),同樣0.82相比0.98來說與零相差小,但是它的梯度很大,是以它的收斂快。
下圖是基于兩點的loss變化圖:
我們可以根據上圖中綠色線(梯度斜率)變化大緻畫出來
我們可以根據上圖中紅色線(梯度斜率)變化大緻畫出來
是以在這裡就産生了一個沖突,當誤差較大時我們希望它調整的大一些,加快收斂。但是如上述的0.98處一樣,誤差大但是變化率小,收斂的比慢。0.82位置誤差相對小但是權值調整速度比較快,是以就有了交叉熵函數。
二、交叉熵函數:
同樣我們對其w求導:
其中呢,
也就是
是以我們發現交叉熵函數w的調整與(y-t)相關,就是與網絡誤內插補點正相關,誤差越大,調整越大,收斂越快,這是我們想要的。
三、結論
回歸用均方誤差,分類用交叉熵。
四、實驗證明
在MNIST資料集上經過5個epoch來做對比,很明顯交叉熵的收斂速度較快。
激活函數的作用
處理線性不可分問題,解決非線性的問題
1.為何引入非線性的激活函數?
如果不用激活函數,在這種情況下每一層輸出都是上層輸入的線性函數。容易驗證,無論神經網絡有多少層,輸出都是輸入的線性組合,與沒有隐藏層效果相當,這種情況就是最原始的感覺機(Perceptron)了。是以引入非線性函數作為激活函數,這樣深層神經網絡就有意義了(不再是輸入的線性組合,可以逼近任意函數)。最早的想法是sigmoid函數或者tanh函數,輸出有界,很容易充當下一層輸入。
引入ReLu的原因
第一,采用sigmoid等函數,算激活函數時(指數運算),計算量大,反向傳播求誤差梯度時,求導涉及除法,計算量相對大,而采用Relu激活函數,整個過程的計算量節省很多。