機器學(xué)習(xí)原理與應(yīng)用電子教案 5.10.3深度學(xué)習(xí)實踐-自動編碼解碼器_第1頁
機器學(xué)習(xí)原理與應(yīng)用電子教案 5.10.3深度學(xué)習(xí)實踐-自動編碼解碼器_第2頁
機器學(xué)習(xí)原理與應(yīng)用電子教案 5.10.3深度學(xué)習(xí)實踐-自動編碼解碼器_第3頁
機器學(xué)習(xí)原理與應(yīng)用電子教案 5.10.3深度學(xué)習(xí)實踐-自動編碼解碼器_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

備課日期:年月日授課時間課時(理論+實驗)周次星期:節(jié)次:授課課題深度學(xué)習(xí)[實踐-自動編碼解碼器]教學(xué)目標(biāo)1.理解自動編碼解碼基本原理。2.掌握利用PyTorch框架實現(xiàn)自動編碼解碼的基本方法。教學(xué)重點利用PyTorch框架實現(xiàn)自動編碼解碼的基本方法。教學(xué)準備PPT、點名冊等。教學(xué)方法指導(dǎo)閱讀、案例法。教學(xué)過程設(shè)計備注課題引入【思考】無監(jiān)督學(xué)習(xí)?特征提取方法?【關(guān)鍵】利用自動編碼解碼器提取圖像特征?!緯r間】分鐘。教學(xué)步驟及主要內(nèi)容【主板書】§5.10.3自動編碼解碼器---------------------------------------------------------------------------一、基本原理【主板書】基本原理1.主要功能:自動編碼器就是一種盡可能復(fù)現(xiàn)輸入信號的神經(jīng)網(wǎng)絡(luò);而為了實現(xiàn)這種復(fù)現(xiàn),自動編碼器就必須捕捉可以代表輸入數(shù)據(jù)的最重要的因素。2.主要特點。(1)屬于無監(jiān)督學(xué)習(xí)。(2)通過層級串接可提取圖像不同尺度的特征。(3)輸出結(jié)果可輸入至指定分類器(如支持向量機)進行分類?!糚PT〗演示:圖示原理。3.模型構(gòu)建與求解〖PPT〗演示:利用MNIST手寫數(shù)字圖像實現(xiàn)自動編碼器的實現(xiàn)方法。1.導(dǎo)入庫importtorchimporttorch.nnasnnfromtorch.autogradimportVariablefromtorch.utils.dataimportDataLoaderfromtorchvisionimportdatasets,transformsimportmatplotlib.pyplotasplt2.產(chǎn)生數(shù)據(jù)train_dataset=datasets.MNIST(root='./data/',train=True,transform=transforms.ToTensor(),download=False)test_dataset=datasets.MNIST(root='./data',train=False,transform=transforms.ToTensor())train_loader=DataLoader(dataset=train_dataset,batch_size=batch_size,shuffle=True)test_loader=DataLoader(dataset=test_dataset,batch_size=batch_size,shuffle=False)3.構(gòu)建自動編碼解碼器#定義自編碼器類classAutoEncoder(nn.Module):def__init__(self):super(AutoEncoder,self).__init__()#編碼self.encoder=nn.Sequential(nn.Linear(28*28,128),nn.Tanh(),nn.Linear(128,64),nn.Tanh(),nn.Linear(64,12),nn.Tanh(),nn.Linear(12,3),)#解碼self.decoder=nn.Sequential(nn.Linear(3,12),nn.Tanh(),nn.Linear(12,64),nn.Tanh(),nn.Linear(64,128),nn.Tanh(),nn.Linear(128,28*28),nn.Sigmoid(),)defforward(self,x):encoded=self.encoder(x)decoded=self.decoder(encoded)returnencoded,decoded#實例化自編碼器對象autoencoder=AutoEncoder()4.訓(xùn)練自動編碼解碼器#定義損失函數(shù)Loss=nn.BCELoss()#二類交叉熵損失函數(shù)#設(shè)定優(yōu)化器Opt=torch.optim.SGD(net.parameters(),lr=1e-3,momentum=0.9)#開始訓(xùn)練T=1000X=Variable(x_train)Y=Variable(y_train)forepochinrange(T):Y_pred=net(X)#前向傳播L=Loss(Y_pred,Y)Opt.zero_grad()#梯度清零L.backward()#反向傳播Opt.step()#更新參數(shù)#計算預(yù)測精度Cla=Y_pred.ge(0.5).float()#以0.5為閾值進行分類Acc=(Cla==Y).float().mean()#計算精度#每10輪顯示一次誤差和精度if(epoch==0)|((epoch+1)%10==0):print('Epoch:[{}/{}],Loss:{:.4f},Accuracy:{:.4f}'.format(epoch+1,T,L.item(),Acc))5.測試自動編碼解碼器#讀取真實圖像x=test_dataset.data[1:2]im=x.numpy().reshape(28,28)plt.figure(1)plt.imshow(im,cmap='gray')#編碼x_=Variable(x.view(-1,28*28).type(torch.FloatTensor)/255.)encoded_data,_=autoencoder(x_)#提取壓縮的特征值#解碼decoded_data=autoencoder.decoder(encoded_data)#結(jié)果顯示plt.figure(2)decoded_im=decoded_

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論