張婭:做人工智能研究這四個要素是缺一不可

2019-05-26 07:32:19   來源:新浪科技   評論:0   [收藏]   [評論]
導(dǎo)讀:  2019年未來論壇·深圳技術(shù)峰會(以下簡稱峰會)在深圳市舉行,上海交通大學教授,未來論壇青創(chuàng)聯(lián)盟成員張婭在峰會上發(fā)表題為《資源受限下的機器學習及其在圖像理解領(lǐng)域的應(yīng)用》的演講! ∫韵聻檠葜v全文: 
  “2019年未來論壇·深圳技術(shù)峰會”(以下簡稱峰會)在深圳市舉行,上海交通大學教授,未來論壇青創(chuàng)聯(lián)盟成員張婭在峰會上發(fā)表題為《資源受限下的機器學習及其在圖像理解領(lǐng)域的應(yīng)用》的演講。

  以下為演講全文:

  今天下午很榮幸能在2019年未來論壇·深圳技術(shù)峰會跟大家分享一下我們在資源受限下機器學習方面的一些成果,F(xiàn)在我們站在人工智能的巨大風口上,當我們談到人工智能的時候,我們自然而然會想到人工智能的四個重要因素,這里面有數(shù)據(jù)、算法、計算以及最后的應(yīng)用場景,我們在做人工智能研究的時候,其實這四個要素是缺一不可的,但是我的研究中想重點從數(shù)據(jù)的緯度展開。

  剛才彭總也介紹了,我們?nèi)斯ぶ悄芑蛘哒f機器學習的研究過程當中,首先我們需要積累大量的訓(xùn)練數(shù)據(jù),對每一個具體的任務(wù)我們都需要構(gòu)件一個Dedicated的數(shù)據(jù)集,它是非常費時費力的,舉個例子來說,斯坦福有一個非常著名的數(shù)據(jù)集ImageNet,這個數(shù)據(jù)集的構(gòu)建可能耗時長達四五年之久,最后通過亞馬遜的Mechanic Turk完成的,這個數(shù)據(jù)集被認為是廣泛的驅(qū)動了這一屆人工智能的興起,在之后我們也看到各個大公司,包括微軟,包括Google都開始推出了類似的數(shù)據(jù)集,這些數(shù)據(jù)為我們學界的研究也提供了重大的數(shù)據(jù)資源。大家可以看這個表格,都是以百萬級規(guī)模的數(shù)據(jù)集,對于很多行業(yè)的應(yīng)用來說,我們要快速的積累這么大規(guī)模的數(shù)據(jù)集,其實是不可行的,拿一個例子來說,在醫(yī)療這個領(lǐng)域,存在很多罕見病,全世界的病人加起來可能也不超過萬例,對于這種病的研究,我們怎么依賴少量的數(shù)據(jù)進行學習呢?所以我們的研究主要聚焦在如何減少數(shù)據(jù)標注的代價,我們將從三個方面來展開。

  第一方面是能不能標注更少的數(shù)據(jù),也就是不要標注所有的數(shù)據(jù)。第二是能不能減少標注的單位成本,也就是說用一個更粗糙的方式進行標注,而不是用非常完美的方式。第三是我們現(xiàn)在在網(wǎng)上其實可以采集大量的數(shù)據(jù),這些數(shù)據(jù)自然而然的就有一些標注信息給到我們,只是這些標注信息是含有大量噪聲的,怎么讓我們的模型容忍這些噪聲,或者從這些噪聲當中仍然能夠提取出來有效的成分,訓(xùn)練這個模型。這就是我要講的資源受限下的機器學習。

  首先來看一下怎么減少我的標注數(shù)量,這里我們采取的是主動采樣、主動學習的方式,我們通過選擇性的標注,而不是用隨機性的方式進行標注,達到節(jié)約標注成本的目的。

  傳統(tǒng)的機器學習通常采用被動學習。一個標準流程是假設(shè)我們有大量的數(shù)據(jù),我們以一種隨機的方式根據(jù)數(shù)據(jù)分布從數(shù)據(jù)當中選取一些樣本,請專業(yè)專家或者是請一些有標注能力的人來進行標注。這樣建立的模型,相當于我們的數(shù)據(jù)采集過程是一個比較簡單、被動的過程,而主動學習恰恰是在數(shù)據(jù)采集的過程就開始進行學習,這里我們是在數(shù)據(jù)采集的時候?qū)γ恳粋數(shù)據(jù)樣本進行評分,我們?nèi)ピu估這個樣本是不是對我們的模型訓(xùn)練會有用,當這個樣本對模型訓(xùn)練有用的時候,我們才送給人工標注,這樣我們可以極大地減少數(shù)據(jù)標注的代價。但問題又來了,我們還沒有模型,還沒有訓(xùn)練模型,我們只有一堆數(shù)據(jù),我們怎么知道這一堆數(shù)據(jù)哪些對我們的模型訓(xùn)練是有用的,哪些對我們的模型訓(xùn)練是沒用的?挑戰(zhàn)在于我們?nèi)绾味x這個有用性。

  在這個方面,我們提出了一個方法,首先我們認為如果一個樣本對模型訓(xùn)練有用,它要能夠改變當前的模型,如果它和當前的模型融合的非常好,那么它不可能對模型有所改變,也就是說它不可能對我們的模型起到改良和改進的作用。因此我們提出要選擇最有可能改變模型參數(shù)的這些樣本,這樣的樣本就能夠起到改進模型的作用。

  所以基于這個思路,我們就設(shè)計了基于一種隨機梯度下降的方式選擇對每一個樣本進行評分的方式,隨機梯度下降本質(zhì)上是模擬了模型訓(xùn)練的方式,去評估每一個樣本對模型參數(shù)改變的能力。我們在剛才講的斯坦福ImageNet數(shù)據(jù)集上進行了實驗,實驗結(jié)果用這個曲線圖表示。紅色曲線是我們通過主動學習所得到的精確率,曲線越高,說明效果越好。下面紫色的線是隨機的方式,可以看到通過主動學習,我們可以在相同數(shù)據(jù)量的情況下顯著的提升模型的精確度,或者說在相同精確度的情況下顯著的減少標注的數(shù)量。

  下面來說第二個方面的工作,我們怎么利用更粗糙的標簽,這里我們提出的方法是通過一種弱監(jiān)督的方式。首先我們來看一些具體的應(yīng)用場景,我們選擇的一個應(yīng)用場景是精細粒度的語義識別,對于這一類的問題,它有一個非常特殊的,或者說非常顯著的特性。大家如果看右邊這幅圖,我們有三個類型的海鷗,這三個類型的海鷗如果我們拍照的時候,他們pose是相同的話,其實看起來它們之間的差異是非常非常小的,同一只海鷗在不同pose的情況下,它的差異性其實是非常大的。也就是說,我們這一類的任務(wù),它的類別與類別之間的差異性有時候會反而小于類別內(nèi)部的差異性,這就對我們機器學習帶來了極大的挑戰(zhàn)。

  同時,從標注的角度,大家如果不是鳥類的愛好者,當你看到這些照片的時候,你很難區(qū)分它到底是哪一類的海鷗,就需要有非常專業(yè)的人士,可能是鳥類科學家,可能是專門在這方面有所建樹的人士來標注,這個代價就非常高。因為類類之間的差距大于類間的差距,他們之間的區(qū)分可能是在一些細節(jié)上,而不是在鳥的身體整體上。大家可以看右邊這個圖,鳥身上有很多小點,每個小點就代表我們需要在局部精細粒度的標注點,我們需要通過這些標注點知道鳥的眼睛在哪里,嘴巴在哪里等等,這些標注的代價是非常高的,平均來說標注一張照片要花1分鐘甚至更多的時間。

  所以在這個工作里我們提出了一種弱監(jiān)督的方式進行標注,我們不需要你告訴我鳥的頭在哪里,鳥的身體在哪里,所有細粒度的標注我們都沒有,我們只有一個圖片級的標注,告訴我們這個鳥是哪一類的鳥。在這個框架上我們利用了剛才說到的類間之間的相似性,當我們要定位這只鳥的時候,本質(zhì)上不同類別的鳥其實是非常相似的,所以我們可以利用它之間的相似性進行前景和背景的區(qū)分,當我們早定位到了鳥的位置的時候,我們再把兩類不同的鳥作為敵人來進行對抗學習,這樣的方式我們就可以達到一個實現(xiàn)區(qū)分不同類別鳥的目的。

  所以當它們是在朋友階段的時候,相當于我們要通過聯(lián)合不同類別的鳥共同學習,來達到一個更好定位的目的。當它們成為敵人的時候,我們是通過用一個多分類任務(wù)的來區(qū)分它到底是哪一類的鳥,這里面因為還是弱監(jiān)督的問題,我們不知道它到底是哪一個特性導(dǎo)致了這個分類,所以這里我們用了Multiple Instance Learning的方法來進行實現(xiàn)。

  這是我們最終的實驗結(jié)果,可以看到我們的方法最終取得了在弱監(jiān)督精細粒度分類上最好的結(jié)果,用了三個數(shù)據(jù)集,前兩個是斯坦福鳥的數(shù)據(jù)集,后面一個是不同亞類的狗的數(shù)據(jù)集,我們沒有用到框級的標注信息,所以我們?nèi)趸藰俗⑿畔,達到了節(jié)約訓(xùn)練成本的目的。

  對于用更弱的這種標簽,還可以用一些網(wǎng)絡(luò)的數(shù)據(jù)來進行提升。假如說我們是一個很小量的,但是是強標注的數(shù)據(jù)集。這些數(shù)據(jù)可以幫助我們提供一些專家的知識,同時我們可以是非常便宜、非常廉價的弱標注的數(shù)據(jù)集,它的弱點在于沒有精細粒度的標注,它的標注在圖象集的標注噪聲是非常高的,會導(dǎo)致大量的噪聲存在。

  所以在這里我們設(shè)計了一個基于Transfer Learning的思路,設(shè)計了一個強監(jiān)督+弱監(jiān)督數(shù)據(jù)協(xié)同的學習框架,在這個框架下,基于小量的強監(jiān)督數(shù)據(jù),我們構(gòu)建一個模型,這個模型包括了有特征提取、檢測器等,我們可以用這些構(gòu)建的模型把這些信息轉(zhuǎn)移到網(wǎng)絡(luò)數(shù)據(jù)集上,對網(wǎng)絡(luò)信息進行一些標注,我們通過設(shè)計噪聲消除模型把網(wǎng)絡(luò)數(shù)據(jù)的噪聲給扔掉,我們可以不斷地進行迭代,把這類高置信度的樣本加入到強監(jiān)督的數(shù)據(jù)集,通過這種自學習的方式,最后達到一個模型提升的效果。這還是在斯坦福鳥類數(shù)據(jù)集的效果,有10個點的提升,這個提升是非常顯著的。

  我們這里也比較了一下,當我們不斷地增加網(wǎng)絡(luò)數(shù)據(jù)集的時候,是不是可以不斷地有更多的增益。在上面這個曲線圖里面,這個紅色的代表了我們用強監(jiān)督和弱監(jiān)督的數(shù)據(jù)共同學習的結(jié)果?梢钥吹疆斘覀冊诓粩嗟卦黾用恳活惥W(wǎng)絡(luò)圖象數(shù)目的時候,這個曲線是在不斷上升的,證明我們加入的強數(shù)據(jù)是有效的。這里綠線是用了包圍框的標注,藍線是只用了弱監(jiān)督的標注?梢钥吹,哪怕我們只用了弱監(jiān)督的數(shù)據(jù),當我們的數(shù)據(jù)量足夠高的時候,其實我們也會超過只用少量強監(jiān)督的數(shù)據(jù),這證明了弱監(jiān)督學習是非常有用的。

  這里我們反過來,我們想證明如果我們使用非常非常少的強監(jiān)督數(shù)據(jù),是不是還能達到有效學習的目的。在這里我們用了兩類參數(shù),第一個是用了每一類有30個強監(jiān)督的數(shù)據(jù),第二個實驗當中,每一類只用5個強監(jiān)督數(shù)據(jù),每一類的鳥我們只有5張照片,可以看到其實到最后的結(jié)果,這兩個的差異已經(jīng)并不是特別大。如果在資源受限的情況下,我們不能有非常大的、海量標注的時候,其實這個實驗結(jié)果也還是可以接受的。

  我們第三個研究的弱監(jiān)督,我們希望通過一種協(xié)同學習的機制來提升弱監(jiān)督的學習效果,這里簡單介紹一下應(yīng)用場景,研究一個弱監(jiān)督的物體檢測的場景,在物體檢測的時候,通常來說我們也是要對物體檢測場景做包圍框的標注,這是我們的訓(xùn)練數(shù)據(jù)。這里強監(jiān)督的算法,都是用原始包圍框來進行標注,它的好處是這個模型會非常快,因為它的模型是一個非常快的結(jié)構(gòu)。

  對于提出的弱監(jiān)督的模型,其實它的性能跟強監(jiān)督有一個比較大的差異,其次在運行速度方面,因為它有迭代推理機制,所以會比較慢。在我們的工作當中,我們希望通過一些方式在弱監(jiān)督和強監(jiān)督學習的算法中架一座橋,我們希望把他們兩個同時進行訓(xùn)練,我們用一個協(xié)同學習的機制同時訓(xùn)練一個強監(jiān)督模型和弱監(jiān)督模型,并且在訓(xùn)練當中用某種機制讓這個強監(jiān)督模型和弱監(jiān)督模型互相增強。這就是我們在訓(xùn)練弱監(jiān)督模型的時候可以用圖片集的分類損失函數(shù)來進行訓(xùn)練,來優(yōu)化它。但是因為我們沒有,我們通過模型讓強監(jiān)督模型得到的預(yù)測結(jié)果和弱監(jiān)督模型預(yù)測得到的結(jié)果這么一個條件來訓(xùn)練整個模型、整個網(wǎng)絡(luò)。同時我們假設(shè)不管是強監(jiān)督模型還是弱監(jiān)督模型,它需要一定的一致性,所以我們又設(shè)計了部分特征共享的網(wǎng)絡(luò)結(jié)構(gòu),通過這兩個,也就是我們預(yù)測一致性的損失函數(shù)以及網(wǎng)絡(luò)參數(shù)部分共享的機制設(shè)計,來達到協(xié)同訓(xùn)練的目的。

  這是網(wǎng)絡(luò)結(jié)構(gòu),我就不細講了,這是最后的損失函數(shù),所以我們有一個分類的損失函數(shù),有一個一致性的損失函數(shù),在一致性損失函數(shù)當中又分為兩部分,一部分是他們的分類要一致,其次是它們的定位結(jié)果要一致,所以我們要兩個一致,由兩部分組成。

  我們來看結(jié)果,藍色那條線是弱監(jiān)督的模型學到的精確度,紅色這條線是強監(jiān)督模型學到的精確度,我們可以看到非常有意思的,首先兩個模型在訓(xùn)練過程當中都在協(xié)同爬升,都有比較大的提升,但是強監(jiān)督模型是遠遠高于弱監(jiān)督的,強監(jiān)督比弱監(jiān)督高出近10個點的準確率。

  同時我們用這個表格來對比一下其他的,我們?nèi)绻挥萌醣O(jiān)督進行訓(xùn)練,當我們加入強監(jiān)督這個協(xié)同訓(xùn)練機制的時候,我們不但提升了強監(jiān)督,我們對弱監(jiān)督本身也有提升。

  這是我們的結(jié)果,可以看到通過這個協(xié)同學習的機制,我們學到的這個模型可以學到更緊密的包圍框,同時識別檢測出來的物品數(shù)量也更加多。

  在一些標準的Benchmark上面進行了實驗,實驗結(jié)果也表明我們通過這種協(xié)同學習得到的結(jié)果達到了當時的表現(xiàn)。這是在VOC2012上的數(shù)據(jù)集,這兩個都是目標預(yù)測數(shù)據(jù)集。

  最后一個就是剛才講了網(wǎng)絡(luò)數(shù)據(jù)學習是一個方向,但是網(wǎng)絡(luò)數(shù)據(jù)天然有大量的噪聲,所以我們怎么進行噪聲的建模,所以我們這里重點研究了噪聲遷移的模型。我們現(xiàn)在從更多的研究醫(yī)療影象的角度來說,有數(shù)據(jù)表明同一張影像、同一個醫(yī)生在不同時間去讀片,正確率只能到15%,如果是兩個醫(yī)生,可以到25%,所以可以看到這種標注噪聲其實是廣泛存在的。這是我們提出的噪聲遷移模型的例子,假設(shè)我們有一系列的,這個圖像其實有一個標簽,這個標簽是我們想學的東西,我們希望通過這個圖模型,我們最后觀察到的這個標簽是Y,我們相當于想學X到Y(jié)之間的,就是Z。

  這里我們提出的,因為我們直接從X到Z到Y(jié)這個學習過程是很難的,因為有一個傳遞性存在。其實我們可以提出來關(guān)于標簽的Quality Embedding,就是下面這個圖,當我們有一個機制的時候,我們就可以通過Quality Embedding,這樣我們就可以學會真正的clean標簽是什么。

  在這個數(shù)據(jù)集上,也是用剛才的數(shù)據(jù)集進行訓(xùn)練,這個數(shù)據(jù)集是一個非常干凈的數(shù)據(jù)集,所以我們在這個數(shù)據(jù)集里面標注信息,這樣的數(shù)據(jù)集我們可以控制噪聲的比例,大家可以看到表上,第一列Pnoise,我們可以看到盡管到0.6,也就是說其實絕大多數(shù)的標簽都含有噪聲,最終我們的模型還可以學到63.2%的精確度,這其實是非常有意思的,照理說所有的標簽都被Reverse了,應(yīng)該很難學習到真實標簽。檔標簽噪聲從0.2到0.4,我們看到結(jié)果會有一個顯著性的提升。

  這是雅虎Flicker的一個數(shù)據(jù)集上進行的測試,這是2007年VOC的結(jié)果,可以看到是非常Consistent的,在絕大多數(shù)的數(shù)據(jù)集上我們的結(jié)果。這張圖,剛才講了,我們有一個噪聲嵌入模型,相當于我們有一個標注的,左邊是說假如說我這個Quality是可信的,那么我們來看我的標簽是怎么轉(zhuǎn)移的,從Z到Y(jié)的轉(zhuǎn)移可以想象成行是Z,列是Y,可以看到這時候大量的激活其實是沿著對角線,說明它的標簽信息是一致的,Y等于Z,才在對角線上進行激活。當表明它的是很高的時候,遷移就在對角線上進行。右邊是說這些是不可信的,標簽質(zhì)量很差的時候,可以看到我們的遷移可以在任何兩類之間發(fā)生。

  這是我們最終訓(xùn)練得到的結(jié)果,上面這兩行代表了我們的Correction。它的數(shù)據(jù)集標簽,它被標定為一個瓶子,但其實大家可以看到它其實是一個飛機。我們通過這個模型可以非常好的把這個正確的標簽給恢復(fù)出來,這個模型其實也面臨一個問題,有些時候其實是難樣本,大家看最后一列,最后一列是非常有趣的,基本上都是一些狗的例子,這些狗的亞類,我們?nèi)耸呛茈y區(qū)分的,我也不知道它是分對了還是分錯了,我們的模型其實本質(zhì)上把這些難樣本也發(fā)掘出來了。

  總結(jié)一下,到今天為止其實AI是一個大潮流,第三次潮流,在這個在落地的過程當中我們也意識到一個巨大的問題,每一個AI產(chǎn)品的落地都需要重新采集數(shù)據(jù)集,都需要從零開始訓(xùn)練模型,這其實對AI的落地應(yīng)用是有很大限制的。我們希望通過這種資源受限的機器學習研究,來得以使這方面得到一定的突破,當然其實現(xiàn)在從學術(shù)角度的研究,我們還有更多的方向在做,比如說自監(jiān)督學習等等,我認為這些都是未來AI能夠真正從一個行業(yè)或者說領(lǐng)域人工智能走向真正通用人工智能的必經(jīng)之路。

  謝謝大家!

分享到:
責任編輯:zsz

網(wǎng)友評論