国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于遷移學(xué)習(xí)的多標(biāo)簽圖像標(biāo)注

2018-07-23 05:30:34秦瑩華李菲菲
電子科技 2018年8期
關(guān)鍵詞:鉸鏈標(biāo)簽損失

秦瑩華,李菲菲,陳 虬

(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)

近年來,隨著互聯(lián)網(wǎng)的快速發(fā)展和移動(dòng)設(shè)備的不斷普及,海量的圖像數(shù)據(jù)每天由各類數(shù)碼產(chǎn)品制作,并快速在網(wǎng)絡(luò)上傳播。如何有效管理和檢索這些數(shù)據(jù)成為一項(xiàng)亟需解決的問題。

自動(dòng)圖像標(biāo)注是圖像檢索領(lǐng)域一項(xiàng)基本和富有挑戰(zhàn)性的任務(wù)。它利用已標(biāo)注圖像集或其他可獲得的信息自動(dòng)學(xué)習(xí)語義概念空間與視覺特征空間的關(guān)系模型,并用此模型標(biāo)注未知語義的圖像,即它試圖在圖像的高層語義信息和底層特征之間建立一種映射關(guān)系,因此在一定程度上可以解決“語義鴻溝”問題。自動(dòng)圖像標(biāo)注本質(zhì)上是一個(gè)多標(biāo)簽學(xué)習(xí)問題,不同于單標(biāo)簽圖像分類。圖像分類中每張圖像只含有一個(gè)標(biāo)簽,這與現(xiàn)實(shí)世界中事物不符。

過去很多方法致力于人工提取圖像視覺特征來改善圖像標(biāo)注性能[1-2]。卷積神經(jīng)網(wǎng)絡(luò)在2012年大規(guī)模視覺識(shí)別挑戰(zhàn)中取得了突破性成果[3],然而該方法僅考慮單標(biāo)簽分類。為了更自然地描述圖像,采用卷積神經(jīng)網(wǎng)絡(luò)處理多標(biāo)簽圖像就尤為重要??紤]到卷積神經(jīng)網(wǎng)絡(luò)需要大量的訓(xùn)練圖像和收集大規(guī)模有標(biāo)簽數(shù)據(jù)集的困難,采用遷移學(xué)習(xí)的方法從ImageNet[4]分類任務(wù)中遷移已經(jīng)訓(xùn)練好的中層參數(shù)到其他視覺識(shí)別任務(wù)中,例如Caltech256圖像分類[5],場(chǎng)景識(shí)別[6]和Pascal VOC對(duì)象和場(chǎng)景分類任務(wù)[7]。

1 模型結(jié)構(gòu)與算法

1.1 模型結(jié)構(gòu)

文獻(xiàn)[3]的CNNs結(jié)構(gòu)包含超過六千萬個(gè)參數(shù),直接從幾千張圖像中學(xué)習(xí)這些參數(shù)是很困難的。本文的主要思想是將CNNs的中間層作為一個(gè)中級(jí)圖像特征的通用提取器,它可以在源任務(wù)(ImageNet分類)中訓(xùn)練然后應(yīng)用到目標(biāo)任務(wù)(Corel5K圖像標(biāo)注),模型結(jié)構(gòu)如圖1所示。

圖1 模型結(jié)構(gòu)

圖1采用文獻(xiàn)[3]中AlexNet網(wǎng)絡(luò)結(jié)構(gòu),其中C1-C2-C3-C4-C5表示前5層卷積層,fc6, fc7, fc8表示后三層全連接層。網(wǎng)絡(luò)首先在源任務(wù)上訓(xùn)練,將訓(xùn)練得到的C1-fc7層參數(shù)遷移至目標(biāo)任務(wù)。fc7層的輸出為4096維向量,對(duì)于目標(biāo)任務(wù),該向量即為遷移得到的參數(shù)提取的中級(jí)圖像特征。將fc7層輸出的特征輸入到fc8層,該層輸出維度為260維,即對(duì)應(yīng)Corel5K的260個(gè)標(biāo)簽。最后一層用多標(biāo)簽損失函數(shù)取代AlexNet中Softmax 損失,它用來評(píng)估預(yù)測(cè)值與真實(shí)值的誤差,并通過反向傳播降低誤差以獲得更好的分類效果。

1.2 多標(biāo)簽損失函數(shù)

文中采用兩種損失函數(shù),第一種是Sigmoid交叉熵?fù)p失,第二種是多標(biāo)簽鉸鏈損失。

