反思深度學習與傳統計算機視覺的關係

2020-12-06 雷鋒網

雷鋒網(公眾號:雷鋒網)註:【 圖片來源:Google  所有者:Google 】

如今,深度學習在眾多領域都有一席之地,尤其是在計算機視覺領域。儘管許多人都為之深深著迷,然而,深網就相當於一個黑盒子,我們大多數人,甚至是該領域接受過培訓的科學家,都不知道它們究竟是如何運作的。

大量有關深度學習的成功或失敗事例給我們上了寶貴的一課,教會我們正確處理數據。在這篇文章中,我們將深入剖析深度學習的潛力,深度學習與經典計算機視覺的關係,以及深度學習用於關鍵應用程式的潛在危險。

視覺問題的簡單與複雜

首先,我們需要就視覺/計算機視覺問題提出一些看法。原則上它可以這樣理解,人們給定一幅由攝像機拍攝的圖像,並允許計算機回答關於與該圖像內容的相關問題。

問題的範圍可以從「圖像中是否存在三角形」,「圖像中是否有人臉」等簡單問題到更為複雜的問題,例如「圖像中是否有狗在追逐貓」。儘管這類的問題看起來很相似,對於人類來說甚至有點微不足道,但事實證明,這些問題所隱藏的複雜性存在巨大差異。   

雖然回答諸如「圖像中是否有紅圈」或「圖像中有多少亮點」之類的問題相對容易,但其他看似簡單的問題如「圖像中是否有一隻貓」,則要複雜得多。「簡單」視覺問題和「複雜」視覺問題之間的區別難以界限。

這一點值得注意,因為對於人類這種高度視覺化的動物來說,上述所有問題都是不足以成為難題,即便是對孩子們來說,回答上述視覺問題也並不困難。然而,處在變革時期的深度學習卻無法回答這些問題。

傳統計算機視覺V.S.深度學習

傳統計算機視覺是廣泛算法的集合,允許計算機從圖像中提取信息(通常表示為像素值數組)。目前,傳統計算機視覺已有多種用途,例如對不同的對象進行去噪,增強和檢測。

一些用途旨在尋找簡單的幾何原語,如邊緣檢測,形態分析,霍夫變換,斑點檢測,角點檢測,各種圖像閾值化技術等。還有一些特徵代表技術,如方向梯度直方圖可以作為機器學習分類器的前端,來構建更複雜的檢測器。

與普遍的看法相反,上面討論的工具結合在一起可以造出針對特定對象的檢測器,這種檢測器性能強,效率高。除此之外,人們還可以構建面部檢測器,汽車檢測器,路標檢測器,在精準度和計算複雜性等方面,這些檢測器很可能優於深度學習。

但問題是,每個檢測器都需要由有能力的人從頭開始構建,這一行為低效又昂貴。因此,從歷史上看,表現優良的探測器只適用於那些必須經常被檢測,並且能夠證明前期投資是明智的對象。

這些探測器中有許多是專有的,不向公眾開放,比如人臉檢測器,車牌識別器等等。但是,沒有一個心智正常的人會花錢編寫狗探測器或分類器,以便從圖像中對狗的品種進行分類。於是,深度學習就派上了用場。

尖子生的啟迪

假設你正在教授計算機視覺課程,在課程的前半部分,你要帶領學生們複習大量的專業知識,然後留時間給學生完成任務,也就是收集圖像內容並提問。任務一開始很簡單,例如通過詢問圖像中是否有圓形或正方形,再到更複雜的任務,例如區分貓和狗。

學生每周都要編寫電腦程式來完成任務,而你負責查看學生編寫的代碼,並運行查看它們的效果如何。

這個學期,一名新生加入了你的班級。他不愛說話,不愛社交,也沒有提過什麼問題。但是,當他提交自己的第一個任務方案時,你感到有點意外。這名新生編寫的代碼讓人難以理解,你從來都沒見過這樣的代碼。看起來他像是用隨機的過濾器對每幅圖像進行卷積,然後再用非常奇怪的邏輯來得到最終的答案。

