深度學習技術應用課件:模型搭建及訓練_第1頁
深度學習技術應用課件:模型搭建及訓練_第2頁
深度學習技術應用課件:模型搭建及訓練_第3頁
深度學習技術應用課件:模型搭建及訓練_第4頁
深度學習技術應用課件:模型搭建及訓練_第5頁
已閱讀5頁,還剩54頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

遷移學習實現新冠肺炎X光檢測深度學習應用技術模型搭建及訓練職業能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08

模型搭建及訓練掌握圖像數據生成器制作方法理解模型微調的概念與適用場景了解Tensorflow中內置的VGG16模型框架的相關知識能夠搭建模型訓練所需環境并導入相關模塊和依賴包能夠導入數據并設置數據增強生成器能夠加載VGG16模塊中的模型并構建圖像分類模型能夠完成模型編譯(設置超參數、優化器)能夠完成模型訓練并進行模型評估能夠對損失函數與精確度進行數據可視化能夠保存、加載已訓練的模型職業能力目標01知識目標技能目標職業能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08

模型搭建及訓練加載訓練好的VGG16模型,并進行模型微調,利用部分數據集進行模型再訓練,并進行模型預測,繪制出損失函數與準確率圖像。任務描述任務要求VGG16模型微調;VGG16模型預測;模型評估,繪制損失函數與準確率圖像;任務描述與要求02職業能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08

模型搭建及訓練任務分析你知道有哪些梯度下降法?想一想如何構建VGG16模型?任務分析與計劃03任務計劃表通過上面的思考,你是否對本任務要完成的工作有所了解?讓我們一起來制訂完成本次任務的實施計劃吧!任務分析與計劃03項目名稱遷移學習實現新冠肺炎X光檢測任務名稱模型搭建及訓練計劃方式自主設計計劃要求請用8個計劃步驟來完整描述出如何完成本次任務序號任務計劃1

2

3

4

5

6

7

8職業能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08

模型搭建及訓練VGG16模型204知識儲備數據增強1模型優化器3數據增強04數據增強是一種數據擴充技術,指的是利用有限的數據創造盡可能多的利用價值。數據增強主要是為了減少網絡的過擬合現象,通過對訓練圖片進行變換可以得到泛化能力更強的網絡,更好的適應應用場景。在深度學習中,有監督的數據增強和無監督的數據增強方法。

04有監督的數據增強

有監督數據增強,即采用預設的數據變換規則,在已有數據的基礎上進行數據的擴增,包含單樣本數據增強和多樣本數據增強。

單樣本數據增強包括幾何變換操作類(如翻轉,旋轉,裁剪,變形,縮放),顏色變換類(如噪聲、模糊、顏色變換、擦除、填充)。多樣本數據增強方法利用多個樣本來產生新的樣本。常見的方法有:SMOTE方法,SamplePairing方法,mixup方法.有監督的數據增強04無監督的數據增強無監督的數據增強通過模型學習數據的分布,隨機生成與訓練數據集分布一致的圖片,代表方法GAN。通過模型,學習出適合當前任務的數據增強方法,代表方法AutoAugment。VGG16模型204知識儲備數據增強1模型優化器3104卷積神經網絡

卷積神經網絡是一種具有局部連接、權重共享等特性的深層前饋神經網絡。CNN由幾個基本的層構成,這些層包括輸入層、卷積層、池化層、全連接層和輸出層所構成。卷積層全連接層池化層對輸入數據進行特征提取是對圖片信息進行壓縮(降采樣)的一種方法在卷積神經網絡最后會加一個flatten層,將之前所得到的featuremap“壓平”,然后用一個全連接層輸出最后的結果。04VGG16網絡

VGG中根據卷積核大小和卷積層數目的不同,可分為A,A-LRN,B,C,D,E共6個配置,其中以D,E兩種配置較為常用,分別稱為VGG16和VGG19。

針對VGG16(圖中D部分配置)進行具體分析,其包含:13個卷積層(ConvolutionalLayer)3個全連接層(FullyconnectedLayer)5個池化層(Poollayer)

