久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

語(yǔ)義分析的一些方法(下篇) | 數(shù)盟

 openlog 2015-10-20

3 圖片語(yǔ)義分析

3.1 圖片分類

圖片分類是一個(gè)最基本的圖片語(yǔ)義分析方法,。

基于深度學(xué)習(xí)的圖片分類

傳統(tǒng)的圖片分類如下圖所示,首先需要先手工提取圖片特征,,譬如SIFT, GIST,,再經(jīng)由VQ coding和Spatial pooling,最后送入傳統(tǒng)的分類模型(例如SVM等),。

tranditional-imageclassify

圖23. 傳統(tǒng)圖片分類流程圖

傳統(tǒng)方法里,,人工特征提取是一個(gè)巨大的消耗性工作。而隨著深度學(xué)習(xí)的進(jìn)展,,不再需要人工特征,,通過深度學(xué)習(xí)自動(dòng)提取特征成為一種可能。接下來主要講述卷積神經(jīng)網(wǎng)絡(luò)在圖片分類上的使用,。

下圖是一個(gè)經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)模型圖,,由Hinton和他的學(xué)生Alex Krizhevsky在ILSVRC(Imagenet Large Scale Visual Recognition Competition) 2012中提出,。 整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)包括五層卷積層和三層全連接層,網(wǎng)絡(luò)的最前端是輸入圖片的原始像素點(diǎn),,最后端是圖片的分類結(jié)果,。一個(gè)完整的卷積層可能包括一層convolution,一層Rectified Linear Units,,一層max-pooling,,一層normalization。

convolution7

圖24. 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖

對(duì)于每一層網(wǎng)絡(luò),,具體的網(wǎng)絡(luò)參數(shù)配置如下圖所示。InputLayer就是輸入圖片層,,每個(gè)輸入圖片都將被縮放成227*227大小,,分rgb三個(gè)顏色維度輸入。Layer1~ Layer5是卷積層,,以Layer1為例,,卷積濾波器的大小是11*11,卷積步幅為4,,本層共有96個(gè)卷積濾波器,,本層的輸出則是96個(gè)55*55大小的圖片。在Layer1,,卷積濾波后,,還接有ReLUs操作和max-pooling操作。Layer6~ Layer8是全連接層,,相當(dāng)于在五層卷積層的基礎(chǔ)上再加上一個(gè)三層的全連接神經(jīng)網(wǎng)絡(luò)分類器,。以Layer6為例,本層的神經(jīng)元個(gè)數(shù)為4096個(gè),。Layer8的神經(jīng)元個(gè)數(shù)為1000個(gè),,相當(dāng)于訓(xùn)練目標(biāo)的1000個(gè)圖片類別。

convolution_config

圖25. CNN網(wǎng)絡(luò)參數(shù)配置圖

基于Alex Krizhevsky提出的cnn模型,,在13年末的時(shí)候,,我們實(shí)現(xiàn)了用于廣點(diǎn)通的圖片分類和圖片檢索(可用于廣告圖片作弊判別),下面是一些示例圖,。

圖片分類示例:

image_classify

圖26. 圖片分類示例圖

圖片檢索示例:

image_search2image_search1

圖27. 圖片檢索示例圖

圖片分類上的最新進(jìn)展

在ILSVRC 2012中,,Alex Krizhevsky基于GPU實(shí)現(xiàn)了上述介紹的,這個(gè)有60million參數(shù)的模型(簡(jiǎn)稱為AlexNet),,贏得了第一名,。這個(gè)工作是開創(chuàng)性的,它引領(lǐng)了接下來ILSVRC的風(fēng)潮,。2013年,,Clarifai通過cnn模型可視化技術(shù)調(diào)整網(wǎng)絡(luò)架構(gòu),,贏得了ILSVRC。2014年,,google也加入進(jìn)來,,它通過增加模型的層數(shù)(總共22層),讓深度更深[48],,并且利用multi-scale data training,,取得第一名。baidu最近通過更加“粗暴”的模型[44],,在GooLeNet的基礎(chǔ)上,,又提升了10%,top–5錯(cuò)誤率降低至6%以下,。具體結(jié)果如下圖所示,。

imagenet_result

