• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

      秦瑩華,李菲菲,陳 虬

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

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

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

      過去很多方法致力于人工提取圖像視覺特征來改善圖像標(biāo)注性能[1-2]。卷積神經(jīng)網(wǎng)絡(luò)在2012年大規(guī)模視覺識別挑戰(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ù)到其他視覺識別任務(wù)中,例如Caltech256圖像分類[5],場景識別[6]和Pascal VOC對象和場景分類任務(wù)[7]。

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

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

      文獻(xiàn)[3]的CNNs結(jié)構(gòu)包含超過六千萬個參數(shù),直接從幾千張圖像中學(xué)習(xí)這些參數(shù)是很困難的。本文的主要思想是將CNNs的中間層作為一個中級圖像特征的通用提取器,它可以在源任務(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維向量,對于目標(biāo)任務(wù),該向量即為遷移得到的參數(shù)提取的中級圖像特征。將fc7層輸出的特征輸入到fc8層,該層輸出維度為260維,即對應(yīng)Corel5K的260個標(biāo)簽。最后一層用多標(biāo)簽損失函數(shù)取代AlexNet中Softmax 損失,它用來評估預(yù)測值與真實值的誤差,并通過反向傳播降低誤差以獲得更好的分類效果。

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

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

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

      (1)

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

      (2)

      其中yi∈{0,1}。

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

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

      線性SVM可以寫成如下形式

      (3)

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

      (4)

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

      (5)

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

      (6)

      2 實驗和結(jié)果

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

      Corel5K[8]是一個常見的多標(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個標(biāo)簽,平均為3.4個標(biāo)簽。該數(shù)據(jù)集共260個標(biāo)簽,每個標(biāo)簽包含圖像數(shù)平均為58.6個,最多為1 004個。一般常用4 500張圖像用于訓(xùn)練,余下499張圖像用于測試。

      2.2 評價方法

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

      (7)

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

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

      (8)

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

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

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

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

      預(yù)訓(xùn)練模型是文獻(xiàn)[3]中AlexNet模型結(jié)構(gòu)的實現(xiàn),但有一些區(qū)別。首先,網(wǎng)絡(luò)的輸入尺寸為227 227 RGB圖像而不是224 224。其次,網(wǎng)絡(luò)采用單個GPU運(yùn)算而不是采用兩個并行GPU方式。它沒有采用數(shù)據(jù)擴(kuò)增并且將非0偏置初始化為0.1而不是1。該模型得到的校驗集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張用于測試。為了判斷學(xué)習(xí)狀態(tài),從訓(xùn)練集中隨機(jī)選擇500張圖像作為校驗集。將圖像大小先調(diào)整為256 256然后裁剪成227 227圖像塊輸入至CNNs。實驗時采用一塊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)練集校驗集損失函數(shù)變化趨勢如下。

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

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

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

      2.4 實驗結(jié)果

      用訓(xùn)練得到的模型對測試集進(jìn)行預(yù)測,提取fc8層輸出值作為預(yù)測值。與其他方法相同,將測試集中預(yù)測值最高的前5個詞作為標(biāo)注詞并且計算所有標(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)秀的方法對比如表1所示。

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

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

      3 結(jié)束語

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

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

      (3)采用半監(jiān)督或無監(jiān)督方法。由于有標(biāo)簽圖像資源有限,手工標(biāo)注圖像需要耗費大量人力物力,引進(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ì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)簽化傷害了誰
      一般自由碰撞的最大動能損失
      新绛县| 岳池县| 英吉沙县| 蓬莱市| 清水县| 秭归县| 元朗区| 衡水市| 汝城县| 上杭县| 斗六市| 平山县| 博兴县| 锡林浩特市| 什邡市| 文水县| 澜沧| 辽宁省| 固原市| 金塔县| 福泉市| 汝阳县| 英山县| 棋牌| 会东县| 大名县| 云南省| 威海市| 吴堡县| 五大连池市| 景宁| 九江县| 商南县| 淳安县| 枣阳市| 乌兰察布市| 额济纳旗| 冀州市| 城口县| 聂拉木县| 百色市|