最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

MegEngine 使用小技巧:使用 Optimizer 優(yōu)化參數(shù)

2023-04-13 15:41 作者:曠視天元MegEngine  | 我要投稿

神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)的目的是找到使損失函數(shù)的值盡可能小的參數(shù)。這是尋找最優(yōu)參數(shù)的問題,解決這個問題的過程稱為優(yōu)化(optimization)。而由于參數(shù)空間復(fù)雜、參數(shù)數(shù)量龐大等原因,使得神經(jīng)網(wǎng)絡(luò)的優(yōu)化問題非常難。

MegEngine 的 optimizer 模塊中實現(xiàn)了大量的優(yōu)化算法, 其中?Optimizer (https://www.megengine.org.cn/doc/stable/zh/reference/api/megengine.optimizer.Optimizer.html#megengine.optimizer.Optimizer)是所有優(yōu)化器的抽象基類,規(guī)定了必須提供的接口。 同時為用戶提供了包括?SGD(https://www.megengine.org.cn/doc/stable/zh/reference/api/megengine.optimizer.SGD.html#megengine.optimizer.SGD),?Adam?(https://www.megengine.org.cn/doc/stable/zh/reference/api/megengine.optimizer.Adam.html#megengine.optimizer.Adam)在內(nèi)的常見優(yōu)化器實現(xiàn)。 這些優(yōu)化器能夠基于參數(shù)的梯度信息,按照算法所定義的策略對參數(shù)執(zhí)行更新。

以 SGD 優(yōu)化器為例,優(yōu)化神經(jīng)網(wǎng)絡(luò)模型參數(shù)的基本流程如下:

  • 我們需要構(gòu)造一個優(yōu)化器,并且傳入需要被優(yōu)化的參數(shù) Parameter;

  • 在反向傳播,計算出梯度后執(zhí)行?step?(https://www.megengine.org.cn/doc/stable/zh/reference/api/megengine.optimizer.Optimizer.html#megengine.optimizer.Optimizer.step)方法,參數(shù)將基于梯度信息進行一次優(yōu)化;

  • 通過執(zhí)行?clear_grad (https://www.megengine.org.cn/doc/stable/zh/reference/api/megengine.optimizer.Optimizer.html#megengine.optimizer.Optimizer.clear_gradx)方法,清空參數(shù)的梯度。

為何需要手動清空梯度?

梯度管理器執(zhí)行?backward (https://www.megengine.org.cn/doc/stable/zh/reference/api/megengine.autodiff.GradManager.html#megengine.autodiff.GradManager.backward)方法時, 會將當前計算所得到的梯度以累加的形式積累到原有梯度上,而不是直接做替換。 因此對于新一輪的梯度計算,通常需要將上一輪計算得到的梯度信息清空。 何時進行梯度清空是由人為控制的,這樣可允許靈活進行梯度的累積。

Optimizer 構(gòu)造函數(shù)中還可接受一個含有優(yōu)化器默認參數(shù)的字典(如含有學(xué)習(xí)率、動量、權(quán)重衰減系數(shù)等等), 這些信息可以通過?state_dict (https://www.megengine.org.cn/doc/stable/zh/reference/api/megengine.optimizer.Optimizer.html#megengine.optimizer.Optimizer.state_dict)和?load_state_dict (https://www.megengine.org.cn/doc/stable/zh/reference/api/megengine.optimizer.Optimizer.html#megengine.optimizer.Optimizer.load_state_dict)獲取和加載。更多詳細內(nèi)容見:Optimizer 狀態(tài)字典

附:

「MegEngine 使用小技巧」系列文章,重點輸出 MegEngine 及周邊工具的使用技巧,如有催更或投稿,歡迎聯(lián)系我們哦~

技術(shù)交流 QQ 群:1029741705;Bot 微信:megengine-bot

更多 MegEngine 信息獲取,您可以:查看文檔:https://www.megengine.org.cn/doc/stable/zh/

GitHub 項目: https://github.com/MegEngine

歡迎參與 MegEngine 社區(qū)貢獻,成為?Awesome MegEngineerhttps://www.megengine.org.cn/community-AMGE,榮譽證書、定制禮品享不停。


MegEngine 使用小技巧:使用 Optimizer 優(yōu)化參數(shù)的評論 (共 條)

分享到微博請遵守國家法律
永仁县| 东台市| 东方市| 西充县| 澄迈县| 柯坪县| 滁州市| 丰都县| 辽宁省| 永靖县| 全椒县| 克山县| 岱山县| 乌鲁木齐市| 福建省| 新民市| 蓬莱市| 杭州市| 乐安县| 雅江县| 白河县| 贵州省| 宜兰县| 高尔夫| 天祝| 敦煌市| 青岛市| 宽甸| 迁安市| 鹤岗市| 泌阳县| 甘洛县| 普定县| 玛纳斯县| 鄂伦春自治旗| 南雄市| 湘潭县| 马公市| 江孜县| 临邑县| 息烽县|