Wednesday, May 27, 2015

Week 15: Learning Everything about Anything: Webly-Supervised Visual Concept Learning

題目:Learning Everything about Anything: Webly-Supervised Visual Concept Learning


作者:Santosh K. Divvala, University of Washington             

            Ali Farhadi, Carlos Guestrin , The Allen Institute for AI



文章概要:


        本篇文章主要利用數量巨大的圖片進行Concept Learning,給定任何概念,系統可以發現數目巨大的擴展詞庫和它的相關圖像,並且在這基礎上訓練一個full-fledged detection models ,達到 Learning Everything about Anything的效果。效果示意圖如圖1所示,網站demo如圖2所示。





圖1 Learning效果示意圖






圖2 網站示意圖

主要算法:

        文章提出的方法主要是“webly supervised”的方法。首先使用Google Books 2012的語料尋找出包含POS-tag的dependency ngrams data,其次由於ngram詞數過多以及有很多無關詞彙,需要使用一定的方法進行刪減和剪枝,文中使用Classifier-based 進行prune,具體過程是:利用詞彙在Google Image Search中找出圖片,將圖片做training data和validation data的劃分,使用DPM(Deformable Parts Model)針對每個nram 訓練出單獨的模型。validation的過程中,需要判斷validation出的準確率和threshold 10%的對比。只保留validation正確率大於10%的gram。

        但僅僅單純地pruning是不夠的,為了減少相同意義的詞彙和pool 有意義的training data,文中做了取樣的處理。包括對stem word和synonymous的merge。具體方法是利用graph找出相似的詞彙,將他們合併成新的superngram。 


實驗結果:

       實驗結果主要從兩個方面進行闡述,分別是object detection和action detection。
Object detection主要選取了PASCAL VOC 2007的test sets,其中共有20個classes。可以看到在20個classes中,文中的webly supervised的方法在其中13個classes中有比較好的效果。如圖3所示。


圖3  PASCAL VOC 2007 結果


        Action detection主要選取了VOC2011 (val) action detection,在jumping中戰勝了state-of-art,其他三種action取得了類似的結果。如圖4所示。


圖4 VOC2011 (val) action detection結果


創新之處和心得:


        這篇paper使用了很讓人振奮的題目,並且定義了未來語言和圖片結合大學習的趨勢,非常具有前瞻性和參考性,讓人思考,給人啟發。



Week 14:Text Understanding from Scratch.

題目:Text Understanding from Scratch


作者:Xiang Zhang Yann LeCun 

            Computer Science Department, Courant Institute of Mathematical Sciences, New York University


文章概要:

          本篇文章主要利用深度學習技術對文字進行理解。包括從character-level的輸入提取出抽象的文字概念,包括應用ConvNets的技術進行 ontology分類,情感分析和文字分類。文中可以看到ConvNets的應用在以上任務中,包括中文和英文都取得了很好的效果。

主要算法:

          文章提出的方法主要是利用ConvNets在大規模資料集上的應用。之所以利用ConvNets的原因作者提出了以下兩點:
         (1)ConvNets 不需要利用每個character的知識和意義,因為ConvNets是從圖像演變過來的,所以此處不需要單字的意義;
         (2)ConvNets不需要語法或者語義結構的知識,理由同上,可以說,它從本質上和先前的文字處理是不一樣的。

          文中主要設計了兩種ConvNets模型,分別是一種大型模型和小型模型。模型中,它們都有9個layers,包括6層 convolutional layers 和 3層 fully-connected layers,不過它們的區別是大型model convolutional layers的hidden units是1024,小型model是256.大型model在fully-connected layers output units是2048,小型是1024.在fully-connected layers,使用了dropout,概率是0.5.模型架構如圖1所示。具體差異如圖2、3所示.


圖1 model架構


圖2 大型model架構


圖3 小型model架構


           在此模型架構基礎上,作者做了data augmentation,用synonyms替換了單字和片語。

實驗結果:

           實驗結果主要從不同的資料庫上進行了實驗,分別是DBpedia Ontology Classification,Amazon Review Sentiment Analysis,Yahoo! Answers Topic Classification,News Categorization in English和News Categorization in Chinese。
          在DBpedia Ontology Classification中,結果如圖4所示,相比word vector和bag of words取得了較好的accuracy。


圖4 DBpedia Ontology Classification結果

         在Amazon Review Sentiment Analysis中,結果如圖5、圖6所示。


