人工智慧遷移學習如何工作 在AI模型和培訓過程起到那些作用

AIBigbull2050發表於2020-07-24


如今,人工智慧程式可以識別照片和影片中的面部和物體,實時轉錄音訊,提前數年透過X射線掃描檢測癌症,並在某些最複雜的遊戲中與人類競爭。

直到幾年前,所有這些挑戰要麼被認為是無法克服的,幾十年之遙,要麼已經以次優的結果得以解決。但是神經網路和深度學習的進步是人工智慧的一個分支,在過去幾年中非常流行,它幫助計算機解決了這些問題以及許多其他複雜問題。

不幸的是,深度學習模型從頭開始建立時,需要訪問大量資料和計算資源。這是許多人買不起的奢侈品。而且,訓練深度學習模型來執行任務需要很長時間,這不適合時間預算短的用例。幸運的是,轉移學習是一種使用從一種訓練有素的AI模型獲得的知識到另一種知識的學科,可以幫助解決這些問題。



訓練深度學習模型的成本

深度學習是機器學習的子集,是透過訓練示例開發AI的科學。但是直到最近幾年,由於效率低下,它們在很大程度上已被AI社群駁回。在過去的幾年中,大量資料和計算資源的可用性使神經網路備受關注,並使開發能夠解決現實世界問題的深度學習演算法成為可能。

要訓練深度學習模型,您基本上必須為神經網路提供大量帶註釋的示例。這些示例可以是諸如標有物體的影像或患者的乳房X線照片掃描及其最終結果之類的東西。神經網路將仔細分析和比較影像,並開發數學模型來表示相似類別影像之間的重複模式。

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

但是,訓練深度學習模型還需要訪問非常強大的計算資源。開發人員通常使用CPU,GPU叢集或專用硬體(例如Google的Tensor處理器(TPU))來高效地訓練神經網路。購買或租用此類資源的成本可能超出單個開發人員或小型組織的預算。而且,對於許多問題,沒有足夠的示例來訓練強大的AI模型。


轉移學習使深度學習培訓的要求大大降低

假設AI工程師想要建立影像分類器神經網路來解決特定問題。工程師無需收整合千上萬的影像,而可以使用諸如ImageNet之類的公共可用資料集,並使用特定領域的照片對其進行增強。

但是AI工程師仍然必須付出高昂的費用來租用透過神經網路執行這些數百萬個影像所需的計算資源。這是轉移學習發揮作用的地方。轉移學習是透過微調先前受過訓練的神經網路來建立新AI模型的過程。

開發人員無需從頭開始訓練他們的神經網路,而是可以下載經過預先訓練的開源深度學習模型,並根據自己的目的對其進行微調。有許多預訓練的基本模型可供選擇。流行的示例包括AlexNet,Google的Inception-v3和Microsoft的ResNet-50。這些神經網路已經在ImageNet資料集上進行了訓練。AI工程師只需要透過使用他們自己的特定領域的示例對它們進行進一步的培訓來增強它們。

轉移學習不需要大量的計算資源。在大多數情況下,一臺臺式計算機或一臺膝上型電腦可以在幾個小時甚至更少的時間內對預訓練的神經網路進行微調。



轉移學習如何工作

有趣的是,神經網路以分層方式發展其行為。每個神經網路都由多層組成。訓練後,調整每個圖層以檢測輸入資料中的特定特徵。

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

人工智慧遷移學習如何工作 在AI模型和培訓過程起到那些作用

神經網路的頂層檢測一般特徵。更深的層檢測實際物件(來源:arxiv.org)

在進行遷移學習時,AI工程師凍結了預訓練神經網路的第一層。這些是檢測所有域共有的常規功能的層。然後他們微調更深的層,以使用自己的示例對它們進行微調,並新增新層以對訓練資料集中包含的新類別進行分類。

經過預先訓練和微調的AI模型也分別稱為“教師”模型和“學生”模型。

凍結層和微調層的數量取決於源AI模型和目標AI模型之間的相似性。如果學生AI模型解決了非常接近老師的問題,則無需微調預訓練模型的各個層次。開發人員僅需在網路末端新增一個新層,併為新類別訓練AI。這稱為“深層特徵提取”。當目標域的訓練資料很少時,深度特徵提取也更可取。

當源與目的地之間存在相當大的差異,或者培訓示例很多時,開發人員將凍結預訓練的AI模型中的幾層。然後,他們新增新的分類層,並使用新示例微調未凍結的層。這稱為“中間層特徵提取”。

如果源AI模型和目標AI模型之間存在顯著差異,則開發人員將取消凍結並重新訓練整個神經網路。這種稱為“完整模型微調”的轉移學習還需要大量的訓練示例。

圖片來源:芝加哥大學

採取預訓練的模型並重新訓練其所有層似乎是荒謬的。但實際上,它可以節省時間和計算資源。在訓練之前,神經網路中的變數將使用隨機數進行初始化,並在處理訓練資料時調整其值。預訓練神經網路的變數值已被調整為數百萬個訓練示例。因此,它們對於新的AI模型來說是一個更好的起點,該模型想要訓練一組與源AI模型甚至有一點相似之處的新示例。



轉移學習不是靈丹妙藥

轉移學習解決了以有效且負擔得起的方式訓練AI模型的許多問題。但是,它也需要權衡。如果預訓練的神經網路存在安全漏洞,則AI模型會使用它作為遷移學習的基礎,並繼承這些漏洞。

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

此外,在某些領域,例如教AI玩遊戲,遷移學習的使用非常有限。這些AI模型接受了強化學習的訓練,強化學習是AI的一個分支,它是計算密集型的,並且需要大量的反覆試驗。在強化學習中,大多數新問題都是獨特的,需要他們自己的 。

但總而言之,對於大多數深度學習應用程式(例如影像分類和自然語言處理),您很有可能可以透過大量的巧妙的遷移學習來獲取捷徑。


【編輯推薦】



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2706696/,如需轉載,請註明出處,否則將追究法律責任。

相關文章