摘要:用AI解決問(wèn)題的核心工作是訓(xùn)練模型,而訓(xùn)練模型往往受制于數(shù)據(jù)的匱乏。因此,借助常見(jiàn)的預(yù)訓(xùn)練模型,用零樣本訓(xùn)練方式成為一種重要的技術(shù)解決方案。本文借助XEduHub中的CLIP模型,使用簡(jiǎn)潔的代碼設(shè)計(jì)了一個(gè)零樣本圖像分類的實(shí)驗(yàn),為青少年AI科創(chuàng)活動(dòng)設(shè)計(jì)提供了一個(gè)新思路,并有效簡(jiǎn)化工作量和復(fù)雜度。
關(guān)鍵詞:XEduHub;深度學(xué)習(xí);零樣本圖像分類
中圖分類號(hào):G434 文獻(xiàn)標(biāo)識(shí)碼:A 論文編號(hào):1674-2117(2024)23-0000-03
要用AI解決問(wèn)題,訓(xùn)練一個(gè)人工智能模型是核心工作。在帶領(lǐng)學(xué)生做AI科創(chuàng)活動(dòng)時(shí),往往受制于數(shù)據(jù)的匱乏而無(wú)能為力。例如,在某教學(xué)案例交流活動(dòng)中,有教師提出想訓(xùn)練一個(gè)用于環(huán)境保護(hù)的模型,對(duì)水面的各種漂浮物進(jìn)行識(shí)別,卻苦于找不到“死魚(yú)”的數(shù)據(jù)。即使借助了網(wǎng)絡(luò),也因?yàn)榻嵌?、位置等?wèn)題,導(dǎo)致訓(xùn)練出來(lái)的模型精度很低。
考慮到XEduHub內(nèi)置了CLIP模型,又同時(shí)具備了文本和圖像的特征提取功能,筆者提出了一個(gè)假設(shè):能否利用CLIP模型的多模態(tài)特征提取能力,來(lái)設(shè)計(jì)“零樣本圖像分類”的實(shí)驗(yàn),進(jìn)而解決類似的數(shù)據(jù)匱乏難題。
零樣本圖像分類技術(shù)簡(jiǎn)介
零樣本圖像分類(Zero-shot image classification)是一種圖像分類方法,指模型能夠?qū)σ郧拔匆?jiàn)過(guò)的圖片類別進(jìn)行分類。也就是說(shuō),零樣本圖像分類要求模型能夠在沒(méi)有看到特定類別樣本的情況下,也能夠?qū)@些類別數(shù)據(jù)進(jìn)行分類。要實(shí)現(xiàn)這一能力,通常需要多模態(tài)模型(指同時(shí)支持多種類型的數(shù)據(jù),如文本、圖像、音頻等),并且這一模型已經(jīng)在大量的圖像和描述數(shù)據(jù)集上進(jìn)行了訓(xùn)練。只需要給模型一些數(shù)據(jù)相關(guān)的額外信息(這被稱為輔助信息,可以是描述或?qū)傩裕P途湍軌蝾A(yù)測(cè)未見(jiàn)過(guò)的分類。在一些特定的場(chǎng)景中,如只有少量標(biāo)記數(shù)據(jù),或者想要快速將圖像分類功能整合到應(yīng)用程序中,就很需要用到這種技術(shù)。
零樣本圖像分類任務(wù)應(yīng)用很簡(jiǎn)單,一般會(huì)在推理圖像時(shí)給出可能的標(biāo)簽列表。例如,在推理圖像時(shí),同時(shí)傳遞一個(gè)標(biāo)簽列表,如飛機(jī)、汽車(chē)、狗、鳥(niǎo),模型將會(huì)在標(biāo)簽中挑選出可能性最大的標(biāo)簽。如圖1所示,即使從來(lái)沒(méi)有訓(xùn)練過(guò)“翠鳥(niǎo)”的數(shù)據(jù),多模態(tài)模型依然能根據(jù)描述判斷出“鳥(niǎo)”的概率最大。
XEduHub中的CLIP特征向量提取功能
XEduHub中提供了文本特征提取和圖像特征提取任務(wù),其實(shí)是借助內(nèi)置的CLIP模型來(lái)實(shí)現(xiàn)的。CLIP模型(Contrastive Language-Image Pre-training)是基于文本圖像對(duì)比的預(yù)訓(xùn)練模型,也是多模態(tài)領(lǐng)域的經(jīng)典之作,可以同時(shí)處理文本和圖像。它能將不同模態(tài)的原始數(shù)據(jù)映射到統(tǒng)一或相似的語(yǔ)義空間,實(shí)現(xiàn)不同模態(tài)信號(hào)間的相互理解,基于此實(shí)現(xiàn)不同模態(tài)數(shù)據(jù)間的轉(zhuǎn)化與生成。
CLIP模型與以往的圖像分類模型不同,它并沒(méi)有使用大規(guī)模的帶有標(biāo)注的圖像數(shù)據(jù)集,而是利用互聯(lián)網(wǎng)上的未經(jīng)人工標(biāo)注的“圖像-文本”數(shù)據(jù)對(duì)進(jìn)行訓(xùn)練。如圖2所示,第一張圖像是一只小貓,與其配對(duì)的文字是“A cute cat”……CLIP模型一共收集了4億個(gè)“圖像-文本”的數(shù)據(jù)對(duì),可見(jiàn)數(shù)據(jù)集規(guī)模相當(dāng)大。
將圖像或者文本輸入到XEduHub中,即可得到512維的向量特征。CLIP模型采用的是嵌入(Embedding)技術(shù),意義相近的文本或者圖像,得到的向量特征也接近。例如,翠鳥(niǎo)圖像和“鳥(niǎo)”這一文本的向量距離(一般使用余弦向量)比和“貓”“狗”會(huì)更加接近。按照這樣的原理,就能實(shí)現(xiàn)零樣本圖像分類。
零樣本圖像分類實(shí)驗(yàn)的設(shè)計(jì)
XEduHub內(nèi)置了CLIP模型,并且在“Workflow”模塊中設(shè)計(jì)了兩個(gè)任務(wù)名稱進(jìn)行調(diào)用,分別為“embedding_image”和“embedding_text”。傳入一個(gè)或者一組圖像或者文本,即可輸出相應(yīng)的向量特征。為了方便使用,XEdu提供了幾個(gè)常用的函數(shù),如get_similarity用于計(jì)算相似度矩陣、visualize_probability用于概率分布的可視化。
實(shí)驗(yàn)的參考代碼如圖3所示,其中“image_data/bird.png”為“翠鳥(niǎo)”的圖片。對(duì)于“cifar10_classes”,筆者選擇了常見(jiàn)的圖像分類數(shù)據(jù)集“CIFAR10”的分類信息。
從運(yùn)行結(jié)果(如下頁(yè)圖4)可以看出,CLIP模型準(zhǔn)確地識(shí)別出“Bird”是概率最大的類別。
零樣本圖像分類技術(shù)的應(yīng)用與拓展
按照上述實(shí)驗(yàn),只要修改類別標(biāo)簽,就能解決一些常見(jiàn)的分類任務(wù)。如果使用更加復(fù)雜的分類標(biāo)簽信息,如CIFAR100(100個(gè)類別)或者ImageNet(1000個(gè)類別),能解決的任務(wù)會(huì)更多。從原理上看,無(wú)非是先提取數(shù)據(jù)的向量特征,然后在類別標(biāo)簽中找出最接近的。
在CLIP模型發(fā)布之后,越來(lái)越多的類似模型不斷發(fā)布。選擇一些功能更加強(qiáng)大的多模態(tài)模型,還可以解決更多的任務(wù):
①文本分類和知識(shí)庫(kù)。因?yàn)榇竽P腿菀住昂f(shuō)八道”,為了確保準(zhǔn)確率,目前很多知識(shí)庫(kù)的系統(tǒng)就采用向量特征匹配的方式來(lái)實(shí)現(xiàn),如浦育平臺(tái)中的“文本分類”體驗(yàn)活動(dòng),就是采用了阿里達(dá)摩院發(fā)布的GTE模型來(lái)提取向量特征。
②音頻分類。一些新發(fā)布的多模態(tài)模型已經(jīng)同時(shí)支持文本、圖像和音頻的對(duì)應(yīng)關(guān)系。不用做語(yǔ)音識(shí)別,也不用訓(xùn)練語(yǔ)音數(shù)據(jù),能對(duì)常見(jiàn)的語(yǔ)音進(jìn)行分類。
③圖像搜索。先用模型對(duì)電腦中的圖像進(jìn)行向量特征提取(可以理解為編碼),然后用關(guān)鍵字來(lái)搜索圖像,是不是很酷?
④景點(diǎn)匹配??纯茨扯挝谋緦?duì)應(yīng)的是某個(gè)景點(diǎn),當(dāng)然,這需要在向量數(shù)據(jù)的基礎(chǔ)上繼續(xù)訓(xùn)練出一個(gè)簡(jiǎn)單的全連接神經(jīng)網(wǎng)絡(luò)或者SVM模型。
……
總結(jié)
常見(jiàn)的圖像分類任務(wù)一般都采用監(jiān)督學(xué)習(xí)方式,需要準(zhǔn)備大量帶有標(biāo)簽的圖像數(shù)據(jù)集進(jìn)行訓(xùn)練。當(dāng)遇到新的類別時(shí),需要重新訓(xùn)練模型。例如,已經(jīng)訓(xùn)練了一個(gè)貓狗分類器,但是如果又想要區(qū)分寵物豬,這個(gè)已有的貓狗分類器就不能用了,需要再訓(xùn)練一個(gè)包含貓狗和寵物豬的分類器。通過(guò)本文中的實(shí)驗(yàn),可以看到零樣本圖像分類技術(shù)將大大簡(jiǎn)化青少年AI科創(chuàng)活動(dòng)的工作量。但也要認(rèn)識(shí)到,監(jiān)督學(xué)習(xí)方式的圖像分類技術(shù)依然非常重要。相對(duì)來(lái)說(shuō),使用CLIP模型做圖像分類,對(duì)邊緣硬件的算力要求較高,而且不適合做對(duì)精度要求較高的任務(wù)。同樣,除了多模態(tài)模型外,單模態(tài)的模型也采用類似方式來(lái)解決一些問(wèn)題。因?yàn)閷?duì)很多模型來(lái)說(shuō),核心的工作都是做數(shù)據(jù)的向量特征編碼,也可以理解為向量化。因此,中小學(xué)要開(kāi)展人工智能教育,“向量”這一知識(shí)點(diǎn)需要早點(diǎn)學(xué)習(xí)。