深度學(xué)習(xí)基礎(chǔ)與實(shí)踐 教案8.5任務(wù)實(shí)施(操作參考)_第1頁(yè)
深度學(xué)習(xí)基礎(chǔ)與實(shí)踐 教案8.5任務(wù)實(shí)施(操作參考)_第2頁(yè)
深度學(xué)習(xí)基礎(chǔ)與實(shí)踐 教案8.5任務(wù)實(shí)施(操作參考)_第3頁(yè)
深度學(xué)習(xí)基礎(chǔ)與實(shí)踐 教案8.5任務(wù)實(shí)施(操作參考)_第4頁(yè)
深度學(xué)習(xí)基礎(chǔ)與實(shí)踐 教案8.5任務(wù)實(shí)施(操作參考)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

8.5任務(wù)實(shí)施8.5.1任務(wù)書本任務(wù)預(yù)測(cè)國(guó)際航空乘客所使用的神經(jīng)網(wǎng)絡(luò)為L(zhǎng)STM,主要是解決長(zhǎng)序列訓(xùn)練過程中的梯度消失和梯度爆炸問題。操作要求:讀取準(zhǔn)備好的國(guó)際航空乘客數(shù)量數(shù)據(jù);對(duì)數(shù)據(jù)進(jìn)行預(yù)處理;對(duì)現(xiàn)有的國(guó)際航空乘客建立LSTM神經(jīng)網(wǎng)絡(luò);進(jìn)行預(yù)測(cè);輸出預(yù)測(cè)結(jié)果;預(yù)測(cè)結(jié)果與實(shí)際結(jié)果對(duì)比圖。8.5.2任務(wù)分組表8-2學(xué)生任務(wù)分配表班級(jí)組號(hào)指導(dǎo)老師組長(zhǎng)學(xué)號(hào)成員數(shù)量組長(zhǎng)任務(wù)組長(zhǎng)得分組員姓名學(xué)號(hào)任務(wù)分工組員得分8.5.3獲取信息引導(dǎo)問題1:了解關(guān)于時(shí)間序列問題可應(yīng)用的場(chǎng)景還有哪些。深度學(xué)習(xí)中的時(shí)間序列可以應(yīng)用于以下場(chǎng)景:1.語(yǔ)音識(shí)別:語(yǔ)音是一種時(shí)間序列信號(hào),深度學(xué)習(xí)中的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)可以用于語(yǔ)音信號(hào)的特征提取和語(yǔ)音識(shí)別任務(wù)。2.自然語(yǔ)言處理:文本也可以看作是一個(gè)時(shí)間序列,深度學(xué)習(xí)中的RNN和長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(LSTM)可以用于文本分類、機(jī)器翻譯等任務(wù)。3.信號(hào)處理:信號(hào)處理涉及到時(shí)間序列數(shù)據(jù)的分析和處理,包括圖像處理、音頻處理和視頻處理等領(lǐng)域。4.金融市場(chǎng)預(yù)測(cè):深度學(xué)習(xí)中的RNN和卷積神經(jīng)網(wǎng)絡(luò)(CNN)可以用于預(yù)測(cè)股票價(jià)格、匯率、商品價(jià)格等金融市場(chǎng)指標(biāo)。5.醫(yī)療健康:深度學(xué)習(xí)中的RNN可以用于病人的疾病預(yù)測(cè)和診斷,還可以用于心電圖和腦電圖等醫(yī)療信號(hào)的分析和處理。6.動(dòng)態(tài)系統(tǒng)建模:深度學(xué)習(xí)中的RNN和LSTM可以用于模擬和預(yù)測(cè)動(dòng)態(tài)系統(tǒng)的演化,如天氣模擬、氣候模擬和交通流量模擬等??傊?,深度學(xué)習(xí)中的時(shí)間序列可以應(yīng)用于很多領(lǐng)域,幫助人們更好地理解和預(yù)測(cè)時(shí)間相關(guān)的數(shù)據(jù),并提高各種任務(wù)的準(zhǔn)確性和效率。引導(dǎo)問題2:回憶LSTM結(jié)構(gòu)的三個(gè)控制門是如何實(shí)現(xiàn)的,并思考為什么能解決RNN梯度消失的問題?LSTM(長(zhǎng)短時(shí)記憶)結(jié)構(gòu)包含三個(gè)控制門:遺忘門、輸入門和輸出門。遺忘門是一個(gè)Sigmoid函數(shù),它決定了哪些信息要被保留,哪些信息應(yīng)該被遺忘。輸入門也是一個(gè)Sigmoid函數(shù),它確定哪些信息需要更新到細(xì)胞狀態(tài)中。輸出門是另一個(gè)Sigmoid函數(shù),它確定了哪些信息來(lái)自細(xì)胞狀態(tài)需要傳遞到輸出。LSTM通過引入這些控制門來(lái)解決RNN的梯度消失問題。在傳統(tǒng)的RNN中,反向傳播算法會(huì)導(dǎo)致梯度消失或梯度爆炸的問題,因?yàn)楦鶕?jù)鏈?zhǔn)椒▌t,每一層的梯度都需要乘以來(lái)自更深層的梯度。在LSTM中,控制門可以讓模型更加有效地決定哪些信息需要保留和更新,從而減輕了梯度消失和梯度爆炸的問題。此外,LSTM還可以防止長(zhǎng)序列中的信息丟失,使得模型能夠更好地處理長(zhǎng)期依賴性。8.5.4工作實(shí)施引導(dǎo)問題3:請(qǐng)按照下面的實(shí)驗(yàn)步驟完成創(chuàng)建實(shí)驗(yàn)檢測(cè)路徑、文件和數(shù)據(jù)集的操作。(1)創(chuàng)建實(shí)驗(yàn)檢測(cè)路徑。在實(shí)驗(yàn)環(huán)境的桌面右鍵單擊“創(chuàng)建文件夾(F)…”,輸入文件夾名稱為“test9”,后期所有項(xiàng)目文件都將保存至該文件夾。(2)創(chuàng)建實(shí)驗(yàn)文件和數(shù)據(jù)集。運(yùn)行Pycharm軟件,打開“test9”項(xiàng)目文件夾并在文件夾下創(chuàng)建“LSTM_pre_airplanpath.py”文件。將數(shù)據(jù)集文件international-airline-passengers.csv存放到“test9”文件夾中,如圖8-30所示。圖8-30實(shí)驗(yàn)文件和數(shù)據(jù)集引導(dǎo)問題4:請(qǐng)?jiān)凇癓STM_pre_airplanpath.py”文件中編輯代碼,實(shí)現(xiàn)引用包的導(dǎo)入:導(dǎo)入處理數(shù)據(jù)的numpy包和pandas包,導(dǎo)入人工神經(jīng)網(wǎng)絡(luò)的相關(guān)包pytorch,最后導(dǎo)入生成圖像的包,請(qǐng)完成橫線處對(duì)代碼的注釋。導(dǎo)入引用包的具體操作代碼:importnumpyasnp importpandasaspdimportmatplotlib.pyplotasplt#導(dǎo)入matplotlib的pyplot子庫(kù),命名為pltimporttorch#導(dǎo)入PyTorch庫(kù)中的函數(shù)和類fromtorchimportnn#導(dǎo)入torch.nn模塊用于構(gòu)建神經(jīng)網(wǎng)絡(luò)模型fromtorch.autogradimportVariable#導(dǎo)入torch.autograd中Variable模塊torch.tensor引導(dǎo)問題5.請(qǐng)?jiān)凇癓STM_pre_airplanpath.py”文件中編輯代碼,實(shí)現(xiàn)數(shù)據(jù)的預(yù)處理,請(qǐng)完成橫線處補(bǔ)充完成代碼或?qū)Υa注釋。預(yù)處理數(shù)據(jù)的具體操作代碼:data_csv=pd.read_csv('./international-airline-passengers.csv',usecols=[1])#讀入數(shù)據(jù)#讀取完數(shù)據(jù)后,清洗掉有缺失的數(shù)據(jù),然后讀取每一條數(shù)據(jù)的值,并且將其轉(zhuǎn)化為float型data_csv=data_csv.dropna()#濾除缺失數(shù)據(jù)dataset=data_csv.values#獲得csv的值dataset=dataset.astype('float32')#獲取所有數(shù)據(jù)中的最大值以及最小值,然后求出最大值與最小值的差值max_value=np.max(dataset)#獲得最大值min_value=np.min(dataset)#獲得最小值scalar=max_value-min_value#獲得間隔數(shù)量#對(duì)數(shù)值進(jìn)行歸一化dataset=list(map(lambdax:x/scalar,dataset))#歸一化#對(duì)輸入集以及輸出集進(jìn)行初始化,設(shè)置一個(gè)值look_back,然后將前l(fā)ook_back個(gè)數(shù)據(jù)以及后look_back個(gè)數(shù)據(jù)剔除掉,將剩下的數(shù)據(jù)加入到兩個(gè)數(shù)據(jù)集defcreate_dataset(dataset,look_back=2):dataX,dataY=[],[]foriinrange(len(dataset)-look_back):a=dataset[i:(i+look_back)]dataX.append(a)dataY.append(dataset[i+look_back])returnnp.array(dataX),np.array(dataY)#創(chuàng)建好輸入輸出data_X,data_Y=create_dataset(dataset)#劃分訓(xùn)練集和測(cè)試集,70%作為訓(xùn)練集,其余的數(shù)據(jù)集作為測(cè)試集train_size=int(len(data_X)*0.7)test_size=len(data_X)-train_sizetrain_X=data_X[:train_size]train_Y=data_Y[:train_size]test_X=data_X[train_size:]test_Y=data_Y[train_size:]#將所有的數(shù)據(jù)集重塑為三維數(shù)據(jù),并且將三維數(shù)據(jù)轉(zhuǎn)化為PyTorch中適用的張量train_X=train_X.reshape(-1,1,2)train_Y=train_Y.reshape(-1,1,1)test_X=test_X.reshape(-1,1,2)train_x=torch.from_numpy(train_X)train_y=torch.from_numpy(train_Y)test_x=torch.from_numpy(test_X)#完成所有的三維數(shù)據(jù)轉(zhuǎn)換為張量引導(dǎo)問題6.請(qǐng)?jiān)凇癓STM_pre_airplanpath.py”文件中編輯代碼,實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的創(chuàng)建,創(chuàng)建神經(jīng)網(wǎng)絡(luò)的方法同樣是對(duì)nn.Module進(jìn)行繼承重寫,請(qǐng)完成橫線處補(bǔ)充完成代碼或?qū)Υa注釋。創(chuàng)建神經(jīng)網(wǎng)絡(luò)具體操作代碼:#重寫__init__()方法,用到LSTM神經(jīng)網(wǎng)絡(luò)classlstm(nn.Module):def__init__(self,input_size=2,hidden_size=4,output_size=1,num_layer=2):super(lstm,self).__init__()self.layer1=nn.LSTM(input_size,hidden_size,num_layer)self.layer2=nn.Linear(hidden_size,output_size)#重寫forward()方法defforward(self,x):x,_=self.layer1(x)s,b,h=x.size()x=x.view(s*b,h)x=self.layer2(x)x=x.view(s,b,-1)returnx#根據(jù)新建的神經(jīng)網(wǎng)絡(luò)創(chuàng)建一個(gè)modelmodel=lstm(2,4,1,2)#使用torch.nn.MSELoss()來(lái)計(jì)算損失值,并且使用Adam優(yōu)化算法criterion=nn.MSELoss()optimizer=torch.optim.Adam(model.parameters(),lr=1e-2)引導(dǎo)問題7.請(qǐng)?jiān)凇癓STM_pre_airplanpath.py”文件中編輯代碼,使用一個(gè)循環(huán)結(jié)構(gòu)來(lái)訓(xùn)練,上限為30000次,請(qǐng)完成橫線處補(bǔ)充完成代碼或?qū)Υa注釋。開始訓(xùn)練具體操作代碼:#訓(xùn)練前要使用torch.autograd.Variable()函數(shù)對(duì)張量進(jìn)行封裝,預(yù)測(cè)值與實(shí)際值都要進(jìn)行封裝foreinrange(10000):var_x=Variable(train_x)var_y=Variable(train_y)#前向傳播,使用之前得到model來(lái)進(jìn)行訓(xùn)練,并且計(jì)算損失值out=model(var_x)loss=criterion(out,var_y)#反向傳播,計(jì)算輸出節(jié)點(diǎn)的總誤差,并將誤差用反向傳播算法傳播回網(wǎng)絡(luò),計(jì)算梯度,使用Adam算法調(diào)整optimizer.zero_grad()loss.backward()optimizer.step()#每訓(xùn)練100次輸出結(jié)果if(e+1)%100==0:#每100次輸出結(jié)果print('Epoch:{},Loss:{:.5f}'.format(e+1,loss.item()))引導(dǎo)問題8.請(qǐng)?jiān)凇癓STM_pre_airplanpath.py”文件中編輯代碼,利用后30%的數(shù)據(jù)進(jìn)行測(cè)試,請(qǐng)完成橫線處補(bǔ)充完成代碼或?qū)Υa注釋。轉(zhuǎn)換成測(cè)試模式具體操作代碼:model=model.eval()#轉(zhuǎn)換成測(cè)試模式data_X=data_X.reshape(-1,1,2)data_X=torch.Tensor(data_X)var_data=Variable(data_X)pred_test=model(var_data)#測(cè)試集的預(yù)測(cè)結(jié)果#改變輸出的格式pred_test=pred_test.view(-1).data.numpy()引導(dǎo)問題9.請(qǐng)?jiān)凇癓STM_pre_airplanpath.py”文件中編輯代碼,實(shí)現(xiàn)實(shí)際結(jié)果和預(yù)測(cè)結(jié)果的函數(shù)圖像輸出,請(qǐng)完成橫線處補(bǔ)充完成代碼或?qū)Υa注釋。輸出結(jié)果的具體操作代碼:z=[]foriinrange(112,142):z.append(i)z=np.array(z)#畫出實(shí)際結(jié)果和預(yù)測(cè)的結(jié)果plt.plot(z,pred_test[112:142],'r',label='prediction')plt.plot(dataset,'b',label='real')plt.legend(loc='best')plt.show()plt.savefig('./picture.png')引導(dǎo)問題10.運(yùn)行“LSTM_pre_airplanpath.py”程序,大概會(huì)需要十分鐘左右,通過多次測(cè)試,得到結(jié)果并分析結(jié)果。實(shí)驗(yàn)結(jié)果:結(jié)果分析:隨著訓(xùn)練的次數(shù)越多,預(yù)測(cè)結(jié)果更加準(zhǔn)確。8.5.5評(píng)價(jià)反饋全面考核學(xué)生的專業(yè)能力和關(guān)鍵能力,采用過程性評(píng)價(jià)和結(jié)果評(píng)價(jià)相結(jié)合,定性評(píng)價(jià)與定量評(píng)價(jià)相結(jié)合的考核方法。注重學(xué)生動(dòng)手能力和在實(shí)踐中分析問題、解決問題能力的考核,在學(xué)習(xí)和應(yīng)用上有創(chuàng)新的學(xué)生給予特別鼓勵(lì)。小組總評(píng)成績(jī)?yōu)椤白栽u(píng)+互評(píng)+師評(píng)”按比例折算的成績(jī)?cè)偌由细郊臃郑栽u(píng)、互評(píng)和師評(píng)所占比例可以由教師根據(jù)具體情況自行制定。

溫馨提示

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

評(píng)論

0/150

提交評(píng)論