(1)Sigmoid交叉熵?fù)p失。Sigmoid函數(shù)形式如下

(1)

預(yù)測(cè)值和真實(shí)概率之間的交叉熵如下

(2)

其中yi∈{0,1}。

對(duì)該損失函數(shù)加入一個(gè)權(quán)重懲罰項(xiàng),將該函數(shù)轉(zhuǎn)化為一個(gè)嚴(yán)格凸函數(shù),它能確保收斂并且獲得全局最優(yōu)解。

(2)多標(biāo)簽鉸鏈損失。由SVM的原理可知,一個(gè)全連接層加上一個(gè)鉸鏈損失等價(jià)于一個(gè)線性SVM。鉸鏈損失本身是處理多分類問題,本文采用鉸鏈損失處理多標(biāo)簽問題,將多標(biāo)簽學(xué)習(xí)轉(zhuǎn)化為每個(gè)標(biāo)簽訓(xùn)練一個(gè)分類器的多個(gè)標(biāo)簽分類問題。

線性SVM可以寫成如下形式

(3)

s.t.yi(wTxi+b)≥1-ξi

(4)

ξi≥0,i=1,2,…,m

(5)

這個(gè)二次規(guī)劃問題可以轉(zhuǎn)化為無約束優(yōu)化問題,即求鉸鏈損失函數(shù)最小化

(6)

2 實(shí)驗(yàn)和結(jié)果

2.1 數(shù)據(jù)集

Corel5K[8]是一個(gè)常見的多標(biāo)簽圖像標(biāo)注數(shù)據(jù)集,現(xiàn)已成為圖像標(biāo)注領(lǐng)域的基準(zhǔn)數(shù)據(jù)集。該數(shù)據(jù)集共4 999張192 168的彩色圖像,每張圖像被人工標(biāo)注為1至5個(gè)標(biāo)簽,平均為3.4個(gè)標(biāo)簽。該數(shù)據(jù)集共260個(gè)標(biāo)簽,每個(gè)標(biāo)簽包含圖像數(shù)平均為58.6個(gè),最多為1 004個(gè)。一般常用4 500張圖像用于訓(xùn)練,余下499張圖像用于測(cè)試。

2.2 評(píng)價(jià)方法

(1)準(zhǔn)確率和召回率。為了分析標(biāo)注性能,本文計(jì)算測(cè)試集中每一個(gè)標(biāo)簽的準(zhǔn)確率和召回率。若一個(gè)標(biāo)簽實(shí)際包含n1張圖像,在測(cè)試集中預(yù)測(cè)出圖像數(shù)為n2其中預(yù)測(cè)正確的數(shù)量為n3(n3≤n2和n3≤n1),則

(7)

對(duì)測(cè)試集中每一個(gè)標(biāo)簽求平均值得到平均準(zhǔn)確率,平均召回率;

(2)F1值。由準(zhǔn)確率和召回率,得到F1

(8)

F1為準(zhǔn)確率和召回率的調(diào)和平均數(shù),其值越大,圖像標(biāo)注性能越好;

(3)標(biāo)簽多樣性值N+。N+是指至少被一個(gè)測(cè)試圖像所正確標(biāo)注的標(biāo)簽數(shù),即召回率大于零的標(biāo)簽數(shù)量。N+值越大,圖像標(biāo)注性能越好。

2.3 網(wǎng)絡(luò)訓(xùn)練

代碼的實(shí)現(xiàn)主要基于CAFFE(Convolutional Architecture for Fast Feature Embedding)框架[9],這套基于BSD許可包含C++庫的框架是目前為止較好的卷積神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)。它含有Python和Matlab接口,并且能夠調(diào)用GPU實(shí)現(xiàn)加速。由于該框架只支持單標(biāo)簽格式,需要改變?cè)创a來實(shí)現(xiàn)多標(biāo)簽格式輸入。

預(yù)訓(xùn)練模型是文獻(xiàn)[3]中AlexNet模型結(jié)構(gòu)的實(shí)現(xiàn),但有一些區(qū)別。首先,網(wǎng)絡(luò)的輸入尺寸為227 227 RGB圖像而不是224 224。其次,網(wǎng)絡(luò)采用單個(gè)GPU運(yùn)算而不是采用兩個(gè)并行GPU方式。它沒有采用數(shù)據(jù)擴(kuò)增并且將非0偏置初始化為0.1而不是1。該模型得到的校驗(yàn)集top-1精度為57.1%,top-5精度為80.2%。

