當前位置:
首頁 > 知識 > 優化函數耗時的問題

優化函數耗時的問題

這裡是 AI 研習社,我們的問答版塊已經正式推出了!歡迎大家來多多交流~

http://ai.yanxishe.com/page/question

(文末有福利哦)

社長為你推薦來自 AI 研習社問答社區的精華問答。如有你也有問題,歡迎進社區提問。

話不多說,直接上題

@揚 問:關於優化函數耗時的問題

sgd的時間複雜度是O(1),梯度下降的時間複雜度是O(N),但是每次epoch的時候,sgd的耗時比梯度下降耗時還要長,這是為什麼呢?這個是書上的解釋,感覺解釋的有點牽強

ps:sgd是取梯度當中的某一個值,而梯度下降是求和取平均值。因此時間複雜度sgd是O(1),gd是O(N).

來自社友的回答

@行者小林

個人理解:這裡說的迭代周期應該是指對1500個樣本遍歷一次,隨機梯度下降(sgd)單次提取一個樣本進行處理,需要迭代1500次,每次迭代都是串列的,無法利用gpu並行加速,而gd每次處理1500個樣本,可以使用gpu加速計算

徐揚追問行者小林:那豈不是gd時間更少了?一般情況下,gd的效果會優於sgd,那為什麼在深度學習當中,sgd用的比gd更多呢? 既然gd的時間少,然後效果還優於sgd

行者小林 回復徐揚:我們通常衡量的是達到指定效果(例如loss降到0.1所需要的時間和內存)所需的時間,對於sgd在完1500次數據後loss下降了1500次(例如loss從10降到了0.2),而gd只下降了一次(loss從10降到5已經是比較理想的情況了),這樣應該能理解了吧

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

使用 Tensorflow 物體檢測來玩射擊遊戲《反恐精英》
Tensorflow系列專題:RNN的應用及注意力模型

TAG:AI研習社 |