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

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

新手入門|使用Optuna進行Pytorch超參數(shù)調(diào)優(yōu)教程

2021-08-12 20:00 作者:深度之眼官方賬號  | 我要投稿

使用Pytorch構(gòu)建深度學習模型的一系列指南中的第四篇來啦!Optuna作為主要面向深度學習超參數(shù)調(diào)優(yōu)開發(fā)的框架,在實現(xiàn)之初就考慮到了大型模型參數(shù)調(diào)優(yōu)的各種實際情況,并逐一針對它們設計了解決方案。今天學姐就帶大家學習如何使用Optuna進行Pytorch超參數(shù)調(diào)優(yōu)。


前三篇傳送門:

1.Pytorch初學者教程

2.了解深度學習模型中的張量維度

3.CNN和特征可視化


01?Optuna介紹


Optuna是一個自動超參數(shù)搜索的超參數(shù)優(yōu)化框架,可應用于機器學習和深度學習模型;Optuna使用了采樣和剪枝算法來優(yōu)化超參數(shù),所以非??焖俸透咝?;它還可以通過直觀的方式動態(tài)構(gòu)建超參數(shù)搜索空間。


本篇文章的重點是結(jié)合Pytorch和Optuna,在MNIST數(shù)據(jù)集上找到性能最佳的CNN模型。我將逐步展示應用Optuna所需的函數(shù)和要調(diào)整的超參數(shù)。



02?MNIST分類器與Optuna


先安裝Optuna庫


之后導入庫和數(shù)據(jù)集


接著將卷積神經(jīng)網(wǎng)絡一起定義到要調(diào)整的超參數(shù)


在Optuna中,目標是最小化/最大化目標函數(shù),它將一組超參數(shù)作為輸入并返回驗證分數(shù)。對于每個超參數(shù),需要考慮不同范圍的值。

優(yōu)化的過程稱為研究,而對目標函數(shù)的每次評估稱為試驗。“Suggest API”在模型架構(gòu)內(nèi)被調(diào)用,為每個試驗動態(tài)生成超參數(shù)。

可以定義超參數(shù)范圍的函數(shù):

  • suggest_int?建議為第二完全連接層的輸入單元設置整數(shù)值


  • suggest_float?建議dropout率的浮點值,在第二個卷積層(0-0.5,步長為0.1)和第一個線性層(0-0.3,步長為0.1)之后作為超參數(shù)引入。


  • suggest_categorical?建議優(yōu)化器的分類值,稍后將顯示

更多資料:

https://optuna.readthedocs.io/en/v1.4.0/reference/trial.html


定義了一個函數(shù)來嘗試訓練集中batch_size的不同值。它將訓練數(shù)據(jù)集和批大小作為輸入(稍后將在目標函數(shù)中定義),并返回訓練和驗證加載器對象。



03?最優(yōu)化(Optimization)

最重要的一步是定義目標函數(shù),它使用采樣程序來選擇每次試驗中的超參數(shù)值,并返回在該試驗中獲得的驗證準確度。



下面創(chuàng)建一個study對象來最大化目標函數(shù),然后使用study.optimize(objective,n_trials = 20)進行研究,將試驗次數(shù)定為20次。可以根據(jù)問題的復雜程度對其進行更改


為了更容易地可視化最近5次試驗中選擇的超參數(shù),我們可以構(gòu)建一個DataFrame對象:



性能最好的模型在第 20 次試驗中獲得了 98.9% 的驗證準確率。上面是該試驗中選擇的超參數(shù)值。


04?使用Optuna進行可視化

有許多有趣的可視化方法可以幫助查看優(yōu)化的不同方面。我們可以看到目標值如何隨著試驗次數(shù)的增加而增加。




x軸是試驗數(shù)據(jù),y軸是客觀值,對應于驗證精度。僅通過20次試驗,我們就可以看到我們獲得了90%以上的高分。


我們還可以證明不同超參數(shù)之間的關(guān)系。在這種情況下,我們只關(guān)注批量大小和學習率:



Contour Plot是一個3D圖,其中第三維由目標值構(gòu)成。從中心的集群(淺藍色表示驗證準確率非常高),我們可以觀察到這些結(jié)果是在中等學習率(介于0.001和0.01之間)和低/中等批量大小下獲得的。

使用平行坐標圖,我們可以觀察到所有已考慮到的優(yōu)化歷史:


另一個有用的表示由超參數(shù)重要性構(gòu)成。因此,可以了解到哪些超參數(shù)對模型的性能影響最大。

從圖中可以看出,學習率對目標值的影響最大,而其他超參數(shù)對學習率的影響很小。丟失率對性能的影響很小,但仍然需要降低過擬合的風險。


希望學姐的這篇文章能夠幫助你理解Optuna!


原文鏈接:

https://pub.towardsai.net/tuning-pytorch-hyperparameters-with-optuna-470edcfd4dc


學姐終于建群了~公眾號后臺回復“進群”拉你進群



分享收藏點贊在看

新手入門|使用Optuna進行Pytorch超參數(shù)調(diào)優(yōu)教程的評論 (共 條)

分享到微博請遵守國家法律
射洪县| 司法| 宁夏| 吕梁市| 镇远县| 柘荣县| 上饶县| 肇源县| 朝阳区| 温州市| 忻州市| 临安市| 黑河市| 乳源| 威宁| 中西区| 松桃| 朝阳区| 南靖县| 石家庄市| 榆树市| 通榆县| 萝北县| 武定县| 连州市| 邵阳县| 上蔡县| 防城港市| 南岸区| 娄底市| 郑州市| 绥芬河市| 理塘县| 原阳县| 嘉兴市| 修文县| 鸡西市| 黑山县| 蒲城县| 获嘉县| 南平市|