0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用元學(xué)習(xí)進(jìn)行少樣本圖像分類

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-14 23:28 ? 次閱讀

首發(fā):AI公園
作者:Etienne
編譯:ronghuaiyang

導(dǎo)讀

你并不總是有足夠的圖像來(lái)訓(xùn)練一個(gè)深度神經(jīng)網(wǎng)絡(luò)。下面是教你如何通過(guò)幾個(gè)樣本讓模型快速學(xué)習(xí)的方法。

我們?yōu)槭裁匆P(guān)心少樣本學(xué)習(xí)?

1980年,Kunihiko Fukushima開(kāi)發(fā)了第一個(gè)卷積神經(jīng)網(wǎng)絡(luò)。自那以后,由于計(jì)算能力的不斷增強(qiáng)和機(jī)器學(xué)習(xí)社區(qū)的巨大努力,深度學(xué)習(xí)算法從未停止提高其在與計(jì)算機(jī)視覺(jué)相關(guān)的任務(wù)上的性能。2015年,Kaiming He和他的微軟的團(tuán)隊(duì)報(bào)告說(shuō),他們的模型在從ImageNet分類圖像時(shí)比人類表現(xiàn)更好。那時(shí),我們可以說(shuō)計(jì)算機(jī)在處理數(shù)十億張圖像來(lái)解決特定任務(wù)方面比我們做得更好。

但是,如果你不是谷歌或Facebook,你不可能總是能夠構(gòu)建具有那么多圖像的數(shù)據(jù)集。當(dāng)你在計(jì)算機(jī)視覺(jué)領(lǐng)域工作時(shí),你有時(shí)不得不對(duì)圖像進(jìn)行分類,每個(gè)標(biāo)簽只有一個(gè)或兩個(gè)樣本。在這場(chǎng)比賽中,人類還是要被打敗的。只要給嬰兒看一張大象的照片,他們從此以后就可以認(rèn)出大象了。如果你用Resnet50做同樣的事情,你可能會(huì)對(duì)結(jié)果感到失望。這種從少量樣本中學(xué)習(xí)的問(wèn)題叫做少樣本學(xué)習(xí)。

近年來(lái),少樣本學(xué)習(xí)問(wèn)題在研究界引起了極大的關(guān)注,并且已經(jīng)開(kāi)發(fā)出了許多優(yōu)雅的解決方案。目前最流行的解決方案是使用元學(xué)習(xí),或者用三個(gè)詞來(lái)概括:learning to learn。如果你想知道元學(xué)習(xí)是什么以及它是如何工作的,請(qǐng)繼續(xù)閱讀。

少樣本圖像分類任務(wù)

首先,我們需要定義N-way K-shot圖像分類任務(wù)。給定:

一個(gè)由N個(gè)標(biāo)簽組成的支持集,每個(gè)標(biāo)簽對(duì)應(yīng)K個(gè)有標(biāo)簽的圖像

由Q個(gè)查詢圖像組成的查詢集

任務(wù)是對(duì)查詢圖像進(jìn)行分類。當(dāng)K很小(通常是K<10)時(shí),我們討論的是少樣本圖像分類(在K=1的情況下,是單樣本圖像分類)。


一個(gè)少樣本分類任務(wù)的例子:對(duì)于支持集中N=3個(gè)類中的每個(gè)類,給定K=2個(gè)樣本,我們希望將查詢集中的Q=4只狗標(biāo)記為L(zhǎng)abrador, saint bernard或Pug。即使你從沒(méi)見(jiàn)過(guò)Labrador、saint bernard或Pug,這對(duì)你來(lái)說(shuō)也很容易。但要用人工智能解決這個(gè)問(wèn)題,我們需要元學(xué)習(xí)。

元學(xué)習(xí)范式

1998年,Thrun & Pratt說(shuō),要解決一個(gè)任務(wù),一個(gè)算法學(xué)習(xí)“如果性能可以隨著經(jīng)驗(yàn)提升”,同時(shí),給定一族需要解決的問(wèn)題,一個(gè)算法學(xué)習(xí)”性能隨著經(jīng)驗(yàn)和任務(wù)數(shù)量提升”。我們將后者稱為元學(xué)習(xí)算法。它不是去學(xué)習(xí)如何解決一個(gè)特定的任務(wù)。它可以學(xué)會(huì)解決許多任務(wù)。每學(xué)習(xí)一項(xiàng)新任務(wù),它就能更好地學(xué)習(xí)新任務(wù):它學(xué)會(huì)去學(xué)習(xí)。

