您的位置:首頁>正文

深度學習的核心:掌握訓練資料的方法

摘要: 本文主要介紹了如何進行圖像標注構建深度學習, 進而深度學習系統的效率。

Hello World!

今天我們將討論深度學習中最核心的問題之一:訓練數據。 深度學習已經在現實世界得到了廣泛運用, 例如:無人駕駛汽車, 收據識別, 道路缺陷自動檢測, 以及互動式電影推薦等等。

我們大部分的時間並不是花在構建神經網路上, 而是處理訓練資料。 深度學習需要大量的資料, 然而有時候僅僅標注一張圖像就需要花費一個小時的時間!所以我們一直在考慮:能否找到一個方法來提升我們的工作效率?是的,

我們找到了。

現在, 我們很自豪的將Supervisely令人驚歎的新特性公諸於世:支援AI的標注工具來更快速地分割圖像上的物件。

在本文中, 我們將重點介紹電腦視覺, 但是, 類似的思路也可用在大量不同類型的資料上, 例如文本資料、音訊資料、感測器資料、醫療資料等等。

重點:資料越多, AI越智慧

讓我們以吳恩達非常著名的幻燈片開始, 首先對其進行小小的修改。

深度學習的表現優於其它機器學習演算法早已不是什麼秘密。 從上圖可以得出以下結論。

結論 0:AI產品需要資料。

結論 1:獲得的資料越多, AI就會越智慧。

結論 2:行業巨頭所擁有的資料量遠超其它企業。

結論 3:AI產品的品質差距是由其所擁有的資料量決定的。

因此, 網路架構對AI系統的表現影響很大, 但是訓練資料的多少對系統表現的影響最大。 致力於資料收集的公司可以提供更好的AI產品並獲得巨大的成功。

常見錯誤:AI全都是關於構建神經網路的。

如上圖所示, 當人們一想到AI, 就會想到演算法, 但是也應該考慮到資料。 演算法是免費的:谷歌和其他巨頭更傾向于向世界分享他們最先進的(state-of-the-art)研究成果, 但是他們從不會共用資料。

許多人已經跳上了人工智慧炒作的列車,

並且創造了極棒的構建和訓練神經網路的工具, 然而關注訓練資料的人卻少的可憐。 當企業打算將人工智慧轉換成實際應用時, 會傾盡全部工具用於訓練神經網路, 卻沒有用於開發訓練資料上的工具。

吳恩達說論文已經足夠了, 現在讓我們來構建AI吧!

好主意, 我們完全贊同。 目前有許多論文和開源成果論述了最先進的(state of the art )且涵蓋所有的實際應用的神經網路架構。 想像一下, 你獲得了一個價值10億美元的新想法。 首先想到的肯定不會是:我將使用哪種類型的神經網路?最有可能的是:我在哪裡可以得到能建立MVP的資料?

讓我們來尋找一些有效的方法訓練資料,可行的方法如下:

1.開來源資料集。深度神經網路(DNN)的價值是用於訓練資料,在電腦視覺研究中,大多數可用資料都是針對特定研究小組所研究的課題而設計的,通常對於新研究人員來說,需要搜集更多額外的資料去解決他們自己的課題。這就是在大多數情況下開來源資料集並不是一個解決方案的原因。

2.人工資料。它適用於類似OCR文字識別或者是文本檢測,然而很多實例(如人臉識別,醫學影像等)表明人工資料很難甚至是不可能產生,通常的做法是將人工資料和帶標注的圖像相結合使用。

3.Web。自動收集高品質的訓練資料是很難的,通常我們會對收集的訓練資料進行修正和過濾。

4.外面訂購圖像標注服務。一些公司提供這樣的服務,我們也不例外。但其很大的缺點是不能進行快速的反覆運算。通常,即使是資料專家也不確定如何標注。通常的順序是做反覆運算研究:標注圖像的一小部分→建立神經網路架構 →檢查結果。每個新的標注都將會影響後續的標注。

5.手動標注圖像。僅適用於你自己的工作,領域內的專業知識是很關鍵的。醫學影像就是個很好的例子:只有醫生知道腫瘤在哪裡。手動注解圖像這個過程很耗時,但是如果你想要一個定制化的AI,也沒有其他辦法。

正如我們所看到的,其實並沒有萬能方法,最常見的方案是創建我們自己任務特定的訓練資料,形成人工資料,如果可能的話再整合到公共資料集中。這其中的關鍵是,你必須為特定的任務建立自己獨一無二的資料集。

讓我們深入學習來構建深度學習

深度學習接近於資料匱乏,且其性能極度依賴於可供訓練資料的數量。

通過實例我們可以看出標注的過程有多困難。這裡是標注過程所花費時間的一些原始資料,例如使用Cityscapes資料集(用於無人駕駛),在對Cityscapes資料集中單個圖像的精細圖元級的標注平均需要花費1.5h,如果標注5000個圖像,則需要花費5000*1.5=7500h。假設1h=$10(美國最低工資),那麼僅僅是標注該資料集就需要花費約$7.5萬左右(不包括其他額外的成本)。同樣吃驚的是,像這樣一家擁有1000名做無人駕駛圖像標注員工的公司,只不過是冰山一角。

神經網路能否説明我們提高圖像標注的效率呢?我們可不是第一個試圖回答這一問題的人。

半自動化實例標注很早就開始使用了, 有很多經典的方法可提高標注的效率,如超區塊演算法(Superpixels),分水嶺演算法(Watershed),GrabCut分割演算法等。近幾年,研究人員試圖用深度學習完成這一任務(link1, link2, link3),這些經典的演算法有很多缺陷,需要很多超參數對每一幅圖像進行檢索,難以對結果進行標準化和修正。最新的基於深度學習的成果要好很多,但在大多情況下這些成果是不開源的。我們是第一個為每個人提供基於AI的標注工具的人,我們自己獨立設計了與上邊三個links概念類似的神經網路架構。它有一個很大的優勢:我們的神經網路不需要對物件實例進行分類。這就意味著,可以對行人、汽車、路面上的凹陷處、醫學影像上的腫瘤、室內場景、食物成分、衛星上的物體等等進行分割。

