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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

深度学习各优化算法

發布時間:2023/12/9 pytorch 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习各优化算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

深度學習中,在進行損失函數J的優化及參數尋優時,用到的均是梯度下降法。而其他優化算法均是在此基礎上進行的一定改進。

  • 批梯度下降(BGD):就是沒有任何優化的梯度下降,我們每一次循環都是對整個訓練集進行學習。用此方法計算量較大,迭代時間長。
  • 隨機梯度下降(SGD):相比于批量梯度下降而言,隨機梯度下降每次從樣本中隨機抽取一個樣本,進行其損失函數并對參數進行更新。此方法計算速度快,但不太穩定,損失函數的起伏較大,且未用到向量化方法。
  • mini-batch梯度下降:是對上述兩種方法的一個改進,將數據集中的樣本數隨機的分為t份,其中t介于0到m之間,一般為2的n次方,這樣既可以保證每次迭代更新的穩定性,又提高運行速度。

部分代碼及圖解如下:

#僅做比較,不運行。#批量梯度下降,又叫梯度下降 X = data_input Y = labelsparameters = initialize_parameters(layers_dims) for i in range(0,num_iterations):#前向傳播A,cache = forward_propagation(X,parameters)#計算損失cost = compute_cost(A,Y)#反向傳播grads = backward_propagation(X,Y,cache)#更新參數parameters = update_parameters(parameters,grads)#隨機梯度下降算法: X = data_input Y = labels parameters = initialize_parameters(layers_dims) for i in (0,num_iterations):for j in m:#前向傳播A,cache = forward_propagation(X[:,j],parameters)#計算成本cost = compute_cost(A,Y[:,j])#后向傳播grads = backward_propagation(X[:,j],Y[:,j],cache)#更新參數parameters = update_parameters(parameters,grads)

??????

?

??此外,還產生了動量梯度下降法(β越大越好)、RMSprop及adam等優化算法,其中adam優化算法是前兩者的一個結合,這三種優化算法均是采用了指數加權平均的方法來更新權重,以此減少震蕩,增加水平方向的步長,達到更快收斂的目的。

總結

以上是生活随笔為你收集整理的深度学习各优化算法的全部內容,希望文章能夠幫你解決所遇到的問題。

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