大話智慧製造 #3 AI就是個麻煩精

AI給世界帶來很多麻煩,我說真的。 如果世界就這樣一路發展下去,以前要一個時辰才能做完的事情,今天一分鐘就能處理,明天只要一秒鐘,繼續讓明天就是昨天的壓縮版,那該多好?

十八世紀的亞當史密斯說,原先一天生產10萬根大頭針要5000人,分成18個工序後,各自擁有專業,各自進行,同樣產能只要20個人。到現在,只需要一個人加一個按鈕,大概就能供應十八世紀時全球的需求。

相較於人,機器在效率與速度上翻了成百上千倍,很自然地,資本家一定儘其可能地將所有能自動化的地方都換上了機器。不過,好事情總會有個頭。總是有把人全部換光的時候,如果還不夠,那就只能換機器了。但就算換機器,恐怕也就是好上一咪咪而已。「AI應該可以解救我們吧?」人們一邊看着已經有點疲態的自動化生產線,一邊拍拍胸口慶幸着。可惜,事情真可以這麼爽就好了。

假設有這麼一家工廠,全面導入當前最成熟的AI,接下來會發生什麼事?最可能的狀況是,工程師在線邊抱頭大叫,「啥!換線還要換模型,AI不是很聰明嗎?」

光就已知世界來說,AI確實很聰明,因爲AI不僅繼承了電腦奇行種特有的強大記憶力與運算速度,還能夠藉由激活函數(activationfunction)處理非線性現象、用反向傳播(backpropagation)修正學習結果,可以說已經相當程度地模擬了人類的學習歷程。

然而,人類的大腦太過強大,機器很難學全,就這樣,一方面威力強大,另一方面卻又童稚遲緩,才會讓工程師頭疼不已。舉個例子來說,機器可以將特定電路板上的缺陷學得很好,已經接近百發百中的程度。但換了一張電路板,很多事情就得重來。也因此才會讓工程師與數據科學家之間總雞同鴨講,「我要的不過就是這樣,更難的事情你都完成了,這麼簡單不會?你是不是故意搞我?」工程師大叫;「你要的事情絕對不簡單,新電路板就有新元件,線路設計也完全不一樣,等於重新來過,我需要時間跟樣本!」數據科學家吼了回去。

以缺陷辨識來說,我喜歡問我指導的學員這個問題:現場就是沒有這麼多NG影像來訓練模型,那怎麼處理?最常聽到的想法是,「把OK找出來,再找出OK的範圍,反過來就是NG了。」

這種做法很好,只不過這是傳統自動化的做法,AI不會這樣做。自動化做法建立在有限規則上,人們要求機器關注特定現象、賦予閾值,以閾值來區分是否良品,如果一個規則不夠,那就再來一個吧?一個個規則就這樣堆上去,這個方法很好,如果所有規則都可以邏輯清晰、互不衝突的話。然而理想總是擲地有聲、現實向來斷然無視,最常看到的狀況就是,不管規則再多,都不足以描述複雜現實,因此,稍微有點堅持,規則嚴格些,就是一堆誤殺;規則放軟一些,後面就是客訴災難。

「如果這麼成熟的自動化都做不到,憑什麼你們AI就做得到?」自動化工程師氣呼呼地說。別氣,別氣,其實AI做的事情跟自動化差不多,只是邏輯不一樣,參與的深度也不一樣。自動化像是個勤勉的巨人,只要說清楚了,只要在他的能力裡,一定全力以赴。如果作不到,原因都在我們,因爲,「我們懂的事情,比我們能表達出來的更多,」是我們寫不出讓自動化可以全知全能的規則集。

舉個例子來說,我們一看到貓狗就知道那是什麼,但我們沒有能力以傳統規則形式的指令集教會電腦認識什麼是貓什麼是狗,光是把鬍子、尾巴、聲音、顏色、動作、姿態各自描述清楚的文檔,我們都寫不出,更別說要完整定義貓狗,正如博藍尼悖論(Polanyi's Paradox)刻畫的「所知遠超所述」,蒼白的語言限制了我們無法實現想像。

同一個問題叫AI來解吧?「YOU CAN YOU UP,NO CAN NO BB(你行你上,不會別BB)!」,不巧,AI還真能辨識貓狗,,準確率在95%以上,而且還是小學生入門課程。這還給人活嗎?

原來,差異在於,人與自動化設備的關係是「師傅與學徒」的關係,「我說什麼你做就對了」;人們與AI之間則是「老師與學生」的關係,而且AI是那種超級聰明可以舉一反三的那種學生。老師不需要描述缺陷是什麼,只需要充分提供代表正常與缺陷的圖像,AI自己會發現足以連結特徵與結果的參數組合,然後給出答案。

如果答案不對,一定是我們給的數據集不對,或模型架構不對,因爲AI建築在純粹數學之上,沒有主觀,學到什麼就是什麼。畢竟AI天律這樣寫着:第一條,AI不會有錯,要錯也是你的錯;第二條,如果你覺得AI有錯,請參考第一條。

所以現在對於工作者的挑戰,跟以前自動化時代不一樣,不在於如何「看到」缺陷,而在於如何「提供」缺陷。缺陷的定義也不再是從「閾值」出發,而是建立在「特徵」觀點之上。所有的準備工作都是爲了讓「特徵」浮出想像力的水平面之上。

所有觀念都得重來,仆街啊!AI歹佬,你這不是給這世界找麻煩嗎?