先有軟體與數據文化,才有AI

沒有軟體工程文化、不重視數據,就沒有絲毫追趕 AI 的可能性

leafwind
東京疊塔

--

只要點擊拍手,不用花一毛錢就能讓我的創作得到回饋!

本文約 6800 字,閱讀時間估計為 15~20 分鐘。
文化沒有捷徑。圖為貝爾格勒,這裡的歷史街區和建築極具吸引力 photo credit

這篇文章篇幅不短(幾個月前開始想寫,實際動筆花了數週),但也沒有好方法分成上下篇,所以若您在通勤等零碎時間中,看到這篇文章覺得有興趣,不妨先加入書籤,否則可能會消化不完。

Machine learning vs. Manufacturing

原本圖中標題要寫 AI,不過 AI 是一個相對模糊的名詞,要拿來跟 manufacturing 做對照的話,用 machine learning 這個比較能代表「過程」的詞,會更適合一些。

Icons made by Eucalyp, Becris, Zlatko Najdenovski, Freepik from flaticon is licensed by CC 3.0 BY

先將這兩者做比較:

1. 製造產業鏈中完全找不到「資料」的角色

2. 製造業的軟體(更精確地說是程式)只是做為輔助硬體的工具存在

所以我們會聽到台灣長年把作業系統底層的 driver、燒在硬體裡面的韌體程式,及所有看不到的程式碼都歸類在軟體,但在這些工廠中也沒有所謂的「軟體工程」;所以即便硬體以外的全部都被稱作「軟體」,但定位只是「用來輔助硬體的工具」而已。

3. 製造業的鏈結是單向的,所有的箭頭只為了最後的 3C 產品,一旦產品上市,軟體的成長也幾乎停滯(更新只是為了 hotfix,並不會增加新功能),並隨著硬體的壽命逐漸衰老而消失。

而軟體、資料、服務與需要人工智慧的產品則是相輔相成、迭代成長,舉幾個例子:

客戶需要服務替他們分析資料、提供 insight,於是利用所需要的資料提供他們軟體服務,在這過程中逐漸累積夠多資料,建構出機器學習分析的模型,進而提供更好的服務、累積更多資料、可以做出更精準的預測模型,如此循環。

又譬如地圖服務的推薦路徑功能:使用者在上面搜尋目的地、服務提供他最快速、距離最短、或最省錢的各種方案,也個別預測所需時間、塞車與否;而每次使用者的資料也會被收集起來,為下次預測模型的訓練做準備。

接著進入正題。

想做 AI,十年前就得先做好軟體與數據了

李開復說:

軟體創業、互聯網、移動互聯網、社群網站四個領域都沒有建樹,而且落後了全球發展。

在AI時代來臨時,台灣不要錯過這個最好的創新創業的機會

我相信他並不是要創業家「不做軟體就跳到 AI」

但因為他只給了「希望」,卻沒有點出問題

很多創業家與老闆原本就有不切實際的幻想

聽了之後這些幻想更會被加強,天真地覺得:

軟體錯過了,卡位做 web 就好

Web 錯過了,卡位做行動與社群就好

行動與社群錯過了,卡位做大數據就好

現在大數據都還沒做,我們直接做 AI 就好

所以我們到處看得到這類荒謬的想法:

因為我們錯過軟體、大數據,所以現在趕快追上 AI

因為我們不擅長軟體,所以用硬體優勢追上 AI

彷彿 AI 跟這些東西毫不相關似的。

只有一種事業可以忽略軟體與數據文化,直接做 AI,但卻有搞頭,那就是 B2VC,只是這個 VC 在台灣可能是「政府」,而投資人就是全民納稅買單。

從封建到帝王,再怎樣都不可能跳過城堡時代

FLAG 這些世界級的公司,近年在 AI 研究的能見度遠大於軟體工程

一方面的確是有一些新的研究突破;但另一方面可能是軟體工程跟喝水一樣自然,沒有太多爆點,另外比起艱澀難懂的軟體工程技術,企業行銷部門與媒體更愛追逐與生活相關的 AI 題材(比較陰謀論的想法是:部分企業為了引導潛在競爭者走向毫無勝算的 AI 戰爭,但這是題外話)

不管媒體版面如何,矽谷的軟體公司有著遠比台灣「科技業」紮實的軟體工程基礎、而其中大型的軟體公司更是坐擁其他對手完全無法抗衡的資料數量。

下面試著從幾個面向來看開頭那段(或許不少人都有的)想法有多荒謬:

