(如果想及時收到人工智能相關的知識更新,請點擊關注。。 序言:目前我們每一小節(jié)的內(nèi)容都講解得非常慢,因為這是人工智能研發(fā)中的最基礎知識。如果我們不能扎實掌握這些知識,將很難理解后續(xù)更復雜且實用的概念。因此,我們甚至采用一個概念一節(jié)的方式來編排內(nèi)容,區(qū)分得清清楚楚、明明白白,以便大家能夠非常明確地了
序言: 目前我們每一小節(jié)的內(nèi)容都講解得非常慢,因為這是人工智能研發(fā)中的最基礎知識。如果我們不能扎實掌握這些知識,將很難理解后續(xù)更復雜且實用的概念。因此,我們甚至采用一個概念一節(jié)的方式來編排內(nèi)容,區(qū)分得清清楚楚、明明白白,以便大家能夠非常明確地了解各知識點之間的關聯(lián)關系和界限。本節(jié)將講述一種在人工智能領域中被視為“泰斗絕學”的方法,幫助我們高效地完成模型訓練——這項絕學就是“遷移學習”。
遷移學習
正如我們在本章中已經(jīng)看到的那樣,使用卷積操作來提取特征是識別圖像內(nèi)容的一個強大工具。生成的特征圖可以輸入到神經(jīng)網(wǎng)絡的密集層中,與標簽匹配,從而更準確地確定圖像的內(nèi)容。通過這種方法,結合一個簡單、易于訓練的神經(jīng)網(wǎng)絡和一些圖像增強技術,我們構建了一個模型,在非常小的數(shù)據(jù)集上訓練時,能夠以80-90%的準確率區(qū)分馬和人。
圖 3-14. 卷積神經(jīng)網(wǎng)絡架構
但是我們可以通過一種叫做遷移學習的方法進一步改進我們的模型。遷移學習的理念很簡單:與其從零開始為我們的數(shù)據(jù)集學習一組濾波器,為什么不使用一個在更大數(shù)據(jù)集上學習到的濾波器集合呢?該數(shù)據(jù)集包含了比我們自己“從零開始構建”所能負擔得起的更多特征。我們可以將這些濾波器放入我們的網(wǎng)絡中,然后使用這些預學習的濾波器訓練一個適合我們數(shù)據(jù)的模型。例如,我們的馬或人數(shù)據(jù)集只有兩個類別,而我們可以使用一個已經(jīng)為一千個類別預訓練過的現(xiàn)有模型,但到某個階段我們不得不舍棄部分已有的網(wǎng)絡結構,添加適合兩分類的層來構建分類器。
圖 3-15. 通過遷移學習從另一個架構中獲取層
當我們考慮到,一旦這些層被訓練好,它們實際上只是一些數(shù)字,表示濾波器的值、權重和偏置,配合一個已知的架構(每層濾波器的數(shù)量、濾波器的大小等),那么重用它們的想法就非常直接了當了。
讓我們看看代碼中的實現(xiàn)。這方面有很多預訓練的模型可以使用。我們將使用來自谷歌的流行模型Inception的第3版,它在一個名為ImageNet的數(shù)據(jù)庫中用超過一百萬張圖片進行了訓練。該模型有幾十層,可以將圖像分類為一千個類別。一個包含預訓練權重的已保存模型也已經(jīng)可以使用。要使用它,我們只需下載這些權重,創(chuàng)建一個Inception V3架構的實例,然后將這些權重加載到這個架構中,代碼如下:
圖 3-16. 使用遷移學習訓練馬或人分類器
這里的結果比我們之前的模型要好得多,但你可以繼續(xù)進行微調和改進。你還可以試試這個模型在更大數(shù)據(jù)集上的表現(xiàn),比如Kaggle上著名的貓狗大戰(zhàn)(Dogs vs. Cats)。這是一個非常多樣化的數(shù)據(jù)集,包含了25,000張貓和狗的圖片,很多圖片中的主體都有一定遮擋——比如被人抱著的情況下。
使用之前的同樣算法和模型設計,你可以在Colab上訓練一個貓狗分類器,利用GPU每個周期大約3分鐘。訓練20個周期,大約需要1小時。
在測試一些非常復雜的圖片時(如圖3-17所示),這個分類器全都判斷正確。我特意選擇了一張長著像貓耳朵的狗的圖片,還有一張背對著的狗的圖片。另外兩張貓的圖片也都是非典型的。
圖 3-17. 成功分類的非典型貓狗圖片
右下角的那只貓,閉著眼睛、耳朵下垂、伸著舌頭舔爪子,把它加載到模型中時,得到了圖3-18中的結果。你可以看到,它給出了一個非常低的值(4.98 × 10???),這表明網(wǎng)絡幾乎可以確定它是一只貓!
圖 3-18. 分類舔爪子的貓
你可以在作者的一個GitHub倉庫中找到馬或人分類器以及貓狗分類器的完整代碼。
本節(jié)我們介紹了使用“遷移學習”的方法來完成模型訓練,省去了繁瑣的前期訓練過程,通過遷移已有知識并結合少量數(shù)據(jù)進行微調即可實現(xiàn)模型的適應性。這種方法是通用的,適用于小型神經(jīng)網(wǎng)絡,同樣也適用于如2024年Facebook的開源大型語言模型Llama等知名大模型。在這些預訓練模型的基礎上,遷移學習可以有效節(jié)省大量GPU資源的預訓練成本。下一節(jié)我們要講解的也是人工智能模型訓練中的很重要的技能“隨機失活”法。
小編推薦閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權,請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)