智慧應用 影音
Microchip
member

跨越深度學習技術產品化的障礙

除了深度學習技術,在實務上時常會混搭各種機器學習演算法。(示意圖)法新社

即使深度學習技術在各個領域帶來突破,甚至逐漸翻轉各種產品服務,可是還能聽到產業界對於這些新穎的研究能否應用到產品上抱持著懷疑的態度。

當然不是所有的學術研究都能帶入產品中,但這個時刻正好是前瞻研究以及產業需求匯流的時候,我們看到非常多的技術突破可以引領全新產品、改進營運效率、或是呈現客戶未來需求等。這也就為什麼這幾年在頂尖學術會議中,產業界投入大量的人員、資金、展示等,希望能事先掌握技術走勢,甚至深化為產品。 

一般而言,攔阻這些研究成為產品的障礙包括:運算速度/耗能、模型/演算法設計、場域穩定度(正確率)、訓練資料等。過去4年我們有機會在各式運算平台(雲端、Arm 、DSP、或是客製化的加速器上)實現各種智慧產品,希望這些經驗可以消除某些疑慮。

運算速度(耗能)是首要挑戰。基於成本考量,產品的運算資源以及耗能有諸多限制。大部分的學術研究專注在「技術創意」的面向,一般忽略這些偏工程應用的考量。產品設計上,我們建議先拉高正確率,接下來有諸多的技術可以降低運算量以及耗能,例如精簡網路、降低網路層數、簡化參數量,替換其他backbone、或是將浮點運算換為整數運算等。在之前的專欄文章中曾討論到多種做法,在此先忽略。

模型/演算法的設計是另一個常見的挑戰。因著諸多限制,無法將開源軟體直接成為產品,但是這些開源的資料集,程式碼,絕對可以做為產品開發的重要基石。產品開發上一定得修改(網路)模型,應用領域內的知識對於網路(演算法)設計大有幫助,儘量善用。除了深度學習技術,在實務上時常會混搭各種機器學習演算法,例如流型、資料降維、雜湊法、SVM等,所以研發團隊必須有人熟悉紮實的(整套)演算法工具,無法偏廢。

因為產品得落實在客戶端,所以穩定度、正確率、泛化能力是無法打折的。產品開發方式與研究非常類似,需要有(多個)測試資料集來瞭解任何演算法修改之後的變化,並能解釋各技術元件的影響,絕對不能黑箱作業,不然產品推出之後反而成為客戶的負擔。時常提醒開發團隊,這樣的技術推出之後,是不是能睡好覺?是不是心安?一般常會遇到正確率不足的問題,可以利用cascaded的做法,用數個演算法接力處理計算結果,確保正確率。過去Google Maps上的人臉/車牌偵測就是採用類似的策略。

訓練資料當然越多越好。儘量使用多個公開資料集,降低收集成本,但是這樣無法滿足產品落地的需要,還是得收集應用場域內的資料。為了降低資料標註的成本,可以使用類似Active Learning的方式來挑出關鍵的資料;這一年來也發現self-training的方式,也就是將其他資料上的能力逐漸轉移到未標註的資料上,在某些情境上,也有不錯的功效。至於其他訓練資料的問題,可以參考之前的專欄文章。

產品智慧化(或是智慧化產品)絕對是極大的技術障礙,但也是產業典範轉移中的分水嶺,就像是1993年左右開始的網路浪潮,改變了接下來的產品服務設計,甚至是社會、經濟型態。我們能不跨過嗎?

徐宏民(Winston Hsu)現任富智捷(MobileDrive)技術長暨副總經理以及台大資訊工程學系教授。哥倫比亞大學電機博士,專精於機器學習、大規模影像視訊搜尋與辨識。為訊連科技研發團隊創始成員,慧景科技(thingnario)共同創辦人,NVIDIA AI Lab計畫主持人;曾任IBM華生研究中心客座研究員、美國微軟研究院客座研究員。習慣從學術及產業界的角度檢驗技術發展的機會;十餘年產學合作及新創經驗。曾獲2018 IBM Research Pat Goldberg Memorial Best Paper Award 、2018偽裝人臉辨識冠軍、傑出資訊人才獎、吳大猷先生紀念獎等國內外研究獎項。