硬(背)的技術 vs. 軟的文化

會有「可以跳過」的錯覺,或許是以為軟體與數據是硬技術,而且是「硬背的技術」:能夠照本宣科,有固定流程可以依循

但事實上它們不是,是軟的文化

人工智慧雖然可以跟硬體結合,但本質上無法逃離軟體服務的範疇

「軟體服務」,就是由看不見實體的「軟體」與沒有實體的「服務」所組成,而這些正是台灣長年漠視的文化:我們在意的是看得見的包子與看得見的價格;對深遠的影響與內在的價值卻鮮少認真評估。

美術設計?不就是畫幾張圖?只是我不想畫而已。

心理健康?看精神科吃吃藥就好了,再不好一定是他抗壓性差活該。

電競?打電動不務正業也能賺錢?

一個 app 也要幾十萬?這不是看書自己學一學幾天就會了嗎?

凡是文化,必定得經過一段陣痛改變期、經過大家一起衝突、思考、異中求同、讓步,才好不容易進展到下一階段

譬如選舉:柯p曾經說:「對我而言,這不只是一場選舉而已,它更是一場改變政治、改變選舉文化的社會運動。」不懂的人還會覺得是個成功的故事,從此過著幸福美滿的日子;但選舉時任何的改變都只是開頭,辛苦的在選上之後,如果沒有持續進行文化的抗爭,幾個月的波瀾很快就會被幾十年的文化打回原形。

而產業的文化沒有比較輕鬆。(不如說整個台灣的文化都是類似的問題)

台灣是個小島,自然資源成本(土地、環境)在先天上有著絕對的劣勢,同時人口紅利也已經消失,廉價的勞動力優勢不再

不管是軟體、人工智慧、設計、旅遊、文創,要轉型就必須從實體(硬體)文化走到「價值」文化

十年前或許大家半信半疑,但這在 2017 年應該是很基本的常識

然而台灣目前的「軟體服務文化」、「產品開發文化」、「數據導向文化」目前都是不及格的狀態,要跳過這些課程,直接進到人工智慧,只怕在「課堂」上會鴨子聽雷。

軟體服務的價值在自己找到痛點並解決

若軟體服務與數據文化不存在,那不管再怎麼拼命套模型,也很難套出一個有價值的服務

製造業著重在硬體功能必須兜得起來、每個元件有按照規格做好該做的事情;數據服務則必須 end-to-end 整個系統一起考量,否則很容易會落得 garbage in garbage out 的下場。

機器學習技能金字塔底層廣且深 ,深厚的地基需求無法忽略

這張國外三年半前就有的示意圖,可以看出機器學習是奠基在 ML Engineer 與 Data Engineer 之上,還不包含最普遍的 Software Engineer;而研究最前緣演算法的 ML Researcher 只是頂端的、最少數的那群人。

通常連象山都沒自信爬得上去的人,應該不會想要去爬玉山主峰。而台灣業界與政府在這十年中並沒有積極培養基礎軟體工程、資料工程的人才;部分新創有在努力,但資源、人數與大企業相比,只能說是聊勝於無…

credit: http://www.anlytcs.com/2014/01/machine-learning-skills-pyramid-v10.html

實務經驗吃重:資料科學仰賴從工作中大量的學習

AI 本質是軟體、它分析的是資料

雖然有時候營利的確不需要好產品(💩),但不懂軟體、不知道資料的價值,就無法做出有價值的產品,更遑論營利

  • 舒適的回頭路:把機器學習、人工智慧當做 API 接起來給硬體用

在沒有軟體與資料的 mindset 之前就學習 AI,不會知道什麼對市場重要、什麼有潛在價值;通常會做的事情就是把機器學習當成 API、當做以前製造業當中的一個元件,接個語音辨識 API 想要賣機器人、或是想要接個影像辨識 API 想要賣各種衣服偵測、異常偵測、物體偵測服務。

但這些不明就裡兜出來能動的模型,常常無法抵抗產品環境的變動,沒有持續利用資料與隨之成長的軟體服務,很快就會失去價值。

最直接能賣的,或許就是這些智慧軟體服務周邊的硬體產品,回到以前的製造業老路,這也是台灣很愛「物聯網」這個名詞的原因之一:新的智慧硬體設備「或許」在未來會有大量需求,因此把人工智慧、服務的部分交給其他人,而台灣繼續著重在製造代工這一塊,也「或許」可以賺上一筆。