圖5 Amazon ull score dataset結果



圖6 Amazon review polarity dataset結果

             在Yahoo! Answers Topic Classification中,結果如圖7所示。



圖7  Yahoo! Answers dataset結果

          
          在 AG’s news corpus中,結果如圖8所示。


圖8  AG’s news corpus(English)結果
         
          在 Sogou News dataset中,結果如圖9所示。


圖9   Sogou News dataset(Chinese)結果


創新之處和心得:


            本文為我們提供了ConvNets在文字理解任務上的適用性和優點,它不需要任務文字語義的知識,而僅僅是把文字當做圖片一樣運用convolutional layer的深層網絡進行識別,取得了很好的效果,在龐大的數據量基礎上,實現了好效果,值得借鑑和參考。


Week 13: Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups.

題目:Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups.


作者:Geoffrey Hinton, Li Deng, Dong Yu, George E. Dahl, Abdel-rahman Mohamed, Navdeep Jaitly, Andrew Senior, Vincent Vanhoucke, Patrick Nguyen, Tara N. Sainath, and Brian Kingsbury


文章概要:

           本篇文章在語音識別領域具有開創性。首先提出了DBM-DNN在的語音識別領域的應用,在語音識別領域普遍使用GMM-HMM的基礎上,得到的單純phone recognition更加好的效果。過去使用Gaussian mixture models 來fit每一種 acoustic input state,進而使用Hidden Hidden Markov model得到最好的phone sequence。而本文提出了用DBN進行pretrain然後用DNN 得到posterior probabilities進而輸入HMM,得到更好的phone sequence。


主要算法:

          文章第一部份主要介紹了基本的deep neural network的概念,其實就是對於neural network的擴展,每一個neutron簡單地logistic unit,進而輸出y傳遞到下一層,如式1所示。通過最後的softmax layer得到multiclass的輸出概率,如式2所示。其中update的過程使用SGD,並且通過Feed forward和Backpropagation從而更新weight。

     式1


式2

式3



          而在DNN的基礎上,我們可以先對初始的weight等做初始化和pretrain,這裡就用到了RBM,RBM主要是對式4能量函數進行優化,從而最後用Stack RBM組成DBN(Deep Belief Network).

式4

          模型架構如圖1所示,使用三層的DBN進行pretrain,其中第一層為GRBM,后兩層為RBM,最後在此基礎上加一層softmax layer得到每個state的概率從而可以接下來給HMM做predict。

圖1  模型架構圖

實驗結果:

           實驗結果主要從以下四個方面進行介紹:
           首先是在TIMIT 的core test set進行phone recognition,結果如圖2所示。

圖2 TIMIT core test set結果圖



           其次是在HUB5’00-SWB和RT03S-FSH兩個庫上與GMM-HMM baseline進行比較,結果如圖3所示。

圖3 與GMM-HMM baseline比較圖


           第三個實驗是在五個大型vocabulary任務上進行識別,結果如圖4所示。


圖4 Vocabulary任務識別

            最後一個實驗是在English Broadcast News上進行識別,比較WER(Word Error Rate)。



圖5  English Broadcast News識別結果

創新之處和心得:


            本文為我們提供了語音識別上對於phoneme recognition的新思路,將deep learning與語音有機結合了起來,並且在本文發表后的時間裡,同領域deep learning在語音上的運用發展迅速,是一片具有開創性的文章。


Week 12: Rich feature hierarchies for accurate object detection and semantic segmentation

題目:Rich feature hierarchies for accurate object detection and semantic segmentation


作者:Ross Girshick Jeff Donahue Trevor Darrell Jitendra Malik            

            UC Berkeley



文章概要:


           本篇文章主要基於對canonical PASCAL VOC dataset上object detection任務,利用combine了region proposals的CNN,進行對object的識別,主要combine核心是一方面利用high-capacity的CNN進行localize 和segment objects,另一方面對于training data稀缺的情況,進行supervised pre-training,從而改善實驗結果。


主要算法:

           文章的系統模型架構如圖1所示。



圖1  系統架構圖


           主要分為以下4個步驟:
          (1)輸入所要識別的影像;
          (2)提取大約2千個自底向上(bottom-up)的 region proposals;
          (3)對於每個proposal,使用CNN提取出features,這裡作者使用Caffe提取出4096維的feature;
          (4)将提取出的feature输入给linear SVM,進行object detection。訓練過程中,使用了Supervised pre-training,得到了在LSVRC 2012 validation set上top-1 error rate 比先前高2.2 %的feature。進而Domain-specific fine-tuning之後,進行classsify。