圖28. ImageNet Classification Result

先簡(jiǎn)單分析一下“GoogLeNet”[48,51]所采用的方法:

  • 大大增加的網(wǎng)絡(luò)的深度,并且去掉了最頂層的全連接層:因?yàn)槿B接層(Fully Connected)幾乎占據(jù)了CNN大概90%的參數(shù),,但是同時(shí)又可能帶來過擬合(overfitting)的效果,。
  • 模型比以前AlexNet的模型大大縮小,并且減輕了過擬合帶來的副作用,。Alex模型參數(shù)是60M,,GoogLeNet只有7M。
  • 對(duì)于google的模型,,目前已有開源的實(shí)現(xiàn),,有興趣請(qǐng)點(diǎn)擊Caffe+GoogLeNet

再分析一下“Deep Image by baidu[44]”所采用的方法:

  • Hardware/Software Co-design,。baidu基于GPU,,利用36個(gè)服務(wù)節(jié)點(diǎn)開發(fā)了一個(gè)專為深度學(xué)習(xí)運(yùn)算的supercompter(名叫Minwa,敏媧),。這臺(tái)supercomputer具備TB級(jí)的host memory,,超強(qiáng)的數(shù)據(jù)交換能力,使能訓(xùn)練一個(gè)巨大的深層神經(jīng)網(wǎng)絡(luò)成為可能,。而要訓(xùn)練如此巨大的神經(jīng)網(wǎng)絡(luò),,除了硬件強(qiáng)大外,還需要高效的并行計(jì)算框架,。通常而言,,都要從data-parallelism和model-data parallelism兩方面考慮。
    • data-parallelism:訓(xùn)練數(shù)據(jù)被分成N份,。每輪迭代里,,各個(gè)GPU基于各自的訓(xùn)練數(shù)據(jù)計(jì)算梯度,最后累加所有梯度數(shù)據(jù)并廣播到所有GPU。
    • model-data parallelism:考慮到卷積層參數(shù)較少但消耗計(jì)算量,,而全連接層參數(shù)相對(duì)比較多,。所以卷積層參數(shù)以local copy的形式被每個(gè)GPU所持有,而全連接層的參數(shù)則被劃分到各個(gè)CPU,。每輪迭代里,,卷積層計(jì)算可以由各個(gè)GPU獨(dú)立完成,全連接層計(jì)算需要由所有GPU配合完成,,具體方法請(qǐng)參考[46],。
  • Data augmentation。訓(xùn)練一個(gè)如此巨大的神經(jīng)網(wǎng)絡(luò)(100billion個(gè)參數(shù)),,如果沒有充分的訓(xùn)練數(shù)據(jù),,模型將很大可能陷入過擬合,所以需要采用眾多data augmentation方法增加訓(xùn)練數(shù)據(jù),,例如:剪裁,,不同大小,調(diào)亮度,,飽和度,對(duì)比度,,偏色等(color casting, vignetting, lens distortion, rotation, flipping, cropping),。舉個(gè)例子,一個(gè)彩色圖片,,增減某個(gè)顏色通道的intensity值,,就可以生成多張圖片,但這些圖片和原圖的類目是一致的,,相當(dāng)于增加了訓(xùn)練數(shù)據(jù),。
  • Multi-scale training:訓(xùn)練不同輸入圖片尺度下(例如512*512,256*256)的多個(gè)模型,,最后ensemble多個(gè)模型的輸出結(jié)果,。

3.2 Image2text,Image2sentence

上面講述的圖片分類對(duì)圖片語(yǔ)義的理解比較粗粒度,,那么我們會(huì)想,,是否可以將圖片直接轉(zhuǎn)化為一堆詞語(yǔ)或者一段文本來描述。轉(zhuǎn)化到文本后,,我們積累相對(duì)深的文本處理技術(shù)就都可以被利用起來,。

Image2text

