《強(qiáng)化學(xué)習(xí)理論與應(yīng)用》深度學(xué)習(xí)_第1頁
《強(qiáng)化學(xué)習(xí)理論與應(yīng)用》深度學(xué)習(xí)_第2頁
《強(qiáng)化學(xué)習(xí)理論與應(yīng)用》深度學(xué)習(xí)_第3頁
《強(qiáng)化學(xué)習(xí)理論與應(yīng)用》深度學(xué)習(xí)_第4頁
《強(qiáng)化學(xué)習(xí)理論與應(yīng)用》深度學(xué)習(xí)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

目錄12023/11/6預(yù)備知識7.17.3模型架構(gòu)7.2核心思想7.4

DQN算法7.5實驗結(jié)果與分析引言(1)

深度強(qiáng)化學(xué)習(xí)將深度學(xué)習(xí)的感知能力與強(qiáng)化學(xué)習(xí)的決策能力相結(jié)合,利用深度神經(jīng)網(wǎng)絡(luò)有效識別高維數(shù)據(jù)的能力,使得強(qiáng)化學(xué)習(xí)算法在處理高維度狀態(tài)空間任務(wù)中更加有效。2013年DeepMind團(tuán)隊首次提出了將強(qiáng)化學(xué)習(xí)中的Q學(xué)習(xí)與深度神經(jīng)網(wǎng)絡(luò)中的卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合的深度Q網(wǎng)絡(luò)算法。2015年該團(tuán)隊對DQN算法進(jìn)一步完善,使得DQN模型在Atari2600的大部分游戲中能夠取得超越人類玩家水平的成績。2023/11/62自DQN算法提出以來,深度強(qiáng)化學(xué)習(xí)逐步成為機(jī)器學(xué)習(xí)的研究熱點(diǎn),相關(guān)技術(shù)也廣泛應(yīng)用于游戲、機(jī)器人控制、自動駕駛、自然語言處理、計算機(jī)視覺等領(lǐng)域。在網(wǎng)絡(luò)結(jié)構(gòu)和算法理論方面也出現(xiàn)了大量的研究成果。為了說明問題,選取4種典型的基于值函數(shù)的深度強(qiáng)化學(xué)習(xí)算法——DQN、DDQN、PrioritizedDQN和DuelingDQN進(jìn)行闡述。2023/11/63引言(2)9.1傳統(tǒng)神經(jīng)網(wǎng)絡(luò)(1)

神經(jīng)網(wǎng)絡(luò)是通過不同層神經(jīng)元首尾相連的方式進(jìn)行數(shù)據(jù)傳遞的。一個神經(jīng)元接收數(shù)據(jù),經(jīng)過處理,輸出給后一層中相應(yīng)的1個或多個神經(jīng)元。通過前向傳播和后向反饋來實現(xiàn)參數(shù)的調(diào)整,整個過程都被清楚地記錄和保存下來,以備后用。2023/11/649.1.1搭建網(wǎng)絡(luò)(1)torch.nn.Squential

torch.nn.Squential類是torch.nn的一種序列容器,提供了構(gòu)建序列化模型的方法。在神經(jīng)網(wǎng)絡(luò)的搭建過程中,參數(shù)將按照事先定義的順序被依次添加到計算圖中執(zhí)行。seq_net=nn.Sequential(nn.Linear(2,4),nn.ReLU(),nn.Linear(4,1))輸出權(quán)重參數(shù):seq_net[0]#輸出第一層seq_net[0].weight

#輸出第一層權(quán)重參數(shù)

2023/11/659.1傳統(tǒng)神經(jīng)網(wǎng)絡(luò)(2)(2)torch.nn.Module

該類至少需要重寫兩個函數(shù):__init__和forward。與Squential方法相比,Module方法更加靈活,具體體現(xiàn)在forward函數(shù)中,通過重寫forward可以實現(xiàn)更為復(fù)雜的操作。classmodule_net(nn.Module):def__init__(self,num_input,num_hidden,num_output):

super(module_net,self).__init__()

self.layer1=nn.Linear(num_input,num_hidden)

self.layer2=nn.ReLU()

self.layer3=nn.Linear(num_hidden,num_output)defforward(self,x):

x=self.layer1(x)

x=self.layer2(x)

x=self.layer3(x)

returnxm_net=module_net(2,4,1)print(m_net)2023/11/669.1傳統(tǒng)神經(jīng)網(wǎng)絡(luò)(3)9.1.2激活函數(shù)

(1)torch.nn.Sigmoid

(2)torch.nn.Tanh(3)torch.nn.ReLU(4)torch.nn.LeakyLU2023/11/679.1傳統(tǒng)神經(jīng)網(wǎng)絡(luò)(4)9.1.3常用的損失函數(shù)

(1)torch.nn.BCELosstorch.nn.BCELoss類使用二分類函數(shù)計算損失值。

input=torch.FloatTensor([[-0.4089,-1.2471,0.5907],[-0.4897,-0.8267,-0.7349],[0.5241,-0.1246,-0.4751]])m=nn.Sigmoid()n=m(input)target=torch.FloatTensor([[0,1,1],[0,0,1],[1,0,1]])loss_fn=nn.BCELoss()loss=loss_fn(n,target)loss