正式的描述一下,如果我們想要解決一個(gè)任務(wù)T,元學(xué)習(xí)算法訓(xùn)練一批任務(wù){(diào)T?}。算法通過(guò)嘗試解決這些任務(wù)來(lái)得到學(xué)習(xí)的經(jīng)驗(yàn),最終去解決終極任務(wù)T。

例如,考慮上圖中顯示的任務(wù)_T_。它包括有標(biāo)簽圖像,如Labrador,Saint-Bernard或Pug,使用3x2=6個(gè)有標(biāo)簽圖像。一個(gè)訓(xùn)練任務(wù)T?可能是利用6個(gè)有標(biāo)簽圖像把圖像標(biāo)記為Boxer, Labradoodle或者Rottweiler。meta-training過(guò)程是一連串的這些任務(wù)T?,每一次都是不同品種的狗。我們期望元學(xué)習(xí)模型“隨著經(jīng)驗(yàn)和任務(wù)數(shù)量的增加”變得更好。最后,我們?cè)赺T_上對(duì)模型進(jìn)行評(píng)價(jià)。

我們?cè)u(píng)估了Labradors、Saint-Bernards和Pugs的元學(xué)習(xí)模型,但我們只在其他品種上訓(xùn)練。

怎么做呢?假設(shè)你想要解決這個(gè)任務(wù)(Labrador,Saint-Bernard 和Pug)。你需要一個(gè)元訓(xùn)練數(shù)據(jù)集,里面有很多不同品種的狗。例如,你可以使用Stanford Dogs數(shù)據(jù)集,其中包含從ImageNet提取的超過(guò)20k只狗。我們將此數(shù)據(jù)集稱為_(kāi)D_。注意,_D_不需要包含任何Labrador,Saint-Bernard或Pug。

我們從_D_中抽取batch組成episodes。每個(gè)episodes 對(duì)應(yīng)于一個(gè)N-way K-shot分類任務(wù)T?,(通常我們使用相同的N和K)。模型解決了batch中的所有的episodes后(對(duì)查詢集中的所有圖像打標(biāo)簽),它的參數(shù)被更新。這通常是通過(guò)對(duì)查詢集上的分類不準(zhǔn)確造成的損失進(jìn)行反向傳播來(lái)實(shí)現(xiàn)的。

這樣,模型跨任務(wù)學(xué)習(xí),以準(zhǔn)確地解決一個(gè)新的,看不見(jiàn)的少樣本分類任務(wù)。標(biāo)準(zhǔn)學(xué)習(xí)分類算法學(xué)習(xí)一個(gè)映射_圖像→標(biāo)簽_,元學(xué)習(xí)算法學(xué)習(xí)一個(gè)映射:support-set→c(.),其中c是一個(gè)映射:query→label。

元學(xué)習(xí)算法

既然我們知道了算法元訓(xùn)練意味著什么,一個(gè)謎仍然存在:元學(xué)習(xí)模型是如何解決一個(gè)少樣本的分類任務(wù)的?當(dāng)然,解決方案不止一種。我們聚焦在最流行的方案上。

元學(xué)習(xí)

度量學(xué)習(xí)的基本思想是學(xué)習(xí)數(shù)據(jù)點(diǎn)(如圖像)之間的距離函數(shù)。它已經(jīng)被證明對(duì)于解決較少樣本的分類任務(wù)是非常有用的:度量學(xué)習(xí)算法不需要對(duì)支持集(少量標(biāo)記圖像)進(jìn)行微調(diào),而是通過(guò)與標(biāo)記圖像進(jìn)行比較來(lái)對(duì)查詢圖像進(jìn)行分類。

查詢(右側(cè))與支持集的每個(gè)圖像進(jìn)行比較。它的標(biāo)簽取決于哪些圖像最接近。

