《深度學習:基于PyTorch 》 課件 第3、4章:前饋神經網絡、神經網絡的Pytorch實現(xiàn)_第1頁
《深度學習:基于PyTorch 》 課件 第3、4章:前饋神經網絡、神經網絡的Pytorch實現(xiàn)_第2頁
《深度學習:基于PyTorch 》 課件 第3、4章:前饋神經網絡、神經網絡的Pytorch實現(xiàn)_第3頁
《深度學習:基于PyTorch 》 課件 第3、4章:前饋神經網絡、神經網絡的Pytorch實現(xiàn)_第4頁
《深度學習:基于PyTorch 》 課件 第3、4章:前饋神經網絡、神經網絡的Pytorch實現(xiàn)_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第三章:前饋神經網絡學習目標前饋神經網絡的基本結構常見激活函數及其優(yōu)缺點常見損失函數的設置梯度下降算法及其擴展反向傳播算法原理過擬合及其常用處理方法前饋神經網絡的基本結構M-P神經元模型M-P神經元模型:首個模擬生物神經元的結構和工作原理構造出來的一個抽象和簡化了的數學模型。它由心理學家沃倫·麥卡洛克(WarrenMcCulloch)和數理邏輯學家沃爾特·皮茲(WalterPitts)在1943年提出并以二人的名字命名。該模型旨在模擬從多輸入到單輸出的信息處理單元。M-P模型的工作步驟:神經元接受n個輸入信號。將輸入與權值參數進行加權求和并經過階躍函數激活。將激活結果作為結果輸出。人為設定參數值神經元

激活函數激活函數就是指非線性變換。對線性組合的結果施加一個非線性變換,就為神經網絡各層之間的連接方式提供了一種非線性的變換方式,而非線性變換打破了“線性組合的線性組合”這樣一種循環(huán),多層神經網絡相比于單層網絡有了更豐富的函數形式。 常用的激活函數:Sigmoid激活函數Tanh激活函數ReLu激活函數其他激活函數:leakyReLU、elu、cReLU、selu、ReLU6、softplus、softsign……Sigmoid激活函數值域有界,神經元的輸出不會爆炸輸出非負,可以直接看做概率分布。連續(xù)可導,梯度可以顯式計算原函數導數無法實現(xiàn)神經元的激活值為負有可能會發(fā)生梯度退化或消失對于復雜網絡求解梯度十分復雜Tanh激活函數繼承了Sigmoid函數一系列優(yōu)缺點區(qū)別在于Tanh函數更適合讓神經元產生與輸入符號一致的非概率輸出原函數導數ReLU激活函數原函數導數導數簡單,計算和優(yōu)化將更高效不是兩端飽和函數,緩解梯度消失問題舍棄神經元負信號,使神經網絡具有稀疏的特點神經元的輸入與輸出之間存在均值偏移有可能導致神經元“死亡”的現(xiàn)象LeakyReLU緩解神經元“死亡”現(xiàn)象四種激活函數示意圖前饋神經網絡的構成前饋神經網絡具有很強的擬合能力,用具有有限多的隱藏層神經元可以逼近任意的有限區(qū)間內的曲線這被稱之為通用逼近定理UniversalApproximationTheorem

損失函數與梯度下降算法損失函數

梯度下降算法

小批量梯度下降算法

ImageNet14,197,122

images小批量梯度下降算法

小批量梯度下降算法

梯度下降算法的改進梯度估計修正在MGD算法中,如果批量數比較小,損失會呈現(xiàn)震蕩的方式下降,說明每次迭代的梯度估計和整個訓練集上的最優(yōu)梯度不一致,具有一定的隨機性,此時可以進行梯度估計修正改進算法:動量梯度下降、梯度加速法學習率調整學習率的設置也很重要,過大可能不會收斂,過小可能收斂太慢自適應學習率調整算法:AdaGrad、AdaDelta、RMSprop綜合法Adam:動量法+RMSprop法的結合動量梯度下降算法

Nesterov梯度加速算法

AdaGrad算法

AdaGrad算法(續(xù))優(yōu)點:可以進行學習率的自適應調整缺點:分母是所有歷史信息的求和,因此會隨著迭代變得越來越大,從而使得學習率衰減過快AdaDelta算法更新公式:解決AdaGrad中歷史梯度累積平方和單調遞增的問題AdaDelta不再使用全部歷史信息,而是使用某個固定窗寬內的歷史梯度信息計算累計平方和。計算固定窗寬內的梯度累積平方和需要存儲多個歷史梯度平方的信息,AdaDelta轉而使用指數加權的方式累積歷史信息AdaDelta作者指出此前梯度類算法參數的單位沒有保持一致,因此又更新了第二階段的AdaDelta算法,詳見教材公式

均方根加速(RMSprop)更新公式:與AdaDelta算法思路十分相似,同年提出(但未發(fā)表),與第一階段AdaDelta公式一致。

Adam算法更新公式:將動量法與RMSprop結合起來考慮的算法

各種算法的收斂過程推薦閱讀材料:/dl2017/html/lesson2-week2.html反向傳播算法:單個神經元

反向傳播算法:單個神經元反向傳播算法:單個神經元

反向傳播算法:兩層神經網絡

反向傳播算法:兩層神經網絡

反向傳播算法:兩層神經網絡

反向傳播算法:兩層神經網絡