2023/11/689.1傳統(tǒng)神經(jīng)網(wǎng)絡(luò)(5)9.1.3常用的損失函數(shù)

(2)torch.nn.MSELoss

該函數(shù)計算的是預(yù)測值與真實值之差的平方的期望值,用于評價數(shù)據(jù)的變化程度,得到的值越小,則說明模型的預(yù)測值具有越好的精確度。

loss_fn=nn.

MSELoss()loss=loss_fn(n,target)loss2023/11/699.1傳統(tǒng)神經(jīng)網(wǎng)絡(luò)(6)9.1.3常用的損失函數(shù)

(3)torch.nn.CrossEntropLoss

torch.nn.CrossEntropLoss類使用交叉熵計算損失值。在使用實例時需要輸入兩個滿足交叉熵計算條件的參數(shù)。loss_fn=nn.

L1Loss()loss_fn=nn.CrossEntropyLoss()x=Variable(torch.randn(3,5))y=Variable(torch.LongTensor(3).random_(5))loss=loss_fn(x,y)loss.data

2023/11/6109.1傳統(tǒng)神經(jīng)網(wǎng)絡(luò)(7)9.1.4常用的優(yōu)化器

(1)optimizer=optim.SGD(model.parameters(),lr=1e-3)

隨機(jī)梯度下降優(yōu)化器。

(2)optimizer=optim.Momentum(model.parameters(),lr=1e-3)

在隨機(jī)梯度下降的同時,增加動量。

(3)optimizer=optim.Adagrad(model.parameters(),lr=1e-3)

自適應(yīng)學(xué)習(xí)率的方法。

(4)optimizer=optim.RMSprop(model.parameters(),lr=1e-3)

自適應(yīng)學(xué)習(xí)率的改進(jìn)方法。2023/11/6119.1傳統(tǒng)神經(jīng)網(wǎng)絡(luò)(8)9.3卷積神經(jīng)網(wǎng)絡(luò)(1)9.3.1卷積神經(jīng)網(wǎng)絡(luò)核心思想

12局部感知每次只針對圖像的局部信息進(jìn)行感知,得到特征圖;在更深層次的網(wǎng)絡(luò)中繼續(xù)對所得特征圖的局部信息進(jìn)行高維感知;從局部到整體來獲取圖像信息。9.3卷積神經(jīng)網(wǎng)絡(luò)(2)(2)局部感知大大降低了網(wǎng)絡(luò)的參數(shù)假設(shè)用一個像素值(pixel)表示一個神經(jīng)元,考慮一個

像素的圖像:

13使用全連接網(wǎng)絡(luò)時,當(dāng)下一隱藏層有1000個神經(jīng)元時,從輸入層到隱藏層,共有

個權(quán)重參數(shù)使用局部感知,設(shè)定感知區(qū)域為,當(dāng)下一隱藏層有1000個神經(jīng)元時,從輸入層到隱藏層共有

個權(quán)重參數(shù)9.3卷積神經(jīng)網(wǎng)絡(luò)(3)像素相關(guān)性一層像素和多層像素共享一個卷積核;像素相關(guān)性高的局部區(qū)域往往具有相同的紋理特征,可以用同一個卷積核來學(xué)習(xí)這部分特征。參數(shù)縮減將該卷積核學(xué)習(xí)到的特征作為探測器,應(yīng)用到輸入圖像的其他類似區(qū)域,從而減少網(wǎng)絡(luò)參數(shù)(減少重復(fù)的卷積核)。

14權(quán)值共享9.3卷積神經(jīng)網(wǎng)絡(luò)(4)下采樣:在實際工作中,通常需要通過下采樣技術(shù)對各層特征圖進(jìn)行壓縮處理,減少后續(xù)網(wǎng)絡(luò)的權(quán)重參數(shù),減少過擬合問題,便于提取圖像的高維特征。CNN的優(yōu)缺點(diǎn):優(yōu)點(diǎn):深層次的CNN抽取到的信息更為豐富,效果更好。

缺點(diǎn):CNN的缺陷在于需要大量調(diào)參,樣本需求量大,訓(xùn)練時間長;網(wǎng)絡(luò)物理含義不明確,中間層的輸出無實際意義。

15圖像深度為1卷積層輸出值的計算

依次計算出FeatureMap中所有元素的值。計算過程:

9.3卷積神經(jīng)網(wǎng)絡(luò)(5)2023/11/616

以上的計算過程中,步幅(stride)為1。步幅可以設(shè)為大于1的數(shù)。例如,當(dāng)步幅為2時,F(xiàn)eatureMap計算如下:

2023/11/6179.3卷積神經(jīng)網(wǎng)絡(luò)(6)圖像深度為D卷積層輸出值的計算

2023/11/6189.3卷積神經(jīng)網(wǎng)絡(luò)(7)Pooling層輸出值的計算

Pooling層主要的作用是下采樣,通過去掉FeatureMap中不重要的樣本,進(jìn)一步減少參數(shù)數(shù)量。Pooling的方法很多,最常用的是MaxPooling和MeanPooling。MaxPooling實際上就是在n*n的樣本中取最大值,作為采樣后的樣本值。下圖是2*2maxpooling:2023/11/6199.3卷積神經(jīng)網(wǎng)絡(luò)(8)卷積池化

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論