講者:李柏萱 Beryl Lee | Deep Learning Engineer @ Phiar
新創公司 Phiar Deep Learning Engineer 工作分享
深度學習工程師如何在 AR 汽車導航系統公司運用 ML/DL 技術
活動主辦單位:Taiwan Data Science Meetup 台灣資料科學社群
講者簡介
柏萱目前任職於研發 AR 汽車導航系统的新創公司 Phiar,擔任 Deep Learning Engineer,負責建立 AI model training(訓練)以及 Deployment (部署)系統以及研發 Computer vision(電腦視覺)deep learning model(深度學習模型)。曾在全球最大半導體裝置製造商 ASML 擔任軟體工程師,負責研發與精進 ADC (Automatic Defect Classification/缺陷影像分類)演算法。
摘要
柏萱分享了她追隨自己心之所向而踏進入資料科學領域的歷程,分享在 ASML 運用 ML/DL 研發與精進演算法和在 Phiar 的實務經驗,說明何謂 AR(Augmented Reality/擴增實境)以及 Phiar 如何運用 Computer vision deep learning model 去達成 AR 汽車導航,也比較了在大公司與新創公司工作的差異。對於想進入深度學習領域的夥伴們,提供建議的學習資源,包含所需具備的技能、如何準備等等。
大綱
一、踏入資料科學領域的契機
二、我在 ASML 做什麼
三、Phiar 的 AR 汽車導航與輔助駕駛系統
四、Deep Learning Engineer 要具備的能力與技能
五、好的學習資源
一、踏入資料科學領域的契機
從台大物理到 UCLA 電機研究所,柏萱一路上追求能真切解決實際生活問題的方向,也隨著心之所向踏入了在 UCLA 求學期間很紅的 Data Science 領域,藉由在校修習 Machine Learning 課程,畢業後加入全球最大半導體裝置製造商 ASML 擔任軟體工程師,成為她踏入資料科學領域的契機。
二、我在 ASML 做什麼
半導體客戶會想知道在半導體晶圓體(Wafer)上面會有甚麼樣的缺陷(Defect),以及有沒有他們所在乎的特定嚴重缺陷,若發現有太多特定嚴重缺陷,半導體製程可能就要喊停,並開始做根本原因追溯與分析。柏萱所負責的就是利用 Machine Learning 以及 Deep Learning 去針對缺陷去做影像分類,研發並精進缺陷影像分類演算法(Automatic Defect Classification)。
三、Phiar 的 AR 汽車導航與輔助駕駛系統
所謂的 AR 是指擴增實境(Augmented Reality),透過攝影機位置及角度的精算,並加上圖像分析技術,讓 螢幕上的虛擬世界 能夠與現實世界場景進行 結合與互動 的技術。AR 一個很有名的應用就是 Pokémon GO 這款擴增實境類手機遊戲,手機上可以顯示真實世界的影像,還有它可以把皮卡丘以及寶貝球放到畫面上,不管怎麼轉動手機的位置,皮卡丘就會在原有的位置存在著,不會跟著手機一起轉動。
與 Panasonic 合作專案,Photo by Panasonic Demo
Phiar 的 AR 汽車導航與輔助駕駛系統也是一樣,透過攝影機了解路況,及時產生 AR 的實體標示,輔助駕駛掌握路況,例如,在汽車的擋風玻璃抬頭顯示器(HUD)上顯示 AR 實體標示來提示駕駛以了解路況,包含用 AR 標示去導航、碰撞預警、車道偏移警示,腳踏車/行人偵測,以及酷炫的停車位偵測功能。像是根據 AR 標示去下高速公路閘道的話,會比看 Google Map 更清楚,使駕駛人可以更直觀更清楚地知道自己要往哪走,也可以獲得各種各樣的警訊以保持小心去面對危險狀況。目前已在跟國際各大車廠進行 Proof-of-Concept 專案(簽正式合約前的技術展示)。
Phiar 以 AI Computer Vision Model 去了解路況,並產生對 AR 有用的資訊。
- Objection Detection Model 以偵測物體,像是車子、行人等。
- Lane Detection Model 以了解車道分界線的位置與轉向(往左或往右偏)
- Semantic Segmentation Model 以增強對畫面的了解,例如在畫面上,去看到哪些區域是路,而旁邊可能是樹等等。
- Depth Estimation Model 以偵測深度,例如前面車子離我的深度有多遠。
etc.
產品 Demo Video: https://youtu.be/Z36RCt8ql18>
Deep Learning Engineer 在各種公司可能有不同的責任要做,負責的類型可能也不一樣,所以柏萱的分享就針對 Phiar 的 Deep Learning Engineer 在做什麼:
- 建立 AI Pipeline
— 提供 Model 的訓練 (Training)與部署 (Deployment),需要把 model 部署在車子或手機上。AI Pipeline 要提供 Model 的訓練以及部署的功能。 - 訓練和優化 Model -調參 (Hyperparameter Tuning)
- 訓練新的 Model 以及分析 Model Performance
- 看 paper。有新的 Model 出來,然後 Performance 非常好,那她們借用它的一些 concept,導入現有的 Model 裡面,測試是否達到更好的 Performance。
四、Deep Learning Engineer 要具備的能力與技能
- 熟悉 Python 或其他語言 。若能先熟悉一種語言的話,再學其他語言都會很容易。Python 這樣比較人性化的語言,比較好理解、比較直觀,要學 Python 應該是相對蠻容易的。
- Deep learning 知識以及實作能力 ,最好是有做過一些 Deep Learning 相關的專案,列在履歷上,同時這樣你也會更知道這些 Deep Learning 的知識要怎麼樣應用,經驗的部分可以去熟悉,例如說調參要怎麼調,這些都蠻靠經驗的。
- Pytorch 或 Tensorflow,這兩個都是現在很紅的 Framework,都受到廣大的使用,也很難說誰比誰好,如果真的有做到一些專案的話,很有可能會接觸到這兩個 Framework。
- Deep learning engineer 不是 PhD 畢業才能做 。在某些公司 PhD 的職位可能會叫 Data Scientist。 Deep learning engineer 在 Phiar 會有 Model Training 的部分,但也會有偏 engineering 的部分,多一點 coding 及應用的部分。
五、好的學習資源
Deep learning 知識以及實作能力
- Andrew Ng-Deep Learning 線上課程,在 YouTube 跟 Coursera 都有,它影片都短短的,但都解釋得很好。
- Stanford CS123n 線上課程
- Kaggle-可以精進實作能力
- Medium/Toward data science/blog posts
程式語言
- Leetcode
Leetcode 對於學習程式語言幫助比較有限,是對於找工作比較有幫助,因為現在很多公司考 coding 都會出類似上面的題目,所以上面練習的話蠻有幫助的。對工作 coding 的話,主要是在幫助了解語言的語法,可以更快速地寫出 code 來,可能也可以幫助 coding style 更乾淨、更精簡,但會解 Leetcode 的題目對於工作上的 coding 並沒有直接的幫助。
六、大公司與新創公司的差別
-
靈活度
創新想法的發想到實踐非常迅速。例如說當有一個好的想法,就可以把它加到 Model 裡面去跑,跑完 performance 如果真的比較好,就可以把它部署(Deployment)在 device 上,這樣的速度可能可以在幾天或幾週內完成。在大公司的話有時候會比較難去做一些比較新的東西,比較需要上層的 approval。 -
做的事情種類更多
-
更能自己負責一個 project。 新創公司通常人手會比較少,所以自己一個人負責一個 project 的情況還蠻多的。
-
自我成長速度快 很多,因為自己可以從頭到尾負責一個 project,可以更了解很多東西。
-
公司成長空間大 很多
-
在新創公司工作通常會比較辛苦。在新創公司因為一個人要負責比較多事情,如果有 deadline 的話,壓力會比較大。這可能算是待新創公司的缺點。
筆手:陽光燦爛安梨娜
校正:李柏萱 Beryl Lee👉 歡迎加入台灣資料科學社群,有豐富的新知分享以及最新活動資訊喔!