當(dāng)然,你不能逐像素地比較圖像,所以你要做的是在相關(guān)的特征空間中比較圖像。為了更清楚一些,讓我們?cè)敿?xì)說(shuō)明度量學(xué)習(xí)算法如何解決一個(gè)少樣本的分類任務(wù)(上面定義為一個(gè)標(biāo)簽樣本的支持集,和一個(gè)我們想要分類的圖像的查詢集):

1、我們從支持和查詢集的所有圖像中提取嵌入(通常使用卷積神經(jīng)網(wǎng)絡(luò))?,F(xiàn)在,我們?cè)谏贅颖痉诸惾蝿?wù)中必須考慮的每一幅圖像都可以用一維向量表示。

2、每個(gè)查詢根據(jù)其支持圖像集的距離進(jìn)行分類。距離函數(shù)和分類策略都有很多可能的設(shè)計(jì)選擇。一個(gè)例子就是歐氏距離和k近鄰。

3、在元訓(xùn)練期間,在episode結(jié)束時(shí),通過(guò)反向傳播查詢集上分類錯(cuò)誤造成的損失(通常是交叉熵?fù)p失)來(lái)更新CNN的參數(shù)。

每年都會(huì)發(fā)布幾種度量學(xué)習(xí)算法來(lái)解決少樣本圖像分類的兩個(gè)原因是:

1、它們?cè)诮?jīng)驗(yàn)上很有效;

2、唯一的限制是你的想象力。有許多方法可以提取特征,甚至有更多的方法可以比較這些特征?,F(xiàn)在我們將回顧一些現(xiàn)有的解決方案。

匹配網(wǎng)絡(luò)的算法。特征提取器對(duì)于支持集圖像和查詢圖像是不同的。使用余弦相似度將查詢的嵌入與支持集中的每幅圖像進(jìn)行比較。然后用softmax對(duì)其進(jìn)行分類。

匹配網(wǎng)絡(luò)(見(jiàn)上圖)是第一個(gè)使用元學(xué)習(xí)的度量學(xué)習(xí)算法。在這種方法中,我們不以同樣的方式提取支持圖像和查詢圖像的特征。來(lái)自谷歌DeepMind的Oriol Vinyals和他的團(tuán)隊(duì)提出了使用LSTM networks在特征提取期間使所有圖像進(jìn)行交互的想法。稱為全上下文嵌入,因?yàn)槟阍试S網(wǎng)絡(luò)找到最合適的嵌入,不僅知道需要嵌入的圖像,而且還知道支持集中的所有其他圖像。這讓他們的模型表現(xiàn)的更好,因?yàn)樗械膱D像都通過(guò)了這個(gè)簡(jiǎn)單的CNN,但它也需要更多的時(shí)間和更大的GPU。

在最近的研究中,我們沒(méi)有將查詢圖像與支持集中的每一張圖像進(jìn)行比較。多倫多大學(xué)的研究人員提出了Prototypical Networks。在它們的度量學(xué)習(xí)算法中,在從圖像中提取特征后,我們計(jì)算每個(gè)類的原型。為此,他們使用類中每個(gè)圖像嵌入的平均值。(但是你可以想象數(shù)以千計(jì)的方法來(lái)計(jì)算這些嵌入。為了反向傳播,函數(shù)只需是可微的即可)一旦原型被計(jì)算出來(lái),查詢將使用到原型的歐式距離進(jìn)行分類(見(jiàn)下圖)。

在原型網(wǎng)絡(luò)中,我們將查詢X標(biāo)記為最接近原型的標(biāo)簽。

盡管簡(jiǎn)單,原型網(wǎng)絡(luò)仍然能產(chǎn)生最先進(jìn)的結(jié)果。更復(fù)雜的度量學(xué)習(xí)架構(gòu)后來(lái)被開(kāi)發(fā)出來(lái),比如一個(gè)神經(jīng)網(wǎng)絡(luò)來(lái)表示距離函數(shù)(而不是歐氏距離)。這略微提高了精確度,但我相信時(shí)至今日,原型的想法是在用于少樣本圖像分類的度量學(xué)習(xí)算法領(lǐng)域中最有價(jià)值的想法(如果你不同意,請(qǐng)留下憤怒的評(píng)論)。

模型無(wú)關(guān)元學(xué)習(xí)

