連體網絡的 One-Shot 學習 [用於面部識別]

已發表: 2021-02-08

以下文章討論了使用 One-shot 學習的必要性及其變化和缺點。

首先,為了訓練任何深度學習模型,我們需要大量數據,以便我們的模型有效地執行所需的預測或分類任務。 例如,從圖像中檢測狗需要您在成百上千張狗和非狗圖像上訓練神經網絡模型,以便準確地區分其中一個。 但是,如果在一個或很少的訓練數據上進行訓練,這個神經網絡模型將無法工作。

由於缺乏數據,在不同層提取相關特徵變得困難。 該模型將無法在不同類別之間很好地概括,從而影響其整體性能。

舉個例子,以機場的面部識別為例。 在這種情況下,我們無權訓練我們的模型,該模型包含每個人的成百上千張包含不同表情、背景照明等的圖像。 每天有成千上萬的乘客到達,這是一項不可能完成的任務! 此外,存儲如此大量的數據會增加成本。

為了解決上述問題,我們使用一種技術,可以通過一個或幾個示例來完成分類或分類任務,從而對許多新示例進行分類。 這種技術稱為一次性學習。

近年來,One-shot 學習技術被廣泛用於面部識別和護照檢查。 使用的概念是-模型輸入 2 張圖像; 一個是護照上的圖像,另一個是看相機的人的圖像。 然後模型輸出一個值,該值是 2 個圖像之間的相似度。 如果輸出的值很低,那麼這兩個圖像是相似的,否則它們是不同的。

目錄

連體網絡

用於 One-shot 學習的架構稱為連體網絡。 該架構包括兩個並行的神經網絡,每個神經網絡採用不同的輸入。 模型的輸出是一個值或相似性指數,它指示兩個輸入圖像是否相似。 低於預定義閾值的值對應於兩個圖像之間的高相似性,反之亦然。

當圖像通過一系列卷積層、最大池化層和全連接層時,我們實現的是一個對圖像特徵進行編碼的向量。 這裡因為我們輸入了兩個圖像,所以將生成包含輸入圖像特徵的兩個向量。 我們所說的值是兩個特徵向量之間的距離,可以通過找到兩個向量之間差異的範數來計算。

三元組損失函數

顧名思義,為了訓練模型,我們需要三張圖像——一張錨 (A) 圖像、一張正 (P) 圖像和一張負 (N) 圖像。 由於可以向模型提供兩個輸入,因此給出了具有正圖像或負圖像的錨圖像。 該模型以錨圖像和正圖像之間的距離小而錨圖像和負圖像之間的距離大的方式學習參數。

如果 A 和 N 之間的距離較小或 A 和 P 之間的距離較大,則建設性損失函數會懲罰模型,而當 A 和 N 之間的距離較大且 A 和 P 之間的距離較小時,它會鼓勵模型或學習特徵。

為了更多地了解錨點、正面和負面圖像,讓我們考慮前面在機場的例子。 在這種情況下,錨點圖像將是您看著相機時的圖像,正圖像將是您護照照片上的圖像,而負圖像將是機場乘客的隨機圖像。

每當我們訓練一個 Siaseme 網絡時,我們都會為其提供 APN trios(錨點、正面和負面)圖像。 創建這個數據集要容易得多,並且需要更少的圖像來訓練。

One-shot 學習的局限性

one-shot learning 仍然是一種成熟的機器學習算法,並且確實存在一些局限性。 例如,如果輸入圖像有一些修改(戴帽子的人、太陽鏡等),該模型將無法正常工作。 此外,為一個應用程序訓練的模型不能推廣到另一個應用程序。

繼續讓我們看看 One-shot 學習的一些變體,其中包括 Zero-shot 學習和 Few-shot 學習。

零樣本學習

零樣本學習是模型識別新的或未見過的標記數據的能力,同時接受已見數據的訓練並了解新數據或未見數據的語義特徵。 例如,一個看過貓的孩子可以通過其獨特的特徵來識別它。 此外,如果孩子知道狗的吠聲,並且比貓具有更堅實的特徵,那麼孩子在識別狗方面也沒有問題。

總而言之,我們可以說 ZSL 識別功能的方式考慮了已見類的標記訓練集以及關於每個未見類如何在語義上與已見類相關的知識。

N-shot 學習

顧名思義,在 N 個鏡頭學習中,我們將有每個類別的 n 個標記數據可用於訓練。 該模型在 K 個類別上進行訓練,每個類別包含 n 個標記數據。 在提取相關特徵和模式後,模型必須將新的未標記圖像分類到 K 類之一。 他們使用匹配網絡,該網絡在基於最近鄰的方法上工作,完全端到端訓練。

結論

總之,One-shot 學習領域及其對應領域在解決一些具有挑戰性的問題方面具有巨大的潛力。 雖然,作為一個相對較新的研究領域,它正在快速發展,研究人員正在努力彌合機器和人類之間的差距。

至此,本文到此結束,希望您喜歡閱讀。

如果您有興趣了解有關機器學習的更多信息,請查看 IIIT-B 和 upGrad 的機器學習和人工智能 PG 文憑,該文憑專為工作專業人士設計,提供 450 多個小時的嚴格培訓、30 多個案例研究和作業、IIIT- B 校友身份、5 個以上實用的實踐頂點項目和頂級公司的工作協助。

從世界頂級大學學習ML 課程獲得碩士、Executive PGP 或高級證書課程以加快您的職業生涯。

引領人工智能驅動的技術革命

申請機器學習和自然語言處理高級證書課程