如今,深度學習在眾多領域都有一席之地,尤其是在計算機視覺領域。盡管許多人都為之深深著迷,然而,深網(wǎng)就相當于一個黑盒子,我們大多數(shù)人,甚至是該領域接受過培訓的科學家,都不知道它們究竟是如何運作的。
某種程度上,深度學習最大的優(yōu)勢就是自動創(chuàng)建沒有人會想到的特性能力。
大量有關深度學習的成功或失敗事例給我們上了寶貴的一課,教會我們正確處理數(shù)據(jù)。在這篇文章中,我們將深入剖析深度學習的潛力,深度學習與經(jīng)典計算機視覺的關系,以及深度學習用于關鍵應用程序的潛在危險。
視覺問題的簡單與復雜
首先,我們需要就視覺/計算機視覺問題提出一些看法。原則上它可以這樣理解,人們給定一幅由攝像機拍攝的圖像,并允許計算機回答關于與該圖像內(nèi)容的相關問題。
問題的范圍可以從“圖像中是否存在三角形”,“圖像中是否有人臉”等簡單問題到更為復雜的問題,例如“圖像中是否有狗在追逐貓”。盡管這類的問題看起來很相似,對于人類來說甚至有點微不足道,但事實證明,這些問題所隱藏的復雜性存在巨大差異。
雖然回答諸如“圖像中是否有紅圈”或“圖像中有多少亮點”之類的問題相對容易,但其他看似簡單的問題如“圖像中是否有一只貓”,則要復雜得多。“簡單”視覺問題和“復雜”視覺問題之間的區(qū)別難以界限。
這一點值得注意,因為對于人類這種高度視覺化的動物來說,上述所有問題都是不足以成為難題,即便是對孩子們來說,回答上述視覺問題也并不困難。然而,處在變革時期的深度學習卻無法回答這些問題。
傳統(tǒng)計算機視覺V.S.深度學習
傳統(tǒng)計算機視覺是廣泛算法的集合,允許計算機從圖像中提取信息(通常表示為像素值數(shù)組)。目前,傳統(tǒng)計算機視覺已有多種用途,例如對不同的對象進行去噪,增強和檢測。
一些用途旨在尋找簡單的幾何原語,如邊緣檢測,形態(tài)分析,霍夫變換,斑點檢測,角點檢測,各種圖像閾值化技術等。還有一些特征代表技術,如方向梯度直方圖可以作為機器學習分類器的前端,來構建更復雜的檢測器。
與普遍的看法相反,上面討論的工具結合在一起可以造出針對特定對象的檢測器,這種檢測器性能強,效率高。除此之外,人們還可以構建面部檢測器,汽車檢測器,路標檢測器,在精準度和計算復雜性等方面,這些檢測器很可能優(yōu)于深度學習。
但問題是,每個檢測器都需要由有能力的人從頭開始構建,這一行為低效又昂貴。因此,從歷史上看,表現(xiàn)優(yōu)良的探測器只適用于那些必須經(jīng)常被檢測,并且能夠證明前期投資是明智的對象。
這些探測器中有許多是專有的,不向公眾開放,比如人臉檢測器,車牌識別器等等。但是,沒有一個心智正常的人會花錢編寫狗探測器或分類器,以便從圖像中對狗的品種進行分類。于是,深度學習就派上了用場。
尖子生的啟迪
假設你正在教授計算機視覺課程,在課程的前半部分,你要帶領學生們復習大量的專業(yè)知識,然后留時間給學生完成任務,也就是收集圖像內(nèi)容并提問。任務一開始很簡單,例如通過詢問圖像中是否有圓形或正方形,再到更復雜的任務,例如區(qū)分貓和狗。
學生每周都要編寫計算機程序來完成任務,而你負責查看學生編寫的代碼,并運行查看它們的效果如何。
這個學期,一名新生加入了你的班級。他不愛說話,不愛社交,也沒有提過什么問題。但是,當他提交自己的第一個任務方案時,你感到有點意外。這名新生編寫的代碼讓人難以理解,你從來都沒見過這樣的代碼。看起來他像是用隨機的過濾器對每幅圖像進行卷積,然后再用非常奇怪的邏輯來得到最終的答案。
你運行了這段代碼,效果非常好。你心想,雖然這個解決方案非同尋常,但只要它有效就足夠了。幾周過去了,學生們需要完成的任務難度越來越高,你也從這名新生那里得到了越來越復雜的代碼。他的代碼出色地完成了難度日益增大的任務,但你無法真正理解其中的內(nèi)容。
期末的時候,你給學生們布置了一項作業(yè),用一組真實的圖片來區(qū)分貓和狗。結果,沒有學生能夠在這項任務上達到超過65%的準確率,但是新生編寫的代碼準確率高達95%,你大吃一驚。你開始在接下來的幾天中深入分析這些高深莫測的代碼。你給它新的示例,然后進行修改,試著找出影響程序決策的因素,對其進行反向工程。
最終你得出一個非常令人驚訝的結論:代碼會檢測出狗的標簽。如果它能檢測到標簽,那么它就可以判斷對象的下部是否為棕色。如果是,則返回“cat”,否則返回“dog”。如果不能檢測到標簽,那么它將檢查對象的左側是否比右側更黃。如果是,則返回“dog”,否則返回“cat”。
你邀請這名新生到辦公室,并把研究結果呈給他。你向他詢問,是否認為自己真的解決了問題?在長時間的沉默之后,他終于喃喃自語道,他解決了數(shù)據(jù)集顯示的任務,但他并不知道狗長什么樣,也不知道狗和貓之間有什么不同……
很明顯,他作弊了,因為他解決任務目的和你想要的目的無關。不過,他又沒有作弊,因為他的解決方案確實是有效的。然而,其他學生的表現(xiàn)都不怎么樣。他們試圖通過問題來解決任務,而不是通過原始數(shù)據(jù)集。雖然,他們的程序運行得并不好,倒也沒有犯奇怪的錯誤。
深度學習的祝福和詛咒
深度學習是一種技術,它使用一種稱為梯度反向傳播的優(yōu)化技術來生成“程序”(也稱為“神經(jīng)網(wǎng)絡”),就像上面故事中學者學生編寫的那些程序一樣。這些“程序”和優(yōu)化技術對世界一無所知,它所關心的只是構建一組轉換和條件,將正確的標簽分配給數(shù)據(jù)集中的正確圖像。
通過向訓練集添加更多的數(shù)據(jù),可以消除虛假的偏差,但是,伴隨著數(shù)百萬個參數(shù)和數(shù)千個條件檢查,反向傳播生成的“程序”會非常大,非常復雜,因此它們可以鎖定更細微偏差的組合。任何通過分配正確標簽,來統(tǒng)計優(yōu)化目標函數(shù)的方法都可以使用,不管是否與任務的“語義精神”有關。
這些網(wǎng)絡最終能鎖定“語義正確”的先驗嗎?當然可以。但是現(xiàn)在有大量的證據(jù)表明,這并不是這些網(wǎng)絡分內(nèi)之事。相反的例子表明,對圖像進行非常微小的、無法察覺的修改就可以改變檢測結果。
研究人員對訓練過的數(shù)據(jù)集的新示例進行了研究,結果表明,原始數(shù)據(jù)集之外的泛化要比數(shù)據(jù)集內(nèi)的泛化弱得多,因此說明,網(wǎng)絡所依賴的給定數(shù)據(jù)集具有特定的低層特性。在某些情況下,修改單個像素就足以產(chǎn)生一個新的深度網(wǎng)絡分類器。
在某種程度上,深度學習最大的優(yōu)勢就是自動創(chuàng)建沒有人會想到的特性能力,這同時也是它最大的弱點,因為大多數(shù)這些功能至少在語義上看起來,可以說是“可疑的”。
什么時候有意義,什么時候沒有意義?
深度學習對于計算機視覺系統(tǒng)來說無疑是一個有趣的補充。我們現(xiàn)在可以相對容易地“訓練”探測器來探測那些昂貴且不切實際的物體。我們還可以在一定程度上擴展這些檢測器,以使用更多的計算能力。
但我們?yōu)檫@種奢侈付出的代價是高昂的:我們不知道深度學習是如何做出判斷,而且我們確實知道,分類的依據(jù)很可能與任務的“語義精神”無關。而且,只要輸入數(shù)據(jù)違反訓練集中的低水平偏差,檢測器就會出現(xiàn)失效。這些失效條件目前尚且不為人知。
因此,在實踐中,深度學習對于那些錯誤不是很嚴重,并且保證輸入不會與訓練數(shù)據(jù)集有很大差異的應用程序非常有用,這些應用能夠承受5%以內(nèi)的錯誤率就沒問題,包括圖像搜索、監(jiān)視、自動化零售,以及幾乎所有不是“關鍵任務”的東西。
具有諷刺意味的是,大多數(shù)人認為深度學習是應用領域的一次革命,因為深度學習的決策具有實時性,錯誤具有重大性,甚至會導致致命的結果,如自動駕駛汽車,自主機器人(例如,最近的研究表明,基于深層神經(jīng)網(wǎng)絡的自主駕駛確實容易受到現(xiàn)實生活中的對抗性攻擊)。我只能將這種信念描述為對“不幸”的誤解。
一些人對深度學習在醫(yī)學和診斷中的應用寄予厚望。然而,在這方面也有一些令人擔憂的發(fā)現(xiàn),例如,針對一個機構數(shù)據(jù)的模型未能很好地檢測另一個機構數(shù)據(jù)。這再次印證了一種觀點:這些模型獲取的數(shù)據(jù)要比許多研究人員所希望的更淺。
數(shù)據(jù)比我們想象的要淺
出人意料的是,深度學習教會了我們一些關于視覺數(shù)據(jù)(通常是高維數(shù)據(jù))的東西,這個觀點十分有趣:在某種程度上,數(shù)據(jù)比我們過去認為的要“淺”得多。
似乎有更多的方法來統(tǒng)計地分離標有高級人類類別的可視化數(shù)據(jù)集,然后有更多的方法來分離這些“語義正確”的數(shù)據(jù)集。換句話說,這組低水平的圖像特征比我們想象的更具“統(tǒng)計意義”。這是深度學習的偉大發(fā)現(xiàn)。
如何生成“語義上合理”的方法來分離可視數(shù)據(jù)集模型的問題仍然存在,事實上,這個問題現(xiàn)在似乎比以前更難回答。
結論
深度學習已經(jīng)成為計算機視覺系統(tǒng)的重要組成部分。但是傳統(tǒng)的計算機視覺并沒有走到那一步,而且,它仍然可以用來建造非常強大的探測器。這些人工制作的檢測器在某些特定的數(shù)據(jù)集度量上可能無法實現(xiàn)深度學習的高性能,但是可以保證依賴于輸入的“語義相關”特性集。
深度學習提供了統(tǒng)計性能強大的檢測器,而且不需要犧牲特征工程,不過仍然需要有大量的標記數(shù)據(jù)、大量GPU,以及深度學習專家。然而,這些強大的檢測器也會遭遇意外的失敗,因為它們的適用范圍無法輕易地描述(或者更確切地說,根本無法描述)。
需要注意的是,上面的討論都與“人工智能”中的AI無關。我不認為像深度學習與解決人工智能的問題有任何關系。但我確實認為,將深度學習、特性工程和邏輯推理結合起來,可以在廣泛的自動化空間中實現(xiàn)非常有趣和有用的技術能力。
-
探測器
+關注
關注
14文章
2619瀏覽量
72923 -
計算機視覺
+關注
關注
8文章
1696瀏覽量
45930 -
深度學習
+關注
關注
73文章
5493瀏覽量
121000
原文標題:反思深度學習與傳統(tǒng)計算機視覺的關系
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論