當前位置:
首頁 > 科技 > AI 天生自帶 Bug!

AI 天生自帶 Bug!

到目前為止,還沒有工具和沒有明確的方法可以消除bug。那需要明白AI bug實際上是什麼。

大家都在競相開發能夠自動駕駛汽車、診斷和治療複雜疾病,甚至訓練其他機器的智能系統。

問題在於,誰也不是很確信如何診斷這些系統中潛在的或不大明顯的缺陷,或者更好的是,如何從源頭上防止這些系統出現缺陷。雖然機器處理某些事情很出色,但仍需要人類設計程序來訓練和觀察機器,而這類系統遠遠不夠完善。

IBM阿爾馬登研究中心的副總裁兼實驗室主任傑夫?韋爾澤(Jeff Welser)說:「調試是一個開放的研究領域,但我們還沒有什麼好的答案。」

並非只有他一人這麼認為。雖然AI、深度學習和機器學習正在包括半導體設計和製造業在內的眾多行業得到採用,但關注的重點在於如何利用這種技術,而不是出了岔子後怎麼辦。

ANSYS的首席技術專家諾曼?常(Norman Chang)說:「調試是一個開放的研究領域,但這個問題沒有得到解決。」

至少問題的一方面是,沒人完全確信一旦設備經過訓練後會發生什麼,尤其是面對深度學習、AI和形形色色的神經網路。

Rambus的企業解決方案技術副總裁、傑出發明家斯蒂文?吳(Steven Woo)說:「調試建立在理解的基礎上。關於大腦是如何鍛煉的,還有很多方面要學習,所以進行傳統意義上的調試仍然是個挑戰,因為你需要明白何時出現了錯誤分類。我們需要進一步研究『我不知道』這種類型的分類。」

這與科幻小說中描述的一些場景相去甚遠;在科幻小說中,機器接管伍世界。有缺陷的演算法可能導致將來在某處出現意料不到的錯誤。如果錯誤牽涉實用的安全系統,可能會造成危害,而在其他情況下,它可能會導致機器出現煩人的行為。但是AI、深度學習和機器學習方面的不同之處在於,無法僅僅通過打上軟體補丁就能修復那些錯誤。此外,那些錯誤可能數月或數年都不會出現,或直到與其他設備進行一系列交互才會出現。

Synopsys嵌入式視覺處理器系列的產品營銷經理戈登?庫珀(Gordon Cooper)說:「如果你在訓練一個網路,其吸引力在於可以讓網路更快速、更準確。一旦你訓練網路,哪裡出了故障,能追蹤到某一行代碼的故障是很有限的。現在,調試成了比較棘手的問題,這是不一定提前能避免的問題。」

什麼足夠好?

半導體行業的一個基本話題是「什麼足夠好?」面對不同的細分市場和應用場景,答案迥然不同。即使面對同一個設備中的不同功能,答案也不一樣。比如說,智能手機上玩遊戲時遇到錯誤很煩人,可能需要重啟,但是如果你打不了電話,可能會換掉手機。如果是工業設備,技術可能與收入直接掛鉤,所以這可能是計劃維修更換的一部分,而不是等待故障。

對於AI、深度學習和機器學習,不存在這樣的度量標準。推斷結果是數學分布,而不是固定的數字或行為。

eSilicon的市場營銷副總裁邁克?詹法格納(Mike Gianfagna)說:「一大問題是,這是對還是錯,與人類相比怎樣。如果它比人類更勝一籌,它是否足夠好?這可能是我們永遠也無法最終證明的。所有這些與訓練數據有關;通常來說,你擁有的訓練數據越多,就越接近完美。這與過去大不一樣,過去你只關心演算法和連接是否正確。」

這是問題可能會出現的一個地方。雖然批量製造方面有大量的數據,但設計方面的數據少得多。

ArterisIP的首席技術官蒂?加里貝(Ty Garibay)說:「對我們來說,每塊晶元都非常獨特,我們只處理幾百個系統,因而輸入數據量很小。而這個東西是個黑盒子。你如何處理之前從未處理過的東西,尤其是面對涉及偏見和道德的問題?因此需要多得多的訓練數據。」

對於AI/深度學習/機器學習而言,就連對於什麼是bug的認識也不一樣。

Cadence公司系統和驗證部門的高級架構師渡邊義則(Yosinori Watanabe)說:「由於演算法的能力有所發展,而演算法又是統計性的,不是確定性的,所以bug的定義在變化。有時候,可能無法將從這種演算法獲得的某一個輸出確認為是bug,因為它基於演算法中記錄的進化概率分布。」

渡邊表示,可以避免這個問題,只要事先為演算法可接受的行為設定一個明確的邊界條件。然而,理解這些邊界條件並不總是很簡單,一方面是由於演算法本身在不斷優化,一方面是由於那些演算法用於廣泛的使用場景。

了解未知的方面

調試AI/機器學習/深度學習的一個起點是,明確你明白什麼、不明白什麼。