我們將以模型無(wú)關(guān)元學(xué)習(xí) (MAML)來(lái)結(jié)束這次回顧,這是目前最優(yōu)雅、最有前途的元學(xué)習(xí)算法之一。它基本上是最純粹的元學(xué)習(xí),通過(guò)神經(jīng)網(wǎng)絡(luò)有兩個(gè)層次的反向傳播。

該算法的核心思想是訓(xùn)練神經(jīng)網(wǎng)絡(luò)的參數(shù),可以適應(yīng)快速和較少的例子,以新的分類任務(wù)。下面我將為你提供一個(gè)關(guān)于MAML如何在一個(gè)episode中進(jìn)行元訓(xùn)練的可視化例子(例如,在從D中采樣得到的T?上進(jìn)行few-shot分類任務(wù))。假設(shè)你有一個(gè)神經(jīng)網(wǎng)絡(luò)M參數(shù)為

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 圖像分類
    +關(guān)注

    關(guān)注

    0

    文章

    89

    瀏覽量

    11887
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5422

    瀏覽量

    120593
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    圖像識(shí)別算法都有哪些方法

    圖像識(shí)別算法是計(jì)算機(jī)視覺(jué)領(lǐng)域的核心任務(wù)之一,它涉及到從圖像中提取特征并進(jìn)行分類、識(shí)別和分析的過(guò)程。隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,
    的頭像 發(fā)表于 07-16 11:14 ?3855次閱讀

    圖像識(shí)別技術(shù)的原理是什么

    圖像識(shí)別技術(shù)是一種利用計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)技術(shù)對(duì)圖像進(jìn)行分析和理解的技術(shù)。它可以幫助計(jì)算機(jī)識(shí)別和理解圖像中的對(duì)象、場(chǎng)景和活動(dòng)。
    的頭像 發(fā)表于 07-16 10:46 ?590次閱讀

    深度學(xué)習(xí)中的時(shí)間序列分類方法

    的發(fā)展,基于深度學(xué)習(xí)的TSC方法逐漸展現(xiàn)出其強(qiáng)大的自動(dòng)特征提取和分類能力。本文將從多個(gè)角度對(duì)深度學(xué)習(xí)在時(shí)間序列分類中的應(yīng)用進(jìn)行綜述,探討常用
    的頭像 發(fā)表于 07-09 15:54 ?376次閱讀

    計(jì)算機(jī)視覺(jué)怎么給圖像分類

    圖像分類是計(jì)算機(jī)視覺(jué)領(lǐng)域中的一項(xiàng)核心任務(wù),其目標(biāo)是將輸入的圖像自動(dòng)分配到預(yù)定義的類別集合中。這一過(guò)程涉及圖像的特征提取、特征表示以及分類器的
    的頭像 發(fā)表于 07-08 17:06 ?238次閱讀

    神經(jīng)分類包括哪些

    神經(jīng)是神經(jīng)系統(tǒng)的基本功能單位,它們通過(guò)電信號(hào)和化學(xué)信號(hào)進(jìn)行信息傳遞和處理。神經(jīng)分類非常復(fù)雜,可以根據(jù)不同的標(biāo)準(zhǔn)進(jìn)行
    的頭像 發(fā)表于 07-03 11:36 ?606次閱讀

    基于神經(jīng)網(wǎng)絡(luò)的呼吸音分類算法

    出的方法與其他機(jī)器學(xué)習(xí)模型在不同情況下的性能和魯棒性進(jìn)行比較。1.用于初始模型檢查的簡(jiǎn)單噪聲二值分類實(shí)驗(yàn)。2.使用個(gè)體呼吸周期作為輸入的4類異常分類。3.使用每個(gè)聲音
    發(fā)表于 05-31 12:05

    利用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)SAR目標(biāo)分類的研究

    卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種在圖像處理和計(jì)算機(jī)視覺(jué)領(lǐng)域廣泛應(yīng)用的深度學(xué)習(xí)模型,因其能夠自動(dòng)學(xué)習(xí)圖像的層次化特征表示而成為SAR目標(biāo)分類的理想
    發(fā)表于 04-08 09:39 ?308次閱讀
    利用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)SAR目標(biāo)<b class='flag-5'>分類</b>的研究

    如何使用Python進(jìn)行圖像識(shí)別的自動(dòng)學(xué)習(xí)自動(dòng)訓(xùn)練?

    如何使用Python進(jìn)行圖像識(shí)別的自動(dòng)學(xué)習(xí)自動(dòng)訓(xùn)練? 使用Python進(jìn)行圖像識(shí)別的自動(dòng)學(xué)習(xí)和自
    的頭像 發(fā)表于 01-12 16:06 ?446次閱讀

    CNN圖像分類策略

    在深度學(xué)習(xí)出現(xiàn)之前,自然圖像中的對(duì)象識(shí)別過(guò)程相當(dāng)粗暴簡(jiǎn)單:定義一組關(guān)鍵視覺(jué)特征(“單詞”),識(shí)別每個(gè)視覺(jué)特征在圖像中的存在頻率(“包”),然后根據(jù)這些數(shù)字對(duì)圖像
    發(fā)表于 12-25 11:36 ?226次閱讀
    CNN<b class='flag-5'>圖像</b><b class='flag-5'>分類</b>策略

    圖像標(biāo)注如何提升效率?

    圖像標(biāo)注是通過(guò)一定方式對(duì)圖像進(jìn)行標(biāo)記分類,是對(duì)數(shù)據(jù)集的圖像進(jìn)行標(biāo)記以訓(xùn)練機(jī)器
    的頭像 發(fā)表于 12-19 08:29 ?363次閱讀
    <b class='flag-5'>圖像</b>標(biāo)注如何提升效率?

    異構(gòu)信號(hào)驅(qū)動(dòng)下小樣本跨域軸承故障診斷的GMAML算法

    論文提出了一種通用的模型不可知學(xué)習(xí)(GMAML)方法,用于在異質(zhì)信號(hào)驅(qū)動(dòng)的不同工況下,進(jìn)行軸承的樣本故障診斷。
    的頭像 發(fā)表于 12-06 15:07 ?856次閱讀
    異構(gòu)信號(hào)驅(qū)動(dòng)下小<b class='flag-5'>樣本</b>跨域軸承故障診斷的GMAML算法

    邁向更高效的圖像分類:解析DeiT模型的移植和適配

    1.DeiT概述1.1項(xiàng)目簡(jiǎn)介Deit(Data-efficientimageTransformers)是由Facebook與索邦大學(xué)的MatthieuCord教授合作開(kāi)發(fā)的圖像分類模型。作為一種
    的頭像 發(fā)表于 11-23 08:33 ?1006次閱讀
    邁向更高效的<b class='flag-5'>圖像</b><b class='flag-5'>分類</b>:解析DeiT模型的移植和適配

    使用Python卷積神經(jīng)網(wǎng)絡(luò)(CNN)進(jìn)行圖像識(shí)別的基本步驟

    Python 卷積神經(jīng)網(wǎng)絡(luò)(CNN)在圖像識(shí)別領(lǐng)域具有廣泛的應(yīng)用。通過(guò)使用卷積神經(jīng)網(wǎng)絡(luò),我們可以讓計(jì)算機(jī)從圖像學(xué)習(xí)特征,從而實(shí)現(xiàn)對(duì)圖像分類
    的頭像 發(fā)表于 11-20 11:20 ?4137次閱讀

    基于XIAO的圖像分類處理項(xiàng)目

    XIAOXIAO今天小編給大家?guī)?lái)的是圣地亞哥的Maker Marcelo Rovai 使用 XIAO ESP32S3 Sensor 搭配Edge Impulse 實(shí)現(xiàn)的圖像分類的項(xiàng)目。
    的頭像 發(fā)表于 10-28 09:50 ?1141次閱讀
    基于XIAO的<b class='flag-5'>圖像</b><b class='flag-5'>分類</b>處理項(xiàng)目

    高光譜圖像混合像分解

    高光譜圖像包含豐富的空間信息和光譜信息,針對(duì)全色或多光譜圖像的信息提取方法不適合高光譜圖像的處理,因此,需要根據(jù)高光譜遙感的機(jī)理和圖像的特點(diǎn),發(fā)展新的信息提取模型與方法。高光譜
    的頭像 發(fā)表于 10-10 10:26 ?792次閱讀
    高光譜<b class='flag-5'>圖像</b>混合像<b class='flag-5'>元</b>分解