首先介紹一種樸素的基于卷積神經(jīng)網(wǎng)絡(luò)的image to text方法。

  • 首先它利用深度卷積神經(jīng)網(wǎng)絡(luò)和深度自動(dòng)編碼器提取圖片的多層特征,,并據(jù)此提取圖片的visual word,,建立倒排索引,產(chǎn)生一種有效而準(zhǔn)確的圖片搜索方法。
  • 再充分利用大量的互聯(lián)網(wǎng)資源,,預(yù)先對(duì)大量種子圖片做語(yǔ)義分析,,然后利用相似圖片搜索,根據(jù)相似種子圖片的語(yǔ)義推導(dǎo)出新圖片的語(yǔ)義,。

其中種子圖片,,就是可以覆蓋所有待研究圖片的行業(yè),但較容易分析語(yǔ)義的圖片集,。這種方法產(chǎn)生了更加豐富而細(xì)粒度的語(yǔ)義表征結(jié)果,。雖說簡(jiǎn)單,但效果仍然不錯(cuò),,方法的關(guān)鍵在于種子圖片,。利用比較好的種子圖片(例如paipai數(shù)據(jù)),簡(jiǎn)單的方法也可以work得不錯(cuò),。下圖是該方法的效果圖,。

image_semantic2image_semantic

圖29. 圖片語(yǔ)義tag標(biāo)注示例圖

上面的baseline方法,在訓(xùn)練數(shù)據(jù)優(yōu)質(zhì)且充分的情況下,,可以取得很不錯(cuò)的圖片tag提取效果,,而且應(yīng)用也非常廣泛。但上面的方法非常依賴于訓(xùn)練數(shù)據(jù),,且不善于發(fā)現(xiàn)訓(xùn)練數(shù)據(jù)之外的世界,。

另一個(gè)直觀的想法,是否可以通過word embedding建立image與text的聯(lián)系[26],。例如,,可以先利用CNN訓(xùn)練一個(gè)圖片分類器。每個(gè)類目label可以通過word2vec映射到一個(gè)embedding表示,。對(duì)于一個(gè)新圖片,,先進(jìn)行分類,然后對(duì)top-n類目label所對(duì)應(yīng)的embedding按照權(quán)重(這里指這個(gè)類目所屬的概率)相加,,得到這個(gè)圖片的embedding描述,,然后再在word embedding空間里尋找與圖片embedding最相關(guān)的words。

Image detection

接下來再介紹下image detection,。下圖是一個(gè)image detection的示例,,相比于圖片分類,提取到信息將更加豐富,。

image_detection

圖30. 圖片detection示例

目前最先進(jìn)的detection方法應(yīng)該是Region-based CNN(簡(jiǎn)稱R-CNN)[75],,是由Jeff Donahue和Ross Girshick提出的。R-CNN的具體想法是,,將detection分為尋找object和識(shí)別object兩個(gè)過程,。在第一步尋找object,可以利用很多region detection算法,譬如selective search[76],,CPMC,,objectness等,利用很多底層特征,,譬如圖像中的色塊,,圖像中的邊界信息。第二步識(shí)別object,,就可以利用“CNN+SVM”來做分類識(shí)別,。

r-cnn

圖31. Image detection系統(tǒng)框圖

  • 給定一張圖片,利用selective search方法[76]來產(chǎn)生2000個(gè)候選窗口,。
  • 然后利用CNN進(jìn)行對(duì)每一個(gè)候選窗口提取特征(取全連接層的倒數(shù)第一層),,特征長(zhǎng)度為4096。
  • 最后用SVM分類器對(duì)這些特征進(jìn)行分類(每一個(gè)目標(biāo)類別一個(gè)SVM分類器),,SVM的分類器的參數(shù)個(gè)數(shù)為:4096*N,,其中N為目標(biāo)的類別個(gè)數(shù),所以比較容易擴(kuò)展目標(biāo)類別數(shù),。

這里有R-CNN的實(shí)現(xiàn),,請(qǐng)點(diǎn)擊rcnn code

Image2sentence

那能否通過深度學(xué)習(xí)方法,直接根據(jù)image產(chǎn)生sentence呢,?我們先看一組實(shí)際效果,,如下圖所示(copy from 文獻(xiàn)[43])。

image2sentence_example

圖32. image2sentence示例圖

關(guān)于這個(gè)方向,,最近一年取得了比較大的突破,工業(yè)界(Baidu[77],,Google[43],,Microsoft[80,81]等)和學(xué)術(shù)界(Stanford[35],Borkeley[79],,UML[19],,Toronto[78]等)都發(fā)表了一系列論文。