這在機器學習中比在深度學習中來得簡單,兩者都歸屬AI這個大類,因為演算法本身更簡單。深度學習是一種基於矩陣多層的數據表示,每一層使用上一層的輸出作為輸入。相比之下,機器學習則使用為特定任務開發的演算法。

Optimal+的首席技術官邁克爾?舒爾登弗賴(Michael Schuldenfrei)說:「若是深度學習,明白決策過程比較難。在生產環境中,你要知道哪裡出了岔子。你可以解釋機器學習演算法來自哪個模型,並做大量的工作來比較不同的演算法,但面對不同的產品,答案還是可能不同。在產品A上,隨機森林可能效果很好,而在產品B上,另一個演算法或某種演算法組合效果更好。但是如果沒有大量數據,機器學習並不好。如果你有大量在變化的獨立變數,也會出現問題。」

而這正是如今研究工作的重心。

IBM的韋爾澤說:「AI系統觀察一隻狗後,可能將它識別為小狗或某種類型的狗。你要知道AI系統理解哪些特徵。機器可能已能識別了五六個特徵,這些是正確的特徵嗎?還是過於強調一個特徵而不是另一個特徵?這一切歸結為人類與機器相比擅長什麼。」

導致這個決策的一系列事件已非常清楚,但決策過程不是非常清楚。

Arm的研究員羅布?艾特肯(Rob Aitken)說:「現在有一整系列的可解釋型AI(explainable AI),即把一些數據輸入到系統中,然後出來答案。它未必向你解釋得出這個答案的一系列精確推理,而是說『這是輸入數據的一些屬性,強烈地影響了這個答案是這麼出來的。』能夠這麼做對於眾多場景大有幫助,原因在於如果我們為AI程序或機器學習演算法賦予了決策方面的更大控制權,如果能解釋原因,大有幫助。」

訓練數據的偏差在這方面也起到關鍵作用。

艾特肯說:「這是醫療數據面臨的一大挑戰,因為在一些領域,專家們在如何標記某些東西方面實際上存在分歧,因此你最後不得不開發容忍標記過程中的干擾信息(noise)的演算法。我們從演算法的層面知道它做什麼,我們注意到它告訴我們看起來有用的東西。但與此同時,我們也向自己表明,不管什麼偏差進入到輸入集中,都會影響輸出。這是證明智能的例子,還是只是證明推理濫用的例子,還是證明我們還不知道的東西?」

什麼行、什麼不行?

一旦識別出了bug,消除bug的實際過程也不清楚。

UltraSoC的首席執行官魯珀特?貝恩斯(Rupert Baines)說:「解決這個問題的方法之一是,從傳統方面入手,比如支持系統和優化內存帶寬。但沒人知道這些系統實際上如何運行。你如何配置黑盒子?你不知道該找什麼好。這種情況下可能需要機器學習來調試機器學習。你需要培訓一名主管來訓練這些系統,識別什麼是好的、什麼是壞的。」

訓練數據的微小變化也會擴大。Cadence的渡邊說:「用於訓練一台機器的數據可能由另一台機器生成。這後一台機器可能使用不同的演算法,或者可能是使用同一演算法的不同實例。比如說,兩台機器(它們都使用了下圍棋的演算法)可能與對方下棋,那樣每台機器就會生成供另一台機器用來訓練的數據。調試原理與上述仍然相同,因為每台機器的行為分別對照可接受行為的邊界條件進行了驗證。」

另一種方法是保持AI/深度學習/機器學習的應用範圍足夠小,那樣就可以在內部不斷優化。NetSpeed Systems的首席執行官桑德里?米特拉(Sundari Mitra)說:「我們從TensorFlow演算法開始研究,很快發現它不夠好,於是改用隨機森林。但之後要是發現隨機森林不夠好,該如何是好?今天我們做分析,能夠改變方法。但在已經搞好的深度學習中如何做到這一點呢?」

迄今為止取得的進展

更讓人困惑的是,所有這些系統都基於幾乎在不斷變化之中的訓練演算法。它們用於實際的使用場景時,問題會顯現出來。之後對訓練數據進行修正,對推理系統進行分析和測試,看看那些變化如何影響系統的行為。

多年來,調試AI這項工作被擱置一旁,大學和研究機構專註於開發和測試手動編寫的演算法。在過去的一年,這一切已發生了變化。機器學習、深度學習和AI無處不在,這種技術甚至在去年還在測試的系統當中得到了更廣泛的應用。

這種情況肯定會發生變化,而且是迅速變化。其中一些應用背後的想法是,AI可用於訓練其他系統,提高製造業的質量和可靠性,不過前提是訓練數據本身沒有bug。而目前,沒人很確信AI沒有 bug。


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

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


請您繼續閱讀更多來自 雲頭條 的精彩文章:

這是真的!證監會對「AI、雲計算等四個新興行業獨角獸」IPO 「即報即審」
Gartner稱,2018年全球「集成系統/超融合」收入增幅將達到 18.4%

TAG:雲頭條 |