




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
CaffeAlexNet實例匯報:吳彩云CaffeAlexNetinstance基本原理簡介AlexNet物體分類例程Caffe框架簡介CONTENT目錄基本原理簡介01chapter人工智能是一門具有高度綜合性和交叉行性的學科,其研究范疇包括:自動推理、知識表達、專家系統(tǒng)、機器學習、語言識別、圖像識別、智能機器人等。
而其中機器學習是人工智能的核心,其應用遍布了人工智能的各個領域,涉及的算法包括:決策樹、支持向量機(SVM)、人工神經(jīng)網(wǎng)絡、聚類、貝葉斯分類器、規(guī)則學習、強化學習等。20世紀80年代,人工神經(jīng)網(wǎng)絡,成為了人工智能領域的研究熱點,它模擬了生物神經(jīng)元的工作原理進行建模,取得了很大的進展。但是淺層的網(wǎng)絡在表達能力方面有所欠缺。后來人工神經(jīng)網(wǎng)絡發(fā)展到深層的狀態(tài),也就是現(xiàn)在的深度學習網(wǎng)絡。更深的網(wǎng)絡使得模型的性能更好,相較于傳統(tǒng)機器學習,不需要進行手工提取特征。人工智能機器學習深度學習人工智能與深度學習的關系其結(jié)構包括:多層感知機(MLP)、卷積神經(jīng)網(wǎng)絡(CNN)、循環(huán)神經(jīng)網(wǎng)絡(RNN),長短時記憶網(wǎng)絡網(wǎng)絡(LSTM)等。其實質(zhì)上均為一個非常復雜的非線性數(shù)學計算結(jié)構,它可以擬合各種復雜的規(guī)律。CNNMLP常見的深度學習網(wǎng)絡RNNLSTM多層感知機卷積神經(jīng)網(wǎng)絡循環(huán)神經(jīng)網(wǎng)絡長短時記憶網(wǎng)絡網(wǎng)絡神經(jīng)網(wǎng)絡基本單元—神經(jīng)元當激活函數(shù)為如下的階躍函數(shù)時:這時候的神經(jīng)元又叫作—“感知器”單個神經(jīng)元的實質(zhì):輸入加權求和再加偏置,激活函數(shù)進行非線性轉(zhuǎn)化,映射到固定值域。7常見的激活函數(shù)8BP神經(jīng)網(wǎng)絡BP神經(jīng)網(wǎng)絡是一種按照誤差反向傳播算法訓練的多層前饋神經(jīng)網(wǎng)絡,是目前應用最廣泛的神經(jīng)網(wǎng)絡。其結(jié)構可以看做若干神經(jīng)元疊加而成。使用誤差反向傳播(BP)算法BP神經(jīng)網(wǎng)絡網(wǎng)絡最后常接上Softmax或其他分類器,生成輸入屬于每個類別的概率,概率最高即為輸出的分類9反向傳播的基本思想正向傳播,計算輸出,對比label,得到error,反向調(diào)整權值偏置,最小化error,error,最小時,權值最優(yōu)。10梯度下降梯度下降是神經(jīng)網(wǎng)絡求解最常用的算法,簡單的理解,就是從初始值順著“l(fā)oss”盆地最陡峭的方向下降,直到達到最低點,此時對應的參數(shù)即為最優(yōu)解。11卷積神經(jīng)網(wǎng)絡(CNN)卷積網(wǎng)絡(CNN)是為識別二維形狀而特殊設計的一個前饋神經(jīng)網(wǎng)絡,這種網(wǎng)絡結(jié)構對平移、比例縮放、傾斜或者共他形式的變形具有高度不變性。12全連接如圖為三層的全連接網(wǎng)絡。全連接層中,每個節(jié)點與相鄰層的所有節(jié)點都有連接。特點:參數(shù)較多,計算量較大,容易造成過擬合。作用:用于將提取的圖像特征用于分類。局部感知上圖左:全連接網(wǎng)絡。如果我們有1000x1000像素的圖像,有106個隱層神經(jīng)元,每個隱層神經(jīng)元都連接圖像的每一個像素點,就有1000x1000x106=1012個連接,也就是1012個權值參數(shù)。上圖右:局部連接網(wǎng)絡,每一個節(jié)點與上層節(jié)點同位置附近10x10的窗口相連接,則106個隱層神經(jīng)元就只有100乘以106,即108個參數(shù)。其權值連接個數(shù)比原來減少了四個數(shù)量級。權值共享在局部感知的基礎上,若所有神經(jīng)元采取一套權值,則數(shù)量級則會由106個,降低到102個。卷積結(jié)構卷積操作示意圖如左圖:原圖:綠色矩陣,矩陣每個值對應原圖的像素值。卷積核:黃色矩陣,對圖像大矩陣和卷積小矩陣對應的位置元素相乘在求和的操作就叫做卷積。新生成圖像:紅色矩陣。權值第一個窗口的輸入第一個窗口的輸出多核卷積如圖所示,不同顏色表明不同的卷積核,單個卷積核特征提取顯然不充分,多個卷積核能獲取更充足的特征信息。多通道卷積如圖展示了四通道的卷積操作,共有兩個卷積核,生成兩個特征圖。以w1為例,在m層生成的特征圖的某個位置(i,j)處的值,為四個通道對應卷積結(jié)果相加取激活操作得到的值。池化(pooling)操作池化通常作用于圖像中不重合的區(qū)域,過程如右圖。步長stride:相鄰兩個池化窗口,水平位移或豎直位移。最常見的池化:平均池化(meanpooling)和最大池化(maxpooling)。Caffe框架簡介02chapterCaffe簡介Caffe作者——賈揚清Caffe的特點速度快易上手多語言社區(qū)友好主CNN特點:1、基于C++/CUDA框架,也支持命令行、Matlab和Python接口2、利用MKL、OpenBLAS、cuBLAS等矩陣運算庫加速計算、同時支持GPU加速3、例程腳本豐富,入門很快4、有檢測框架FasterR-CNN系列、CaffeForWindows等衍生項目Caffe源碼文件夾結(jié)構build:編譯結(jié)果存放處,結(jié)構與主目錄相似cmake:存放的編譯配置文件,不關注,可忽略data:存放原始數(shù)據(jù)集,及數(shù)據(jù)集獲取的腳本如:MNIST、CIFAR-10distribute:編譯后生成發(fā)布包的位置,用于遷移,暫可忽略docker:為了便于遷移,使用Docker工具,暫可忽略doc:doxgen工程文件存放在這路,暫可忽略examples:存放Caffe簡單例程,如MNIST、CIAFR-10、ImageNetinclude:存放Caffe中源碼的各種頭文件matlab:Matlab接口models:存放一些示例模型,如AlexNet、GooLeNet等python:python接口scripts:存放腳本文件src:存放Caffe源碼文件,包括各層的實現(xiàn)等tools:存放常用的工具Caffe的核心概念網(wǎng)絡(Net):Caffe中的網(wǎng)絡結(jié)構常分為訓練使用(常被命名為train_totxt)的和實際使用(常被命名為totxt)的網(wǎng)絡結(jié)構。層(Layer):Caffe中網(wǎng)絡結(jié)構(Net)是由一個個layer搭建而成。Layer采用一個或多個Blobs作為輸入,產(chǎn)生一個或多個Blobs作為輸出。數(shù)據(jù)存儲——Blobs:Caffe通過Blobs的形式,以4維數(shù)組的方式進行存儲和傳遞數(shù)據(jù)。求解器(Solver):Caffe的求解方法和參數(shù)等單獨卸載一個超參文件中,常被命名為totxt。權值文件——caffemodel:caffe中訓練生成的為后綴為“.caffemodel”的權值文件,需結(jié)合網(wǎng)絡文件一起使用。準備數(shù)據(jù)集03chapter數(shù)據(jù)集類別數(shù)據(jù)集使用了5個分類的數(shù)據(jù)集,類別包括:Bus(大巴)、dinosaur(恐龍)、elephant(大象)、flower(花朵)、horse(馬)訓練集每個類別為80張,測試集每個類別20張,圖片大小均為384*256。數(shù)據(jù)集概覽Caffe支持數(shù)據(jù)集格式數(shù)據(jù)來源于數(shù)據(jù)庫:
LevelDB和LMDB數(shù)據(jù)來自于內(nèi)存數(shù)據(jù)來源于HDF5數(shù)據(jù)來源于圖片Caffe的數(shù)據(jù)集支持以下幾種格式,不同格式的數(shù)據(jù)集,輸入層的書寫格式不同:DataMemoryDataHDF5DataImageData數(shù)據(jù)來源于WindowsWindowData輸入層類型原始圖片訓練集數(shù)據(jù)集的常規(guī)格式圖片01train:按類別分別存放著訓練圖片02val:散放著驗證集圖片flower03train.txt/val.txt:訓練/驗證集描述文件,格式為:路徑+空格+labelval路徑:bus/398.jpg標簽:0路徑:400.jpg標簽:104label.txt:存放類別,通常為字母或數(shù)字或符號。Label=類別對應的行號-1可處理為LMDB格式可選擇可直接以圖片格式作為輸入?轉(zhuǎn)化為LMDB格式可處理為LMDB格式可直接以圖片格式作為輸入?LMDB:訓練更高效,但轉(zhuǎn)化需要時間和磁盤空間圖片:數(shù)據(jù)集調(diào)整方便、不占用額外資源本實驗中,我們將把圖片轉(zhuǎn)化成LMDB格式,轉(zhuǎn)化腳本如下,是由Caffe自帶的examples/imagenet/create_imagenet.sh修改而來。是比較通用性的轉(zhuǎn)化腳本。在caffe-master目錄下,如下執(zhí)行即可:#./01_alexnet_example/01_create_lmdb_dataset.sh√執(zhí)行命令后,生成LMDB格式數(shù)據(jù)集01_create_lmdb_dataset.sh腳本第一部分:(1)首先修改腳本涉及路徑的部分(2)ALexNet輸入層的輸入大小為227,圖片大小不符合,則需要調(diào)整參數(shù)大小。01_create_lmdb_dataset.sh整個腳本等同于:build/tools/convert_imageset\--resize_height=227\--resize_width=227\--shuffle\01_alexnet_example/data/train/\01_alexnet_example/data/train.txt\01_alexnet_example/alexnet_train_lmdbbuild/tools/convert_imageset\--resize_height=227\--resize_width=227\--shuffle\01_alexnet_example/data/val/\01_alexnet_example/data/val.txt\01_alexnet_example/alexnet_val_lmdb注意:由于生成的alexnet_train_lmdb并不會覆蓋寫,所以若文件已經(jīng)存在,則需要先刪除再執(zhí)行轉(zhuǎn)化命令。準備均值文件04chapter減均值的意義圖a為原始數(shù)據(jù)分布,圖像中的像素分布為0-255,所以圖像的數(shù)據(jù)分布就類似圖a。圖b中的紫色線為y=ax+b想達到的分類效果,紅線為y=ax+b常見的剛初始化后的效果。圖c中的數(shù)據(jù)為減均值后的數(shù)據(jù)分布。對準確率影響不大,但會加快模型收斂效果生成均值文件Caffe中有兩種減均值方式:(1)直接設定均值大小,如:mean_value:104(2)
指定均值文件,如:mean_file:mymean.binaryproto
指定均值文件轉(zhuǎn)化使用build/tools/compute_image_mean命令,帶兩個參數(shù)。第一個參數(shù)為LMDB格式的訓練集,第二個參數(shù)為生成均值文件的路徑。build/tools/compute_image_mean\01_alexnet_example/alexnet_train_lmdb\01_alexnet_example/alexnet_mean.binaryproto選擇在caffe-master路徑下執(zhí)行以下命令:./01_alexnet_example/02_create_mean.sh生成準備網(wǎng)絡結(jié)構文件05chapterILSVRC大賽ILSVRC(ImageNetLargeScaleVisualRecognitionChallenge)大賽(ImageNet大規(guī)模視覺識別競賽)是世界上最頂尖的視覺識別競賽,很多頂尖的深度學習研究人員和企業(yè)都在這場比賽中角逐。從2010年開始,該大賽每年舉辦一次,直到2017年才落下帷幕。每年的冠軍模型所用的方法,對深度學習的研究都有很大的借鑒作用。AlexNet網(wǎng)絡結(jié)構1、網(wǎng)絡結(jié)構:AlexNet共有8層,共由5個卷積層和3個全連接層組成,最后一層共1000個輸出。Data->conv1->relu1->LRN1->pooling1->conv2->relu2->LRN2->pooling2->conv3-relu3->conv4-relu4->conv5->relu5->pooling5->fc6->relu6->drop6->fc7->relu7->drop7->fc8AlexNet結(jié)構特點DataAugmentation采用數(shù)據(jù)增強,對一些數(shù)據(jù)進行變換。進行水平翻轉(zhuǎn)(mirror),或取其中小塊(crop)進行訓練。MultipleGPUs采用了兩塊GPU的稀疏連接結(jié)構,加快訓練速度。Dropout將某些連接按照一定概率從網(wǎng)絡中丟棄,防止過擬合。OverlappingPooling使用了重疊最大池化代替了以往的普通平均池化。保障了特征的豐富性,也避免了平均池化的模糊效果。ReLU使用了ReLU代替sigmod激活函數(shù),解決了梯度彌散的問題,收斂速度更快。LRN使用了局部響應歸一化,權重高的值變得更大,權重小的值則得到抑制。增強了網(wǎng)絡的泛化能力。Caffe中的AlexNet原始的AlexNet網(wǎng)絡結(jié)構文件——用于訓練的結(jié)構#vimcaffe-master/models/bvlc_alexnet/train_totxt1Caffe中的AlexNet訓練數(shù)據(jù)集:ILSVRC大賽提供的ImageNet數(shù)據(jù)集訓練數(shù)據(jù)集:自己組織的數(shù)據(jù)集5類分類1000類分類本實驗中的AlexNet本實驗中AlexNet網(wǎng)絡結(jié)構文件——用于訓練的結(jié)構#vimcaffe-master/01_alexnet_example/train_totxt2使用現(xiàn)成的Caffe模型,需要修改的內(nèi)容輸入層1、本實驗使用LMDB格式作為數(shù)據(jù)集,訓練更高效。且數(shù)據(jù)集小的情況下,圖片轉(zhuǎn)LMDB的時間和空間消耗都較小。01原始的輸入層輸入層01本實驗的輸入層使用現(xiàn)成的Caffe模型,需要修改的內(nèi)容輸出層1、看原始數(shù)據(jù)類別——數(shù)據(jù)集有多少類,最后一層全連接層的num_output參數(shù)即為幾。02原始的輸出層輸出層02本實驗的輸出層超參文件設置06chapter超參文件設置
超參文件中設置了,模型結(jié)構文件、迭代次數(shù)、優(yōu)化方法等:#vim01_alexnet_example/totxtnet:"01_alexnet_example/train_totxt"
#訓練使用的網(wǎng)絡模型結(jié)構test_iter:5#每次測試,迭代5次,結(jié)合測試階段的batch_size為20次,5次正好測試完100張圖片test_interval:50
#訓練時,每迭代50次,進行一次測試test_initialization:false
#開始訓練時,不進行測試base_lr:0.01#基礎學習率為0.01#采用步進衰減,step的方式進行,#采取step策略后,基礎學習率的變化方式為:basr_lr=base_lr*gamma^(floor(iter/step))lr_policy:"step"gamma:0.1
#step策略的參數(shù)stepsize:100#step策略的參數(shù)display:1#每迭代一次,在屏幕打印一次輸出max_iter:300
#最大迭代次數(shù)momentum:0.9
#沖量,基本思路是為尋優(yōu)加入了“慣性”的影響,這樣一來,當誤差曲面中存在平坦區(qū)的時候,SGD可以更快的速度學習weight_decay:0.005#權衰量snapshot:100
#最大迭代次數(shù)snapshot_prefix:“01_alexnet_example/models/alex”#模型保存的路徑solver_mode:CPU#訓練模式選擇GPU模式訓練模型07chapter訓練模型命令詳解caffe程序的命令行執(zhí)行格式如下:caffe<command><args>build/tools/caffe命令<command>test:測試模型train:訓練或finetune模型(model)device_query:顯示gpu信息time:顯示程序執(zhí)行時間<args>>-solver:接超參文件,其中設置了訓練的各種參數(shù)-gpu:接GPU的ID-snapshot:用于從快照中恢復訓練-weights:fine-tuning模型時,接權值文件-iteration:設置迭代次數(shù),默認為50-model:網(wǎng)絡結(jié)構描述文件-sighup_effect:設定當發(fā)生掛起事件時,執(zhí)行的操作-sigint_effect:設定當程序發(fā)生鍵盤中止事件時(ctrl+c),執(zhí)行的操作常用命令示例例1:使用0號GPU訓練#./build/tools/caffetrain\ -solverexamples/mnist/lenet_totxt\ -gpu0
注:命令行輸入時,為了書寫方便,看著清晰,可以用“\”隔開,也可將其換做空格,如下:#./build/tools/caffetrain-solverexamples/mnist/lenet_totxt-gpu0例2:從訓練了5000次的快照中繼續(xù)訓練#./build/tools/caffetrain\ -solverexamples/mnist/lenet_totxt -snapshotexamples/mnist/lenet_iter_5000.solverstate常用命令示例例3:利用別人訓練的模型,微調(diào)(fine-tuning)模型#./build/tools/caffetrain\ -solverexamples/finetuning_on_flickr_style/totxt\ -weightsmodels/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel例4:在驗證集中驗證已經(jīng)訓練好的模型#./build/tools/caffetest\ -modelexamples/mnist/lenet_train_totxt\ -weightsexamples/mnist/lenet_iter_10000.caffemodel\ -gpu0\ -iterations100以上意思為利用訓練好了的權重(-weight),輸入到測試模型中(-model),用編號為0的gpu(-gpu)測試100次(-iteration)。訓練模型訓練模型實際調(diào)用了build/tools/caffe命令,命令接兩個參數(shù):第一批參數(shù)為:train,表示訓練;第二批參數(shù)為只有一個-solver,接訓練的超參文件命令如下:./build/tools/caffetrain\-solver01_alexnet_example/totxt可在caffe-master路徑下直接執(zhí)行如下命令開始訓練:#./01_alexnet_ex
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度智慧醫(yī)療中心運營管理費收取協(xié)議
- 二零二五年度房屋租賃權抵押評估報告?zhèn)浒笇徍朔课葙J款合同
- 二零二五年度電力系統(tǒng)運行電工服務協(xié)議
- 電子支付賬戶管理服務合同
- 日常行政管理操作規(guī)范
- 心理咨詢行業(yè)個人咨詢服務協(xié)議
- 全國醫(yī)藥研發(fā)中心技術轉(zhuǎn)讓合同
- 貨物運輸代理協(xié)議書
- 數(shù)據(jù)驅(qū)動的智慧城市建設項目協(xié)議
- 高考語文備考:政論類文言文之《淮南子》匯編
- 五年級道德與法治下冊全冊教案
- 110KV電纜敷設專項施工方案方案
- 化學品SDS說明書-次氯酸鈉溶液含有效氯>5%
- 配電箱巡視檢查記錄表
- GB/T 2624.3-2006用安裝在圓形截面管道中的差壓裝置測量滿管流體流量第3部分:噴嘴和文丘里噴嘴
- 豌豆栽培及病蟲害防治課件
- ISO45001職業(yè)健康安全管理體系培訓
- 大學二級學院突發(fā)事件應急預案
- 動物生產(chǎn)學(全套課件)
- 部編版四年級下冊道德與法治 第4課 買東西的學問(第2課時) 教學課件
- 慢性活動性EB病毒課件
評論
0/150
提交評論