摘要:但深度學習仍然只是解決計算機視覺領域內問題的工具之一。深度學習有時是過擬合的。深度學習有時會發生過度擬合這可能是我支持傳統計算機視覺技術研究的最佳理由。
摘要: 深度學習大潮為什么淹沒傳統的計算機視覺技術?聽聽大牛怎么說~
這篇文章是受到論壇中經常出現的問題所創作的:
這明顯是一個很好的問題,深度學習(DL)已經徹底改變了計算機視覺(CV)和人工智能。許多曾經看起來不可能解決的問題都解決了,機器獲得比人類更好的結果。圖像分類可能就是最好的例子。
但深度學習仍然只是解決計算機視覺領域內問題的工具之一。它并不是解決該所有問題的萬能藥。在這篇文章中,我想詳細說明這一點。也就是說,我想闡述一下為什么傳統的計算機視覺技術仍然非常有用。
我將把這篇文章分成以下部分:
深度學習需要大數據。
深度學習有時是過擬合的。
傳統的計算機視覺知識可以將幫助你進行深度學習。
但在我討論這些論點之前,我認為有必要首先詳細解釋什么是“傳統的計算機視覺”、深度學習是什么以及它為什么如此有破壞力。
背景知識在進行深度學習之前,如果你有諸如圖像分類之類的任務,這時你需要執行一個稱為特征提取的步驟,特征提取是非常“有趣的”。我這篇文章中將要提到一些傳統的計算機視覺技術(包括諸如邊緣檢測,角點檢測,物體檢測等等)。
在使用這些技術時,例如在特征提取和圖像分類方面,我們想的是從一類對象(例如椅子,馬等)的圖像中提取盡可能多的特征,并將這些特征視為一種“定義”(被稱為“袋”)的對象。然后,你會在其他圖像中搜索這些“定義”。如果一個袋子中的大量特征位于另一個圖像中,則該圖像被分類為包含該特定對象(即椅子,馬等)。
這種圖像分類特征提取方法的難點在于,你必須選擇在每個給定圖像中查找哪些特征。當你嘗試分類的類別數量開始增加,例如10或20時,這會變得很麻煩并且變得幾乎不可能。你是否尋找邊緣?紋理信息?使用不同類型的功能可以更好地描述不同類別的對象。如果你選擇使用許多特征,則必須處理大量參數,所有這些參數都必須由你進行微調。
那么,深度學習介紹了端到端的學習概念,其中(簡而言之)機器被告知要針對每個特定類別的對象學習要尋找什么。它為每個對象提供了最具描述性和顯著的特征。換句話說,神經網絡已經被告知發現圖像類別中的底層模式。
因此,通過端到端的學習,你不再需要手動決定使用傳統計算機視覺技術來描述你的特征。有線雜志這樣說道:
例如,如果你想教一個神經網絡來識別一只貓,那么你不要告訴它尋找胡須,耳朵,毛皮和眼睛。你只需要展示成千上萬張貓的照片,最終就能解決問題。如果它將狐貍誤分類為貓,你不需要重寫代碼,你只需要做的是繼續訓練。
下面的圖片描繪了特征提取(使用傳統的方法)和端到端學習之間的差異:
所以,這是整篇文章的背景。接下來,讓我們來看看為什么傳統的計算機視覺仍然是必要的,有益的。
首先,深度學習需要數據,很多很多的數據。上面提到的那些著名的圖像分類模型都是在大數據集上進行訓練的,這些用于訓練的數據集的前三名是:
ImageNet——包含 1000個對象類別/類的 150萬個圖像。
上下文中的Microsoft通用對象(COCO)——250萬個圖像,91個對象類別。
PASCAL VOC數據集 ——500K圖像,20個對象類別。
比一般圖像分類更容易的任務不需要這么多的數據,但你仍然需要很多數據。如果你無法獲得那么多的數據,你根本不知道會發生什么?(確實也有一些技巧可以提高你的訓練數據量,但這些是人為的方法)。
沒有充足的數據,訓練出來的模型一般表現都不好,因為一臺機器沒有洞察能力,它不能在沒有看到數據的情況下概括它看到的東西。
對于你來說,看到訓練好的模型并且手動調整一些東西太困難了,因為深度學習模型里面有數百萬個參數,其中每個參數在訓練過程中都會被調整。從某種意義上說,深度學習模式是一個黑匣子。
傳統的計算機視覺為你提供了充分的透明度,使你能夠更好地評估和判斷你的解決方案是否可以在訓練環境之外進行工作。你可以深入了解算法中存在的問題,如果有任何不妥,你可以很容易地弄清楚在哪里以及需要調整什么。
深度學習有時會發生過度擬合:這可能是我支持傳統計算機視覺技術研究的最佳理由。訓練深度神經網絡需要很長時間,你需要專用硬件(例如,高性能GPU),在很長的時間內訓練最新的最先進的圖像分類模型。
此外,如果你的訓練模型表現不佳,會發生什么?你必須返回并用不同的訓練參數重做整個過程,而且這個過程有時可能重復數百次。
但有時候這些都是不必要的,因為有時傳統的CV技術可以比DL更有效地解決問題,并且代碼行數更少。例如,我曾經參與過一個項目,以檢測通過傳送帶的每個錫罐是否有紅色的勺子。現在,你可以訓練一個深度神經網絡來檢測勺子,或者你可以對紅色上編寫簡單的顏色閾值算法(紅色的某個范圍內的任何像素都是白色的,每個其他像素是黑色的),然后計算你有多少白色像素。
了解傳統的計算機視覺可能會為你節省大量時間和減少一些不必要的麻煩。
傳統的計算機視覺將提高你的深度學習技能:理解傳統的計算機視覺實際上可以幫助你更好地進行深度學習。
例如,計算機視覺中使用的最常見的神經網絡是卷積神經網絡。但什么是卷積?它實際上是一種廣泛使用的圖像處理技術(例如參見Sobel邊緣檢測)。了解這可以幫助你了解你的神經網絡做了什么,因此可以更好地設計和調整你嘗試解決的任務。
然后還有一件事叫做預處理。這是經常對你提供的模型的數據進行準備以進行訓練。這些預處理步驟主要通過傳統的計算機視覺技術來完成。例如,如果你沒有足夠的訓練數據,則可以執行稱為數據增加的任務。數據增加可以包括對訓練集中的圖像執行隨機旋轉,移位,剪切等,以創建“新”圖像。通過執行這些計算機視覺操作,你可以大大增加你擁有的訓練數據量。
結論:在這篇文章中,我解釋了為什么深度學習沒有取代傳統的計算機視覺技術,為什么后者仍應該學習。首先,我發現了DL經常需要大量數據才能執行的問題。其次,深度學習對于特定任務來說可能會出現過度擬合現象。在這樣的任務中,標準的計算機視覺可以比DL更有效地解決問題,并且代碼行數更少。第三,認識傳統的計算機視覺實際上可以讓你更好地進行深度學習。這是因為你可以更好地了解DL到底正在做什么,并且你可以執行某些預處理步驟來改善DL結果。
簡而言之,深度學習只是計算機視覺的工具,當然不是萬能藥。不要只用它,因為它現在是新潮。傳統的計算機視覺技術仍然非常有用,知道它們可以為你節省時間和解決許多麻煩。
本文由阿里云云棲社區組織翻譯。
文章原標題《Why Deep Learning Has Not Superseded Traditional Computer Vision》
作者:Zbigniew
更為詳細的內容,請查看原文
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19709.html
摘要:同時,也會催生出超人類。年,深藍戰勝人類國際象棋冠軍,標記著人工智能往前邁開了重要一大步。年大勝柯潔,人工智能即將碾軋人類的話題遍進入大眾視野,迅即引起普遍的狂熱和焦慮。 showImg(http://upload-images.jianshu.io/upload_images/13825820-1b6450ee3f490762.jpg?imageMogr2/auto-orient/s...
摘要:然而,盡管訓練技術有了進步,深度學習的規模還是存在問題。這種更具擴展性的深度網絡使百度得以實施一種端對端的語音識別系統,它被稱之為。研究人員試圖用分布式處理來構建更廣泛的深度學習網絡,以便能處理更大的數據集。 隨著理論和硬件的飛速發展,神經網絡已經成為了在線服務(比如微軟的必應)的核心部件,推動著它們圖像搜索和語音識別系統的發展。這些公司仰賴于這項技術來驅動未來更先進的服務,所以他們擴大了神...
閱讀 2787·2021-11-17 09:33
閱讀 2168·2021-09-03 10:40
閱讀 522·2019-08-29 18:45
閱讀 2956·2019-08-29 16:21
閱讀 613·2019-08-29 11:11
閱讀 3394·2019-08-26 12:00
閱讀 2947·2019-08-23 18:19
閱讀 1093·2019-08-23 12:18