【D2 快報】關於前端與機器學習的疑惑,聽TensorFlow.js 負責人一一解答

blank

【D2 快報】關於前端與機器學習的疑惑,聽TensorFlow.js 負責人一一解答

本屆D2 前端技術論壇,我們十分榮幸地邀請到了Google TensorFlow.js 團隊的負責人Ping Yu 作為「智能化」專場的嘉賓,為我們講解TensorFlow.js 生態系統,以及如何將現有的機器學習模型植入到前端。

PingYu, Google Brain 工程師,TensorFlow.js 項目負責人。致力於將機器學習平台帶給Web 以及JavaScript 開發者。前Google Attribution 平台的技術主管。 Ping 擁有清華大學理學學士學位,馬里蘭大學帕克分校理學碩士學位。

blank

得益於人工、數據、計算成本的降低,人工智能(AI)在最近的一個十年得到了爆發式的發展,其中,要數「機器學習」流派首屈一指[1]。放眼全球,在AI 這個賽道上,遙遙領先的領路人,非Google 莫屬,而Google 又將機器學習作為其在AI 領域的工作重心[2]。他們開發並維護著TensorFlow, 旨在幫助他人解決重要問題[3]。

提起TensorFlow, 很多人會覺得這是個十分遙遠的、可望而不可及的東西,我從搞算法的朋友那裡聽來一句調侃——能在電腦上安裝並運行TensorFlow, 你已經跑贏了80%的算法工程師。雖然是句玩笑話,但也從側面說明了TensorFlow 的門檻之高——連算法工程師都不一定搞得定。那作為前端工程師的我們,是不是只能望其項背了呢?

答案是No~ No~ No~

因為在Google 有這麼一群人,早已幫我們解決了這個問題。他們看準了前端在機器學習領域的潛力,研發出了TensorFlow.js——專門服務於前端的機器學習平台。

為了讓大家對演講主題更好的理解, 我們特地安排了此次專訪,一起來聽聽他對前端與機器學習的見解。


D2小編: Hi, Ping Yu,很榮幸能夠邀請到您來D2演講,可否向台灣的朋友們介紹一下您和您目前的工作?

Ping Yu:我在Google的TensorFlow團隊中負責TensorFlow.js的開源項目。 TensorFlow.js 是一個針對前端開發者機器學習平台,它不光提供建模,訓練到推理的一套完整的API, 還有一個結合實際應用場景的模型庫。我們的目標是降低前端開發者使用機器學習的門檻,從而激發他們的創造力。

D2小編:我們知道,人工智能往往伴隨著複雜的數據、模型和運算,而很多人認為JavaScript太弱了,不適合做人工智能,甚至說前端就不該趟AI這趟水,您怎麼看待這個「老生常談」的說法?

Ping Yu:這個問題可以從兩個方面去看。首先,JavaScript作為一個解釋執行的語言,確實缺乏純計算能力,但語言本身的計算速度並不決定它是否適合機器學習。比如Python 同樣作為解釋執行的語言,速度並不是它的強項,甚至它比JavaScript 的V8 引擎要慢多了,這並沒有妨礙它成為當今最受歡迎的機器學習語言。因為它並不需要直接解決速度的問題,它可以利用其他更底層的語言來獲得計算速度的提升。 TensorFlow Python 就是利用binding C library 提供CPU 上的加速,通過cuDNN 的綁定獲得了GPU 提速。這都是JavaScript 可以做的事情。比如說TensorFlow.js 通過WebGL 的Fragment Shader 來獲得GPU 加速,通過Web Assembly 來獲得CPU 的加速等等。

另外作為一個機器學習API Level 的語言,易用性才是真正吸引用戶的地方。 Python 的崛起很大程度上得益於一個非常受歡迎的數值運算庫numpy. 其實JavaScript 在易用性上並不遜色於Python, 十幾年來,從網頁到後台,再到iOT 設備,JavaScript 無處不在。它跨平台的特性能很好的解決模型部署的任務。

我和很多工業界還有研究部門的伙伴了解的時候發現,他們現在共同的困境就是,缺乏人才能夠真正把AI 研究結果很好的落地。我們相信這個離不開前端工程師,但是需要有一套完善的工程解決方案。 TensorFlow.js 只是一個開始,希望有更多的前端開發者可以加入我們的行列。

D2小編:那請問TensorFlow.js目前都有哪些應用場景、效果如何?如果沒有足夠的數據量能接入嗎?

Ping Yu: TensorFlow.js支持許多JavaScript可以運行的環境,前端的瀏覽器,無線端的小程序,React Native平台,中後台的Node.js等等。

