日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

【tensorflow】】模型优化(一)指数衰减学习率

發(fā)布時間:2023/11/28 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【tensorflow】】模型优化(一)指数衰减学习率 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

指數(shù)衰減學(xué)習(xí)率是先使用較大的學(xué)習(xí)率來快速得到一個較優(yōu)的解,然后隨著迭代的繼續(xù),逐步減小學(xué)習(xí)率,使得模型在訓(xùn)練后期更加穩(wěn)定。在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時,需要設(shè)置學(xué)習(xí)率(learning rate)控制參數(shù)的更新速度,學(xué)習(xí)速率設(shè)置過小,會極大降低收斂速度,增加訓(xùn)練時間;學(xué)習(xí)率太大,可能導(dǎo)致參數(shù)在最優(yōu)解兩側(cè)來回振蕩。

函數(shù)原型:


tf.train.exponential_decay(
? ? learning_rate,
? ? global_step,
? ? decay_steps,
? ? decay_rate,
? ? staircase=False,#默認(rèn)為False
? ? name=None
)


staircase:布爾值。如果True以不連續(xù)的間隔衰減學(xué)習(xí)速率,最后曲線就是鋸齒狀

該函數(shù)返回衰退的學(xué)習(xí)速率。它被計(jì)算為:

decayed_learning_rate = learning_rate *? ? ? ? ? ? ? ? ? ? ? ? decay_rate ^ (global_step / decay_steps)
指數(shù)衰減學(xué)習(xí)率的各種參數(shù):

# 初始學(xué)習(xí)率
learning_rate = 0.1
# 衰減系數(shù)
decay_rate = 0.9
# decay_steps控制衰減速度
# 如果decay_steps大一些,(global_step / decay_steps)就會增長緩慢一些
# 從而指數(shù)衰減學(xué)習(xí)率decayed_learning_rate就會衰減得慢一些
# 否則學(xué)習(xí)率很快就會衰減為趨近于0
decay_steps = 50
# 迭代輪數(shù)
global_steps = 3000
此時的意思是學(xué)習(xí)率以基數(shù)0.9每50步進(jìn)行衰減。例如當(dāng)?shù)螖?shù)從1到3000次時,迭代到最后一次時,3000/50=60. 則衰減到基數(shù)的60次方。
是初始化的學(xué)習(xí)率, 是隨著 的遞增而衰減。顯然,當(dāng) 為初值0時, 有下面等式:

用來控制衰減速度,如果 大一些, 就會增長緩慢一些。從而指數(shù)衰減學(xué)習(xí)率 就會衰減得慢一否則學(xué)習(xí)率很快就會衰減為趨近于0。

徒手實(shí)現(xiàn)指數(shù)衰減學(xué)習(xí)率:

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默認(rèn)字體
plt.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負(fù)號'-'顯示為方塊的問題
X = []
Y = []
learning_rate=1
global_steps=3000
decay_steps=50
decay_rate=0.9
# 指數(shù)學(xué)習(xí)率衰減過程
for global_step in range(global_steps):
decayed_learning_rate = learning_rate * decay_rate**(global_step / decay_steps)
X.append(global_step / decay_steps)
Y.append(decayed_learning_rate)
#print("global step: %d, learning rate: %f" % (global_step,decayed_learning_rate))
plt.plot(X,Y,'b')
plt.ylabel(u"learning_rate學(xué)習(xí)率")
plt.xlabel('global_step / decay_steps')
plt.show()

?


---------------------
作者:亮亮蘭
來源:CSDN
原文:https://blog.csdn.net/lyl771857509/article/details/79734107
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!

總結(jié)

以上是生活随笔為你收集整理的【tensorflow】】模型优化(一)指数衰减学习率的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。