深度學(xué)習(xí)的學(xué)習(xí)率調(diào)節(jié)實(shí)踐
正如我們所期望的,隨著學(xué)習(xí)率的提高,最初的損失逐漸減少,但過(guò)了一段時(shí)間,學(xué)習(xí)率太大,導(dǎo)致?lián)p失反彈:最佳學(xué)習(xí)率將略低于損失開(kāi)始攀升的點(diǎn)(通常比轉(zhuǎn)折點(diǎn)低10倍左右)。我們現(xiàn)在可以重新初始化我們的模型,并使用良好的學(xué)習(xí)率對(duì)其進(jìn)行正常訓(xùn)練。還有更多的學(xué)習(xí)率技巧,包括創(chuàng)建學(xué)習(xí)進(jìn)度表,我希望在以后的調(diào)查中介紹,但對(duì)如何手動(dòng)選擇好的學(xué)習(xí)率有一個(gè)直觀的理解同樣重要。我們的損失在3e-1左右開(kāi)始反彈,所以讓我們嘗試使用2e-1作為我們的學(xué)習(xí)率:keras.backend.clear_session()np.random.seed(42)tf.random.set_seed(42)model = keras.models.Sequential([ keras.layers.Flatten(input_shape=[28, 28]), keras.layers.Dense(300, activation="relu"), keras.layers.Dense(100, activation="relu"), keras.layers.Dense(10, activation="softmax")])model.compile(loss="sparse_categorical_crossentropy", optimizer=keras.optimizers.SGD(lr=2e-1), metrics=["accuracy"])使用TensorBoard進(jìn)行可視化TensorBoard是一個(gè)很好的交互式可視化工具,你可以使用它查看訓(xùn)練期間的學(xué)習(xí)曲線(xiàn)、比較學(xué)習(xí)曲線(xiàn)、可視化計(jì)算圖、分析訓(xùn)練統(tǒng)計(jì)數(shù)據(jù)、查看模型生成的圖像,可視化復(fù)雜的多維數(shù)據(jù)投影到三維和自動(dòng)聚類(lèi),等等!這個(gè)工具是在安裝TensorFlow時(shí)自動(dòng)安裝的,所以你應(yīng)該已經(jīng)安裝了。讓我們首先定義將用于TensorBoard日志的根日志目錄,再加上一個(gè)小函數(shù),該函數(shù)將根據(jù)當(dāng)前時(shí)間生成一個(gè)子目錄路徑,以便每次運(yùn)行時(shí)它都是不同的。你可能需要在日志目錄名稱(chēng)中包含額外的信息,例如正在測(cè)試的超參數(shù)值,以便更容易地了解你在TensorBoard中查看的內(nèi)容:root_logdir = os.path.join(os.curdir, "my_logs")
def get_run_logdir(): import time run_id = time.strftime("run_%Y_%m_%d-%H_%M_%S") return os.path.join(root_logdir, run_id)
run_logdir = get_run_logdir() # 例如, './my_logs/run_2020_07_31-15_15_22'Keras api提供了一個(gè)TensorBoard()回調(diào)函數(shù)。TensorBoard()回調(diào)函數(shù)負(fù)責(zé)創(chuàng)建日志目錄,并在訓(xùn)練時(shí)創(chuàng)建事件文件和編寫(xiě)摘要(摘要是一種二進(jìn)制數(shù)據(jù)記錄,用于創(chuàng)建可視化TensorBoard)。每次運(yùn)行有一個(gè)目錄,每個(gè)目錄包含一個(gè)子目錄,分別用于記錄訓(xùn)練日志和驗(yàn)證日志,兩者都包含事件文件,但訓(xùn)練日志也包含分析跟蹤:這使TensorBoard能夠準(zhǔn)確地顯示模型在模型的每個(gè)部分(跨越所有設(shè)備)上花費(fèi)了多少時(shí)間,這對(duì)于查找性能瓶頸非常有用。early_stopping_cb = keras.callbacks.EarlyStopping(patience=20)checkpoint_cb = keras.callbacks.ModelCheckpoint("my_fashion_mnist_model.h5", save_best_only=True)tensorboard_cb = keras.callbacks.TensorBoard(run_logdir)
history = model.fit(X_train, y_train, epochs=100, validation_data=(X_valid, y_valid), callbacks=[early_stopping_cb, checkpoint_cb, tensorboard_cb])接下來(lái),我們需要啟動(dòng)TensorBoard服務(wù)器。我們可以通過(guò)運(yùn)行以下命令在Jupyter中直接執(zhí)行此操作。第一行加載TensorBoard擴(kuò)展,第二行啟動(dòng)端口6004上的TensorBoard服務(wù)器,并連接到它:%load_ext tensorboard %tensorboard — logdir=./my_logs — port=6004現(xiàn)在你應(yīng)該可以看到TensorBoard的web界面。單擊“scaler”選項(xiàng)卡以查看學(xué)習(xí)曲線(xiàn)。在左下角,選擇要可視化的日志(例如,第一次運(yùn)行的訓(xùn)練日志),然后單擊epoch_loss scaler。請(qǐng)注意,在我們的訓(xùn)練過(guò)程中,訓(xùn)練損失下降得很順利。
你還可以可視化整個(gè)圖形、學(xué)習(xí)的權(quán)重(投影到3D)或分析軌跡。TensorBoard()回調(diào)函數(shù)也有記錄額外數(shù)據(jù)的選項(xiàng),例如NLP數(shù)據(jù)集的嵌入。這實(shí)際上是一個(gè)非常有用的可視化工具。結(jié)論在這里我們得到了88%的準(zhǔn)確率,這是我們可以達(dá)到的最好的深度MLP。如果我們想進(jìn)一步提高性能,我們可以嘗試卷積神經(jīng)網(wǎng)絡(luò)(CNN),它對(duì)圖像數(shù)據(jù)非常有效。
就我們的目的而言,這就足夠了。我們學(xué)會(huì)了如何:使用Keras的Sequential API構(gòu)建深度mlp。通過(guò)按指數(shù)增長(zhǎng)學(xué)習(xí)率,繪制損失圖,并找到損失重新出現(xiàn)的點(diǎn),來(lái)找到最佳學(xué)習(xí)率。構(gòu)建深度學(xué)習(xí)模型時(shí)的最佳實(shí)踐,包括使用回調(diào)和使用TensorBoard可視化學(xué)習(xí)曲線(xiàn)。如果你想在這里看到ppt或jupyterNotebook中完整的代碼和說(shuō)明,請(qǐng)隨時(shí)查看Github存儲(chǔ)庫(kù):https://github.com/lukenew2/learning_rates_and_best_practices。

