人工智能遷移學(xué)習(xí)如何工作 在AI模型和培訓(xùn)過程起到那些作用

今日頭條-AI國際站
今日頭條-AI國際站
在進(jìn)行遷移學(xué)習(xí)時,AI工程師凍結(jié)了預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的第一層。這些是檢測所有域共有的常規(guī)功能的層。然后他們微調(diào)更深的層,以使用自己的示例對它們進(jìn)行微調(diào),并添加新層以對訓(xùn)練數(shù)據(jù)集中包含的新類別進(jìn)行分類。

如今,人工智能程序可以識別照片和視頻中的面部和物體,實時轉(zhuǎn)錄音頻,提前數(shù)年通過X射線掃描檢測癌癥,并在某些最復(fù)雜的游戲中與人類競爭。

直到幾年前,所有這些挑戰(zhàn)要么被認(rèn)為是無法克服的,幾十年之遙,要么已經(jīng)以次優(yōu)的結(jié)果得以解決。但是神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的進(jìn)步是人工智能的一個分支,在過去幾年中非常流行,它幫助計算機(jī)解決了這些問題以及許多其他復(fù)雜問題。

不幸的是,深度學(xué)習(xí)模型從頭開始創(chuàng)建時,需要訪問大量數(shù)據(jù)和計算資源。這是許多人買不起的奢侈品。而且,訓(xùn)練深度學(xué)習(xí)模型來執(zhí)行任務(wù)需要很長時間,這不適合時間預(yù)算短的用例。幸運(yùn)的是,轉(zhuǎn)移學(xué)習(xí)是一種使用從一種訓(xùn)練有素的AI模型獲得的知識到另一種知識的學(xué)科,可以幫助解決這些問題。

訓(xùn)練深度學(xué)習(xí)模型的成本

深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的子集,是通過訓(xùn)練示例開發(fā)AI的科學(xué)。但是直到最近幾年,由于效率低下,它們在很大程度上已被AI社區(qū)駁回。在過去的幾年中,大量數(shù)據(jù)和計算資源的可用性使神經(jīng)網(wǎng)絡(luò)備受關(guān)注,并使開發(fā)能夠解決現(xiàn)實世界問題的深度學(xué)習(xí)算法成為可能。

要訓(xùn)練深度學(xué)習(xí)模型,您基本上必須為神經(jīng)網(wǎng)絡(luò)提供大量帶注釋的示例。這些示例可以是諸如標(biāo)有物體的圖像或患者的乳房X線照片掃描及其最終結(jié)果之類的東西。神經(jīng)網(wǎng)絡(luò)將仔細(xì)分析和比較圖像,并開發(fā)數(shù)學(xué)模型來表示相似類別圖像之間的重復(fù)模式。

已經(jīng)存在一些大型的開源數(shù)據(jù)集,例如ImageNet(一個包含22000個類別的超過1400萬張圖像的數(shù)據(jù)庫)和MNIST(一個包含60000個手寫數(shù)字的數(shù)據(jù)集)。AI工程師可以使用這些資源來訓(xùn)練他們的深度學(xué)習(xí)模型。

但是,訓(xùn)練深度學(xué)習(xí)模型還需要訪問非常強(qiáng)大的計算資源。開發(fā)人員通常使用CPU,GPU集群或?qū)S糜布?例如Google的Tensor處理器(TPU))來高效地訓(xùn)練神經(jīng)網(wǎng)絡(luò)。購買或租用此類資源的成本可能超出單個開發(fā)人員或小型組織的預(yù)算。而且,對于許多問題,沒有足夠的示例來訓(xùn)練強(qiáng)大的AI模型。

轉(zhuǎn)移學(xué)習(xí)使深度學(xué)習(xí)培訓(xùn)的要求大大降低

假設(shè)AI工程師想要創(chuàng)建圖像分類器神經(jīng)網(wǎng)絡(luò)來解決特定問題。工程師無需收集成千上萬的圖像,而可以使用諸如ImageNet之類的公共可用數(shù)據(jù)集,并使用特定領(lǐng)域的照片對其進(jìn)行增強(qiáng)。

但是AI工程師仍然必須付出高昂的費用來租用通過神經(jīng)網(wǎng)絡(luò)運(yùn)行這些數(shù)百萬個圖像所需的計算資源。這是轉(zhuǎn)移學(xué)習(xí)發(fā)揮作用的地方。轉(zhuǎn)移學(xué)習(xí)是通過微調(diào)先前受過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)來創(chuàng)建新AI模型的過程。

開發(fā)人員無需從頭開始訓(xùn)練他們的神經(jīng)網(wǎng)絡(luò),而是可以下載經(jīng)過預(yù)先訓(xùn)練的開源深度學(xué)習(xí)模型,并根據(jù)自己的目的對其進(jìn)行微調(diào)。有許多預(yù)訓(xùn)練的基本模型可供選擇。流行的示例包括AlexNet,Google的Inception-v3和Microsoft的ResNet-50。這些神經(jīng)網(wǎng)絡(luò)已經(jīng)在ImageNet數(shù)據(jù)集上進(jìn)行了訓(xùn)練。AI工程師只需要通過使用他們自己的特定領(lǐng)域的示例對它們進(jìn)行進(jìn)一步的培訓(xùn)來增強(qiáng)它們。