你運行了這段代碼,效果非常好。你心想,雖然這個解決方案非同尋常,但只要它有效就足夠了。幾周過去了,學生們需要完成的任務難度越來越高,你也從這名新生那裡得到了越來越複雜的代碼。他的代碼出色地完成了難度日益增大的任務,但你無法真正理解其中的內容。

期末的時候,你給學生們布置了一項作業,用一組真實的圖片來區分貓和狗。結果,沒有學生能夠在這項任務上達到超過65%的準確率,但是新生編寫的代碼準確率高達95%,你大吃一驚。你開始在接下來的幾天中深入分析這些高深莫測的代碼。你給它新的示例,然後進行修改,試著找出影響程序決策的因素,對其進行反向工程。

最終你得出一個非常令人驚訝的結論:代碼會檢測出狗的標籤。如果它能檢測到標籤,那麼它就可以判斷對象的下部是否為棕色。如果是,則返回「cat」,否則返回「dog」。如果不能檢測到標籤,那麼它將檢查對象的左側是否比右側更黃。如果是,則返回「dog」,否則返回「cat」。

你邀請這名新生到辦公室,並把研究結果呈給他。你向他詢問,是否認為自己真的解決了問題?在長時間的沉默之後,他終於喃喃自語道,他解決了數據集顯示的任務,但他並不知道狗長什麼樣,也不知道狗和貓之間有什麼不同……

很明顯,他作弊了,因為他解決任務目的和你想要的目的無關。不過,他又沒有作弊,因為他的解決方案確實是有效的。然而,其他學生的表現都不怎麼樣。他們試圖通過問題來解決任務,而不是通過原始數據集。雖然,他們的程序運行得並不好,倒也沒有犯奇怪的錯誤。

深度學習的祝福和詛咒

深度學習是一種技術,它使用一種稱為梯度反向傳播的優化技術來生成「程序」(也稱為「神經網絡」),就像上面故事中學者學生編寫的那些程序一樣。這些「程序」和優化技術對世界一無所知,它所關心的只是構建一組轉換和條件,將正確的標籤分配給數據集中的正確圖像。

通過向訓練集添加更多的數據,可以消除虛假的偏差,但是,伴隨著數百萬個參數和數千個條件檢查,反向傳播生成的「程序」會非常大,非常複雜,因此它們可以鎖定更細微偏差的組合。任何通過分配正確標籤,來統計優化目標函數的方法都可以使用,不管是否與任務的「語義精神」有關。

這些網絡最終能鎖定「語義正確」的先驗嗎?當然可以。但是現在有大量的證據表明,這並不是這些網絡分內之事。相反的例子表明,對圖像進行非常微小的、無法察覺的修改就可以改變檢測結果。

研究人員對訓練過的數據集的新示例進行了研究,結果表明,原始數據集之外的泛化要比數據集內的泛化弱得多,因此說明,網絡所依賴的給定數據集具有特定的低層特性。在某些情況下,修改單個像素就足以產生一個新的深度網絡分類器。

在某種程度上,深度學習最大的優勢就是自動創建沒有人會想到的特性能力,這同時也是它最大的弱點,因為大多數這些功能至少在語義上看起來,可以說是「可疑的」。

什麼時候有意義,什麼時候沒有意義?

深度學習對於計算機視覺系統來說無疑是一個有趣的補充。我們現在可以相對容易地「訓練」探測器來探測那些昂貴且不切實際的物體。我們還可以在一定程度上擴展這些檢測器,以使用更多的計算能力。

但我們為這種奢侈付出的代價是高昂的:我們不知道深度學習是如何做出判斷,而且我們確實知道,分類的依據很可能與任務的「語義精神」無關。而且,只要輸入數據違反訓練集中的低水平偏差,檢測器就會出現失效。這些失效條件目前尚且不為人知。

因此,在實踐中,深度學習對於那些錯誤不是很嚴重,並且保證輸入不會與訓練數據集有很大差異的應用程式非常有用,這些應用能夠承受5%以內的錯誤率就沒問題,包括圖像搜索、監視、自動化零售,以及幾乎所有不是「關鍵任務」的東西。