發(fā)表評(píng)論
登錄
手機(jī)
驗(yàn)證碼
立即登錄即可訪(fǎng)問(wèn)所有OFweek服務(wù)
還不是會(huì)員?免費(fèi)注冊(cè)
忘記密碼請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
-
機(jī)器人奧運(yùn)會(huì)戰(zhàn)報(bào):宇樹(shù)機(jī)器人摘下首金,天工Ultra搶走首位“百米飛人”
-
存儲(chǔ)圈掐架!江波龍起訴佰維,索賠121萬(wàn)
-
長(zhǎng)安汽車(chē)母公司突然更名:從“中國(guó)長(zhǎng)安”到“辰致科技”
-
豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
-
字節(jié)AI Lab負(fù)責(zé)人李航卸任后返聘,Seed進(jìn)入調(diào)整期
-
員工持股爆雷?廣汽埃安緊急回應(yīng)
-
中國(guó)“智造”背后的「關(guān)鍵力量」
-
小米汽車(chē)研發(fā)中心重磅落地,寶馬家門(mén)口“搶人”
最新活動(dòng)更多
-
10月23日火熱報(bào)名中>> 2025是德科技創(chuàng)新技術(shù)峰會(huì)
-
10月23日立即報(bào)名>> Works With 開(kāi)發(fā)者大會(huì)深圳站
-
10月24日立即參評(píng)>> 【評(píng)選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評(píng)選
-
11月27日立即報(bào)名>> 【工程師系列】汽車(chē)電子技術(shù)在線(xiàn)大會(huì)
-
12月18日立即報(bào)名>> 【線(xiàn)下會(huì)議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
精彩回顧立即查看>> 【限時(shí)福利】TE 2025國(guó)際物聯(lián)網(wǎng)展·深圳站
推薦專(zhuān)題
- 1 人形機(jī)器人,正狂奔在批量交付的曠野
- 2 3 AI版“四萬(wàn)億刺激”計(jì)劃來(lái)了
- 4 2025年8月人工智能投融資觀察
- 5 一家被嚴(yán)重低估的國(guó)產(chǎn)AI巨頭
- 6 a16z最新AI百?gòu)?qiáng)榜:硅谷頂級(jí)VC帶你讀懂全球生成式AI賽道最新趨勢(shì)
- 7 Manus跑路,大廠(chǎng)掉線(xiàn),只能靠DeepSeek了
- 8 地平線(xiàn)的野心:1000萬(wàn)套HSD上車(chē)
- 9 一萬(wàn)億美元!馬斯克薪酬細(xì)節(jié)拆解
- 10 蘋(píng)果把身家押在Siri上:一場(chǎng)輸不起的自我革命