當前位置:
首頁 > 新聞 > 面對未知分類的圖像,我要如何拯救我的分類器

面對未知分類的圖像,我要如何拯救我的分類器

雷鋒網 AI 科技評論按:當訓練好的圖像分類器遇到了訓練數據里不存在的類別的圖像時,顯然它會給出離譜的預測。那麼我們應該如何改進分類器、如何克服這個問題呢?

老實說,這真的是領域內的一個老大難問題,沒人能給出完美的答案。Jetpac(現被谷歌收購) CTO、蘋果畢業生、TensorFlow 團隊成員 Pete Warden 在個人博客中寫下了他的一些個人思考。雷鋒網 AI 科技評論編譯如下。

幾天前,正與我合作的 Plant Village 團隊向我提出了一個他們正在開發的應用程序(app)中遇到的問題。他們用 app 檢測植物所患的疾病。當它面對植物的葉子時,app 能夠給出很好的分類結果,然而如果你讓 app 處理電腦鍵盤的圖片,它會認為這是一種受損了的植物。如下圖。


既滑稽又合理

對於計算機視覺研究者們來說,這樣的結果並不令人意外。但對於大多數其他人來說,這還是令人十分震驚的。所以我想解釋為什麼會發生這種情況,以及我們可以對此做些什麼。

作為人類,我們習慣於對我們看到的周圍世界中的任何事物進行分類。自然而然地,我們也希望機器具有相同的能力。然而,大多數模型僅僅被訓練用來識別非常有限的物體集合,例如 ImageNet 競賽中的 1,000 種物體。至關重要的是,訓練過程假設模型面對的每個樣本一定都是屬於這些類別的其中一種物體,而且預測結果也在這個集合的範圍內。模型不能選擇給出「我不知道!」這樣的預測結果,也沒有訓練數據會幫助分類器學到這樣的預測結果。對於科學研究來說,這樣的簡化處理是很有意義的,但是當我們在現實世界中使用這些最終得到的模型時還是會引起一些問題。

回想起我在 Jetpac 工作的日子,我們很難說服人們相信這個具有開創性的 AlexNet 模型是一個巨大的突破。因為每當我們把運行著 AlexNet 的用於演示的手機給測試者使用時,他們總會將自己的臉讓手機識別,而手機的預測結果往往是「氧氣面罩」或「安全帶」之類的東西。這是因為 ImageNet 競賽數據集中的物體不包括任何人的標籤,但是大多數帶有面具或安全帶標籤的圖片都同時包含了人的面孔和標籤對應的物體。另一個令人尷尬的錯誤是,當人們把手機對準一個盤子時,它給出的預測結果竟然是「馬桶座」!這是因為在初始的類別中沒有盤子,而外形特徵最接近的白色圓形物體是一個馬桶。

漸漸地,我認為這是一個「開放世界」與「封閉世界」的問題。我們假設模型所要面對的物體在有限的範圍內,從而訓練和評估模型。然而,一旦模型走出實驗室,被用於現實世界的種種應用,這樣的假設就不成立了。用戶會根據這些模型面對任意放在它們面前的物體的預測結果來評判它們的性能,無論這些物體是否在訓練集中。

那麼,解決方案是什麼呢?

不幸的是,我不知道有什麼簡單的方法可以解決這個問題,但是我已經看到了目前有一些策略是對此有所幫助的。顯然,我們可以從向訓練數據添加一個「未知」類開始處理該問題。而壞消息是,這樣做會引發一連串其它的問題:

「未知」類應該包含怎樣的樣本?可能屬於該類的自然圖像無窮無盡,所以你應該如何選擇哪些圖片應該被納入該類?

在「未知」類中,每種不同類別的物體需要包含多少?

對於那些看起來和你重點關注的類非常相似的未知對象,你應該做些什麼?例如,添加一個不在 ImageNet 的 1,000 類物體中,而看起來幾乎完全相同的品種的狗,可能會使許多本應該正確匹配的物體被迫分類到未知類中。

在訓練數據中需要讓未知類的樣本佔多大的比重?

最後一點實際上涉及到了一個更廣闊的問題。你從圖像分類網路中的到的預測值並不是概率。它們假設你看到任何特定類的概率等於該類在訓練數據中出現的頻率。如果你用一個分類里包含企鵝的動物分類器檢測亞馬遜叢林中的動物,你就會遇到這個問題,因為(幾乎)所有看到企鵝的事件都會是假正例誤報(false positive,顯然這裡是不會出現企鵝的,所以當模型認為自己看到了企鵝的時候一定是錯誤的)。即使是對於美國城市中的狗的種類,罕見的品種在 ImageNet 訓練數據中出現的次數也要比在一個寵物狗公園中多,所以他們會被過度描述為假正類。通常的解決方案是弄清在計算過程中你將面臨的先驗概率,然後利用它們將校準值應用到網路的輸出中,從而獲得更接近真實概率的結果。

在實際的應用程序中,從整體上幫助解決該問題的主要策略是:將模型的適用範圍限制在「應用程序將面對的物體與模型的訓練數據匹配」的情況。要做到這一點,一個簡單的方法就是對產品進行設計。你可以創建一個用戶界面,指引人們在運行分類器之前確保攝像頭畫面中已經出現了要分類的目標,這和那些要求你對支票或其他文檔進行拍照的應用程序經常做的是一樣的。

稍微複雜一點的方案是,你可以編寫一個獨立的圖像分類器,它試圖去識別那些那些主圖像分類器不能識別的情況。這和添加一個單一的「未知」類是不同的,因為它的作用更像一種級聯操作,或者用做一個詳細的模型前的過濾器。在識別農作物患病情況的例子中,視覺上的操作環境足夠獨特,所以只需要訓練一個訓練一個模型來區分葉子和隨機選擇的其他圖片。這些照片之間有足夠的相似性,而門模型至少應該能夠識別出圖片是否是在不支持的場景中拍攝的。該門模型將在運行完整的圖像分類器之前運行,如果它沒有檢測到一些看起來像是植物的東西,它就會提前跳出程序並且返回表明沒有發現任何植物的錯誤信息。

要求你對信用卡拍照或執行其它光學字元識別(OCR)過程的應用程序通常會混合使用屏幕上的方向和檢測模糊性或不協調性,從而指導用戶拍攝可以成功處理的照片。而一個用於回答「那是樹葉嗎?」這樣的問題的獨立圖像分類模型則是這種介面模式的簡單版本。

本文給出的可能並不是一個令人滿意的答案,但是一旦你把機器學習技術引入到帶有限制的研究問題之後,它們就會反應出用戶期望目標的混亂。在一個人對一個物體的認知過程中,存在很多常識和外部知識,而我們在經典的圖像分類任務中並沒有獲取這些知識。為了獲得滿足用戶期望的結果,我們必須圍繞我們的模型設計一個完整的系統,這個系統能夠理解它們將被部署到的環境,並切不僅僅基於模型的輸出作出明智的決策。

viapetewarden.com,雷鋒網 AI 科技評論編譯


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

商湯 37 篇論文入選 ECCV 2018,開源 mm-detection 檢測庫
WPS Office 2019企業版全面升級,推出密級關鍵詞和移動會議新功能

TAG:雷鋒網 |