具有諷刺意味的是,大多數人認為深度學習是應用領域的一次革命,因為深度學習的決策具有實時性,錯誤具有重大性,甚至會導致致命的結果,如自動駕駛汽車,自主機器人(例如,最近的研究表明,基於深層神經網絡的自主駕駛確實容易受到現實生活中的對抗性攻擊)。我只能將這種信念描述為對「不幸」的誤解。

一些人對深度學習在醫學和診斷中的應用寄予厚望。然而,在這方面也有一些令人擔憂的發現,例如,針對一個機構數據的模型未能很好地檢測另一個機構數據。這再次印證了一種觀點:這些模型獲取的數據要比許多研究人員所希望的更淺。

數據比我們想像的要淺

出人意料的是,深度學習教會了我們一些關於視覺數據(通常是高維數據)的東西,這個觀點十分有趣:在某種程度上,數據比我們過去認為的要「淺」得多。

似乎有更多的方法來統計地分離標有高級人類類別的可視化數據集,然後有更多的方法來分離這些「語義正確」的數據集。換句話說,這組低水平的圖像特徵比我們想像的更具「統計意義」。這是深度學習的偉大發現。

如何生成「語義上合理」的方法來分離可視數據集模型的問題仍然存在,事實上,這個問題現在似乎比以前更難回答。

結論

深度學習已經成為計算機視覺系統的重要組成部分。但是傳統的計算機視覺並沒有走到那一步,而且,它仍然可以用來建造非常強大的探測器。這些人工製作的檢測器在某些特定的數據集度量上可能無法實現深度學習的高性能,但是可以保證依賴於輸入的「語義相關」特性集。

深度學習提供了統計性能強大的檢測器,而且不需要犧牲特徵工程,不過仍然需要有大量的標記數據、大量GPU,以及深度學習專家。然而,這些強大的檢測器也會遭遇意外的失敗,因為它們的適用範圍無法輕易地描述(或者更確切地說,根本無法描述)。

需要注意的是,上面的討論都與「人工智慧」中的AI無關。我不認為像深度學習與解決人工智慧的問題有任何關係。但我確實認為,將深度學習、特性工程和邏輯推理結合起來,可以在廣泛的自動化空間中實現非常有趣和有用的技術能力。



雷鋒網註:本文編譯自Piekniewski's blog

