logo
Loading...

如何使用梯度下降法(Gradient Descent)優化技術找出最優模型? - 【教材專區】學習AI有困難? 讓Cupoy助教來幫你! - Cupoy

目錄 涉及梯度下降法的要素 微分技巧:鎖鏈率 以白話文方式深度學習優化過程 以數學公式方式表達深度學習優化過程 與梯度下降法有關的優化演算法 涉及梯度下降法的要素 最佳化概念 - Convex ...

目錄 涉及梯度下降法的要素 微分技巧:鎖鏈率 以白話文方式深度學習優化過程 以數學公式方式表達深度學習優化過程 與梯度下降法有關的優化演算法 涉及梯度下降法的要素 最佳化概念 - Convex function 與 Non-convex function Convex function:透過二次、四次函數或限制集合,可以找到一個最佳解。 Non-convex function:該函數很多個微分為零的點,會有很多的局部最佳解。在深度學習的最佳化計算就是最典型的 Non-convex function。 損失函數(Loss()Loss()Loss()Loss()):計算出真實結果與預測結果的差值,例如:真實的溫度與預測的溫度差多少min\ Loss()min Loss()min\ Loss()min Loss() 優化的關鍵:當微分為零時,代表該點在該曲線的相對高點或低點,因此可透過「微分」方式計算出往最小值的方向與幅度。 學習率: 微分技巧:鎖鏈率 已知有個函數 g(x)g(x)g(x)g(x) 是另一個函數 f(x)f(x)f(x)f(x) 的 xxxx,則:\frac{d}{dx}f(g(x))=f'(g(x))\times g'(x)ddxf(g(x))=f′(g(x))×g′(x)\frac{d}{dx}f(g(x))=f'(g(x))\times g'(x)dxd​f(g(x))=f′(g(x))×g′(x) 舉例:Given\ g(x) = x^2+3,\ f(x)=x^2, then \
f(g(x))= (x^2+3)^2 \
\frac{d}{dx} f(g(x))= 2\times (x^2+3)\times (2\times x)Given g(x)=x2+3, f(x)=x2,thenf(g(x))=(x2+3)2ddxf(g(x))=2×(x2+3)×(2×x)Given\ g(x) = x^2+3,\ f(x)=x^2, then \f(g(x))= (x^2+3)^2 \\frac{d}{dx} f(g(x))= 2\times (x^2+3)\times (2\times x)Given g(x)=x2+3, f(x)=x2,thenf(g(x))=(x2+3)2dxd​f(g(x))=2×(x2+3)×(2×x) 以白話文方式深度學習優化過程 已知有個深度學習模型、輸入資料、真實結果、損失函數 Step1. 模型中的權重值隨機產生出來 Step2. 將輸入資料放入模型中,得到預測結果 Step3. 使用損失函數評斷預測結果與真實結果的差距 Step4. 計算梯度(Gradient) Step5. 優化參數 以數學公式方式表達深度學習優化過程 已知有個兩層神經網路模型(L_1, L_2L1,L2L_1, L_2L1​,L2​)、輸入資料(X_0X0X_0X0​)、真實結果(Y)、損失函數(Loss()Loss()Loss()Loss())、需要優化的參數(W_1,\ W_2,\ W_OW1, W2, WOW_1,\ W_2,\ W_OW1​, W2​, WO​) 經過第一層後輸出特徵(X_1X1X_1X1​)為:X_1=X_0\times W_1X1=X0×W1X_1=X_0\times W_1X1​=X0​×W1​ 經過第二層後輸出特徵(X_2X2X_2X2​)為:X_2= X_1\times W_2 = (X_0\times W_1)\times W_2X2=X1×W2=(X0×W1)×W2X_2= X_1\times W_2 = (X_0\times W_1)\times W_2X2​=X1​×W2​=(X0​×W1​)×W2​ 經過輸出層後預測結果(O_{pred}OpredO_{pred}Opred​)為:O_{pred}=X_2\times W_O = ((X_0\times W_1)\times W_O)Opred=X2×WO=((X0×W1)×WO)O_{pred}=X_2\times W_O = ((X_0\times W_1)\times W_O)Opred​=X2​×WO​=((X0​×W1​)×WO​) 使用損失函數(Loss()Loss()Loss()Loss())計算出預測值與實際值的差距(llll)l=\frac{1}{N} (Y-O_{pred})^2 \
= \frac{1}{N} (Y-X_2\times W_O)^2l=1N(Y−Opred)2=1N(Y−X2×WO)2l=\frac{1}{N} (Y-O_{pred})^2 \= \frac{1}{N} (Y-X_2\times W_O)^2l=N1​(Y−Opred​)2=N1​(Y−X2​×WO​)2 使用損失函數分別對 W_1,\ W_2,\ W_OW1, W2, WOW_1,\ W_2,\ W_OW1​, W2​, WO​ 微分\frac{d}{dW_O}l=2\times (Y-X_2\times W_O)\times X_2=gradient(W_O) \
\frac{d}{dW_2}l=2\times (Y-X_2\times W_O)\times (X_2\times W_2)\times X_1=gradient(W_2) \
\frac{d}{dW_1}l=2\times (Y-X_2\times W_O)\times (X_2\times W_2)\times (X_0\times W_1)\times X_0=gradient(W_1)ddWOl=2×(Y−X2×WO)×X2=gradient(WO)ddW2l=2×(Y−X2×WO)×(X2×W2)×X1=gradient(W2)ddW1l=2×(Y−X2×WO)×(X2×W2)×(X0×W1)×X0=gradient(W1)\frac{d}{dW_O}l=2\times (Y-X_2\times W_O)\times X_2=gradient(W_O) \\frac{d}{dW_2}l=2\times (Y-X_2\times W_O)\times (X_2\times W_2)\times X_1=gradient(W_2) \\frac{d}{dW_1}l=2\times (Y-X_2\times W_O)\times (X_2\times W_2)\times (X_0\times W_1)\times X_0=gradient(W_1)dWO​d​l=2×(Y−X2​×WO​)×X2​=gradient(WO​)dW2​d​l=2×(Y−X2​×WO​)×(X2​×W2​)×X1​=gradient(W2​)dW1​d​l=2×(Y−X2​×WO​)×(X2​×W2​)×(X0​×W1​)×X0​=gradient(W1​) 與梯度下降法有關的優化演算法 Stochastic Gradient Descent Adam AdamW Amsgrad ADMM-Adam