其中,卷積層和全連接層具有權重系數。VGG16網絡04

VGG16的突出特點是簡單,體現在:卷積層均采用相同的卷積核參數。池化層均采用相同的池化核參數。池化層的參數均為2×模型是由若干卷積和層池化層堆疊(stack)的方式構成,比較容易形成較深的網絡結構。VGG16模型204知識儲備數據增強1模型優化器31優化器與梯度下降04

在有了正向結構和損失函數后,就是通過優化函數來優化學習參數了,這個過程也是在反向傳播中完成的。這個優化函數叫做優化器。其內部原理主要是通過梯度下降的方法對模型中的參數進行優化。

梯度下降法常用于機器學習和人工智能當中用來遞歸性地逼近最小偏差模型,梯度下降的方向也就是用負梯度方向為搜索方向,沿著梯度下降的方向求解極小值。優化器與梯度下降04

梯度下降法是最基本的一類優化器,目前主要分為三種梯度下降法:標準梯度下降法(GD)隨機梯度下降法(SGD)批量梯度下降法(BGD)(1)標準梯度下降法優化器與梯度下降04

標準梯度下降法模型參數的更新調整,與代價函數關于模型參數的梯度有關,即沿著梯度的方向不斷減小模型參數,從而最小化代價函數該方法有兩個缺點:訓練速度慢容易陷入局部最優解(2)隨機梯度下降法優化器與梯度下降04

每看一個數據就算一下損失函數,然后求梯度更新參數,這個稱為隨機梯度下降。

該方法的優點是計算梯度快,訓練速度快。缺點是沒能單獨克服局部最優解的問題。(3)批量梯度下降法優化器與梯度下降04

遍歷全部數據集算一次損失函數,然后算函數對各個參數的梯度,更新梯度。這種方法每更新一次參數都要把數據集里的所有樣本都看一遍。該方法計算量開銷大,計算速度慢,不支持在線學習。

為了克服以上三種方法的缺點,現在一般采用的是一種折中手段“小批的梯度下降”。04優化器的選擇

優化器的選取沒有特定的標準,需要根據具體的任務,多次嘗試選擇不同的優化器,選擇使得評估函數最小的那個優化器。根據經驗,RMSprop、Adagrad、Adam、SGD是比較通用的優化器。其中前三個優化器適合自動收斂,而最后一個優化器,常用于精調模型。04優化器的選擇自動收斂方面一般以Adam優化器最為常用,綜合來看,它在收斂速度、模型所訓練出來的精度方面,效果相對更好一些。而且對于學習率的設置要求相對比較寬松,更容易使用。精調模型方面常常通過手動修改學習率來進行模型的二次調優。為了訓練出更好的模型,一般會在使用Adam優化器訓練到模型無法收斂之后,再使用SGD優化器,通過手動調節學習率的方式,進一步提升模型性能職業能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08