雷鋒網註:【封面圖片來源:網站名Google,所有者:Google】

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 一文全覽深度學習在計算機視覺領域的應用
    已經是很熱的深度學習,大家都看到不少精彩的故事,我就不一一重複。簡單的回顧的話,2006年Geoffrey Hinton的論文點燃了「這把火」,現在已經有不少人開始潑「冷水」了,主要是AI泡沫太大,而且深度學習不是包治百病的藥方。計算機視覺不是深度學習最早看到突破的領域,真正讓大家大吃一驚的顛覆傳統方法的應用領域是語音識別,做出來的公司是微軟,而不是當時如日中天的谷歌。
  • 10 大深度學習架構:計算機視覺優秀從業者必備(附代碼實現)
    原標題:10 大深度學習架構:計算機視覺優秀從業者必備(附代碼實現) 選自Analytics Vidhya 作者:FAIZAN SHAIKH 的文章,總結了計算機視覺領域已經成效卓著的 10 個深度學習架構,並附上了每篇論文的地址連結和代碼實現。機器之心對該文進行了編譯,原文連結請見文末。 時刻跟上深度學習領域的最新進展變的越來越難,幾乎每一天都有創新或新應用。但是,大多數進展隱藏在大量發表的 ArXiv / Springer 研究論文中。
  • 計算機視覺及智能影像行業深度研究報告
    2021年預計視頻流量將佔據全球所有網絡用戶流量的82%,為計算機視覺奠定數據基礎。據思科 公司評估,2021 年單月上傳至網絡的視頻總時長將超過 500 萬年,每秒將誕生 1 百萬分鐘的網絡 視頻內容,網絡視頻流量將佔據全球所有網絡用戶流量的81.7%。快速增長的視頻內容規模蘊含海 量信息,也為計算機視覺的深度學習算法進化提供了大數據支持。
  • AR算法原理及深度學習在計算機視覺中的應用
    那麼,AR識別技術背後的算法原理是什麼,以及計算機視覺與深度學習在AR中的應用熱點趨勢有哪些?本次分享會從圖像特徵提取、特徵匹配與圖像變換、深度學習算法等方面給你進行深入淺出的技術展現,讓AR識別技術不再成為難以逾越的技術壁壘。
  • 楊澤霖:發力人工智慧,做基於深度學習的視覺解決方案
    2017年成立深圳禾思眾成科技有限公司,主要從事人工智慧行業中計算機視覺「雲+端」產品的研發、生產和銷售,獲得來自深圳某上市公司基金的1000萬天使輪投資。2017年,禾思眾成在第三屆百度人工智慧大賽中獲得冠軍。
  • 三名深度學習技術科學家獲「計算機界諾獎」圖靈獎
    美國電子計算機協會27日宣布,加拿大蒙特婁大學教授約舒亞·本希奧、谷歌副總裁傑弗裡·欣頓和紐約大學教授揚·萊坎(中文名楊立昆)因在人工智慧深度學習方面的貢獻獲得2018年度圖靈獎。圖靈獎以已故英國著名數學家艾倫·圖靈的名字命名,被譽為「計算機界的諾貝爾獎」,獎金為100萬美元,由谷歌公司提供。
  • 深度學習變革視覺實例搜索
    研究興趣為深度學習與計算機視覺。曾獲2015年首屆阿里巴巴大規模圖像搜索大賽二等獎,總排名第三名。摘要近些年,深度學習在各種計算機視覺任務上都取得了重大的突破,其中一個重要因素就是其強大的非線性表示能力,能夠理解圖像更深層次的信息。本文對基於深度學習的視覺實例搜索方法做了簡單的總結和概括,希望能給讀者們帶來啟發。
  • 人工智慧、機器學習、神經網絡和深度學習之間是什麼樣的關係?
    但是大家在關注或研究人工智慧領域的時候,總是會遇到這樣的幾個關鍵詞:深度學習、機器學習、神經網絡。那他們之間到底是什麼樣的關係呢?本文引用地址:http://www.eepw.com.cn/article/201806/381185.htm  先說人工智慧,人工智慧是在1956年一個叫達特茅斯會議上提出的。
  • 視覺感知-從人類視覺到計算機視覺
    實驗表明,視覺皮層細胞對邊緣的方向敏感,但對邊緣的位置不敏感。他們得出結論,視覺皮層中有3種類型的細胞:簡單,複雜和超複雜。視覺處理從簡單的單元格開始,這意味著它從學習簡單的事物(即邊和角)開始。這為現代計算機視覺奠定了基礎。
  • 人工智慧---計算機的視覺與語音技術
    深度神經網絡所需的訓練成本、調參複雜度等問題仍備受詬病,SVM則因其簡單性佔據了一席之地,在文本處理、圖像處理、網頁搜索、金融徵信等領域仍有著廣泛應用。另一個重要領域是強化學習,這個因AlphaGo而為人所熟知的概念,從60年代誕生以來,一直不溫不火地發展著,直到在AlphaGo中與深度學習的創造性結合讓它重獲新生。
  • 從傳統圖像算法到深度學習,文字識別技術經歷了這些變化
    文字識別的發展大致可以分為兩個階段,分別是傳統圖像算法階段和深度學習算法階段。傳統圖像算法2012年之前,文字識別的主流算法都依賴於傳統圖像處理技術和統計機器學習方法實現,利用光學技術和計算機技術把印在或寫在紙上的文字讀取出來,並轉換成一種計算機能夠接受、人又可以理解的格式。
  • ...大腦找答案|人工智慧|深度學習|腦科學|神經科學|計算機_網易科技
    為了研究這個問題,有兩種選擇,一種是用傳統的計算模型,計算神經科學領域早期的模型都是單層的,現在為了研究這個問題顯然單層模型沒有辦法的,因為研究的是視覺皮層的高級皮層,如果沒有下面的這些層,上面就沒有辦法研究,所以需要一個層次化的模型,所以我們考慮用深度學習的模型來研究這個問題。
  • 計算機視覺已橫跨感知與認知智能
    從1966年學科建立(MIT:The SummerVision Project)至今,儘管計算機視覺在感知與認知智能方向仍有大量難以解決、尚待探索的問題,但得益於深度學習算法的成熟應用(2012年,採用深度學習架構的AlexNet模型,以超越第二名10個百分點的成績在ImageNet競賽中奪冠),側重於感知智能的圖像分類技術在工業界逐步實現商用價值,助力金融、安防、網際網路、手機、醫療、工業等領域智能升級
  • 計算機視覺方向簡介 | 多視角立體視覺MVS
    早就是優勢,學習切忌單打獨鬥,這裡有教程資料、練習作業、答疑解惑等,優質學習圈幫你少走彎路,快速入門!推薦閱讀前段時間參加了個線下交流會(附SLAM入門視頻)計算機視覺方向簡介 | 從全景圖恢復三維結構計算機視覺方向簡介 | 陣列相機立體全景拼接計算機視覺方向簡介 |
  • 機器人怎麼深度學習?邏輯判斷和情感選擇仍是障礙
    傳統的機器學習方法一般只能挖掘簡單的線性關係,如1+1等於2。然而,大千世界並不是這種簡單關系所能描述的,如收入與年齡、性別、職業、學歷的關係。深度學習的出現改變了這種現狀,它的靈感來源於模仿人類大腦神經網絡。  科學家發現,人類大腦皮質不是直接對視網膜傳遞過來的數據進行特徵提取處理,而是讓接收到的刺激信號通過一個複雜的網絡模型進行篩選。
  • 圖像識別中的深度學習【香港中文大學王曉剛】
    深度學習在計算機視覺領域最具影響力的突破發生在2012年,欣頓的研究小組採用深度學習贏得了ImageNet圖像分類比賽的冠軍[3]。排名第2到第4位的小組採用的都是傳統的計算機視覺方法、手工設計的特徵,他們之間準確率的差別不超過1%。欣頓研究小組的準確率超出第二名10%以上,(見表1)。這個結果在計算機視覺領域產生了極大的震動,引發了深度學習的熱潮。
  • 深度學習與圖像識別 圖像檢測
    深度學習很重要的是對全局和局部特徵的綜合把握(2)深度學習不是一個黑箱系統。它像概率模型一樣,提供一套豐富的、基於聯接主義的建模語言。利用這套語言系統,我們可以表達數據內在的豐富關係和結構。       2016年微軟的ResNet深度殘差網絡,用了152層的架構(2)模型結構日趨複雜       傳統的卷積神經網絡都是簡單的 conv-pool-FC       後來NIN 用mlpconv 代替傳統的 conv層(mlp 實際上是卷積加傳統的多層感知器 )。
  • 計算機視覺領域的人工智慧——記人工智慧技術應用專家陳秀新
    人工智慧是研究、開發用於模擬、延伸和擴展人智能的理論、方法、技術及應用系統的一門新的技術科學,該領域的研究包括機器人、語言識別、圖像識別、自然語言處理和專家系統等,它由不同的領域組成,如機器學習,計算機視覺等等。其中,計算機視覺是使用計算機及相關設備對生物視覺的一種模擬。
  • 計算機視覺專題報告:「四小龍」同質化競爭,「海大宇」增長放緩
    計算機視覺不是一個新技術,它發軔於上世紀60年代,在深度學習的推動下走向大規模應用。2012年,圖像識別準確率大幅提升後,計算機視覺商用的技術基礎開始穩固。》,該論文將計算機視覺從模式識別中獨立出來,當時的計算機視覺研究主要是從圖像中提取立方體等多面體的三維結構,並對物體形狀及其空間關係進行描述。
  • 一個超乾貨的3D視覺學習社區
    成立近兩年來,工坊深挖3D視覺的各個領域,主要涉及計算機視覺與深度學習、點雲處理、SLAM、三維重建、結構光、雙目視覺、深度估計、3D檢測、自動駕駛、多傳感器融合等,在校的童鞋和已經工作的小夥伴為我們提出了很多非常有價值的問題,在這裡給大家做了匯總(可能有點燒腦哦……)點雲處理篇點雲補全有哪些常用的算法?常用的點雲分割算法有哪些?