Corel5K圖像標(biāo)注中使用的網(wǎng)絡(luò)結(jié)構(gòu)與預(yù)訓(xùn)練模型相同。將源任務(wù)中訓(xùn)練得到的C1…C5, fc6和fc7層參數(shù)遷移至目標(biāo)任務(wù)然后固定,只訓(xùn)練fc8層。將fc8全連接層的權(quán)值采用高斯分布方式初始化,偏置初始化為0。fc8層權(quán)值和偏置的學(xué)習(xí)率分別設(shè)置為10和20。與其他方法相同,采用4500張圖像用于訓(xùn)練,499張用于測(cè)試。為了判斷學(xué)習(xí)狀態(tài),從訓(xùn)練集中隨機(jī)選擇500張圖像作為校驗(yàn)集。將圖像大小先調(diào)整為256 256然后裁剪成227 227圖像塊輸入至CNNs。實(shí)驗(yàn)時(shí)采用一塊12 GB內(nèi)存的Nvidia Tesla K40c GPU。訓(xùn)練過程采用小批量梯度下降法(Mini-batch Gradient Descent),batch_size設(shè)置為10,初始學(xué)習(xí)率設(shè)置為0.0001,訓(xùn)練迭代9 000次(即20epoches),再將學(xué)習(xí)率降低10倍迭代4 500次(10epoches)。訓(xùn)練過程中訓(xùn)練集校驗(yàn)集損失函數(shù)變化趨勢(shì)如下。

圖2 Sigmoid交叉熵?fù)p失變化曲線

圖3 多標(biāo)簽鉸鏈損失變化曲線

圖2表示以Sigmoid交叉熵?fù)p失作為損失函數(shù)的模型訓(xùn)練過程,圖3表示以多標(biāo)簽鉸鏈損失作為損失函數(shù)的模型訓(xùn)練過程。從圖中可以看出訓(xùn)練開始時(shí)損失急劇下降而后緩慢下降,這是由于初始時(shí)學(xué)習(xí)率較大,參數(shù)很快趨于最優(yōu)值。

2.4 實(shí)驗(yàn)結(jié)果

用訓(xùn)練得到的模型對(duì)測(cè)試集進(jìn)行預(yù)測(cè),提取fc8層輸出值作為預(yù)測(cè)值。與其他方法相同,將測(cè)試集中預(yù)測(cè)值最高的前5個(gè)詞作為標(biāo)注詞并且計(jì)算所有標(biāo)簽的平均準(zhǔn)確率(P)、平均召回率(R)和F1值。將Sigmoid交叉熵?fù)p失(Cross-entropy loss)作為損失函數(shù)的方法命名為CNNs+SCEL, 將多標(biāo)簽鉸鏈損失(Multi-label hinge loss)作為損失函數(shù)的方法命名為CNNs+MHL。將本文方法與一些經(jīng)典方法和近兩年表現(xiàn)優(yōu)秀的方法對(duì)比如表1所示。

表1 Corel5K數(shù)據(jù)庫方法對(duì)比

本文提出的CNNs+SCEL的方法平均準(zhǔn)確率、平均召回率、F1值分別為0.46、0.64、0.531,CNNs+MHL的方法分別為0.45、0.61、0.515。從實(shí)驗(yàn)結(jié)果可以看出,本文得出的平均準(zhǔn)確率、平均召回率、F1值均高于其他方法,但是標(biāo)注多樣性N+卻不是很理想。這表明采用遷移學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)的方法作為特征提取器,將多標(biāo)簽學(xué)習(xí)轉(zhuǎn)化為針對(duì)每一個(gè)標(biāo)簽訓(xùn)練一個(gè)分類器的多個(gè)標(biāo)簽的分類問題的方法是可行的。平均準(zhǔn)確率、平均召回率和F1值比較高說明對(duì)于訓(xùn)練集中圖像數(shù)量較多的標(biāo)簽,模型幾乎都能正確標(biāo)注,標(biāo)注多樣性N+比較低說明對(duì)于訓(xùn)練集中圖像數(shù)量少的標(biāo)簽則不能正確標(biāo)注。這是由于Corel5K標(biāo)簽集不平衡,而卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練需要大量的數(shù)據(jù)才能得到較好的結(jié)果。針對(duì)本文兩種方法中CNNs+SCEL的結(jié)果要優(yōu)于CNNs+MHL,這是由于Corel5K數(shù)據(jù)集的標(biāo)簽信息并不完全正確,異常點(diǎn)較多,模型的線性可分性不強(qiáng)。鉸鏈損失的方法即線性SVM只考慮支持向量去學(xué)習(xí)分類器,而Sigmoid交叉熵?fù)p失即邏輯回歸通過非線性映射,大大減小了離分類平面較遠(yuǎn)的點(diǎn)的權(quán)重,相對(duì)提升了與分類最相關(guān)的數(shù)據(jù)點(diǎn)的權(quán)重。所以若異常點(diǎn)較多的情況下, 首先采用Sigmoid交叉熵?fù)p失,該損失每個(gè)樣本都有貢獻(xiàn),最大似然后會(huì)自動(dòng)壓制異常的貢獻(xiàn),線性SVM訓(xùn)練只需要支持向量,對(duì)異常比較敏感。