但畢竟當年是硬體主導產品,以後恐怕會是服務價值主導產品,若只想靠代工製造,實在令人擔憂。

  • 資料服務的學習曲線不只陡峭,連入門的機會都很少

那麼我們只要去累積軟體服務與資料的經驗不就好了?

可惜的是這些經驗在學校、學術界極難取得,如同 Adam Gibson 的訪談中所說,很多東西是只有在業界產品才能學到的,像是 ETL、軟體工程、特定領域資料的知識。並且很遺憾地,也無法速成:

Data science, at the end of the day, is still something that you really just have to have real data to learn. Kaggle’s changing that a little bit, but Kaggle’s mainly focused on building the best model. But it doesn’t cover ETL, it doesn’t cover software engineering …

“… The problem is, when you’re doing data science, you need to learn how to talk to data sources. You need to learn how to analyze your domain-specific data. You have to know when the trends are bad or good. So there’s just a lot of things to learn and you can’t just wave the magic wand and learn that instantly.

Adam Gibson, co-founder and CTO of Skymind

學校、學術界、Kaggle 學不到,那去業界學呢?

這又回到前面不斷提到的文化問題,台灣業界並不將軟體工程與資料科學視為顯學,因此只有非常少的地方(e.g. 少數跟大企業有真實資料合作的研究室、更少數擁有夠多資料的新創公司)有機會接觸到這些真實資料的產品;多數情況是連大企業都未必有好好收集、處理資料,更遑論台灣是以中小企業為主的國家。

不管從文化、技能、經驗的角度來看,要跳過「軟體」與「資料」這兩大基礎,卻能做好 AI,都無疑是緣木求魚。

台灣政府的對策

這篇文章寫到一半,又看到了一份想要「跳科技」的新聞稿:

全文約 2400 個字(註:貼上 google doc 算的)裡面,「軟體」這個詞沒有出現過;其中出現兩次「軟硬體」,但「軟」這個字也只是順便的。

預計編列的三大 AI 項目

硬體主導的陰霾仍然揮之不去

台灣博士黃士傑近期回台灣就坦言,AlphaGo能下那麼快,主因Google提供TPU(機器學習定制晶片)讓它能快速學習及演變出新招數,棋力才能大增。AI要運作奏效,最重要還是「頭腦運作要快」、也就是輸入的資料數據演算要更快速,才能與思考、推理結合一起。

三月時新聞一出,我問:「用 50 億打造 AI 人工智慧研發中心,該不會就只是要買機器?」

四個月之後政府告訴我們:「雲端服務與大數據平台」的內容就是砸 50 億買硬體主機(還特別強調 AI 的大腦是晶片)

中國有霧霾,台灣則是有看不見的心霾:一片揮之不去的硬體遺毒,長年籠罩著台灣揮之不去。

乍看之下產學端都考慮了,但卻看不到連接的橋樑

剩下的兩個建設項目,為的是能夠兼顧產學雙方的需求:

論學界的先進研究,「用 50 億預算打造『AI創新研究中心』希望整合學界演算、AI 教授學者去招攬國內外人才到台灣來研究」

論產業應用,「編列 20 億預算給『智慧機器人創新自造基地計畫』,可以應用在生技、機械跟醫療器材等領域」

看似既能培養研究人才,又幫助台灣產業,兩端好像能結合供需;但如果有認真看這篇文章前半段,部長兩千多字的採訪也有讀完,就會發現盲點:

沒有軟體與數據的文化藍圖,就像是在河的兩邊興建開發案,但是沒人會搭橋,最後西邊蓋起象牙塔、東邊蓋起百貨公司。

政府要鼓勵大家去想,而不是給錢讓兩邊玩自己的就結束了

有人會說:政府不應該告訴企業要解決什麼問題,產業營利、轉型是他們自己的責任。

誠然,政府不應該替企業煩惱這些事情,但也絕對不該只是砸錢產出一堆研究人員、再砸錢買廠房給大家用,最後兩邊搭不起來。

在目前這個時間點,我看到的不是鼓勵造橋,而是回過頭去補助既有的包袱,讓他們用以前的方法做事情:

  1. 研究機構的技術無法應用到產業端 => 再補助更多經費跟機器,讓學界產出更多研究人員(創造更多失業人口?)
  2. 有很多企業轉型困難 => 再補助這些包袱沈重的企業讓他們弄幾個創新專案(連軟體跟數據都不存在的企業,要怎麼養人才?)
  3. 不知道錢該怎麼花=>先買機器、蓋工廠就對了(標準的製造業思維,而非服務業)

