日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DL之DNN优化技术:神经网络算法简介之GD/SGD算法的简介、代码实现、代码调参之详细攻略

發布時間:2025/3/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DL之DNN优化技术:神经网络算法简介之GD/SGD算法的简介、代码实现、代码调参之详细攻略 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

DL之DNN優化技術:神經網絡算法簡介之GD/SGD算法的簡介、代碼實現、代碼調參之詳細攻略

?

?

目錄

GD算法的簡介

GD/SGD算法的代碼實現

1、Matlab編程實現

GD算法的改進算法

GD算法中的超參數


?

?

GD算法的簡介

? ? ? GD算法,是求解非線性無約束優化問題的基本方法,最小化損失函數的一種常用的一階優化方法。如圖所示,找出最陡峭的方向作為下山的方向。

1、如何求梯度?

沿著梯度方向,函數值下降最快。

2、二元曲面

具有兩個輸入權重的線性神經元的誤差曲面,Error surface of a linear neuron with two input weights

3、GD算法容易陷入局部最小值

?

?

GD/SGD算法的代碼實現

1、Matlab編程實現

%% 最速下降法圖示 % 設置步長為0.1,f_change為改變前后的y值變化,僅設置了一個退出條件。 syms x;f=x^2; step=0.1;x=2;k=0; %設置步長,初始值,迭代記錄數 f_change=x^2; %初始化差值 f_current=x^2; %計算當前函數值 ezplot(@(x,f)f-x.^2) %畫出函數圖像 axis([-2,2,-0.2,3]) %固定坐標軸 hold on while f_change>0.000000001 %設置條件,兩次計算的值之差小于某個數,跳出循環x=x-step*2*x; %-2*x為梯度反方向,step為步長,!最速下降法!f_change = f_current - x^2; %計算兩次函數值之差f_current = x^2 ; %重新計算當前的函數值plot(x,f_current,'ro','markersize',7) %標記當前的位置drawnow;pause(0.2);k=k+1; end hold off fprintf('在迭代%d次后找到函數最小值為%e,對應的x值為%e\n',k,x^2,x)

2、基于python實現SGD算法

class SGD:def __init__(self, lr=0.01):self.lr = lr #學習率,實例變量#update()方法,在SGD中會被反復調用def update(self, params, grads):for key in params.keys():params[key] -= self.lr * grads[key] #參數params、grads依舊是字典型變量,按params['W1']、grads['W1']的形式,分別保存了權重參數和它們的梯度。'偽代碼:神經網絡的參數的更新' network = TwoLayerNet(...) optimizer = SGD() for i in range(10000):...x_batch, t_batch = get_mini_batch(...) # mini-batchgrads = network.gradient(x_batch, t_batch)params = network.paramsoptimiz

?

?

GD算法的改進算法

1、SGD算法
(1)、mini-batch
如果不是每拿到一個樣本即更改梯度,而是若干個樣本的平均梯度作為更新方向,則是mini-batch梯度下降算法。



(1)、SGD與學習率、Rate、Loss

?

?

GD算法中的超參數

1、學習率

(1)、固定學習率實驗的C代碼

(2)、回溯線性搜索(Backing Line Search)

(3)、二次插值線性搜索:回溯線性搜索的思考——插值法,二次插值法求極值


?

?

?

?

?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的DL之DNN优化技术:神经网络算法简介之GD/SGD算法的简介、代码实现、代码调参之详细攻略的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。