backward計算微分後的結果
backward可自動算出function微分後的結果
也就是算出斜率,之後我們可根據backward的計算結果來更新參數
以下範例我先設置一個x參數為2
注意:型態要為浮點數且requires_grad參數要設為true才可微分
設置一個function為y=2x²+3x+3,x帶入此function結果為f(2)=17
使用backward計算dy/dx,也就是對x做微分
此function微分後的結果為4x+3,f'(2)=11
11也就是此function在x=2時的斜率
自己設置loss function、updata參數
先設一個x為1,把它當作我們在訓練時所輸入的資料
y_hat設為2,把它當作我們的訓練目標
w設為3,為我們要訓練的參數
y_pred為我們的計算結果
loss則是我們的loss function,為y_pred-y_hat(預測結果減掉訓練目標)
loss.backward算出對w的微分結果
根據微分的結果,更新w參數,公式為w-(dy/dw),也就是減掉微分後的結果
之後再重新計算一次我們的預測結果,可發現已經與我們的訓練目標一樣
今天我們認識了backward以及如何自己設置loss function、updata參數
明天將帶領大家如何設置model、使用pytorch方法來設置loss function及updata參數
送上colab連結,可自行在上面多做點練習更加熟悉pytorch
https://colab.research.google.com/drive/1mgTZLoGTlAbuqePpu8WGHM0_Mc-2n-l8?usp=sharing