模型搭建及訓練VGG模型搭建204數據增強1模型編譯3模型預測5任務實施模型訓練4模型評估6數據增強05導入肺部圖像訓練集和測試集的數據及標簽。1、導入數據數據增強05需要設置一個用于數據增強的生成器,以此來獲取更多的訓練集圖片。tensorflow中的ImageDataGenerator模塊可以用于增強數據2、設置用于數據增強的生成器(1)圖片生成器,負責生成一個個批次的圖片,以生成器的形式給模型訓練;(2)對每一個批次的訓練圖片,適時地進行數據增強處理;(3)自動為訓練數據生成標簽。05ImageDataGenerator()參數簡單介紹:數據增強featurewise_center:布爾值,使輸入數據集去中心化(均值為0),按feature執行。samplewise_center:布爾值,使輸入數據的每個樣本均值為0。featurewise_std_normalization:布爾值,將輸入除以數據集的標準差以完成標準化,按feature執行。samplewise_std_normalization:布爾值,將輸入的每個樣本除以其自身的標準差。zca_whitening:布爾值,對輸入數據施加ZCA白化。rotation_range:整數,數據提升時圖片隨機旋轉的角度。隨機選擇圖片的角度,取值為0~180。width_shift_range:浮點數,水平平移范圍。height_shift_range:浮點數,垂直平移范圍。shear_range:浮點數,透視變換的范圍。zoom_range:浮點數或形如[lower,upper]的列表,縮放的范圍.fill_mode:填充模式,‘constant’,‘nearest’,‘reflect’或‘wrap’之一,當進行變換時超出邊界的點將根據本參數給定的方法進行處理。VGG模型搭建204數據增強1模型編譯3模型預測5任務實施模型訓練4模型評估6VGG模型搭建05使用tensorflow模塊中內置的VGG16模塊,導入VGG的基礎模型baseModel,這里baseModel是實例化后的VGG16模型。VGG16中的相關參數:1、加載基礎模型weights="imagenet"代表該模型已經通過imagenet數據集訓練后,得到的模型,首次調用需要下載。include_top=False表示不載入VGG16模型的頂部層。如果第一次運行本代碼,需要在keras模塊中添加一個名為models的文件夾。數據增強與VGG模型搭建05將baseModel中的參數固定住,使得在訓練的時候baseModel中的參數不會更新。利用循環的方式將baseModel每層的參數固定住。2、固定baseModel模型參數指標baseModel.layers可以返回模型所有的層,設置layer.trainable=False使得該層不參與訓練。數據增強與VGG模型搭建05在baseModel的基礎上,將VGG16網絡頂部的三層網絡按照下面的結構重新設定,包含一個平均池化層、一個展平層,一個dropout層,兩個全連接層。3、重置頂部網絡層(1)創建模型容器。Sequential()可以看作是模型的容器(2)添加baseModel。(3)添加平均池化層。(4)添加展平層。Flatten()展平層,將tensor展開,不做計算。(5)添加維度為64維的全連接層。(6)添加丟棄法。(7)添加維度為2維的全連接層。VGG模型搭建204數據增強1模型編譯3模型預測5任務實施模型訓練4模型評估6模型編譯05學習率、迭代次數、訓練批次三個常見參數的介紹及設置。三個超參數介紹:1、模型超參數設定學習率INIT_LR:學習率決定著模型訓練的快慢。迭代次數EPOCHS:迭代次數表示訓練數據進入模型進行訓練的次數。訓練批次大小batchsize:設置每次進入模型訓練的圖片是多少,由于硬件的限制,太大的批次會導致模型訓練很慢。模型編譯05優化器的作用主要是幫助模型在訓練過程中更快的找到最佳參數,優化器的種類有很多,合適的優化器能夠大大提高訓練的效率。2、優化器設定模型編譯05函數pile(loss,optimizer,metrics)用于編譯模型,參數分別為損失函數、優化方法、精確度計算方式。3、執行編譯loss用于設置損失函數的可以為目標函數,也可以是字符串形式給出的損失函數的名稱,如loss="mse",loss="binary_crossentrop"等optimizer用于設置優化器,同樣可以是字符串形式和函數形式,如optimizer="sgd",optimizer="adam"等metrics用于設置模型的評價指標,如metrics=["accuracy"],metrics=["parse_accuracy"]等VGG模型搭建204數據增強1模型編譯3模型預測5任務實施模型訓練4模型評估6模型訓練05可以使用model.fit或model.fit_generator進行模型訓練,兩者差別在于,model.fit_generator支持用生成器向模型輸入數據。1、模型訓練05model.fit_generator(generator,epochs=1,steps_per_epoch,validation_data=None,validation_steps=None)#參數介紹:generator用于接收一個生成數據的生成器,用于模型中的擬合。steps_per_epoch整數,當generator返回steps_per_epoch次數據時,一個epoch結束,執行下一個epoch,通常設置為訓練集長度除以batch_size的數值validation_data驗證集數據集,形式可以為一個形如(inputs,targets)的tuple,一個形如(inputs,targets,sample_weights)的tuple,或者生成器validation_steps整數,用于設置驗證集數據集每輪次訓練次數,通常設置為測試集集長度除以batch_size的數值,epochs整數,設置數據迭代的輪數模型訓練VGG模型搭建204數據增強1模型編譯3模型預測5任務實施模型訓練4模型評估6模型預測05訓練好了模型之后,使用model.predict對測試集的圖片進行預測查看預測結果。1、預測結果model.predict(testdata,batchsize)其中testdata是測試數據集batchsize是訓練批次。05np.argmax返回每組數據中最大值的索引。2、取結果的最大索引號例如:返回最大值是6,它的索引號為2。list1=[[1,2,6,5,3]]np.argmax(list1,axis=1)模型預測VGG模型搭建204數據增強1模型編譯3模型預測5任務實施模型訓練4模型評估605分類模型性能評估的重要參數有準確率、精確率、召回率及F1值等,classification_report()函數能夠輸出判斷模型準確度的各個參數。1、模型評估指標準確率:所有的預測正確(正類負類)的占總的比重。精確率:(又稱查準率)正確預測為正的占全部預測為正的比例。召回率:(又稱查全率)正確預測為正的占全部實際為正的比例。F1值:F1值為算數平均數除以幾何平均數,且越大越好,是精確率和召回率的加權平均。模型評估05cm為混淆矩陣,用于直觀看到預測結果的準確度1、模型評估指標混淆矩陣的每一列代表了預測類別,每一列的總數表示預測為該類別的數據的數目;每一行代表了數據的真實歸屬類別;每一行的數據總數表示該類別的數據實例的數目;每一列中的數值表示真實數據被預測為該類的數目。模型評估05具體做法如下:2、繪制損失函數與準確度圖像。(1)plt.style.use("ggplot")繪圖風格使用ggplot(2)plt.plot()函數,繪制函數train_loss線條、驗證集損失線條、訓練集精度線條、驗證集精度線條,(3)plt.xlabel給橫坐標命名(4)plt.legend新增圖例(5)plt.savefig("plot")將圖片存在默認路徑,命名為plot模型評估05繪圖后會有出現四條不同的線,則說明填寫正確紅色(train_loss),代表訓練的損失,可以看見隨著迭代次數的增多,損失在降低藍色(val_loss),代表驗證集的損失,同樣隨著迭代次數的增多,損失在降低紫色(train_acc),代表訓練時的準確度,可以見隨著迭代次數的增加在升高黑色(val_acc),代表驗證集的準確度,可見隨著迭代次數的增加準確度上升并穩定在1。模型評估05模型訓練完成后需要對模型進行保存。將model模型進行存儲命名為model,格式設置為h5。model.save(model_name,save_format)函數對模型進行保存。3、模型保存參數model_name,字符串,表示要儲存的模型名稱,例如將模型model儲存并命名為modeltemp,則設定model.save("modeltemp",save_format)參數save_format,字符串,表示要儲存的格式,本例中要用到的格式為h5,設定model.save("modeltemp",save_format="h5")模型評估05使用keras模塊中的load_model()函數加載上面保存的model模型,并命名為model_load。使用tf.keras.models.load_model()函數導入模型文件,并賦值到變量model_load。4、模型加載模型預測與評估職業能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08

模型搭建及訓練任務檢查與評價061、請參照評價標準完成自評和對其他小組的互評。2、各組請代表分析本組任務實施經驗。項目名稱遷移學習實現新冠肺炎X光檢測任務名稱模型搭建及訓練評價方式可采用自評、互評、老師評價等方式說

明主要評價學生在項目學習過程中的操作技能、理論知識、學習態度、課堂表現、學習能力等

評價內容與評價標準序號評價內容評價標準分值得分1理論知識(20%)了解數據增強、VGG16模型架構、的基本概念概念與方法、以及模型優化器的方法和選擇。(20分)20分

2專業技能(40%)數據增強與VGG模型搭建(15%)正確的導入數據與設置用于數據增強的生成器(5分)15分

3正

溫馨提示

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

最新文檔

評論

0/150

提交評論