實驗結果:


           實驗結果主要是再如上涉及的PASCAL VOC test set進行 object detection 和semantic segmentation結果的比較,object detection結果如圖2所示,semantic segmentation結果如圖3所示。


圖2 object detection結果圖



圖3 semantic segmentation結果圖


           可以看出本文提出的RCNN在總體結果上都實現了突破,實例如圖4所示。



圖4 識別結果圖


創新之處和心得:


          
          本文為我們提供了如何在object detection上利用CNN抽取feature進而提高任務mAP,獲得了很好的效果,這啟發我們多閱讀多思考會得到很好的結果。



Week 11: ImageNet Classification with Deep Convolutional Neural Networks

題目:ImageNet Classification with Deep Convolutional Neural Networks


作者:Ross Girshick Jeff Donahue Trevor Darrell Jitendra Malik             University of Toronto



文章概要:


           本篇文章主要利用CNN(Convolutional Neural Networks),訓練出深度的convolutional neural network 去識別ImageNet LSVRC-2010 contest 的120萬張圖像。ImageNet識別任務如圖1所示。文章核心是介紹了它們所涉及的CNN 網絡的結構,包含6000萬個參數和65萬個neuron,network一共有五層layer,使用了Relu,加速activation,使用dropout技術防止overfitting,使用了大型多核GPU提高訓練速度。




圖1 ImageNet識別任務圖

主要算法:


          文章的系統模型架構如圖2所示,是本文的核心。
          網路架構一共有9層,輸入層維度為150,528,其它層的neuron個數為 253440–186624–64,896–64,896–43,264– 4096–4096–1000。其中共有5層convolution layer和三層fully-connected layer。作者使用Data Augmentation和dropout解決overfitting的問題,dropout機率設為0.5。



圖2 CNN網路架構圖




實驗結果:


          實驗結果如圖3所示,在test-set 上CNN top-1取得了37.5%的錯誤率,top-5取得了17.0%的錯誤率,相比Sparse Coding和SIFT+FV提升效果顯著。



圖3  ILSVRC-2010識別錯誤率比較


          而在ILSVRC-2012的資料集上,top-5 test也得到了相比其他更好的效果。如圖4所示。



圖3  ILSVRC-2012識別錯誤率比較


創新之處和心得:



           本文是基本上開啟了CNN輝煌的開始,極具有代表性和啓發性。但是我們需要注意的一點是現今deep learning對於硬件的要求也是非常之大,在這方面我們還需要做更多研究來優化deep learning。




Week 10: Story-driven summarization for egocentric video

題目:Story-driven summarization for egocentric video


作者:Zheng Lu and Kristen Grauman University of Texas at Austin


文章概要:


          本篇文章主要內容是基於故事驅動對影像進行summary。在給定一段時序的影像輸入之後,選擇一系列短的subshot來描述特定的事件。作者定義了random work,用來評估不同虛擬object在事件中的影響。在這種衡量影響的基礎上,選取k-subshot summary。總體框架如圖1所示。 


圖1 總體框架圖


主要算法:

          首先將原始的影像定義為一系列一共n個subshots,選定K個subshots,如公式1所示。


公式1


找出S中使得Q最大的S序列,如公式2所示。

公式2

其中Q需要考慮story、importance和diversity的影響。定義如公式3所示。


公式3


           在給每一個K-subshots定義分數的時候,將story、importance和diversity定義為bipartite graph,如圖2所示,頂部節點是object,下部節點是subshots,連接它們的是object和subshots之間的概率。在此圖的基礎上,目標函數是使取得最小值。




圖2 相關影響bipartite graph圖


          接下來需要將手握或者holding物體考慮進去,如圖3所示,然後將subshot裡面有相關性的物體都考慮進去,這樣才能得到有意義的結果,如圖4所示。



圖3 考慮holding物體圖



圖4  作者method與 unifrom sampling對比


實驗結果:

          實驗結果可以看出故事驅動的方法可以找到比較重要的object以及相比其他方法對故事的總結更具有代表性。圖5為與frequency-based baseline的對比。圖6不同方法summarization的效果對比。