簡(jiǎn)單歸納一下,,對(duì)這個(gè)問題,,主要有兩種解決思路:

  • Pipeline方法。這個(gè)思路相對(duì)直觀一點(diǎn),,先學(xué)習(xí)到image中visual object對(duì)應(yīng)的word(如上一節(jié)image detection所述),,再加上language model,就可以生成sentence,。這種方法各個(gè)模塊可以獨(dú)立調(diào)試,,相對(duì)來說,更靈活一點(diǎn)。如下圖所示,,這是microsoft的一個(gè)工作[81],,它分為三步:(1)利用上一節(jié)提到的思路detect words;(2)基于language model(RNN or LSTM)產(chǎn)生句子,;(3)利用相關(guān)性模型對(duì)句子打分排序,。
    AIC

    圖33. “pipeline” image captioning

  • End-to-end方法,即通過一個(gè)模型直接將image轉(zhuǎn)換到sentence,。google基于CNN+RNN開發(fā)了一個(gè)Image Caption Generator[43],。這個(gè)工作主要受到了基于RNN的機(jī)器翻譯[27][42]的啟發(fā)。在機(jī)器翻譯中,,“encoder” RNN讀取源語(yǔ)言的句子,,將其變換到一個(gè)固定長(zhǎng)度的向量表示,然后“decoder” RNN將向量表示作為隱層初始值,,產(chǎn)生目標(biāo)語(yǔ)言的句子,。那么一個(gè)直觀的想法是,能否復(fù)用上面的框架,,考慮到CNN在圖片特征提取方面的成功應(yīng)用,,將encoder RNN替換成CNN,先利用CNN將圖片轉(zhuǎn)換到一個(gè)向量表示,,再利用RNN將其轉(zhuǎn)換到sentence,。可以通過圖片分類提前訓(xùn)練好CNN模型,,將CNN最后一個(gè)隱藏層作為encoder RNN的輸入,,從而產(chǎn)生句子描述。如下圖所示,。
    cnn_rnncnn_lstm

    圖34. “CNN+LSTM” Image Caption Generator

    Li-Feifei團(tuán)隊(duì)在文獻(xiàn)[35]也提到一種image2sentence方法,,如下圖所示。與google的做法類似,,圖片的CNN特征作為RNN的輸入,。

    cnn-rnn

    圖35. “CNN+RNN”生成圖片描述

    此方法有開源實(shí)現(xiàn),有興趣請(qǐng)參考:neuraltalk

3.3 訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的tricks

考慮到圖片語(yǔ)義分析的方法大部分都是基于深度學(xué)習(xí)的,,Hinton的學(xué)生Ilya Sutskever寫了一篇深度學(xué)習(xí)的綜述文章[47],,其中提到了一些訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的tricks,整理如下:

  • 保證訓(xùn)練數(shù)據(jù)的質(zhì)量
  • 使訓(xùn)練數(shù)據(jù)各維度數(shù)值的均值為0,,方差為一個(gè)比較小的值
  • 訓(xùn)練時(shí)使用minbatch,,但不要設(shè)得過大,在合理有效的情況下,,越小越好,。
  • 梯度歸一化,,將梯度值除于minbatch size。
  • 設(shè)置一個(gè)正常的learning rate,,validation無(wú)提升后,,則將原learning rate除于5繼續(xù)
  • 模型參數(shù)隨機(jī)初始化。如果是深層神經(jīng)網(wǎng)絡(luò),,不要設(shè)置過小的random weights,。
  • 如果是在訓(xùn)練RNN or LSTM,對(duì)梯度設(shè)置一個(gè)限值,,不能超過15 or 5,。
  • 注意檢查梯度計(jì)算的正確性
  • 如果是訓(xùn)練LSTM,initialize the biases of the forget gates of the LSTMs to large values
  • Data augmentation很實(shí)用,。
  • Dropout在訓(xùn)練時(shí)很有效,,不過記得測(cè)試時(shí)關(guān)掉Dropout。
  • Ensembling,。訓(xùn)練多個(gè)神經(jīng)網(wǎng)絡(luò),,最后計(jì)算它們的預(yù)測(cè)值的平均值。

