TensorFlow实现超参数调整
TensorFlow實(shí)現(xiàn)超參數(shù)調(diào)整
正如你目前所看到的,神經(jīng)網(wǎng)絡(luò)的性能非常依賴(lài)超參數(shù)。因此,了解這些參數(shù)如何影響網(wǎng)絡(luò)變得至關(guān)重要。
常見(jiàn)的超參數(shù)是學(xué)習(xí)率、正則化器、正則化系數(shù)、隱藏層的維數(shù)、初始權(quán)重值,甚至選擇什么樣的優(yōu)化器優(yōu)化權(quán)重和偏置。
超參數(shù)調(diào)整過(guò)程
-
調(diào)整超參數(shù)的第一步是構(gòu)建模型。與之前一樣,在 TensorFlow 中構(gòu)建模型。
-
添加一種方法將模型保存在 model_file 中。在 TensorFlow 中,可以使用 Saver 對(duì)象來(lái)完成。然后保存在會(huì)話中:
-
確定要調(diào)整的超參數(shù),并為超參數(shù)選擇可能的值。在這里,你可以做隨機(jī)的選擇、固定間隔值或手動(dòng)選擇。三者分別稱(chēng)為隨機(jī)搜索、網(wǎng)格搜索和手動(dòng)搜索。例如,下面是用來(lái)調(diào)節(jié)學(xué)習(xí)率的代碼:
-
選擇對(duì)損失函數(shù)給出最佳響應(yīng)的參數(shù)。所以,可以在開(kāi)始時(shí)將損失函數(shù)的最大值定義為 best_loss(如果是精度,可以選擇將期望得到的準(zhǔn)確率設(shè)為模型的最低精度):
-
把你的模型放在 for 循環(huán)中,然后保存任何能更好估計(jì)損失的模型:
除此之外,貝葉斯優(yōu)化也可以用來(lái)調(diào)整超參數(shù)。其中,用高斯過(guò)程定義了一個(gè)采集函數(shù)。高斯過(guò)程使用一組先前評(píng)估的參數(shù)和得出的精度來(lái)假定未觀察到的參數(shù)。采集函數(shù)使用這一信息來(lái)推測(cè)下一組參數(shù)。https://github.com/lucfra/RFHO上有一個(gè)包裝器用于基于梯度的超參數(shù)優(yōu)化。
總結(jié)
以上是生活随笔為你收集整理的TensorFlow实现超参数调整的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: TensorFlow实现多层感知机函数逼
- 下一篇: MindSpore:自动微分