一文讀懂計算機視覺中的深度域適應
全文共 4378 字,預計學習時長 8 分鐘
在過去十年裡,人們在計算機視覺領域取得了巨大進步。這一進展主要歸功於卷積神經網路(CNNs)。如果使用高質量帶有註釋的訓練資料進行訓練,卷積神經網路可以進行非常精確的預測。例如,在分類設定中,通常可以使用其中一種標準化網路體系架構(ResNet,VGG等),並使用資料集對其進行訓練,其結果可能表現優異。
另一方面,如果你沒有為其特定問題提供龐大的手動註釋資料集,卷積神經網路還能夠通過遷移學習,利用其他為解決類似問題而訓練過的網路。在這種情況下,你可以採用在大型資料集上預先訓練的網路,並使用自己的小型註釋資料集調整某些上層模組。
兩種方法都設定訓練資料(無論其大小)代表了潛在分佈。但是,如果測試時輸入的資料與訓練資料有明顯的不同,那麼可能就無法很好地執行模型。例如,假設一名自動駕駛汽車工程師,想要對汽車攝像頭拍攝的影象進行分割,以便了解前方的情況(包括建築物、樹木、其他車輛、行人、交通訊號燈等)。這名工程師可以為他在紐約市的資料集提供良好的人工生成的註釋,並使用這些註釋訓練大型網路。如果在曼哈頓的街道上測試其自動駕駛汽車,那麼系統能運轉良好。而如果之後在巴黎測試相同的系統,好像突然間就會出現問題。汽車無法再檢測到交通訊號燈,每輛汽車看起來差異巨大(巴黎沒有黃色計程車),街道看上去也不是筆直的。
在這些情況下,模型的表現不佳,其原因在於問題域已發生了更改。在這種特殊情況下,在任務域(即分類)保持不變時,資料輸入的域發生了變化。在其他情況下,人們可能想要使用來自同一域的資料(針對相同的潛在分佈)來完成新任務。
同樣,輸入域和任務域可能同時存在差異。在這些案例中,領域適應能給人帶來幫助。領域適應是機器學習的子學科,處理在不同(但相關的)目標分佈的背景下使用在資訊源分佈上訓練的模型。一般而言,領域適應使用一個或多個源域中的標記資料來解決目標域中的新任務。因此,源域和目標域之間的相關性水平通常決定了領域適應的成功程度。
目前有多種領域適應方法。在“淺層”(非深度)領域適應中,通常會用兩種方法:重新測量源樣本並對重新測量重的樣本進行訓練,並嘗試學習共享空間以配合源資料集和目標資料集的分佈。雖然這些技術也可以在深度學習的背景下進行應用,但深度神經網路(DNNs)所學的深度特徵通常會產生更多可進行遷移的標誌(通常在較淺層中學習可轉移度高的特徵,而較高層中的可轉移性急劇下降)。在深度域適應中,我們嘗試使用深度神經網路的這個屬性。
域適應類別
以下總結主要基於Wang等人的綜述論文,以及威爾遜等人的綜述。在該文章中,作者根據任務的複雜程度,將標記/未標記資料量以及輸入特徵空間的差異,對不同型別的領域適應進行區分。他們明確域適應的定義問題,在於任務空間相同,而僅在輸入域散度中存在差異。基於該定義,域適應即可以是同構的(輸入特徵空間相同,但具有不同的資料分佈),也可以是異構的(特徵空間及其維度均有不同)。
域適應也可以在一個步驟(一步式域適應)中發生,或者通過多個步驟發生,遍歷過程中的一個或多個域(多步式域適應)。在這篇文章中,筆者將只討論一步式領域適應,因為這是最常見的領域適應型別。
基於從目標域中獲得的資料,領域適應可以進一步分類為監督式(確實有來自目標域的標記資料,然而對於訓練整個模型來說太小了),半監督式(同時擁有標記資料和未標記資料)和無監督式(沒有來自目標域的任何標記資料)。
任務相關性
如何確定在源域中訓練的模型是否能夠適應目標域?事實證明,這個問題並不容易解答,任務相關性仍然是人們積極研究的話題。如果人們使用相同的特徵來做出決定,可以定義這兩個任務是相似的。另外一種可能性是,如果它們的引數向量(即分類邊界)相似,則可以定義這兩個任務也是相似的(參考Xue等人的論文)。另一方面,大衛·本等人認為,如果通過使用一組轉換值F,可以從固定的概率分佈中生成兩個任務的資料,則這兩個任務和F是相關的。
儘管有這些理論思考,但實際上,讀者可能需要在自己的資料集上嘗試領域適應,以檢視是否可以通過使用源任務中的模型,幫助完成目標任務。一般而言,可以通過簡單的推理來確定任務相關性,例如,在不同視角或不同照明條件下觀察影象,或是在醫學領域中,不同裝置下觀察影象等。
一步式領域適應的技術和應用
一步式域適應有三種基本技術:
· 基於差異的域適應;
· 使用生成模型(GANs)或使用域混淆損失進行對抗式的域適應,以及
· 使用棧式自動編碼器(SAE)或生成模型重建域適應。
基於分歧的域適應
基於發散的域適應通過最小化源和目標資料分佈之間的一些發散標準來工作,從而實現域不變特徵表示。如果找到這樣的特徵表示,則分類器便能夠同時在兩個域上執行良好。當然,首先需要假設存在這樣的表示,才能反過來假設任務以某種方式相關。
四種最常用的散度式度量分別是最大均值差異(MMD)、相關性對齊(CORAL)、對比域差異(CCD)和Wasserstein度量。
最大均值差異是一種假設檢驗,通過比較特徵的平均值並將其對映到再生核希爾伯特空間(RKHS)後,檢驗兩個樣本是否來自同一分佈。如果平均值不同,則分佈也可能不同。一般通過使用核心嵌入技巧,並使用高斯核比較樣本來完成檢驗。可以這麼說,如果兩個分佈相同,則來自每個分佈的樣本之間的平均(平均值)相似性,應該等於來自兩個分佈的混合樣本之間的平均相似性。Rozantsev等人的文章中,就在領域適應中使用了最大均值差異。在本文中,雙流架構使用的權重不會共享,但通過使用分類,正則化和域差異(MMD)損失的組合,會產生相似的特徵表示。如下圖所示。
因此,該設定可以是監督式的,半監督式的或甚至是無監督式的(目標域中沒有分類丟失)。
CORAL(link)類似於MMD,但它嘗試均衡源分佈和目標分佈的二階統計量(統計),而不是使用線性變換的均值。Sun等人撰寫的文章,通過使用源和目標協方差矩陣之間的Frobenius範數構造可區分的CORAL損失,在深度學習的背景下使用CORAL。
以MMD為基礎,CCD也能利用標籤分佈檢視條件分佈。這可以確保聯合域特徵仍然保留標籤的預測性。最小化CCD可最大限度地減少類內差異,同時最大化類間差異,這需要源域和目標域的標籤。為了擺脫這種束縛,Kang等人建議,在迭代過程中使用聚類來預估缺失的目標標籤,該迭代過程能聯合優化目標標籤和特徵表示。因此,通過聚類能找到目標標籤,最小化CCD,從而適應這些特徵。
最後,通過考慮最優傳輸問題及其相應距離——Wasserstein距離,來均衡源域和目標域中的特徵分佈和標籤分佈。這是在DeepJDOT(Damodaran等人)中提出的。作者建議通過最佳運輸模型,來最小化聯合深層特徵表示與標籤之間的差異。
基於對抗的域適應
該技術試圖通過使用對抗訓練來實現域適應。
一種方法是使用生成式對抗網路(GAN)生成以某種方式與源域相關的合成目標資料(例如通過保留標籤)。然後將這些合成資料用於訓練目標模型。
為實現這一點,CoGAN模型 CoGAN model試圖通過對源分佈和目標分佈使用兩對生成器/鑑別器,分享生成器和鑑別器的一些權重以學習域不變特徵空間。通過這種方式,可以生成標記的目標資料,該資料能夠進一步用於諸如分類的任務中。
在另一個裝置中,Yoo等人嘗試通過使用兩個鑑別器來學習源/目標轉換器網路:一個用於確保目標資料是真實的,另一個用於保證源域和目標域之間的相關性。因此,生成器以源資料作為條件。此方法僅需要目標域中的未標記資料。
除了用於當前任務的分類損失之外,如果人們用到所謂的域混淆損失,也可以完全擺脫生成器,並一次性執行域適應。域混淆損失類似於GAN中的鑑別器,因為它試圖匹配源域和目標域的分佈,以便“混淆”高階分類層。有關這種網路最著名的例子,可能是Ganin等人的深度重建分類網路(DANN)。該網路由兩個損失組成,即分類丟失和域混淆丟失。它包含一個梯度反轉層以匹配特徵分佈。通過最小化源樣本的分類損失和所有樣本的域混淆損失(同時最大化特徵提取的域混淆損失),這確保了樣本對於分類器而言是無法相互區分的。
基於重建的域適應
此方法使用輔助重建任務為每個域建立共享表示。例如,深度重建分類網路(DRCN)試圖同時解決這兩個任務:(i)源資料的分類,以及(ii)重建未標記的目標資料。這確保了網路學習不僅可以正確地進行區分,還可以保留有關目標資料的資訊。在本文中,作者還提到重建管道學習,將源影象轉換為類似於目標資料集的影象,這表明兩者都學習了一個共同的表示。
使用CycleGANs是另一種可能性。Cycle GAN的靈感來自機器翻譯中的雙重學習概念。該概念同時訓練兩個相反的語言翻譯器(A-B,B-A)。迴圈中的反饋訊號由相應的語言模型和雙語互譯質量評估(BLEU)分陣列成。使用im2im框架的影象同樣能做到。在一篇文章的介紹中,網路學習從一個影象域到另一個影象域的對映,而不使用任何配對的影象樣本。這是通過同時訓練兩個GAN,分別在兩個域中生成影象。為確保一致性,引入使用迴圈一致性損失。這確保了一個域到另一個域的轉換與返回,能生成與輸入大致相同的影象。因此,兩個配對網路的損失是兩個鑑別器的GAN損失和週期一致性損失的總和。
最後,生成式對抗網路還可以通過調節來自另一個域的影象上的輸入,來用於編碼器 - 解碼器設定。在Isola等人的論文中,通過調節鑑別器的輸入和發生器的輸出,條件性GANs能用來將影象從一個域轉換到另一個域。簡單的編碼器 - 解碼器架構,或者能跳過連線的U-Net架構都能實現這一點。
深度域適應讓人們將源任務上的特定深度神經網路上所學習的知識,傳遞給新的相關目標任務。深度域適應已成功應用於影象分類或風格轉移等任務。在某種意義上,根據新的特定計算機視覺任務所需的訓練資料量,深度域適應的功能表現更接近於人類智慧。因此,筆者認為這一領域的進展,對於計算機視覺整個領域而言至關重要,筆者希望,深度域適應最終能引領人們在視覺任務中重用有效而簡單的知識。
https://www.toutiao.com/a6719665971792970253/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2652414/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 計算機視覺中的深度學習計算機視覺深度學習
- 一文輕鬆讀懂計算機病毒計算機
- 深度學習在計算機視覺各項任務中的應用深度學習計算機視覺
- 計算機視覺與深度學習應用關係計算機視覺深度學習
- 計算機視覺應用:深度學習的力量和侷限性計算機視覺深度學習
- 超全!深度學習在計算機視覺領域應用一覽(附連結)深度學習計算機視覺
- 【Python教程】計算機視覺的基石——讀懂 CNN卷積神經網路Python計算機視覺CNN卷積神經網路
- 計算機視覺與深度學習公司計算機視覺深度學習
- 史丹佛—深度學習和計算機視覺深度學習計算機視覺
- 基於深度學習的計算機視覺應用之目標檢測深度學習計算機視覺
- HuggingFace在NLP和計算機視覺中的應用 - Reddit計算機視覺
- 計算機視覺中的注意力機制計算機視覺
- 淺談深度學習的技術原理及其在計算機視覺的應用深度學習計算機視覺
- 8個計算機視覺深度學習中常見的Bug計算機視覺深度學習
- ? 一文讀懂兩臺計算機之間是如何通訊的計算機
- Hugging Face 中計算機視覺的現狀Hugging Face計算機視覺
- 拜讀為什麼深度學習幾乎成了計算機視覺研究的標配深度學習計算機視覺
- 一文帶你讀懂網路視覺化技術視覺化
- 超級乾貨 :一文讀懂資料視覺化視覺化
- 如何理解神經網路空間,深度學習在計算機視覺中的應用有哪些?神經網路深度學習計算機視覺
- 一文讀懂大資料實時計算大資料
- Pytorch計算機視覺實戰(更新中)PyTorch計算機視覺
- 一文讀懂一臺計算機是如何把資料傳送給另外一臺計算機的計算機
- 一文讀懂一臺計算機是如何把資料傳送給另一臺計算機的計算機
- 一文讀懂深度學習中的矩陣微積分深度學習矩陣
- iOS計算機視覺—ARKitiOS計算機視覺
- 計算機視覺論文集計算機視覺
- 一文讀懂物聯網和邊緣計算
- 一文讀懂基於DL的無人駕駛視覺感知系統的應用場景視覺
- 深度學習很難?一文讀懂深度學習!深度學習
- 一文讀懂機器學習中的貝葉斯統計學機器學習
- 一文讀懂機器學習中的模型偏差機器學習模型
- 來了解下計算機視覺的八大應用計算機視覺
- 計算機視覺中的影像標註工具總結計算機視覺
- 計算機視覺技術在物聯網中的發展與應用計算機視覺
- IDC:中國計算機視覺行業應用的現狀、挑戰與契機計算機視覺行業
- 【深度學習】:一門入門3D計算機視覺深度學習3D計算機視覺
- 計算機視覺—影象特效(3)計算機視覺特效