神經網絡的訓練流程初始化參數。常用的初始化方法有常數初始化、正態(tài)分布類初始化、均勻分布類初始化等。切分batch數據。神經網絡每一輪訓練不是用全部數據,而是選取一定量的數據樣本作為輸入,這部分數據樣本稱為一個batch。前向傳播建立損失函數反向傳播是否達到迭代次數,如果達到,則結束本輪訓練,如果未達到,則繼續(xù)重復前面的步驟進行新一輪迭代。神經網絡的過擬合及處理方法過擬合

期望損失的極小值

過擬合欠擬合過擬合適度擬合過擬合(Overfitting)是指在模型訓練過程中,模型對訓練數據學習過度,將數據中包含的噪聲和誤差也學習了,使得模型在訓練集上表現(xiàn)很好,而在測試集上表現(xiàn)很差的現(xiàn)象。偏差-方差分解

無法通過模型改變的理論下界

偏差-方差分解

偏差方差偏差:一個模型在不同訓練集上的平均性能與最優(yōu)模型的差異,衡量模型的擬合能力。方差:一個模型在不同訓練集上的差異,衡量一個模型是否容易過擬合。偏差-方差分解左上角:最理想的情況左下角:泛化能力很好,但擬合能力不足右上角:擬合能力很好,但泛化能力較差右下角:最差的情況訓練誤差V.S.測試誤差判斷是否存在高偏差或高方差的關鍵:訓練誤差V.S.測試誤差訓練誤差5%20%20%1%測試誤差20%5%30%2%高方差高偏差高偏差&高方差低偏差&低方差高偏差:換一個更復雜的網絡或更先進的算法、增加數據特征等高方差:降低模型復雜度、增加更多的數據集、集成模型等正則化方法

正則化方法權重衰減

Dropout方法Dropout方法由辛頓(Hinton)教授團隊提出,它是指在神經網絡訓練的過程中,將某一層的單元(不包括輸出層的單元)數據隨機丟棄一部分。目的:簡化神經網絡結構,防止神經網絡過擬合原理:對每一層的神經元,設定一個失活(Drop)概率帶dropout的神經網絡帶dropout的神經網絡模型的分類效果推薦學習資料:/dl2017/html/lesson2-week1.html第四章:神經網絡的Pytorch實現(xiàn)1.利用神經網絡進行回歸任務的設計思路2.利用神經網絡進行分類任務的設計思路3.線性回歸案例:顏值打分模型4.二分類案例:性別預測模型5.多分類案例:Fashion-MNIST數據集分類學習目標線性回歸案例:顏值打分

線性回歸模型數據介紹:圖像來源:本案例使用的數據來自華南理工大學在2018年發(fā)布的SCUT-FBP5500-Database數據集及相關論文,該數據集包含共5500張彩色正面人臉圖片,其中2000張亞洲男性,2000張亞洲女性,750張高加索男性,750張高加索女性。因變量:研究組招募了60名志愿者給隨機展示的人臉照片進行1-5打分(得分越高代表越好看)。為了演示本案例的顏值打分模型,我們將每張照片的得分取平均值作為該張照片的最終顏值得分。案例:顏值打分

案例:顏值打分定義Dataset類可以定義自己的數據類用于原始數據的讀取和預處理也可以繼承pytorch中的Dataset類提供一種方式去獲取數據及其對應的真實Label

案例:顏值打分模板:一般在類中首先需要寫的是__init__方法,此方法用于對象實例化,提供類中需要使用的變量,其中self可以當做類中的全局變量idx是index的簡稱,就是一個編號,用于對我們初始化中得到的文件名列表進行索引訪問統(tǒng)計數據集中的數據數量

案例:顏值打分構建dataset類用于讀?。簣D片數據:X顏值打分:Y

案例:顏值打分對圖片數據進行必要的預處理,并劃分訓練集和驗證集

案例:顏值打分盡管Dataset類可以通過迭代的方式讀取每一個數據,但是很難實現(xiàn)多線程讀?。醋x取batch數據)迭代次數(iteration)=樣本總數(epoch)/批尺寸(batchszie)DataLoader的使用用來處理模型輸入數據的一個工具類。組合了數據集(dataset)+采樣器(sampler),并在數據集上提供單線程或多線程(num_workers)的可迭代對象。

案例:顏值打分在進行后續(xù)建模前,首先要展示下讀取的數據是否正確,一般進行可視化展示

案例:顏值打分構建線性回歸模型Pytorch里編寫神經網絡模型的組件:nn.Module模板如下:所有模型的構建從nn.Module繼承建立一個計算圖,結構可以復用多次案例:顏值打分輸出層形狀該層參數量案例:顏值打分開始模型訓練首先定義驗證集的損失和評估指標案例:顏值打分定義主函數:模型訓練案例:顏值打分模型訓練過程展示案例:顏值打分模型預測:給定一張照片,給出預測的顏值得分作業(yè):美食評分模型作業(yè):美食評分模型數據介紹:圖像來源:Flickr上收集用戶上傳的經人工篩選后的196張食物圖像因變量:由5人小組對每張美食圖像進行1~5評分,最后取平均分作為每張圖像的最終得分(其中1分代表圖像非常不吸引人,5分代表圖像非常吸引人)邏輯回歸模型的Pytorch實現(xiàn)

邏輯回歸模型

案例:性別識別自定義Dataset類此時的Y是二分類

案例:性別識別構建邏輯回歸模型也可以采取Sigmoid函數案例:性別識別分類模型的評估指標:Accuracy案例:性別識別模型預測

Softmax回歸模型數據集介紹:Fashion-MNIST數據集包含了10個類別的圖像,分別是:t-shirt(T恤),trou

溫馨提示

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

評論

0/150

提交評論