不同的運行環境,應用場景也不盡相同。無線端多以實時人機交互模型為主,不論是視頻還是語音,對模型的大小和執行速度的要求都很高。最近歐萊雅使用TensorFlow.js 在微信小程序裡推出了實時試妝,模型執行速度達到25FPS, 但模型只有800K. 在瀏覽器中的Web App, 它的AI 應用場景多以圖形或文字模型為主。在中後台,應用場景會更豐富一些。 TensorFlow.js在Node.js裡的執行速度和TensorFlow Python旗鼓相當,讓server端的模型推理可以融入到現有的BFF架構內。

另外TensorFlow.js也支持模型訓練,這意味著前端可以通過轉移學習的方法為每個用戶提供定制的模型

D2小編:有人說,AI技術的大進步,往往不是算法本身,而是源自人機交互的改進,您認同這個看法嗎?目前(至少國內)已落地的人工智能大多是「人工人工智能」,請問國外面臨這個窘境嗎?您認為有何解法?

Ping Yu:這個問題涉及面有點廣,但看法我是基本認同的。我理解這句話原意是,人機交互界面的改進,為AI 技術提供的場景和契機。 AI 的基礎是數據,而前端技術可以幫助研究者更快更好地理解數據。雖然現在AI 發展日新月異,新模型、新架構層出不窮,但當模型落地時候,如果並沒有和前端實現一個閉環,也就會出現「人工人工智能」的現象。谷歌推出的聯邦學習和TFX 機器學習的框架,通過AI 和前端的結合,就能夠做到連續的驗證和調整模型。

D2小編:您認為前端智能化未來會往什麼方向發展?對於想做人工智能的前端工程師有什麼學習建議?

Ping Yu:雖然前端有許多成功的框架,但總體來說還是有不少手工的工作。 (我認為未來的考慮將是)如何將AI 的能力融入到這些框架中,進一步減少前端工程師工作中低端的手工部分,從而進一步解放他們的創造力。

對於前端工程師而言,要對常用的模型和框架要有一定的認識,了解他們的特點和使用場景。要具備一定的AI 工程方面的知識,比如模型加速和壓縮,模型加密,端上和服務器上推理方案,這可以為模型落地提供切實可行的途徑。

D2小編:請問參加您這次的分享需要準備什麼前置知識?您將與國內開發者進行什麼方面的交流?

Ping Yu:這次分享(我將)通過一些實例來介紹TensorFlow.js平台的能力,進一步探討AI在前端落地的場景。目標受眾就是前端工程師,沒有特殊的前置知識


不知道本次專訪有沒有解答你對於前端與機器學習的疑惑呢?我是覺得,看完這次專訪,機器學習對我來說終於不再雲裡霧裡了,Ping Yu 淺顯易懂的表達,使我對前端與機器學習、對TensorFlow 有了更進一步的認識,也了解了該從哪些方面去學習AI, 實在是太棒啦!

本屆D2 上,Ping Yu 還將與我們探討TensorFlow.js 進一步優化的方式,以及未來發展的方向。是不是好期待呢!

已經買了票的小可愛,當天記得帶著可愛的自己準時來參加,就好啦~

還沒買票的小可愛要注意咯!

由於大家購票熱情太高,我們本次的早鳥票及早鳥拼團票已提前售罄,你可以選擇購買普通票(559/張),一次性購買3張及以上,更可立減100 ,享受早鳥票價格459/張哦!餘票不多,心動不如趕快行動,我在D2 智能化專場等你哦!

blank

附1:D2 智能化專場介紹

機器學習和人工智能在前端領域如何應用?智能化將如何改變前端的工作方式?目前機器學習和人工智能在前端的應用成果有哪些?在工程和業務領域借助智能化創造技術價值?本屆D2 的前端智能化專場通過行業的應用案例和實踐經驗的風向,讓大家對智能化改變前端有切實的感受,同時還邀請了谷歌TensorFlow.js 等行業知名的前端智能化團隊,帶來前端智能化發展趨勢的最新訊息。讓我們在機器學習改變行業的今天,攜手弄潮於技術之巔。

附2:好文推薦

參考文章:

[1] 你真的了解人工智能嗎? ——聊聊AI的碰壁和冬天

[2] 谷歌確立AI first戰略一年後成果如何?這裡有答案

[3] Google AI負責人:機器學習是解釋AI的最好方法

What do you think?

Written by marketer

blank

Serverless 最佳實踐:如何在兩週內開發出用戶量過億的微信小程序?

blank

最簡化VUE的響應式原理