4 總結(jié)

4.1 語(yǔ)義分析方法在實(shí)際業(yè)務(wù)中的使用

前面講述了很多語(yǔ)義分析方法,,接下來我們看看如何利用這些方法幫忙我們的實(shí)際業(yè)務(wù),,這里舉一個(gè)例子,用戶廣告的語(yǔ)義匹配,。

在廣點(diǎn)通系統(tǒng)中,,用戶與廣告的關(guān)聯(lián)是通過定向條件來匹配的,譬如某些廣告定向到“北京+男性”,,那么當(dāng)“北京+男性”的用戶來到時(shí),,所有符合定向的廣告就將被檢索出,再按照“ecpm*quality”排序,,將得分最高的展示給用戶,。但是憑借一些人口屬性,用戶與廣告之間的匹配并不精確,,做不到“廣告就是想用戶所想”,,所以用戶和廣告的語(yǔ)義分析就將派上用場(chǎng)了,,可以從這樣兩方面來說明:

  • 特征提取,。基于上面介紹的方法,,提取用戶和廣告的語(yǔ)義特征,。
    • 用戶語(yǔ)義特征??梢詮挠脩舻乃阉?,購(gòu)物,,點(diǎn)擊,閱讀記錄中發(fā)現(xiàn)用戶興趣,??紤]到最終的用戶描述都是文本,那么文本topic分析,,文本分類,,文本keyword提取,文本核心term提取都可以運(yùn)用起來,,分析出用戶的語(yǔ)義屬性,,還可以利用矩陣分解和文本分類找到相似用戶群。
    • 廣告語(yǔ)義特征,。在廣點(diǎn)通里,,廣告可以從兩個(gè)維度來描述,一方面是文本,,包括廣告title和landing page,,另一方面是廣告展示圖片。利用文本和圖片的語(yǔ)義分析方法,,我們可以提取出廣告的topic,,類目,keyword,,tag描述,。
  • 語(yǔ)義匹配。提取到相應(yīng)的語(yǔ)義特征之后,,怎么用于改善匹配呢,?
    • 用戶-廣告的語(yǔ)義檢索?;趉eyword,、類目以及topic,對(duì)廣告建立相應(yīng)的倒排索引,,直接用于廣告檢索,。
    • 用戶-廣告的語(yǔ)義特征。分別提取用戶和廣告的語(yǔ)義特征,,用于計(jì)算用戶-廣告的relevance,,pctr,pcvr,,達(dá)到精確排序,。

4.2 Future

對(duì)于文本和圖片的語(yǔ)義分析,可以看到:最近幾年,,在某些任務(wù)上,,基于深度學(xué)習(xí)的方法逐漸超過了傳統(tǒng)方法的效果,。但目前為止,對(duì)于深度學(xué)習(xí)的發(fā)掘才剛剛開始,,比較驚艷的神經(jīng)網(wǎng)絡(luò)方法,,也只有有限幾種,譬如CNN,,RNN,,RBM等。

上文只是介紹了我們?cè)诠ぷ髦袑?shí)踐過的幾個(gè)小點(diǎn),,還有更多方法需要我們?nèi)ネ诰颍?/p>

  • Video,。Learn about 3D structure from motion。如文獻(xiàn)[19]所示,,研究將視頻也轉(zhuǎn)換到自然語(yǔ)言,。
  • Deep Learning + Structured Prediction,用于syntactic representation,。

4.3 總結(jié)

上文主要從文本,、圖片這兩方面講述了語(yǔ)義分析的一些方法,并結(jié)合個(gè)人經(jīng)驗(yàn)做了一點(diǎn)總結(jié),。

原本想寫得更全面一些,,但寫的時(shí)候才發(fā)現(xiàn)上面所述的只是滄海一粟,后面還有更多語(yǔ)義分析的內(nèi)容之后再更新,。另外為避免看到大篇理論就頭痛,,文中盡可能不出現(xiàn)復(fù)雜的公式和理論推導(dǎo)。如果有興趣,,可以進(jìn)一步閱讀參考文獻(xiàn),,獲得更深的理解。謝謝,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多