當然,目前也只是從媒體報導的紙上談兵去看人工智慧的計畫而已,我還是很希望以後能夠被政府狠狠地打臉,說這些他們都考慮到了,是我太天真,那表示台灣還有一點希望。

Do’s and Don’ts

前面寫了不少悲觀的想法,當然,台灣也不缺我一個人去批評,所以最後試著提供個人愚見,希望改變一些陳舊的想法、也引起更多人的重視

AI 要應用在產業,必須要能回答以下問題:

  • 還沒有商業模式的新創:需要用什麼資料、解決什麼問題?

有什麼問題是有資料之後,可以雇用「人」來解決痛點的嗎?

有什麼資料是「人」可以拿來分析並創造價值的嗎?

這裡都講用「人」而不是「人工智慧」,是因為很多服務要解決的問題,都是可以從透過人大量、簡單地、重複地分析資料來做,只是機器學習「有機會」讓服務更精準、更有效率。

所以在人工智慧之前,不妨先想想「工人智慧」可以做到什麼:比如影像監視、圖片物體辨識、語音辨識、自動駕駛,請人類來做,可以提供有價值的服務嗎?如果有,機器來做可以做得比人更有效率、或是做到差異化嗎?

如果沒有辦法回答這些問題的話,再強的模型都沒用,也沒必要去想 AI。

  • 還在殺豬公的企業:要怎麼實現外太空的應用?

長年缺乏的軟體環境與無結構化的資料,要如何提供養分給機器學習?業界知道資料的重要性嗎?業界的 training data 哪裡來?大數據喊了很久,業界有在積極收集、處理、分析資料嗎?

企業主不應該輕易放棄收集資料,如果沒有頭緒,這篇 Brands are Hiring Chief Data Officers for all the Wrong Reasons (And What to Do About it) 給了一些收集資料的方向,是個不錯的參考。

怎麼導入 AI?CNN, RNN 等這些學界正夯的機器學習模型如何應用在既有產業?以台灣業界長年忽視軟體產業的體質,如果幾年內暴增上千個優秀的研究人員,有上萬個軟體的工程師能做好基礎建設嗎?

目標放在上太空固然是好事,但這類務實面的問題百廢待舉,我們每天要做的事,應該是考慮如何讓自己殺豬公的科技樹跟上,而不是興致勃勃地談那還上不去的外太空。

回頭做好基本的軟體與數據文化

不要民粹式地一窩蜂擠向頂尖研究、或盲目追逐任何 buzz word。

頂尖研究很好,但要有對應的基礎支持

硬體當然是基礎的一部分,但如前面所提,軟體的基礎是個大洞,即使有這麼多非資訊本科系的人才都拼命想做 AI,台灣每年大量的資訊科系畢業生卻都以投入硬體產業鏈居多,目前的軟體生態系要支持 AI 產業,恐怕還是太脆弱。

不要一窩蜂追求最夯的研究議題,深度學習不是萬靈藥

近年深度學習(deep learning)正夯,在校園徵才時聽聞不少實驗室都開始在做深度學習,可以說,只要是理工的實驗室,做深度學習就一點也不奇怪;但我卻發現有些案例只專注於研究深度學習,其他基礎的機器學習模型並不熟、甚至不會。或許這只是特例,但我卻開始擔心這是常態。

就像機器學習產品必須建構在軟體服務之上,深度學習模型也是建構在那些「不時髦的」機器學習理論基礎之上;如果連基本理論都不懂,那表面上說在研究深度學習,實際上只是參數調教罷了。

不是什麼東西都用「兜」的,有價值的服務得從文化改革開始

「給硬體就能生出 Alpha Go」、「給企業更多的研究人才就會迸出 AI 產品」、「拿硬體去套 deep learning 的 API 就能賣錢」

所有認為「兜一兜就有」的人都應該想想,自己心中那個模糊的「AI」到底想解決什麼問題,戳破這些不切實際的幻想之後,才能正視問題。

最後,雖然重視軟體與數據不見得就做得起 AI;但任何組織若喊著 AI,實際上仍然不重視這兩樣基礎的重要性,那是毫無疑問會失敗的。

只要點擊拍手,不用花一毛錢就能讓我的創作得到回饋!

--

--

在日軟體工程師|廣告→媒體業|資料科學與工程 熱衷於數據解讀與分析|用哲學觀察科技與社會| 聯絡我 https://about.me/leafwind