3 結(jié)束語

本文提出一種基于卷積神經(jīng)網(wǎng)絡(luò)和遷移學(xué)習(xí)的多標(biāo)簽圖像標(biāo)注算法。模型采用從ImageNet分類任務(wù)中遷移得到的參數(shù)。實(shí)驗(yàn)結(jié)果表明利用遷移學(xué)習(xí)的方法將卷積神經(jīng)網(wǎng)絡(luò)的中間層作為一個(gè)通用特征提取器的思想是可行的。實(shí)驗(yàn)采用兩種多標(biāo)簽損失函數(shù),與其他方法相比取得了不錯(cuò)的標(biāo)注結(jié)果,說明將多標(biāo)簽學(xué)習(xí)轉(zhuǎn)化為多個(gè)標(biāo)簽的分類問題是一種簡(jiǎn)單高效的處理方法。然而,仍然有一些方面值得改進(jìn)與研究:

(1)使用更大規(guī)模的數(shù)據(jù)集。更大規(guī)模的數(shù)據(jù)集可以訓(xùn)練得到更好的參數(shù)并且不容易過擬合。由于卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練需要大量數(shù)據(jù),直接從ImageNet分類任務(wù)中遷移得到的參數(shù)并不一定最好地表達(dá)目標(biāo)任務(wù),因此更大規(guī)模的數(shù)據(jù)集更能夠發(fā)揮神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì);

(2)選擇更好的損失函數(shù)。本文使用的方法是將多標(biāo)簽學(xué)習(xí)轉(zhuǎn)化為多個(gè)標(biāo)簽的分類問題,該方法優(yōu)點(diǎn)是簡(jiǎn)單高效,但是忽略了標(biāo)簽相關(guān)性;

(3)采用半監(jiān)督或無監(jiān)督方法。由于有標(biāo)簽圖像資源有限,手工標(biāo)注圖像需要耗費(fèi)大量人力物力,引進(jìn)半監(jiān)督或無監(jiān)督方法只需要小部分的有標(biāo)簽圖像就能獲得很好的標(biāo)注結(jié)果。

猜你喜歡
鉸鏈標(biāo)簽損失
少問一句,損失千金
胖胖損失了多少元
基于虛擬鉸鏈打開機(jī)構(gòu)的艙門提升機(jī)構(gòu)研究
球鉸鏈防塵罩抱緊力優(yōu)化
北京汽車(2019年6期)2019-02-12 05:19:50
玉米抽穗前倒伏怎么辦?怎么減少損失?
汽車連接器帶鉸鏈護(hù)殼產(chǎn)品的塑料模具設(shè)計(jì)改進(jìn)
汽車電器(2018年10期)2018-11-01 01:17:26
無懼標(biāo)簽 Alfa Romeo Giulia 200HP
車迷(2018年11期)2018-08-30 03:20:32
不害怕撕掉標(biāo)簽的人,都活出了真正的漂亮
海峽姐妹(2018年3期)2018-05-09 08:21:02
標(biāo)簽化傷害了誰
一般自由碰撞的最大動(dòng)能損失
济南市| 德兴市| 酒泉市| 米林县| 嘉禾县| 东乌珠穆沁旗| 卓资县| 兴仁县| 长治县| 新兴县| 台中市| 杭州市| 电白县| 若尔盖县| 洪湖市| 浏阳市| 治县。| 云梦县| 张家港市| 南平市| 泗阳县| 逊克县| 土默特左旗| 铁力市| 温泉县| 枣阳市| 南宫市| 通山县| 手机| 清丰县| 永登县| 泰顺县| 山丹县| 巨野县| 民勤县| 镇宁| 长阳| 张家港市| 襄汾县| 垣曲县| 台中县|