<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          零樣本學(xué)習(xí) Zero-Shot Learning 入門

          共 4730字,需瀏覽 10分鐘

           ·

          2020-08-27 02:12

          上一篇介紹了零樣本學(xué)習(xí)的基本概念,本篇來談?wù)劵痉椒ê兔媾R的挑戰(zhàn)。首先通過一個(gè)示例對零樣本學(xué)習(xí)問題有個(gè)更具體的認(rèn)識,然后了解一下兩類基本方法,最后談?wù)劻銟颖緦W(xué)習(xí)問題中遇到的一些挑戰(zhàn)。有了這些內(nèi)容,相信對零樣本學(xué)習(xí)會有一個(gè)較完整的初步印象,為深入理解更多算法細(xì)節(jié)做好準(zhǔn)備。

          ? 圖 0. 現(xiàn)有的 ZSL 方法的基本框架,即在已知類別的數(shù)據(jù)上訓(xùn)練一個(gè)視覺-語義交互模型并將其泛化到未知類別的數(shù)據(jù)上。

          首先看一下零樣本學(xué)習(xí)涉及的主要數(shù)據(jù),

          • 1、已知類:模型訓(xùn)練時(shí)用到的帶類別標(biāo)簽的圖像。
          • 2、未知類:模型測試、訓(xùn)練時(shí)不知道類別標(biāo)簽的圖像。
          • 3、輔助信息:對已知類和未知類圖像的描述/語義屬性/詞嵌入等信息。該信息充當(dāng)了已知類和未知類之間的橋梁。

          已知類和未知類是針對模型來說的,已知類表示模型在訓(xùn)練時(shí)是知道的,用到了它的圖像和類別標(biāo)簽;模型訓(xùn)練時(shí)沒有用到未知類數(shù)據(jù)或者用到了圖像但不涉及它的類別(否則就沒有模型什么事了!)

          1舉例說明

          先來看一個(gè)具體的數(shù)據(jù)樣例 (圖像, 標(biāo)簽, 語義屬性),

          ? 圖 1. 使用屬性向量進(jìn)行語義嵌入的示例。

          在圖 1. 展示的例子中,圖像為 ,類別標(biāo)簽 cat,輔助信息 存儲為一個(gè)由 5 個(gè)元素 (尾巴, 喙, 羽毛, 胡須, 毛茸茸) 組成的向量。貓有尾巴,而且毛茸茸,因此在向量中,對應(yīng)于尾巴和毛茸茸的位子為 1,而在其他位置為 0。

          請注意,在本文中,我們將此向量 稱為類 的語義編碼,因?yàn)樗?strong style="color: rgb(17, 85, 153);">用詞描述類別 。上面顯示的編碼向量稱為屬性向量,它被廣泛用于語義編碼。但是,也可以存在其他類型的語義編碼。此外,從數(shù)學(xué)上講,我們說 ,表示類標(biāo)簽可以取值所有已知類 之一的值,例如 catdog 等。

          同樣,,其中 是所有已知類圖像的集合,而 ,其中 是已知類屬性的集合。

          組織一下,可以寫成,

          上面的表達(dá)式意思為: 已知類數(shù)據(jù)的集合由圖像 、標(biāo)簽 和語義編碼 組成。該圖像是集合 中的圖像之一,標(biāo)簽是來自集合 的標(biāo)簽之一,而編碼來自于集合

          另外還有由 表示的未知類的數(shù)據(jù)集,同樣有,

          其中, 是帶有未知類的圖像集, 是未知類的類別標(biāo)簽集(例如小明找斑馬的例子中的斑馬) 是未知類的屬性集。

          2兩類基本方法

          本文主要介紹兩種基本方法: 基于嵌入的方法和基于生成模型的方法。

          ?基于嵌入的方法

          基于嵌入的方法的主要目標(biāo)是使用投影函數(shù)將圖像特征和語義屬性映射到一個(gè)公共的嵌入空間,該投影函數(shù)是使用深度網(wǎng)絡(luò)學(xué)習(xí)的。共同的嵌入空間可以是視覺特征空間、語義空間或重新學(xué)習(xí)的中介空間。

          大多數(shù)基于嵌入的方法都使用語義空間作為公共嵌入空間。在訓(xùn)練期間,目標(biāo)是使用來自已知類的數(shù)據(jù)學(xué)習(xí)從視覺空間(即圖像特征)到語義空間(即詞向量/語義嵌入)的投影函數(shù)。由于神經(jīng)網(wǎng)絡(luò)可以用作函數(shù)逼近器,因此投影函數(shù)自然可以選用深度網(wǎng)絡(luò)來學(xué)習(xí)。

          在測試階段,將未知類圖像特征輸入到前面訓(xùn)練好的網(wǎng)絡(luò)里,獲得相應(yīng)的語義嵌入。然后在語義屬性空間中進(jìn)行最近鄰搜索,以找到與網(wǎng)絡(luò)輸出最接近的匹配項(xiàng)。最后,將與最接近的語義嵌入相對應(yīng)的標(biāo)簽預(yù)測為輸入圖像特征的輸出標(biāo)簽。

          ? 圖 2. 基于嵌入的零樣本學(xué)習(xí)方法示例圖。

          圖 2. 展示的是基于嵌入的零樣本學(xué)習(xí)方法的流程框圖。首先將輸入圖像通過特征提取器網(wǎng)絡(luò)(通常是深度神經(jīng)網(wǎng)絡(luò)),以獲取圖像的 N 維特征向量。此特征向量充當(dāng)我們主投影網(wǎng)絡(luò)的輸入,而主投影網(wǎng)絡(luò)又輸出 D 維輸出向量。目的是學(xué)習(xí)投影網(wǎng)絡(luò)的權(quán)重/參數(shù),以便從視覺空間中的 N 維輸入映射到語義空間中的 D 維輸出。損失函數(shù)用于度量 D 維輸出與真實(shí)語義屬性之間的誤差。然后就是訓(xùn)練網(wǎng)絡(luò)的權(quán)重,使 D 維輸出盡可能接近真實(shí)語義屬性。

          ?基于生成模型的方法

          基于嵌入的方法的主要缺點(diǎn)是它們存在偏差和域移位的問題。這意味著,由于投影函數(shù)是在訓(xùn)練期間僅使用已知類學(xué)習(xí)得來的,因此它將偏向于將已知類標(biāo)簽作為輸出進(jìn)行預(yù)測。另外,也不能保證學(xué)習(xí)的投影函數(shù)會在測試時(shí)正確地將未知類圖像特征正確地映射到相應(yīng)的語義空間。這是由于這樣一個(gè)事實(shí),即深度網(wǎng)絡(luò)僅在訓(xùn)練過程中學(xué)會了將已知類的圖像特征映射到語義空間,并且可能無法在測試時(shí)對新穎的未知類正確地執(zhí)行相同的操作。

          為了克服這個(gè)缺點(diǎn),有必要讓零樣本分類器在已知類和未知類的所有圖像上訓(xùn)練。由此引出基于生成模型的方法。生成方法旨在為未知類使用語義屬性生成圖像特征。一般是用一個(gè)條件生成對抗網(wǎng)絡(luò)來實(shí)現(xiàn)的,該條件生成對抗網(wǎng)絡(luò)生成以特定類的語義屬性為條件的圖像特征。

          圖 3. 顯示了一個(gè)典型的基于生成模型的零樣本學(xué)習(xí)方法的框圖。與基于嵌入的方法類似,我們使用特征提取網(wǎng)絡(luò)獲取 N 維特征向量。首先,將屬性向量輸入到生成模型中,生成器生成一個(gè)以屬性向量為條件的 N 維輸出向量。訓(xùn)練生成模型,使合成特征向量盡量逼近原始 N 維特征向量。

          ? 圖 3. 使用 GAN 從屬性向量獲取圖像特征

          一旦訓(xùn)練好生成模型,我們將凍結(jié)生成器的參數(shù),并將未知類的屬性向量輸入生成模型,以生成未知類的圖像特征。現(xiàn)在,由于我們有了已知類的圖像特征(從數(shù)據(jù)集中)和未知類的圖像特征(由生成器生成),我們可以訓(xùn)練一個(gè)簡單的分類器,該分類器將圖像特征作為輸入并輸出相應(yīng)的類別標(biāo)簽,如圖 4. 所示。

          ? 圖 4. 使用基于生成模型的方法進(jìn)行零樣本學(xué)習(xí)

          那么問題來了,當(dāng)給模型輸入一張未知類的圖像,模型如何判斷它的類別呢?根據(jù)剛才這個(gè)分類器,得讓模型知道圖像的特征向量才能分類。而生成網(wǎng)絡(luò)是輸入屬性向量,輸出圖像特征,因此是反方向的。那么如何得到圖像的特征向量呢?我們往回看,可以發(fā)現(xiàn)在圖 3. 中有一個(gè)特征提取網(wǎng)絡(luò)。對,就是它了,如圖 5. 所示。

          ? 圖 5. 圖像視覺特征提取網(wǎng)絡(luò)。
          ?小結(jié)

          拿到一張圖像,模型怎么分類?可以想辦法提取出圖像的語義向量或者視覺特征向量,分別對應(yīng)上面的兩種方法: 基于嵌入的方法和基于生成模型的方法。

          有了語義向量,第一種方法在語義空間用最近鄰搜索答案,但是這個(gè)語義空間來自已知類,所以對于識別未知類效果如何會打一個(gè)問號。

          有了生成模型生成的視覺特征向量,第二種方法再訓(xùn)練一個(gè)根據(jù)視覺特征的分類器。那么問題來了,這種方法會有什么問題呢?比如,已知類有很多圖像,都具有可見的圖像特征,而對于未知類來說卻只有語義信息,那么會引發(fā)什么問題呢?

          3算法性能評估指標(biāo)

          大多數(shù)圖像識別模型都使用 Top-1 準(zhǔn)確率作為評估指標(biāo)。但是,用于零樣本識別模型的評估方式與用于普通圖像分類模型的評估方式不同。

          為了評估零樣本學(xué)習(xí)算法的性能,我們改用每類 Top-1 的平均準(zhǔn)確率。用簡單的話來說,這意味著我們分別找到每個(gè)類別的識別準(zhǔn)確率,然后在所有類別上取平均值。這樣的做法就兼顧了稀疏類和密集類。數(shù)學(xué)上,對于具有 N 個(gè)類的一個(gè)類別集合 ,每類 Top-1 的平均準(zhǔn)確率 由下式給出,

          在廣義零樣本學(xué)習(xí)的情況下,我們的目標(biāo)是在 已知類 和 未知類 上均實(shí)現(xiàn)高準(zhǔn)確率。因此,性能指標(biāo)被定義為已知類和未知類上性能的調(diào)和平均值,

          4零樣本學(xué)習(xí)的挑戰(zhàn)

          為了更深入地理解零樣本學(xué)習(xí)的各類方法,需要了解零樣本學(xué)習(xí)到底有哪些挑戰(zhàn)性問題。這些挑戰(zhàn)在決定模型的性能時(shí)起著重要作用。也只有弄清楚了問題所在,才能更好地挑選、使用甚至推動零樣本學(xué)習(xí)方法。

          ?域漂移

          簡而言之,域偏移是指訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)分別來自兩個(gè)不同分布引起的問題。這個(gè)問題在零樣本學(xué)習(xí)中始終發(fā)揮重要作用,模型訓(xùn)練時(shí)遇到的已知類的分布與模型測試時(shí)遇到的未知類的分布并不相同。由于我們的深層網(wǎng)絡(luò)在訓(xùn)練期間僅使用已知類來學(xué)習(xí),因此在測試時(shí)如果碰到來自訓(xùn)練數(shù)據(jù)的分布以外的未知類的話,模型的性能可能會很差。

          舉個(gè)夸張一點(diǎn)的例子,如訓(xùn)練集里面全是動物,而測試集里面全是電子產(chǎn)品,可想而知,這種情況讓零樣本學(xué)習(xí)模型情何以堪。

          ?偏見 Bias

          在零樣本學(xué)習(xí)中,模型在訓(xùn)練過程中只能訪問已知類的 (圖像, 標(biāo)簽) 對,而沒有未知類的圖像可用。這使得模型在測試時(shí)更傾向于將已知類作為預(yù)測結(jié)果,這點(diǎn)對模型來說似乎是與生俱來的。這很關(guān)鍵,尤其是對于廣義 ZSL 來說,因?yàn)樗试S測試圖像可以是來自已知類或者未知類。由于模型偏向于已知類,因此它經(jīng)常將未知類的圖像錯(cuò)誤地判斷為已知類別之一,這顯然會大大降低模型性能。

          ? 圖 6. 模型在語義空間中更偏向于已知類。
          ?跨域知識遷移

          在訓(xùn)練零樣本學(xué)習(xí)模型時(shí),已知類有視覺圖像特征,而對于未知類則只有語義信息。但是,在測試時(shí),我們需要從未知類中識別視覺特征。因此,模型在從語義空間到視覺空間的知識遷移方面的性能將在零樣本學(xué)習(xí)中起到關(guān)鍵作用。

          例如,讓我們假設(shè)我們的模型在訓(xùn)練過程中看到了棕熊,但沒有看到北極熊。在測試時(shí),要識別北極熊,模型需要先將北極熊的白色毛皮屬性變換到視覺特征空間中,然后將其與棕熊的視覺特征合并,以正確識別北極熊的圖像。

          ?語義損失

          在訓(xùn)練時(shí),模型在已知類上學(xué)習(xí)分類本領(lǐng),某些屬性/特征可能無法幫助其區(qū)分已知類而被忽視。但是在測試時(shí),那些被忽略的特征可能有助于區(qū)分未知類。

          讓我們舉一個(gè)例子來理解這一點(diǎn)。假設(shè)在訓(xùn)練時(shí)有兩個(gè)類 – 男性和女性。我們的模型將尋找面部外觀身體結(jié)構(gòu)等特征,以學(xué)會區(qū)分男女。兩條腿這個(gè)屬性沒有幫助它區(qū)分男女這兩類,因此它可能認(rèn)為該屬性并不重要。但是在測試時(shí),如果未知類之一是狗,那么可想而知,腿的數(shù)量這一信息對于模型將其與已知類區(qū)分開是非常有用的。

          但是,我們的模型已經(jīng)學(xué)會了忽略有關(guān)腿數(shù)的特征,因?yàn)樵谟?xùn)練時(shí)它并沒有起作用。換句話說,模型在訓(xùn)練過程中經(jīng)歷了語義損失

          ?Hubness

          當(dāng)將高維向量投影到低維空間時(shí),會出現(xiàn)中心性問題。這樣的投影減少了方差,從而導(dǎo)致投影點(diǎn)聚集成中心點(diǎn)。

          解決零樣本識別問題的最常用方法之一是學(xué)習(xí)從高維視覺空間到低維語義空間的投影函數(shù)。然而,這會導(dǎo)致在語義空間中形成投影中心點(diǎn),而這些中心點(diǎn)往往更接近于數(shù)量占比大的類的語義屬性向量。由于在測試時(shí),我們在語義空間中使用最近鄰搜索來找到預(yù)測類別的,所以 Hubness 問題勢必會降低模型的性能。

          舉個(gè)具體栗子,假設(shè)下圖中的 sheep 是一個(gè)中心點(diǎn),河馬、綿羊和斑馬的圖像轉(zhuǎn)化到語義空間后,搜索到的都是最鄰近的 sheep。

          ? 圖 7. Hubness 問題示例。

          總之,零樣本學(xué)習(xí)是一個(gè)比較年輕的方向,有前景但面臨的挑戰(zhàn)也是很大的,弄不好很長時(shí)間內(nèi)都不能發(fā)揮實(shí)用性。但是可挖掘的空間大,值得深入研究。

          ?參考資料?

          [1]

          Zero-Shot Learning:?https://en.wikipedia.org/wiki/Zero-shot_learning

          [2]

          Zero-Shot Learning via CCDGM:?http://people.duke.edu/~ww107/material/ZSL.pdf

          [3]

          零次學(xué)習(xí) Zero-Shot Learning 入門:?https://zhuanlan.zhihu.com/p/34656727

          [4]

          Zero-Shot Learning 如何打破零起點(diǎn)的封印:?https://www.tmtpost.com/3665596.html

          [5]

          Zero-Shot Learning : An Introduction:?https://www.learnopencv.com/zero-shot-learning-an-introduction/



          瀏覽 426
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美日韩在线免费 | 日本的一级黄色片 | 久操大香蕉网站 | 九九成人电影www | 九九热精品视频在线观看 |