面試問答
YOLO 跟一般 object detection 差在哪?
YOLO 比較像是 ...
一開始會先做邏輯測試,題目不算難,偏基本程度,大致上就是觀念跟簡單推理。結束之後會進主管面試,因為是應徵 AI 工程師,
主管問得會比較深入,像是 YOLO 框架的原理、Attention 架構的概念,還有一些實際做專案時會遇到的細節跟技巧。
另外要特別注意的是,自我介紹需要準備 PPT,面試當下會要求用簡報來講,所以最好把自己的經歷跟專案整理清楚一點,講起來會比較順。整體來說問題偏技術導向,也會一直往下追問,算是比較刁鑽、偏實戰型的面試。
面試問答
YOLO 跟一般 object detection 差在哪?
YOLO 比較像是 one-stage detector,它是直接從圖片輸出 bounding box 跟 class,不像 two-stage 會先 proposal 再分類,所以速度會比較快。
那 YOLO 在訓練時怎麼計算 loss 嗎?
大致上會包含 bounding box regression、objectness 還有 classification loss,三個一起加權,不同版本權重會不太一樣。
Attention 是什麼?你怎麼理解?
我會把它理解成「讓模型自己決定要看哪些資訊比較重要」,透過 query、key、value 去算權重,讓模型可以聚焦在關鍵特徵上。在實務上我在 NLP 時有應用過它。
如果模型效果不好你會怎麼做?
我會先從資料面開始檢查,確認資料集本身有沒有問題,像是標註是否一致、資料分布是否平均。再來會觀察訓練曲線,判斷是 overfitting 還是 underfitting。
如果是模型效果不理想,我會從 learning rate、batch size,或是 data augmentation 這幾個方向去調整。
實務上我有遇過一個案例,當時影像資料集只有大約 400 張,但 epoch 設到 400 之後,模型在訓練集表現很好,但在驗證集出現很明顯的 overfitting,泛化能力變差。後來就透過降低訓練輪數、加強 data augmentation,並調整訓練策略來改善整體效果。
Transformer 跟 RNN 差在哪?
RNN 是一個時間一步一步處理,容易有長距離依賴問題;Transformer 則是用 attention 做全局關係建模,可以平行運算,訓練速度也比較快。在實務上我比較常用,因為容易擴展到大模型。
為什麼想做 AI?
主要是覺得 AI 可以解決很多實際問題,而且應用很廣,像影像、語言都有,所以想往這方向深入。
面試建議
AI 的基本概念、模型架構還有常見的訓練流程要熟。不要只看理論,一定要自己真的跑過專案,像 YOLO、CNN、Transformer 這些至少要有一個完整實作過,才講得出細節。面試時主管其實很愛往下追問。
再來就是專案要講「問題」,不是只講「做了什麼」,例如資料太少怎麼處理、overfitting 怎麼解、模型怎麼調整,這些才是重點。