版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、高級大數(shù)據(jù)人才培養(yǎng)之一,大數(shù)據(jù)挖掘技術(shù)與應(yīng)用深度學(xué)習(xí)BIG DATA張 燕總主編主編趙海峰副主編2 of 41 全國高校標(biāo)準教材云計算姊妹篇,剖析大數(shù)據(jù)核心技術(shù)和實戰(zhàn)應(yīng)用概述4 . 1正向?qū)W習(xí)過程4 . 24 . 3反向調(diào)整過程手寫體數(shù)字識別實例習(xí)題第四章深度學(xué)習(xí)基本過程3 of 41概述第四章 深度學(xué)習(xí)基本過程深度學(xué)習(xí)的基本過程是用訓(xùn)練數(shù)據(jù)去訓(xùn)練神經(jīng)網(wǎng)絡(luò)的模型去并得到所需模型的過程,主要包括正向?qū)W習(xí)和反向調(diào)整兩個過程。u 反向調(diào)整就是將預(yù)測結(jié)果和標(biāo)簽進行對比,反向調(diào)整模型參數(shù)的過程。u 正向?qū)W習(xí)就是從輸入層開始,自底向上進行特征學(xué)習(xí),最后在輸出層輸出預(yù)測結(jié)果。計算輸入輸出調(diào)整4 of 41
2、全國高校標(biāo)準教材云計算姊妹篇,剖析大數(shù)據(jù)核心技術(shù)和實戰(zhàn)應(yīng)用概述4 . 1正向?qū)W習(xí)過程4 . 24 . 3反向調(diào)整過程手寫體數(shù)字識別實例習(xí)題第四章深度學(xué)習(xí)基本過程5 of 414.1 1 正向?qū)W習(xí)過程4.1.1 正向?qū)W習(xí)過程概述第四章 深度學(xué)習(xí)基本過程u 樣本由輸入層傳入第一層layer,經(jīng)第一層每個節(jié)點計算,每個節(jié)點得到一個輸出,其輸出繼續(xù)作為下一層的輸入,向前傳播,直到輸出層輸出預(yù)測的結(jié)果。u 初次正向傳播會先初始化網(wǎng)絡(luò)的權(quán)值,得到的輸出值并不一定正確值。6 of 414 . 1 正向?qū)W習(xí)過程4.1.2正向傳播的流程第四章 深度學(xué)習(xí)基本過程若把深度學(xué)習(xí)的網(wǎng)絡(luò)看做一個若干層的系統(tǒng), I = S
3、1= S2 = . = Sn = Ouu I為輸入,O為輸出,若經(jīng)過若干變換,輸出仍能正確表達輸入,就認為模型學(xué)到了一條正確表達輸入的規(guī)律。.S2SnSIO1輸入輸出7 of 414 .1 正向?qū)W習(xí)過程4.1.3 正向傳播的詳細原理第四章 深度學(xué)習(xí)基本過程深度學(xué)習(xí)網(wǎng)絡(luò)的實質(zhì)是人工神經(jīng)網(wǎng)絡(luò)發(fā)展到多隱層的狀態(tài),其基本單元仍是神經(jīng)元?;締卧荷窠?jīng)元8 of 414 .1 正向?qū)W習(xí)過程4.1.3 正向傳播的詳細原理第四章 深度學(xué)習(xí)基本過程以此類推,假設(shè)l-1層,共有m個神經(jīng)元,則對于l-1層的第j個神經(jīng)元有:m= f (zl ) = f (wl al -1+ bl )aljjjkkji=09 of
4、414 .1 正向?qū)W習(xí)過程4.1.3 正向傳播的詳細原理數(shù)據(jù)輸入網(wǎng)絡(luò) 向前傳播 softmax分類器 輸出每類的預(yù)測結(jié)果第四章 深度學(xué)習(xí)基本過程10 of 41 全國高校標(biāo)準教材云計算姊妹篇,剖析大數(shù)據(jù)核心技術(shù)和實戰(zhàn)應(yīng)用概述4 . 1正向?qū)W習(xí)過程4 . 24 . 3反向調(diào)整過程手寫體數(shù)字識別實例習(xí)題第四章深度學(xué)習(xí)基本過程11 of 414.2 2 反向調(diào)整過程4.2.1 反向調(diào)整概述第四章 深度學(xué)習(xí)基本過程u 正向傳播后,輸入獲得了一個對應(yīng)的輸出,將輸出與輸入的label相對比,計算誤差值。誤差值與各層參數(shù)相關(guān),反向傳播,將誤差分攤到各層,修正各層參數(shù),從而最小化誤差值,優(yōu)化模型參數(shù)。12 o
5、f 414 . 2 反向調(diào)整過程4.2.2反向傳播過程詳解第四章 深度學(xué)習(xí)基本過程反向傳播原理:對比期望輸出和實際輸出,得到代價(誤差)函數(shù)。為了最小化代價函數(shù),利用鏈式求導(dǎo),將誤差向前傳,修正各層參數(shù)。du = du dyu 鏈式求導(dǎo):dxdydxu 多元函數(shù)鏈式法則:若 u = g( y1, y2 ,., ym ) 在b = (b1, b2 ,., bm ) 處可為微,fi = (x1, x2 ,., xn ) 在點 (a1, a2 ,., an ) 處可微bi = fi (a1.a2 ,., an )(i = 0,1,., m) 每個函數(shù)分,則:g yig fiuxjm= i=1m= i
6、=1( j = 0,1,., n)yixjyixj13 of 414 . 2 反向調(diào)整過程4.2.2反向傳播過程詳解第四章 深度學(xué)習(xí)基本過程梯度下降法:梯度下降法是最常用的神經(jīng)網(wǎng)絡(luò)優(yōu)化算法。若將代價函數(shù)簡單可視化,代價函數(shù)相當(dāng)于一個崎嶇不平的盆地,有高峰也有低谷(最小值)。梯度下降的目標(biāo)是取得最小值,每次沿著最陡峭的方向(梯度方向),下降一定的距離(步長)。14 of 654 . 2 反向調(diào)整過程4.2.2反向傳播過程詳解第四章 深度學(xué)習(xí)基本過程梯度下降法:梯度下降的步長不是一直不變的,當(dāng)下降接近底部的時候,需要調(diào)整步子的大小,小心試探。當(dāng)步子太大時,容易跨過最低點,在底部來回震蕩。步子過小,
7、下降速度會較慢。在梯度下降過程中,節(jié)點i和j之間連接的權(quán)重 wji 的更新如下:其中為學(xué)習(xí)速率,用于控制步長的變化。 = wji -hf (x)wji15 of 414 . 2 反向調(diào)整過程4.2.2反向傳播過程詳解第四章 深度學(xué)習(xí)基本過程由于初始化函數(shù)不同,初始下降點也會不同,下降路線也會不同。所以梯度下降有可能會得到局部最小值,而不是全局最小值。16 of 414 . 2 反向調(diào)整過程4.2.3深層模型反向調(diào)整的問題與對策第四章 深度學(xué)習(xí)基本過程反向傳播的問題u 梯度彌散:由于sigmod函數(shù)在趨于無限大時,梯度會逐漸消失,隨著傳播深度的增加(如7層以上), 殘差傳播到底層時已經(jīng)變得太小,
8、梯度的幅度也會急劇減小,導(dǎo)致淺層神經(jīng)元的權(quán)重更新非常緩慢, 無法有效進行學(xué)習(xí)。深層模型也就變成了前幾層幾乎固定,只能調(diào)節(jié)后幾層的淺層模型,形成梯度彌 散(vanishing gradient)。u 局部最優(yōu):深層模型的每個神經(jīng)元都是非線性變換,代價函數(shù)是高度非凸函數(shù),與淺層模型的目標(biāo)函數(shù)不同。所以采用梯度下降的方法容易陷入局部最優(yōu)。17 of 414 . 2 反向調(diào)整過程4.2.3深層模型反向調(diào)整的問題與對策第四章 深度學(xué)習(xí)基本過程解決方案u 逐層初始化:2006年,機器學(xué)習(xí)的大牛Geoffrey Hinton提出了逐層初始化的解決方案。一層網(wǎng)絡(luò)1、輸入數(shù)據(jù)特征6、對比4、輸出還原的數(shù)據(jù)誤差函
9、數(shù)5、對比解碼器編碼器18 of 414 . 2 反向調(diào)整過程4.2.3深層模型反向調(diào)整的問題與對策第四章 深度學(xué)習(xí)基本過程梯度下降的效率u 批量梯度下降(Batch Gradient Descent):批量梯度下降中,每計算一次梯度,需要計算所有數(shù)據(jù)。優(yōu)點是可以更準確的從正確的方向下降,缺點是訓(xùn)練緩慢,時間開銷大。u 隨機梯度下降(Stochastic Gradient Descent):隨機梯度下降,在每一輪迭代中,隨機優(yōu)化某一條訓(xùn)練數(shù)據(jù)的。其缺點是,數(shù)據(jù)的減少使其較難達到最優(yōu)解,優(yōu)點是速度有很大提升,且少量數(shù)據(jù)訓(xùn)練的模型效果的泛化能力更強,在新的數(shù)據(jù)上,效果不錯。u 最小批量梯度下降(M
10、ini-Batch Gradient Descent):實際使用中,現(xiàn)在更多的應(yīng)用的是最小批量梯度下降,保證速度的同時,其結(jié)果也更接近最優(yōu)解。19 of 41 全國高校標(biāo)準教材云計算姊妹篇,剖析大數(shù)據(jù)核心技術(shù)和實戰(zhàn)應(yīng)用概述4 . 1正向?qū)W習(xí)過程4 . 24 . 3反向調(diào)整過程手寫體數(shù)字識別實例習(xí)題第四章深度學(xué)習(xí)基本過程20 of 414.3 3 手寫體數(shù)字識別實例4.3.1 數(shù)據(jù)準備第四章 深度學(xué)習(xí)基本過程本節(jié)主要實現(xiàn)基于Caffe的MNIST手寫體識別:數(shù)據(jù)集包含了0到9,十個數(shù)字。其中包括60000多個訓(xùn)練樣本和10000個測試樣本。其中每張圖片的大小為28*28。數(shù)據(jù)集下載:# ./da
11、ta/mnist/get_mnist.sh21 of 414.3 3 手寫體數(shù)字識別實例4.3.1 數(shù)據(jù)準備轉(zhuǎn)化為LMDB格式,命令如下,轉(zhuǎn)換完成后,在caffe/examples/mnist下生成兩個文件夾:mnist_train_lmdb,mnist_test_lmdb 。# ./examples/mnist/create_mnist.sh第四章 深度學(xué)習(xí)基本過程22 of 414.3 3 手寫體數(shù)字識別實例4.3.1 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計本節(jié)實例使用的網(wǎng)絡(luò)為LeNet,網(wǎng)絡(luò)結(jié)構(gòu)定義在examples/mnist/lenet_train_totxt中。網(wǎng)絡(luò)包含兩個卷積層,兩個池化層
12、,和兩個全連接層。第四章 深度學(xué)習(xí)基本過程23 of 414.3 3 手寫體數(shù)字識別實例4.3.1 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計第四章 深度學(xué)習(xí)基本過程u 輸入層:name : 定義了一個層,層的名字為“mnist”type : 層的類型是“Data”top : 層的輸出blob為“data”和“l(fā)abel” include : 這個層僅作用在train階段transform_param:變換的參數(shù)uuuuuscale : 縮放因子為0.00390625即1/256data_param : 數(shù)據(jù)參數(shù)source:訓(xùn)練數(shù)據(jù)集的路徑batch_size : 輸入每次輸入網(wǎng)絡(luò)的圖片數(shù)量為64 backend : 訓(xùn)
13、練數(shù)據(jù)的格式為LMDBuuuuuname: LeNet layer name: mnist type: Data top: data top: label include phase: TRAINtransform_param scale: 0.00390625data_param source:examples/mnist/mnist_train_lmdb batch_size: 64 backend: LMDB24 of 414 . 3 手寫體數(shù)字識別實例第四章 深度學(xué)習(xí)基本過程layer name: conv1 type: Convolution bottom: datatop: con
14、v1 param lr_mult: 1param lr_mult: 2convolution_param num_output: 20kernel_size: 5stride: 1 weight_filler type: xavierbias_filler type: constant4.3.1 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計u 卷積層:name : 定義了一個層,層的名字為“conv1”type : 層的 類型是“Convolution” bottom : 層的輸入blob為“data” top : 層 的 輸 出 blob 為 “conv1” lr_mult(第一個) : 權(quán)值的學(xué)習(xí)率為1 lr_mult(
15、第二個) : 偏置的學(xué)習(xí)率為2 convolution_param:卷積的參數(shù)num_output : 輸出的feature map的個數(shù)為20 kernel_size : 卷 積 核 的 大 小 為 5 stride:步長為1weight_filler : 權(quán)重初始化采用xavier填充器bias_filler : 偏置初始化采用constant,常數(shù)填充器uuuuuuuuuuuu25 of 414.3 3 手寫體數(shù)字識別實例4.3.1 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計第四章 深度學(xué)習(xí)基本過程u 池化層:u name : 定義了一個層,層的名字為“pool1”u type : 層的 類型是“Pooling”u
16、bottom : 層的輸入blob為“conv1”u top : 層的輸出為blob“pool1”u pooling_param : 池化參數(shù)u pool : 池化的類型采用最大池化u kernel_size : 池化的大小為2u stride : 步長為2layer name: pool1 type: Pooling bottom: conv1 top: pool1 pooling_param pool: MAX kernel_size: 2stride: 226 of 414 . 3 手寫體數(shù)字識別實例第四章 深度學(xué)習(xí)基本過程4.3.1 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計layer name: ip1type:
17、 InnerProduct bottom: pool2 top: ip1param lr_mult: 1param lr_mult: 2inner_product_param num_output: 500 weight_filler type: xavierbias_filler type: constantu 全連接層:u name : 定義了一個層,層的名字為“ip1”u type : 層的 類型是“InnerProduct”u bottom : 層的輸入blob為“pool2”u top : 層的輸出為blob“ip1”u num_output :輸出個數(shù)為50027 of 414.3
18、 3 手寫體數(shù)字識別實例4.3.1 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計第四章 深度學(xué)習(xí)基本過程u 非線性層:定義了一個非線性層,使用ReLU方法u name : 定義了一個層,層的名字為“relu1”u type : 層的 類型是“ReLU”u bottom : 層的輸入blob為“pool2”u top : 層的輸出為blob“ip1”u num_output :輸出個數(shù)為500layer name: relu1 type: ReLU bottom: ip1 top: ip128 of 414 . 3 手寫體數(shù)字識別實例4.3.2 模型訓(xùn)練模型訓(xùn)練方法如下,其中主要調(diào)用了訓(xùn)練超參文件caffe/examples/
19、mnist/lenet_totxt# ./examples/mnist/train_lenet.sh第四章 深度學(xué)習(xí)基本過程29 of 414 . 3 手寫體數(shù)字識別實例4.3.3 模型測試第四章 深度學(xué)習(xí)基本過程# ./build/tools/caffe test -model examples/mnist/lenet_train_totxt -weights examples/mnist/lenet_iter_10000.caffemodel -iterations 100u 命令的“test”參數(shù)表示,只進行預(yù)測,不盡興參數(shù)更新,迭代的次數(shù)為100次。
20、模型測試最終準確率達到99.02%。30 of 414 . 3 手寫體數(shù)字識別實例4.3.3 模型測試第四章 深度學(xué)習(xí)基本過程模型生成后,可以利用./build/examples/cpp_classification/classification.bin對單張圖片進行簡單分類測試。需要準備5個文件。u (1)測試網(wǎng)絡(luò)測試網(wǎng)絡(luò)位于examples/mnist/totxt,和訓(xùn)練網(wǎng)絡(luò)有些許不同,首先測試網(wǎng)絡(luò)去掉 了結(jié)尾的loss層和accuracy層,并將輸入部分修改如下。name: LeNet layer name: data type: Input top: datainpu
21、t_param shape: dim: 64 dim: 1 dim: 28 dim: 28 31 of 414 . 3 手寫體數(shù)字識別實例4.3.3 模型測試第四章 深度學(xué)習(xí)基本過程u (2)模型文件:訓(xùn)練后,模型文件已生成,位于example/mnist/ lenet_iter_10000.caffemodel。u (3)均值文件:均值文件生成方法如下,生成后保存在examples/mnist/mean.binaryproto# build/tools/compute_image_mean examples/mnist/mnist_train_lmdb examples/mnist/mean.binaryprotou (4)標(biāo)簽文件:創(chuàng)建標(biāo)簽文件label.txt,其中每行對應(yīng)了分類數(shù)據(jù)的類別。32 of 414 . 3 手寫體數(shù)字識別實例4.3.3 模型測試第四章 深度學(xué)習(xí)基本過程u (5)測試圖片:準備一張數(shù)字灰度圖片開始測試,輸出圖片分類的相似度:,命名為mytest.bmp。# ./bui
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《進出口業(yè)務(wù)》授課筆記
- 體育A(三) 排球?qū)W習(xí)通超星期末考試答案章節(jié)答案2024年
- 工業(yè)機器人拆裝與維護學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 建筑工地臨時工勞動協(xié)議 臨時工勞動協(xié)議書(模板11篇)
- 建設(shè)工程合同
- 師德鑒定書(3篇)
- 手寫自愿離婚協(xié)議書模板(35篇)
- 煤礦生產(chǎn)技術(shù)實習(xí)總結(jié)(3篇)
- 五年級下冊數(shù)學(xué)單元測試-2.分數(shù) 西師大版(含解析)
- 2023年省市場監(jiān)督管理局直屬事業(yè)單位招聘筆試真題
- 人教版(PEP)四年級上冊英語unit 1 My classroom圖文完美版(課堂PPT)
- 幼小銜接中存在的問題及對策
- 工程前沿案例作業(yè)
- 中級漢語期末考試測試題(共5頁)
- 《國家電網(wǎng)公司安全生產(chǎn)事故隱患排查治理管理辦法》(國家電網(wǎng)安監(jiān)[
- 水保監(jiān)理報告范文
- xx售樓部鋼結(jié)構(gòu)及玻璃幕墻工程拆除施工方案
- 工程移交單表格1頁
- 云南沿邊高校青年教師發(fā)展現(xiàn)狀及問題分析
- 先進制造業(yè)項目專項資金申請報告范文模板
- OOK調(diào)制解調(diào)電路設(shè)計
評論
0/150
提交評論