編譯自:towards datascience
作者:Alexander Hirner
來源:機(jī)器人圈
概要:私人、公共、科學(xué)、閑置和不可利用的數(shù)據(jù),可互換性越來越高。
機(jī)器學(xué)習(xí)的未來是非常光明的,為什么這么講?因?yàn)閷?dǎo)致機(jī)器學(xué)習(xí)大發(fā)展的激勵(lì)因素幾乎是一致的——大廠商們熱切地開源各種工具,開始在更快的硬件領(lǐng)域投資,改變他們?cè)然趶V告的商業(yè)模式。那些瘋狂的科學(xué)家們(tinkerers)發(fā)明出了以前聞所未聞的應(yīng)用程序。私人、公共、科學(xué)、閑置和不可利用的數(shù)據(jù),可互換性越來越高。那么我們討論一些實(shí)際的事情吧:我們到底怎樣利用最近機(jī)器學(xué)習(xí)上的提升——那些可用的、預(yù)先訓(xùn)練的機(jī)器學(xué)習(xí)模型呢?
與遷移學(xué)習(xí)相關(guān)的任務(wù)需要一小部分潛在的能力,來區(qū)分不可見的數(shù)據(jù)。例如,無論你彈吉他還是鋼琴,你都會(huì)比沒有玩過這些樂器的人更好地選擇和弦。從機(jī)器學(xué)習(xí)的角度來說,這意味著你可以復(fù)制別人的訓(xùn)練工作,并將其快速應(yīng)用到分類照片。
吳恩達(dá)曾在2016年的神經(jīng)信息處理系統(tǒng)大會(huì)(NIPS2016)上,總結(jié)概括了機(jī)器學(xué)習(xí)的高速發(fā)展。
特別需要說明的是,遷移學(xué)習(xí)在決定機(jī)器學(xué)習(xí)技術(shù)的所有方面都有所改進(jìn)。
人力效率:如果你想要輸出最后的信號(hào),使模型可解釋,易處理,并具有魯棒性,你需要專家。得益于學(xué)術(shù)研究,各種架構(gòu)在相關(guān)任務(wù)中不斷進(jìn)行測(cè)試,爆炸式增長。
計(jì)算效率:目前,以最先進(jìn)的論文而言,在2到8個(gè)GPU的群集上進(jìn)行訓(xùn)練通常大約需要兩周。但是,通過遷移學(xué)習(xí),你可以節(jié)省很多調(diào)整內(nèi)部參數(shù)的過程。
數(shù)據(jù)效率:如果對(duì)大數(shù)據(jù)集進(jìn)行訓(xùn)練,在大多數(shù)情況下,需要更少域的特定數(shù)據(jù)。
遷移學(xué)習(xí)被廣泛用于區(qū)分具體的圖像類別。普渡大學(xué)的Alfredo Canziani和Eugenio Culurciello曾在2016年5月發(fā)表過一篇名為《深度神經(jīng)網(wǎng)絡(luò)模型實(shí)際應(yīng)用分析》的論文,該論文比較了在imagenet數(shù)據(jù)集上計(jì)算時(shí),主要架構(gòu)的計(jì)算效率。
具體來說,根據(jù)你的設(shè)備限制,你可以進(jìn)一步將計(jì)算成本分為訓(xùn)練時(shí)間、推理時(shí)間和內(nèi)存需求。我們需要深入挖掘,給出非常具體的約束。
首先,新的數(shù)據(jù)經(jīng)常出現(xiàn);其次,這些圖像也具有潛在的專有性。因此,再訓(xùn)練過程必須在本地的中層GPU上進(jìn)行,以保證可靠性。從用戶的角度來看,如果在一致的時(shí)間內(nèi)給出一致的結(jié)果,再訓(xùn)練就是可靠的。因此,基線基準(zhǔn)測(cè)試將使用一個(gè)簡單的優(yōu)化方法,有利于收斂的數(shù)據(jù)效率。再其次,每個(gè)預(yù)測(cè)需要幾乎實(shí)時(shí)地發(fā)生,因此我們還要關(guān)注推理時(shí)間。最后,我們關(guān)注圖像(或圖像的一部分)的確切類別作為決策的輸入。這樣,我們將top-1 accuracy考慮在內(nèi)。
現(xiàn)在,為了降低專家的成本,隨著不斷發(fā)展的數(shù)據(jù)集,將計(jì)算時(shí)間與硬性約束相適應(yīng),讓我們研究一下最令人垂涎的工具之一——PyTorch。
為什么PyTorch這么火爆呢?
框架合理完整、簡潔、完全在代碼中定義,并易于調(diào)試。只需要添加一行代碼,就可以從torchvision軟件包加載6種框架:AlexNet、DenseNets、Inception、SqueezeNet和VGG。
圖表中的模型僅在最終層(淺),整個(gè)參數(shù)集(深)或從其初始化狀態(tài)(從零開始)進(jìn)行了再訓(xùn)練。在所有運(yùn)行中,雙K80 GPU大約運(yùn)行在75%。
數(shù)據(jù)顯示,SqueezeNet 1.1是高效的計(jì)算架構(gòu)。因?yàn)橄敕殖稍儆?xùn)練和靜態(tài)層次比較難,所以只是基于淺層再訓(xùn)練模型的結(jié)論太隨意了。例如,VGG13的最終分類器具有8194個(gè)參數(shù),而ResNet34的最終層比較窄,具有1026個(gè)參數(shù)。因此,只有對(duì)學(xué)習(xí)策略的超參數(shù)搜索才能使給定目標(biāo)的比較真正有效。
需要注意的是,在相同訓(xùn)練時(shí)間下,與淺層再訓(xùn)練相比,深層再訓(xùn)練時(shí)間的精確度要低得多。在其他任務(wù)中,其他模型也遇到了相似的事情。從前一個(gè)局部最優(yōu)化的角度來看,更深層次的卷積平均(小誤差梯度)發(fā)生緩慢,并且在比隨機(jī)初始化的情況下更不平滑。因此,參數(shù)可能最終在過渡階段并列。如果未知的特征與原始數(shù)據(jù)不同,這種間歇性混亂應(yīng)該是特別真實(shí)的,下圖就是一個(gè)例子:有時(shí)候有螞蟻靠近,有時(shí)你觀察到整個(gè)蟻群。
因此,事實(shí)上,你可能會(huì)建議提高深層再訓(xùn)練的學(xué)習(xí)率,或者在某種程度上使用規(guī)模不變網(wǎng)絡(luò)
為了評(píng)估由推理和再訓(xùn)練時(shí)間組成的計(jì)算效率,這是一個(gè)很好的開始。如果你想進(jìn)一步提高再訓(xùn)練效率,你可以忽略數(shù)據(jù)增強(qiáng),從未訓(xùn)練層中提取結(jié)果。當(dāng)然,結(jié)論將會(huì)隨著類別數(shù)、前面提到的其他因素,以及其他具體的限制而不同。
編譯自:towards datascience
作者:Alexander Hirner
聯(lián)系客服