那麼,它是如何工作的呢?如下圖所示:

你只需要剪裁感興趣的物件,然後神經網路將會對其進行分割。人機交互非常重要,你可以點擊圖像的內部和外部標籤進行修正錯誤。

語義分割是將圖像劃分為多個預定義語義類別的區域,與它不同的是,我們的互動式圖像分割旨在根據使用者的輸入提取其感興趣的物件。

互動式分割的主要目標是根據使用者最少的操作,即可精確的提取物件以改善整體的使用者體驗,因此我們大大提高了標注的效率。

這是我們的第一次嘗試,當然在有些情況下,好的標注依然會有缺陷。我們會不斷的提高品質,並做出適用於領域適應性的簡單方法:在不編碼的情況下,為適應內部特定的任務自訂工具。

結語

資料是深度學習的關鍵,訓練資料是費時和高代價的。但是我們和深度學習的團體積極嘗試著去解決訓練資料的問題,並且成功的邁出了第一步,希望能夠在以後提供更好的解決方案。

讓我們來尋找一些有效的方法訓練資料,可行的方法如下:

1.開來源資料集。深度神經網路(DNN)的價值是用於訓練資料,在電腦視覺研究中,大多數可用資料都是針對特定研究小組所研究的課題而設計的,通常對於新研究人員來說,需要搜集更多額外的資料去解決他們自己的課題。這就是在大多數情況下開來源資料集並不是一個解決方案的原因。

2.人工資料。它適用於類似OCR文字識別或者是文本檢測,然而很多實例(如人臉識別,醫學影像等)表明人工資料很難甚至是不可能產生,通常的做法是將人工資料和帶標注的圖像相結合使用。

3.Web。自動收集高品質的訓練資料是很難的,通常我們會對收集的訓練資料進行修正和過濾。

4.外面訂購圖像標注服務。一些公司提供這樣的服務,我們也不例外。但其很大的缺點是不能進行快速的反覆運算。通常,即使是資料專家也不確定如何標注。通常的順序是做反覆運算研究:標注圖像的一小部分→建立神經網路架構 →檢查結果。每個新的標注都將會影響後續的標注。

5.手動標注圖像。僅適用於你自己的工作,領域內的專業知識是很關鍵的。醫學影像就是個很好的例子:只有醫生知道腫瘤在哪裡。手動注解圖像這個過程很耗時,但是如果你想要一個定制化的AI,也沒有其他辦法。

正如我們所看到的,其實並沒有萬能方法,最常見的方案是創建我們自己任務特定的訓練資料,形成人工資料,如果可能的話再整合到公共資料集中。這其中的關鍵是,你必須為特定的任務建立自己獨一無二的資料集。

讓我們深入學習來構建深度學習

深度學習接近於資料匱乏,且其性能極度依賴於可供訓練資料的數量。

通過實例我們可以看出標注的過程有多困難。這裡是標注過程所花費時間的一些原始資料,例如使用Cityscapes資料集(用於無人駕駛),在對Cityscapes資料集中單個圖像的精細圖元級的標注平均需要花費1.5h,如果標注5000個圖像,則需要花費5000*1.5=7500h。假設1h=$10(美國最低工資),那麼僅僅是標注該資料集就需要花費約$7.5萬左右(不包括其他額外的成本)。同樣吃驚的是,像這樣一家擁有1000名做無人駕駛圖像標注員工的公司,只不過是冰山一角。

神經網路能否説明我們提高圖像標注的效率呢?我們可不是第一個試圖回答這一問題的人。

半自動化實例標注很早就開始使用了, 有很多經典的方法可提高標注的效率,如超區塊演算法(Superpixels),分水嶺演算法(Watershed),GrabCut分割演算法等。近幾年,研究人員試圖用深度學習完成這一任務(link1, link2, link3),這些經典的演算法有很多缺陷,需要很多超參數對每一幅圖像進行檢索,難以對結果進行標準化和修正。最新的基於深度學習的成果要好很多,但在大多情況下這些成果是不開源的。我們是第一個為每個人提供基於AI的標注工具的人,我們自己獨立設計了與上邊三個links概念類似的神經網路架構。它有一個很大的優勢:我們的神經網路不需要對物件實例進行分類。這就意味著,可以對行人、汽車、路面上的凹陷處、醫學影像上的腫瘤、室內場景、食物成分、衛星上的物體等等進行分割。

那麼,它是如何工作的呢?如下圖所示:

你只需要剪裁感興趣的物件,然後神經網路將會對其進行分割。人機交互非常重要,你可以點擊圖像的內部和外部標籤進行修正錯誤。

語義分割是將圖像劃分為多個預定義語義類別的區域,與它不同的是,我們的互動式圖像分割旨在根據使用者的輸入提取其感興趣的物件。

互動式分割的主要目標是根據使用者最少的操作,即可精確的提取物件以改善整體的使用者體驗,因此我們大大提高了標注的效率。

這是我們的第一次嘗試,當然在有些情況下,好的標注依然會有缺陷。我們會不斷的提高品質,並做出適用於領域適應性的簡單方法:在不編碼的情況下,為適應內部特定的任務自訂工具。

結語

資料是深度學習的關鍵,訓練資料是費時和高代價的。但是我們和深度學習的團體積極嘗試著去解決訓練資料的問題,並且成功的邁出了第一步,希望能夠在以後提供更好的解決方案。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示