圖5  與frequency-based baseline對比



圖6  不同方法summarization的效果對比

創新之處和心得:


          
         本文出發點較新穎,利用故事驅動完成對影像的總結,具有一定的參考價值和借鑑意義。



Week 09: Latent Dirichlet allocation

題目:Latent Dirichlet Allocation


作者:David M. Blei,Andrew Y. Ng,Michael I. Jordan


文章概要:


          本篇文章主要目的是用更緊湊的方式表現高維資料,從而實現降維的目的。如圖1所示,將圖A這種方法作者稱為locally linear embedding(LLE),它是一種unsupervised的方法,將高維度的輸入用低維度、較緊湊的方式表達。此處需要注意的是,它是一種降維的方法,不是clustering的方法。


主要算法:


         對於如何生成M份包含N個單詞的文檔,這篇文章主要介紹了3種方法:

        (1)n-gram model

        該模型使用下面方法生成1個文檔:

        For each of the N words w_n: 
                Choose a word w_n p(w); 

        其中N表示要生成的文檔的單詞的個數,w_n表示生成的第n個單詞wp(w)表示單詞w的分布,可以通過語料進行統計學習得到,比如給一本書,統計各個單詞在書中出現的概率。

        這種方法通過訓練語料獲得一個單詞的概率分布函數,然後根據這個概率分布函數每次生成一個單詞,使用這個方法M次生成M個文檔。其圖模型如下圖所示:



       (2) Mixture of unigram

        unigram模型的方法的缺點就是生成的文本沒有主題,過於簡單,mixture of unigram方法對其進行了改進,該模型使用下面方法生成1個文檔:

        Choose a topic z p(z); 

        For each of the N words w_n: 

                Choose a word w_n p(w|z); 

        其中z表示一個主題,p(z)表示主題的概率分布,z通過p(z)按概率產生;Nw_n同上;p(w|z)表示給定zw的分布,可以看成一個k×V的矩陣,k為主題的個數,V為單詞的個數,每行表示這個主題對應的單詞的概率分布,即主題z所包含的各個單詞的概率,通過這個概率分布按一定概率生成每個單詞。

        這種方法首先選選定一個主題z,主題z對應一個單詞的概率分布p(w|z),每次按這個分布生成一個單詞,使用M次這個方法生成M份不同的文檔。其圖模型如下圖所示:




      (3)LDA(Latent Dirichlet Allocation)

        LDA方法使生成的文檔可以包含多個主題,該模型使用下面方法生成1個文檔:

        Choose parameter θ p(θ); 

        For each of the N words w_n: 

                Choose a topic z_n p(z|θ); 

                Choose a word w_n p(w|z); 

        其中θ是一個主題向量,向量的每一列表示每個主題在文檔出現的概率,該向量為非負歸一化向量;p(θ)θ的分布,具體為Dirichlet分布,即分布的分布;Nw_n同上;z_n表示選擇的主題,p(z|θ)表示給定θ時主題z的概率分布,具體為θ的值,即p(z=i|θ)= θ_ip(w|z)同上。

        這種方法首先選定一個主題向量θ,確定每個主題被選擇的概率。然後在生成每個單詞的時候,從主題分布向量θ中選擇一個主題z,按主題z的單詞概率分布生成一個單詞。其圖模型如下圖所示:


          從上圖可知LDA的聯合概率為:


          把上面的式子對應到圖上,可以大致按下圖理解:




          從上圖可以看出,LDA的三個表示層被三種顏色表示出來:

          1. corpus-level(紅色):αβ表示語料級別的參數,也就是每個文檔都一樣,因此生成過程只採樣一次。

          2.document-level(橙色):θ是文檔級別的變量,每個文檔對應一個θ,也就是每個文檔產生各個主題z的概率是不同的,所有生成每個文檔採樣一次θ

          3. word-level(綠色):zw都是單詞級別變量,zθ生成,wzβ共同生成,一個 單詞w對應一個主題z

        通過上面對LDA生成模型的討論,可以知道LDA模型主要是從給定的輸入語料中學習訓練兩個控制參數αβ,學習出了這兩個控制參數就確定了模型,便可以用來生成文檔。其中αβ分別對應以下各個信息:

        α:分布p(θ)需要一個向量參數,即Dirichlet分布的參數,用於生成一個主題θ向量;

        β:各個主題對應的單詞概率分布矩陣p(w|z)

        w當做觀察變量,θz當做隱藏變量,就可以通過EM算法學習出αβ,求解過程中遇到後驗概率p(θ,z|w)無法直接求解,需要找一個似然函數下界來近似求解,原文使用基於分解(factorization)假設的變分法(varialtional inference)進行計算,用到了EM算法。每次E-step輸入αβ,計算似然函數,M-step最大化這個似然函數,算出αβ,不斷迭代直到收斂。