轉(zhuǎn)移學(xué)習(xí)不需要大量的計算資源。在大多數(shù)情況下,一臺臺式計算機(jī)或一臺筆記本電腦可以在幾個小時甚至更少的時間內(nèi)對預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)進(jìn)行微調(diào)。

轉(zhuǎn)移學(xué)習(xí)如何工作

有趣的是,神經(jīng)網(wǎng)絡(luò)以分層方式發(fā)展其行為。每個神經(jīng)網(wǎng)絡(luò)都由多層組成。訓(xùn)練后,調(diào)整每個圖層以檢測輸入數(shù)據(jù)中的特定特征。

例如,在圖像分類器卷積網(wǎng)絡(luò)中,前幾層檢測一般特征,例如邊緣,拐角,圓形和顏色斑點。隨著您深入網(wǎng)絡(luò),這些層開始檢測更具體的事物,例如眼睛,面部和完整的物體。

在進(jìn)行遷移學(xué)習(xí)時,AI工程師凍結(jié)了預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的第一層。這些是檢測所有域共有的常規(guī)功能的層。然后他們微調(diào)更深的層,以使用自己的示例對它們進(jìn)行微調(diào),并添加新層以對訓(xùn)練數(shù)據(jù)集中包含的新類別進(jìn)行分類。

經(jīng)過預(yù)先訓(xùn)練和微調(diào)的AI模型也分別稱為“教師”模型和“學(xué)生”模型。

凍結(jié)層和微調(diào)層的數(shù)量取決于源AI模型和目標(biāo)AI模型之間的相似性。如果學(xué)生AI模型解決了非常接近老師的問題,則無需微調(diào)預(yù)訓(xùn)練模型的各個層次。開發(fā)人員僅需在網(wǎng)絡(luò)末端添加一個新層,并為新類別訓(xùn)練AI。這稱為“深層特征提取”。當(dāng)目標(biāo)域的訓(xùn)練數(shù)據(jù)很少時,深度特征提取也更可取。

當(dāng)源與目的地之間存在相當(dāng)大的差異,或者培訓(xùn)示例很多時,開發(fā)人員將凍結(jié)預(yù)訓(xùn)練的AI模型中的幾層。然后,他們添加新的分類層,并使用新示例微調(diào)未凍結(jié)的層。這稱為“中間層特征提取”。

如果源AI模型和目標(biāo)AI模型之間存在顯著差異,則開發(fā)人員將取消凍結(jié)并重新訓(xùn)練整個神經(jīng)網(wǎng)絡(luò)。這種稱為“完整模型微調(diào)”的轉(zhuǎn)移學(xué)習(xí)還需要大量的訓(xùn)練示例。

采取預(yù)訓(xùn)練的模型并重新訓(xùn)練其所有層似乎是荒謬的。但實際上,它可以節(jié)省時間和計算資源。在訓(xùn)練之前,神經(jīng)網(wǎng)絡(luò)中的變量將使用隨機(jī)數(shù)進(jìn)行初始化,并在處理訓(xùn)練數(shù)據(jù)時調(diào)整其值。預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的變量值已被調(diào)整為數(shù)百萬個訓(xùn)練示例。因此,它們對于新的AI模型來說是一個更好的起點,該模型想要訓(xùn)練一組與源AI模型甚至有一點相似之處的新示例。

轉(zhuǎn)移學(xué)習(xí)不是靈丹妙藥

轉(zhuǎn)移學(xué)習(xí)解決了以有效且負(fù)擔(dān)得起的方式訓(xùn)練AI模型的許多問題。但是,它也需要權(quán)衡。如果預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)存在安全漏洞,則AI模型會使用它作為遷移學(xué)習(xí)的基礎(chǔ),并繼承這些漏洞。

例如,基本模型可能無法抵抗對抗攻擊,精心設(shè)計的輸入示例會迫使AI以不穩(wěn)定的方式更改其行為。如果惡意行為者設(shè)法為基本模型開發(fā)對抗示例,則他們的攻擊將對從其派生的大多數(shù)AI模型起作用。芝加哥大學(xué),加州大學(xué)圣塔克拉拉分校和Virgina Tech的研究人員在去年Usenix安全研討會上發(fā)表的一篇論文中對此進(jìn)行了說明。

此外,在某些領(lǐng)域,例如教AI玩游戲,遷移學(xué)習(xí)的使用非常有限。這些AI模型接受了強(qiáng)化學(xué)習(xí)的訓(xùn)練,強(qiáng)化學(xué)習(xí)是AI的一個分支,它是計算密集型的,并且需要大量的反復(fù)試驗。在強(qiáng)化學(xué)習(xí)中,大多數(shù)新問題都是獨特的,需要他們自己的 。

但總而言之,對于大多數(shù)深度學(xué)習(xí)應(yīng)用程序(例如圖像分類和自然語言處理),您很有可能可以通過大量的巧妙的遷移學(xué)習(xí)來獲取捷徑。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論