




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第5章機器學(xué)習(xí)與深度學(xué)習(xí)任務(wù)1:使用機器學(xué)習(xí)實現(xiàn)鳶尾花分類任務(wù)2:使用深度學(xué)習(xí)實現(xiàn)手寫數(shù)字識別機器學(xué)習(xí)的概念機器學(xué)習(xí)分類機器學(xué)習(xí)的流程機器學(xué)習(xí)的應(yīng)用場景深度學(xué)習(xí)概述感知機深度神經(jīng)網(wǎng)絡(luò)2任務(wù)2:使用深度學(xué)習(xí)實現(xiàn)手寫數(shù)字識別深度學(xué)習(xí)概述感知機深度神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)概述1深度學(xué)習(xí)定義深度學(xué)習(xí)(DeepLearning)是機器學(xué)習(xí)領(lǐng)域中一個新的研究方向,它被引入機器學(xué)習(xí)使其更接近于最初的目標(biāo)——人工智能。深度學(xué)習(xí)是機器學(xué)習(xí)的一種,它特指使用深度神經(jīng)網(wǎng)絡(luò)(DeepNeuralNetworks,DNNs)來學(xué)習(xí)數(shù)據(jù)的表示和提取特征的一種算法。這種算法通過構(gòu)建多層網(wǎng)絡(luò)結(jié)構(gòu),對目標(biāo)進行多層表示,以期通過多層的高層次特征來表示數(shù)據(jù)的抽象語義信息,獲得更好的特征魯棒性。深度學(xué)習(xí)中的“深度”一詞表示用于識別數(shù)據(jù)模式的多層算法或神經(jīng)網(wǎng)絡(luò)。深度學(xué)習(xí)概述2機器學(xué)習(xí)、深度學(xué)習(xí)和人工智能之間的關(guān)系人工智能是一個最寬泛的概念,是一個研究領(lǐng)域,同時也是一個實現(xiàn)目標(biāo),而機器學(xué)習(xí)則是實現(xiàn)這一目標(biāo)的一類方法,深度學(xué)習(xí)只是機器學(xué)習(xí)這一類方法中的一種。人工智能、機器學(xué)習(xí)和深度學(xué)習(xí)關(guān)系圖深度學(xué)習(xí)概述3深度學(xué)習(xí)與機器學(xué)習(xí)特征提取區(qū)別(1)機器學(xué)習(xí)機器學(xué)習(xí)通常需要人工進行特征提取,即將原始數(shù)據(jù)轉(zhuǎn)換為算法可以理解的格式。這個過程需要領(lǐng)域知識和經(jīng)驗,且對于不同的數(shù)據(jù)集和任務(wù),特征提取的方式可能不同。(2)深度學(xué)習(xí)深度學(xué)習(xí)能夠自動從原始數(shù)據(jù)中提取特征,無需或僅需少量的人工干預(yù)。深度學(xué)習(xí)模型通過多層網(wǎng)絡(luò)結(jié)構(gòu),逐步將低層次的特征抽象為高層次的特征表示,這一過程是自動完成的,且能夠?qū)W習(xí)到更為復(fù)雜和抽象的特征。機器學(xué)習(xí)和深度學(xué)習(xí)特征提取區(qū)別感知機1單層感知機及其基本原理單層感知機模型是由科學(xué)家弗蘭克·羅森布拉特在1957年提出的,它的基本結(jié)構(gòu)如圖5-14所示,簡單來說,感知機(Perceptron)就是一個由兩層神經(jīng)元構(gòu)成的網(wǎng)絡(luò)結(jié)構(gòu):輸入層接收外界的輸入信號,通過激活函數(shù)變換(閾值),把信號傳送至輸出層,因此它也被稱為“閾值邏輯單元”;輸出層(也被稱為是感知機的功能層)就是M-P神經(jīng)元。單層感知機基本結(jié)構(gòu)左圖輸出y的數(shù)學(xué)表達式為:感知機下面我們通過一個區(qū)分香蕉和西瓜的經(jīng)典案例來看看感知機是如何工作的。為了簡單起見,我們假設(shè)西瓜和香蕉有且僅有兩個特征:形狀和顏色,其他特征暫不考慮。這兩個特征都是基于視覺刺激而最易得到的。假設(shè)特征x1代表輸入顏色,特征x2代表形狀,權(quán)重w1和w2的默認(rèn)值暫且都設(shè)為1。為了進一步簡化,我們把閾值θ(也稱為偏置—bias)設(shè)置為0。為了標(biāo)識方便,我們將感知機輸出數(shù)字化,若輸出為“1”,代表判定為“西瓜”;若輸出為“0”,代表判定為“香蕉”。感知機學(xué)習(xí)算法感知機為了方便機器計算,我們對顏色和形狀這兩個特征給予不同的值,以示區(qū)別。比如,顏色這個特征為綠色時,x取值為1,而當(dāng)顏色為黃色時,x取值為-1。類似地,如果形狀這個特征為圓形,x取值為1,形狀為月牙形狀時,x取值為-1,如下表所示。西瓜和香蕉的特征值表這樣一來,可以很容易根據(jù)感知機輸出y數(shù)學(xué)表達式,如下式所示,對西瓜和香蕉做出鑒定:西瓜:y=f(w1x1+w2x2-θ)=f(1×1+1×1-0)=f(2)=1香蕉:y=f(w1x1+w2x2-θ)=f(1×(-1)+1×(-1)-0)=f(-2)=0感知機這里,我們使用了最簡單的階躍函數(shù)作為激活函數(shù)。在階躍函數(shù)中,輸出規(guī)則非常簡單:當(dāng)f(x)中x>0時,f(x)輸出為1,否則輸出為0。通過激活函數(shù)的“潤滑”之后,結(jié)果就變成我們想要的樣子,這樣就實現(xiàn)了西瓜和香蕉的判定。
接下來我們假定w1還是等于1,而w2等于-1,閾值θ還是等于0。然后我們對于西瓜的特征:綠色圓形通過加權(quán)求和再經(jīng)過階躍激活函數(shù)后輸出如下式所示:
西瓜:y=y=f(w1x1+w2x2-θ)=f(1×1+1×(-1)-0)=f(-2)=f(0)=0
輸出為0,而我們假設(shè)的輸出值0為香蕉,顯然判斷錯了。對于香蕉的特征我們加權(quán)求和經(jīng)過階躍激活函數(shù)得到輸出值為0,對應(yīng)香蕉,判斷正確。由此可之,我們判斷的正確與否和我們的權(quán)值w1、w2和閾值相關(guān)。
那么怎么選擇權(quán)值和閾值呢?事實上,我們并不能一開始就知道這幾個參數(shù)的取值,而是通過一點點地“試錯”(Try-Error),而這里的“試錯”其實就是感知機的學(xué)習(xí)過程。感知機2感知機的學(xué)習(xí)過程在學(xué)習(xí)之前我們會對權(quán)重和閾值進行隨機初始化,如果初始化的值能判斷出是西瓜還是香蕉,則我們無需學(xué)習(xí)。但如果判斷錯了那么就會根據(jù)感知機的學(xué)習(xí)規(guī)則,來調(diào)整權(quán)值和閾值。學(xué)習(xí)訓(xùn)練過程通常包括以下幾個步驟:1.初始化:隨機初始化權(quán)重和偏置。2.迭代訓(xùn)練:對于訓(xùn)練數(shù)據(jù)集中的每個樣本,執(zhí)行以下步驟:(1)計算當(dāng)前樣本的加權(quán)和。(2)使用激活函數(shù)計算輸出類別。(3)如果輸出類別與實際類別不一致(即發(fā)生誤分類),則根據(jù)誤分類情況調(diào)整權(quán)重和偏置,以減少損失函數(shù)的值。3.重復(fù)迭代:重復(fù)上述步驟,直到滿足停止條件(如所有樣本都正確分類,或達到預(yù)設(shè)的迭代次數(shù))。感知機2感知機的學(xué)習(xí)過程通過這個過程,感知機能夠?qū)W習(xí)到一組合適的權(quán)重和偏置,使得模型能夠?qū)π碌奈粗獦颖具M行準(zhǔn)確的分類。感知機完整工作流程深度神經(jīng)網(wǎng)絡(luò)3深度神經(jīng)網(wǎng)絡(luò)1.神經(jīng)網(wǎng)絡(luò)模型感知機,也叫單層神經(jīng)網(wǎng)絡(luò),是最基礎(chǔ)的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)。神經(jīng)網(wǎng)絡(luò)模型由生物神經(jīng)中得到啟發(fā)。在生物神經(jīng)元細胞中,神經(jīng)突觸接收到信號,經(jīng)過接收并處理信號后判斷信號的信息強弱,來做出不同神經(jīng)電位變化反應(yīng)。神經(jīng)元結(jié)構(gòu)深度神經(jīng)網(wǎng)絡(luò)其實解決“異或”問題的關(guān)鍵在于能否解決非線性可分問題,而要解決非線性問題就需要提高網(wǎng)絡(luò)的表征能力,也就是需要使用更加復(fù)雜的網(wǎng)絡(luò)。按照這個思路,可以考慮在輸入層和輸出層之間添加一層神經(jīng)元,將其稱之為隱藏層(HiddenLayer)。增加了一層隱藏層的多層感知機模型深度神經(jīng)網(wǎng)絡(luò)雖然多層感知機模型較M-P神經(jīng)元而言已經(jīng)有了很大進步,但這一類模型仍然無法很好地解決比較復(fù)雜的非線性問題。因此,在多層感知機模型的基礎(chǔ)上,研究出了如圖所示的神經(jīng)網(wǎng)絡(luò)模型。神經(jīng)網(wǎng)絡(luò)模型深度神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)模型具有如下特點:(1)由輸入層、隱藏層和輸出層組成,根據(jù)問題的需要,結(jié)構(gòu)中可能含有更多隱藏層;(2)每層神經(jīng)元與下一層神經(jīng)元兩兩之間建立連接;(3)神經(jīng)元之間不存在同層連接,也不存在跨層連接;(4)輸入層僅僅起到接收輸入的作用,不進行函數(shù)處理;(5)而隱藏層與輸出層的神經(jīng)元都具有激活函數(shù),是功能神經(jīng)元。圖為具備單個隱藏層的神經(jīng)網(wǎng)絡(luò)。此外,針對以上的第(1)條中,對于神經(jīng)網(wǎng)絡(luò)模型,當(dāng)隱藏層如下圖5-20所示大于兩層時,就稱之為深度神經(jīng)網(wǎng)絡(luò)(DeepNeuralNetwork,DNN)。深度神經(jīng)網(wǎng)絡(luò)模型深度神經(jīng)網(wǎng)絡(luò)2.深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程是一個復(fù)雜但系統(tǒng)化的流程,主要包括以下幾個關(guān)鍵步驟:(1)準(zhǔn)備數(shù)據(jù)收集:找到和任務(wù)相關(guān)的數(shù)據(jù),比如圖片、文本等。處理:清洗數(shù)據(jù),比如去掉錯誤或重復(fù)的部分,然后調(diào)整數(shù)據(jù)格式以便模型可以讀取。(2)設(shè)計網(wǎng)絡(luò)架構(gòu):決定網(wǎng)絡(luò)的樣子,比如它有多少層,每層有多少節(jié)點等。初始化:給網(wǎng)絡(luò)的參數(shù)(比如每個節(jié)點的權(quán)重和偏置)隨機賦值,這是訓(xùn)練的起點。(3)預(yù)測與反饋預(yù)測:用網(wǎng)絡(luò)對數(shù)據(jù)進行預(yù)測,看它能得到什么結(jié)果。計算誤差:比較預(yù)測結(jié)果和真實結(jié)果,看看差了多少,這個差就是誤差。深度神經(jīng)網(wǎng)絡(luò)2.深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程4)調(diào)整參數(shù)反向傳播:基于誤差,反向計算每個參數(shù)應(yīng)該調(diào)整多少,以便減少誤差。更新:按照計算出的調(diào)整量,更新網(wǎng)絡(luò)的參數(shù)。(5)重復(fù)訓(xùn)練迭代:重復(fù)上面的預(yù)測、計算誤差、調(diào)整參數(shù)的過程,直到誤差減小到滿意的程度或者達到了預(yù)設(shè)的訓(xùn)練次數(shù)。(6)測試模型評估:用之前沒見過的數(shù)據(jù)來測試訓(xùn)練好的模型,看它在新的數(shù)據(jù)上表現(xiàn)如何。任務(wù)實施任務(wù)目標(biāo):實現(xiàn)手寫數(shù)字(MNIST)識別任務(wù)描述:在百度AIStudio平臺,對深度學(xué)習(xí)框架PaddlePaddle內(nèi)置數(shù)據(jù)集手寫數(shù)字(MNIST)實現(xiàn)分類預(yù)測。本任務(wù)的內(nèi)容就是搭建神經(jīng)網(wǎng)絡(luò)模型,對手寫數(shù)字?jǐn)?shù)據(jù)集進行學(xué)習(xí)訓(xùn)練,最后抽取幾張圖片查看模型預(yù)測效果。1.創(chuàng)建項目和環(huán)境(1)登錄百度AIStudio平臺,創(chuàng)建“手寫數(shù)字識別”項目。(2)啟動環(huán)境任務(wù)實施2.編寫代碼在項目的Notebook編輯器里,點擊編輯器上方的“+”插入代碼單元格,并編寫下面的代碼。importpaddlefrompaddleimportnnfrompaddle.vision.datasetsimportMNISTfrompaddle.vision.transformsimportCompose,Normalize,ToTensorfrompaddle.ioimportDataLoaderimportmatplotlib.pyplotasplt
#設(shè)置設(shè)備paddle.set_device('gpu'ifpaddle.is_compiled_with_cuda()andpaddle.get_cuda_device_count()>0else'cpu')
#數(shù)據(jù)預(yù)處理transform=Compose([ToTensor(),Normalize(mean=[0.5],std=[0.5])])
#加載數(shù)據(jù)集train_dataset=MNIST(mode='train',transform=transform)test_dataset=MNIST(mode='test',transform=transform)任務(wù)實施2.編寫代碼#數(shù)據(jù)加載器train_loader=DataLoader(train_dataset,batch_size=64,shuffle=True)test_loader=DataLoader(test_dataset,batch_size=64,shuffle=False)
#定義多層神經(jīng)網(wǎng)絡(luò)模型classMLP(nn.Layer):def__init__(self):super(MLP,self).__init__()self.fc1=nn.Linear(in_features=784,out_features=512)self.relu=nn.ReLU()self.fc2=nn.Linear(in_features=512,out_features=10)
defforward(self,x):x=paddle.reshape(x,[x.shape[0],-1])#展平輸入x=self.relu(self.fc1(x))x=self.fc2(x)returnx
#實例化模型model=MLP()
#設(shè)置損失函數(shù)和優(yōu)化器loss_fn=nn.CrossEntropyLoss()optimizer=paddle.optimizer.Adam(learning_rate=0.001,parameters=model.parameters())任務(wù)實施2.編寫代碼#訓(xùn)練模型epochs=5forepochinrange(epochs):forbatch_id,(images,labels)inenumerate(train_loader):preds=model(images)loss=loss_fn(preds,labels)loss.backward()optimizer.step()optimizer.clear_grad()ifbatch_id%100==0:print(f"Epoch[{epoch+1}/{epochs}],Batch[{batch_id+1}],Loss:{loss.numpy()}")
#評估模型model.eval()wit
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)全體職工勞動合同范本
- 廚師短期合同范本
- 原木收購出售合同范本
- 合同范本建立流程
- 廚房顧問合同范本
- 商用商鋪租賃合同范本
- 二房東門面出租合同范本
- 賣買房協(xié)議合同范本
- 名師帶高徒合同范本
- 以公司名義合同范本
- Unit1DiscoveringUsefulStructures課件-高中英語人教版選擇性必修第三冊
- 第一講酒吧的類型及特征
- JJF 1071-2010國家計量校準(zhǔn)規(guī)范編寫規(guī)則
- GB/T 28906-2012冷鐓鋼熱軋盤條
- GB/T 24803.4-2013電梯安全要求第4部分:評價要求
- GB/T 1348-1988球墨鑄鐵件
- 獻給媽媽的愛doc資料
- Unit 4 History and Traditions Reading and thinking 課件- 高中英語人教版(2019)必修第二冊
- 世界文明與世界宗教課件
- JCI醫(yī)院評審標(biāo)準(zhǔn)-
- 北師大版二年級數(shù)學(xué)下冊導(dǎo)學(xué)案全冊
評論
0/150
提交評論