實驗結果:


         本文主要做了如下實驗:

         (1)對document進行topic 分類:


          (2)與不同模型在Topic分類上的perplexity比較:





           (3)在Reuters-21578 dataset的分類正確率:


創新之處和心得:


           本文LDA在topic model上現今有非常大的用處,模型很簡單但卻很實用,是機器學習者必須了解和懂的模型。





Week 08: Probabilistic latent semantic indexing

題目:Probabilistic Latent Semantic Indexing


作者:Thomas Hofmann


文章概要:


          本文主要介紹對文件做自動索引。利用LSA(Latent Semantic Analysis)用SVD對feature進行降維,然後根據word distribution,分類文檔的劣勢在於,沒有比較好的統計基礎。所以PLSA,用概率模型來做文檔分類、詞聚類等。本文真是基於概率模型,進行文本分類。

主要算法:


            首先準備好字典。假設為SET = {w1,w2,w3..}

   事前定義好的幾個分類,例如: Topic = {t1, t2, t3...}

      最後是一個分類未知的雜合文檔集, Doc = {d1,d2,d3…}
 
            首先在文檔集中挑選一篇文檔d的概率, P(d),然後這篇文檔描述內容是關於topic-t的概

率為P(t|d) ,在這個topic中,包含了文檔當前內容w的概率: P(w|t)。這裡需要注意的是文檔中

字和具體某個文檔無關。
           
             所以P(w|t,d)=>P(w|t),p(d,w) = p(d)p(w|d),p(w|d) = ∑p(w|t)p(t|d) (tT)。
           
             合併兩個方程式,得

             p(d,w) = p(d)*∑p(w|t)p(t|d) = ∑p(w|t)p(t|d)p(d)

             p(t|d)p(d) = p(t,d) = p(d|t)p(t)

            再得p(d,w) = p(d)*∑p(w|t)p(t|d) = ∑p(w|t)p(d|t)p(t) (tT)

      我們要去求的結果是p(w|t)p(d|t)..

      E-STEP:

            p(t|d,w) = p(w|t)p(d|t)p(t)/∑( p(w|t')p(d|t')p(t'))

      M-STEP:

            p(w|t) = ∑(n(d,w)*p(t|d,w))

      同理p(d|t) = ∑(n(d,w)*p(t|d,w)),p(z) = ∑(n(d,w)p(z|w,d)。


創新之處和心得:




           本文利用統計模型對LSA進行了改善,有更強的理論基礎,值得學習和借鑑。




Week 07: Online dictionary learning for sparse coding

題目:Online Dictionary Learning for Sparse Coding


作者:Julien Mairal Francis Bach, Jean Ponce


文章概要:


          本篇文章主要使用sparse coding技術,利用sparse coding編碼數據向量,基於某字典,可以通過線性重組獲得向量原始向量。這種方法在圖像處理領域和語音處理領域很常用,本文正是提出了一種新的在線優化的方法,實時訓練更新字典,從而實現online實時更新。

主要算法:

           本文主要有以下算法:
         (1)Online Dictionary Learning ,算法步驟主要如圖1所示。


圖1 Online Dictionary Learning 算法圖 


          核心步驟在第四步計算Sparse Coding和第七步的更新字典步驟。其中5、6還可以利用公式1加速;

公式1


         (2)如上提及的第七步更新字典步驟如圖2所示。


圖2 字典更新算法圖



           對于sparse coding的優化,除了公式1的優化,作者還提出了使用fixed-size的datasets,並且將字典從unused atoms進行purge。

實驗結果:

          實驗結果主要從速度的提升和coding的效果進行了闡述。
          圖3顯示了相比SGD,文中優化的時間提升。




圖3  時間提升結果

          圖4顯示了coding的效果,丟失率較低。


圖4  coding結果




創新之處和心得:

         本文提出了一種online進行sparse coding的方法,在保證正確率的情況下時間也得到了提升,值得參考和學習。