iPAS AI 應用規劃師中級科目三:機器學習技術與應用 6 大核心命題

科目三:機器學習技術與應用

是中級三科裡技術細節最密、深度學習比重最高的一科,50 題裡面光是 CNN、RNN、LSTM、Transformer、VGG16 的結構題就佔了 7 題,加上正則化、優化器、評估指標、程式碼判讀,看起來名詞滿天飛。

但出題者藏在背後的判斷邏輯,其實只有 6 個底層命題。

官方題目來源:https://ipd.nat.gov.tw/ipas/certification/AIAP/learning-resources

AI 應用規劃師中級科目三的考試邏輯跟六大命題地圖

科目三的題目密度最高的兩個區塊,一個是深度學習(CNN、LSTM、Transformer 加上 VGG16 的詳細結構),另一個是訓練的工程細節(正則化、優化器、學習率、早停)。這兩塊加起來佔了將近一半題目,剩下的是評估指標、偏誤治理、隱私技術、程式碼判讀。

跟科目二類似,科目三也有大量程式碼判讀題(numpy、sklearn、keras、torchvision),但科目三的程式碼題更技術導向,要會看 Dropout 的數學定義、VGG16 的層結構摘要、transfer learning 的凍結語法。

AI 應用規劃師中級科目三的六大核心命題地圖

我把 114 年第二次公告試題的 50 題逐一拆過之後,歸納出下面這張命題地圖。後面六個 H2 會依序講每一個命題。

命題出題者想測的判斷力對應題號
看任務挑模型不要逆向CNN、LSTM、Transformer、邏輯迴歸、貝氏、Monte Carlo 各自的適用情境5, 6, 7, 8, 10, 18, 22, 23, 25
訓練要平衡擬合不足跟過擬合L1、L2、Dropout、Adam、早停、學習率的使用時機2, 3, 11, 12, 17, 26, 27, 31, 32
指標跟驗證方式對應任務類型F1、R²、Accuracy 陷阱、時間序列 CV、分層 CV 的選擇1, 14, 15, 16, 19, 24, 29, 30, 34
資料品質的偏誤要從來源治理標籤偏差、取樣偏差、特徵縮放、PCA 變異量、DBSCAN 雜訊4, 9, 13, 20, 28, 35
CNN 結構與遷移學習的直覺卷積層、池化層、全連接層的參數量跟運算量、VGG16 凍結語法21, 42, 43, 44, 45
隱私技術與程式碼判讀同態加密組合、numpy 矩陣運算、Dropout 偽碼、Monte Carlo 條件機率33, 36, 37, 38, 39, 40, 41, 46, 47, 48, 49, 50
中級科目三 50 題的命題分布

這份地圖最值得看的是程式碼判讀這組高達 12 題,跟科目二一樣佔了將近四分之一。如果你不熟 numpy、sklearn、keras 的基本語法,光看其他五組概念懂得再好也救不回來。考前最後一週至少留一天集中練程式碼題。

藍圖1圖解:命題一「任務的形狀決定模型選擇」,將時間序列對應 LSTM、空間感知對應 CNN、監管與解釋性對應邏輯迴歸與決策樹,並提醒 AutoML 與 Monte Carlo 的適用情境

1.任務來決定模型的選擇

這 9 題的底層命題只有一句:任務的形狀決定模型的選擇,不是看哪個模型潮就用哪個

機器學習技術與應用這個科目把模型選擇放在最核心的位置。AI 應用規劃師最該避免的反模式,是先選好深度學習再硬找問題套上去。

要學會這個命題,先建立四個核心模型家族的選型直覺。

第一個家族是 CNN(卷積神經網路):它的兩個核心機制是區域感知(Local Receptive Field)跟參數共享(Parameter Sharing)。區域感知讓每個神經元只關注影像的局部區域,參數共享讓同一個卷積核在整張圖片上滑動,大幅降低參數量。CNN 適合影像分類、物件偵測、瑕疵檢測這類影像任務。CNN 不是自動有旋轉與比例不變性,那是訓練資料增強才能達到的。CNN 也沒有捨棄激活函數,而是用 ReLU 等非線性激活引入表達能力。

第二個家族是 RNN/LSTM:它的核心能力是處理時間序列跟有先後順序的資料。LSTM 用閘門(gate)機制解決普通 RNN 的長期依賴問題,適合預測未來電力需求、語音辨識、文字生成這類序列任務。看到未來七天、時間趨勢、序列預測這類關鍵字,優先想 LSTM。看到影像辨識、分群這類非序列任務,不要硬塞 LSTM。

第三個家族是 Transformer:它的核心是多頭注意力(Multi-head Attention)機制。為什麼要多頭?因為不同的頭可以從不同的表示子空間同時捕捉不同層次的關聯。例如語音辨識同時要懂發音特徵、語速變化、語意脈絡,單一注意力頭只能看一種關聯,多頭能並行處理多種。多頭的目的不是減少參數或避免梯度消失,那些是 Transformer 其他設計帶來的副效果。

第四個家族是傳統 ML 跟機率模型:決策樹用資訊增益遞迴分裂,適合可解釋性需求高的場景(例如醫療診斷)。邏輯迴歸是金融信用評分卡的標配,因為監管要可解釋。貝氏定理用條件機率算給定行為特徵下,顧客屬於會購買的機率,適合行為分類。Monte Carlo 方法用隨機抽樣模擬,適合不確定變數多、需要估算分佈或風險區間的場景(例如太陽能發電量預測)。AutoML 適合短時間內比較多種模型、缺乏專職工程師的場景,不適合已有資深團隊的成熟流程。

示範解題:以電力需求預測為例

挑題 7 示範,因為它最能展現時序任務優先 LSTM這個判斷力。

iPAS 中級科目三考古題截圖:第 7 題,問哪一種應用最適合採用 LSTM 模型,選項包含電力需求預測、影像辨識、顧客分群與降維

題目情境:問下列哪一種應用最適合採用 LSTM 模型。四個選項分別是預測未來七天的電力需求變化趨勢、辨識監視影像中不同類別的物件、將大量顧客資料依相似特徵自動分群、將高維度的感測器資料壓縮成低維表示。

推理過程:

第一步,辨識每個選項是什麼任務。預測未來七天是時間序列預測、影像辨識是 CNN 任務、自動分群是無監督學習(K-means、DBSCAN)、壓縮高維是降維(PCA、自編碼器)。

第二步,把 LSTM 的核心能力跟選項對應。LSTM 處理有時間先後的序列、捕捉長期依賴,只有未來七天電力需求變化趨勢符合這兩個條件。

第三步,確認其他選項都不是序列任務。答案是 A。

這個命題的變形題:題 5 跟題 6 用 CNN 卷積層跟區域感知參數共享包裝、題 8 用資訊增益包裝決策樹、題 10 用行銷部門短時間比較模型包裝 AutoML 適用情境、題 18 用 XGBoost 跟 GBDT 比較包裝集成學習改進、題 22 用顧客瀏覽購買包裝貝氏定理、題 23 用太陽能發電預測包裝 Monte Carlo、題 25 用信用評分卡包裝傳統建模流程。

把四個家族建立好,這 9 題你能自己過。

藍圖2圖解:命題二「工程師的天平:對抗擬合失衡」,以天平比喻 Underfitting 與 Overfitting 的拉鋸,標示正則化、優化器、學習率與早停、非線性引入四組調控工具

2.訓練要平衡擬合不足跟過擬合

這 9 題的底層命題是:模型訓練的兩個敵人是擬合不足跟過擬合,而每一種正則化或優化工具都對應一種解法

在機器學習技術與應用裡,這組題目佔分將近五分之一,AI 應用規劃師要能在 3 秒內判斷現在的痛點是哪一邊。

訓練的工程工具可以拆成四類。

第一類是正則化:L1 正則化(Lasso)在損失函數加上參數絕對值的懲罰,效果是把不重要的特徵係數壓到 0,自動完成特徵選擇,適合特徵很多但懷疑大半沒用的場景。L2 正則化(Ridge)加上參數平方的懲罰,效果是把所有參數都拉小但不會變 0,適合所有特徵都有用但要避免某個參數爆走。Dropout 是訓練時隨機關掉一部分神經元,強迫網路不依賴特定路徑,程式碼長相是 mask = np.random.binomial(1, p, size=x.shape); return x * mask / p(注意要除以 p 做縮放,保持期望值)。Batch Normalization 也有正則化效果但主要功能是穩定訓練。

第二類是優化器:SGD 是基本的隨機梯度下降。SGD with Momentum 加入動量項,讓梯度方向有慣性,避免來回震盪。Adam 同時內建動量(一階矩)跟自適應學習率(二階矩),是大部分情況的預設首選。RMSProp 的核心考點是根據平方梯度調整有效學習率;但在 PyTorch 等框架中 RMSProp 也有 momentum 參數(預設為 0),所以不能說「RMSProp 永遠沒有動量」。Adagrad 也是自適應學習率但長期會讓學習率衰減到太小。所以問哪個內建動量答案是 Adam(SGD+Momentum 是顯式加上動量不算內建)。

第三類是學習率跟早停:學習率太大訓練會震盪、太小會收斂太慢甚至卡住,所以是最關鍵的超參數之一。早停(Early Stopping)是監控驗證集損失,連續多輪沒改善就停止訓練,避免過擬合。實務上要設定 patience(耐心值),例如連續 5 輪沒改善才停,避免被一兩輪的隨機波動誤導。早停監控的是驗證集損失,不是訓練集損失(訓練集會一直下降)、也不是測試集損失(測試集要保留到最後評估,中途用會造成資料洩漏)。

第四類是非線性的引入:如果模型只用線性激活函數,不管疊幾層本質上都是線性模型,沒辦法學複雜特徵。改用 ReLU 之類的非線性激活函數,才能讓深度神經網路發揮表達能力。Sigmoid 雖然也是非線性但有梯度消失的問題,深層網路用 ReLU 是標準做法。

防過擬合的方法有 L1/L2、Dropout、早停、增加訓練資料、降低模型複雜度。注意擴增輸入特徵變數以提升模型表達能力不是防過擬合,反而會加劇過擬合,因為它增加了模型的表達能力(自由度)。

示範解題:以 L1 自動篩選特徵為例

挑題 32 示範,因為它最能展現L1 對 L2 的關鍵差異這個判斷力,而且這個差異是科目三最常考的正則化題型。

iPAS 中級科目三考古題截圖:第 32 題,問電信公司客戶流失預測模型如何在避免過擬合的同時自動篩選特徵,選項涵蓋 Early Stopping、L2 Ridge、L1 Lasso

題目情境:某電信公司開發客戶流失預測模型,使用大量顧客行為特徵(通話時長、上網頻率、帳單金額、客服聯絡次數等)。團隊發現部分特徵高度相關,同時懷疑有些特徵對流失預測貢獻有限。希望模型在避免過擬合的同時,能自動篩選出較具代表性的特徵。問用哪一種方法最合適。

推理過程:

第一步,辨識題目的兩個需求。一個是避免過擬合,一個是自動篩選代表性特徵。這兩個需求合起來指向能把不重要的特徵壓掉的正則化。

第二步,看選項。A 早停只控制訓練回合不做特徵篩選。B 同時移除多重共線性加 L2,但 L2 不會把係數壓到 0,所以不是自動篩選。C 只用 L2,跟 B 一樣的問題。D 用 L1(Lasso),L1 的懲罰項是參數絕對值的和,數學性質會把不重要的特徵係數壓到剛好 0,等同於把那些特徵剔除,這就是自動篩選。
所以答案是 D。

藍圖3圖解:深潛解析「自動篩選特徵的魔法:L1 vs L2」,以壓縮機與剪刀的視覺隱喻對比 L2 參數平方懲罰(縮小但不歸零)與 L1 絕對值懲罰(直接壓到零)的差異

這個命題的變形題:題 2 用稀疏模型包裝 L1 的核心特性、題 3 用非凸函數包裝局部最優、題 11 用 Random Search 包裝高維參數空間、題 12 用學習率包裝模型權重更新速度、題 17 用 Adam 包裝內建動量機制、題 26 用擴增輸入特徵包裝防過擬合不屬於的選項、題 27 用線性激活函數準確率停滯包裝 ReLU 改進、題 31 用驗證集損失波動包裝早停 patience。

把四類工具建立好,這 9 題你能自己過。

藍圖4圖解:命題三「指標與驗證的適配性陷阱」,以流程圖呈現不平衡資料在 Accuracy 上的假象,以及 F1、Precision、Recall 等分類指標與 SMOTE、分層 K-fold 等處理手法

3.指標跟驗證方式對應任務類型

這 9 題的底層命題跟科目二類似,但更深入評估指標的細節:評估指標跟驗證方式不是越複雜越好,要看任務類型跟資料特性

機器學習技術與應用的評估題,AI 應用規劃師最該避免的是不平衡資料用 Accuracy這種經典錯誤。

評估這層可以拆成五個關鍵點。

第一點是分類指標的選擇。Accuracy 在類別不平衡時會騙人,例如罕見疾病確診率只有 1%,模型全部猜陰性也有 99% Accuracy。所以不平衡資料要看 F1、Precision、Recall。F1 是 Precision 跟 Recall 的調和平均,公式是 2 * P * R / (P + R)。Precision=0.8、Recall=0.6 時,F1 = 2*0.8*0.6/(0.8+0.6) = 0.96/1.4 ≈ 0.686。題目給數字就要會算。

第二點是迴歸指標的解讀。R² = 0.85 不是模型準確率 85%,而是模型解釋了 85% 的變異量,剩下 15% 是模型無法解釋的部分(可能是噪音、可能是缺失的變數)。預測誤差是另一個概念,要看 RMSE 或 MAE。MSE 的數學定義是 sum((y_true - y_pred) ** 2) / len(y_true),公式直接寫出來就是平方誤差的平均。

第三點是不平衡的處理。SMOTE 用插值生成合成樣本、調整類別權重讓模型對少數類更敏感、欠採樣多數類都是有效方法。使用 Accuracy 評估反而會掩蓋問題,所以使用準確率作為評估指標是不平衡資料最不適合的做法。

第四點是驗證方式的選擇。K-fold 是基本款,但類別不平衡時要用分層 K-fold(Stratified K-Fold)。時間序列資料不能用一般 K-fold,因為會造成用未來資料訓練、預測過去的時間洩漏,要用時間序列交叉驗證(Time Series CV)或滾動視窗驗證(Rolling Window Validation)。資料量極少又不平衡時(例如 150 筆、陽性 8%),官方題目的答案是「分層留一法」。考試重點是:不平衡資料要避免抽樣切分破壞類別比例、小資料要盡量保留訓練資料。但嚴格實作上,Leave-One-Out 每折只有一筆驗證資料,無法像 Stratified K-Fold 那樣維持每個 fold 的類別比例;分層的效果體現在訓練集的切法上,確保少數類不會在某折被完全排除。

第五點是殘差圖的診斷。線性迴歸殘差應該隨機散佈在零附近。如果殘差呈現系統性彎曲(例如高價區出現曲線分佈),主要暗示模型規格不足,例如線性模型無法捕捉非線性關係;異常值也可能干擾殘差分布,但不是第一優先解釋。殘差均勻分佈才是模型符合假設的訊號,看到系統性樣態就是模型違反假設。

跨語言模型在新語言資料集上 F1 從 0.91 暴跌到 0.58,最合理的解釋是語言轉移造成召回率下降,模型無法正確辨識關鍵情緒詞彙。這不是 macro F1 的波動性問題、也不是過度擬合(過擬合在訓練集上會表現好,題目沒提訓練集)。

示範解題:以罕見疾病的評估陷阱為例

挑題 19 示範,因為它最能展現不平衡資料的指標陷阱這個 AI 應用規劃師最該避開的反模式。

iPAS 中級科目三考古題截圖:第 19 題,問醫療機構罕見疾病偵測模型中哪一種作法最不適合提升少數類預測能力,選項包含 SMOTE、類別權重、Accuracy 指標

題目情境:某醫療機構開發疾病早期偵測模型,正樣本(確診病例)僅佔 3%。問下列哪一種作法最不適合用於提升對少數類病例的預測能力。四個選項是 SMOTE 過採樣、調整類別權重、使用準確率作為評估指標、欠採樣多數類。

推理過程:

第一步,辨識題目的關鍵。正樣本只佔 3% 是極度不平衡的場景,而且題目問的是最不適合。

第二步,看每個選項是不是真的有幫助。SMOTE 過採樣是處理不平衡的標準做法,有幫助。調整類別權重讓模型對少數類更敏感,有幫助。欠採樣多數類雖然丟資料但能平衡比例,有幫助。使用準確率作為評估指標,正樣本只有 3% 時,模型全猜陰性也有 97% 準確率,完全看不出模型對少數類的真實表現,反而會誤導決策。
所以答案是 C,使用準確率不適合。

這個命題的變形題:題 1 用銷售預測新資料包裝交叉驗證、題 14 用醫療影像診斷包裝可解釋性的關鍵情境、題 15 用 R² 0.85 包裝變異量解釋、題 16 用 P=0.8 R=0.6 包裝 F1 計算、題 24 用殘差圖系統性彎曲包裝迴歸診斷、題 29 用設備工況變化包裝時間序列 CV、題 30 用跨語言 F1 暴跌包裝召回率下降、題 34 用 150 筆陽性 8% 包裝分層 LOOCV。

把五個關鍵點建立好,這 9 題你能自己過。

藍圖5圖解:命題四「偏誤治理的溯源漏斗」,以漏斗圖從資料來源、標籤標註到特徵工程逐層標示取樣偏差、標籤偏差、特徵偏差三種偏誤來源與舉例

4.資料品質的偏誤要從來源治理

這 6 題的底層命題是:模型上線後出現偏誤,第一優先通常要檢查訓練資料代表性、取樣方式、標籤規則與特徵設計。很多公平性問題在資料蒐集與問題定義階段就已經發生,不要只怪演算法

機器學習技術與應用考的就是這個分層判斷力,AI 應用規劃師要能在使用者抱怨模型對新會員不準時,優先檢查訓練資料怎麼選的。

資料偏誤可以分成三種典型來源。

第一種是取樣偏差(Sampling Bias):訓練資料的樣本範圍不能代表推論時要面對的整體分佈。例如題 28 的情境:訓練資料只選曾經購買三次以上的活躍顧客,模型在新註冊會員或低消費會員的預測自然不準。這是取樣偏差的標準案例,跟特徵設計、標籤標註、超參數調整都無關。

第二種是標籤偏差(Label Bias):標籤資料本身帶有主觀偏見。例如人工標註某個情緒詞時,不同標註員的判斷不一致;或者歷史資料反映過去的偏見,讓模型學到年輕人比較會違約這種跟現實未必相符的關聯。標籤偏差的原因不是訓練資料量過大、不是模型結構、不是特徵數量,是標註過程本身。

第三種是特徵偏誤/代理變數偏誤(Feature Bias):模型沒有直接使用敏感屬性,但某些特徵高度代理了敏感屬性(例如郵遞區號、消費地點),或特徵設計引入了不該有的資訊洩漏,讓模型學到不可推廣的關聯。

防偏誤的方法在資料層,不是模型層。

距離型模型(KNN、SVM)的特徵縮放也是資料層的基本功,沒做縮放會讓尺度大的特徵主導距離計算。

互動特徵是把兩個或多個特徵做乘積或交互組合,用來捕捉特徵間的關聯影響(例如價格跟滿意度的交互效果)。

不是把單一特徵取平方、不是對所有特徵取對數、不是標準化,那些是其他類型的特徵工程。

DBSCAN 的雜訊點(Noise Point)定義是:鄰域內樣本數不足以形成核心點(Core Point),也未被任何核心點的鄰域包含,且未與其他群集形成密度可達關係。簡單說就是不夠密集、也不在其他群集附近的孤立點。

PCA 的變異量解讀也是資料品質的一部分。三個特徵值 λ1=6、λ2=3、λ3=1,前兩個的累積變異量是 (6+3)/10 = 90%,超過 80% 的門檻,所以保留前兩個主成分是合理的。不要被第二主成分貢獻 30%這種說法誤導,30% 是相對總變異而言,不是 80% 門檻的判斷依據。

示範解題:以高活躍顧客的取樣偏差為例

挑題 28 示範,因為它最能展現訓練資料的選擇決定模型的能耐這個 AI 應用規劃師最該記住的判斷力。

iPAS 中級科目三考古題截圖:第 28 題,問零售電商顧客流失預測模型只用高活躍顧客訓練後對新會員預測失準的原因,選項涵蓋 Feature Bias、Label Bias、Sampling Bias、Overfitting

題目情境:某零售電商公司建立顧客流失預測模型,訓練時僅採用曾經購買三次以上的活躍顧客紀錄作為樣本。模型上線後,對整體會員進行預測時,發現對新註冊會員與低消費會員的預測準確率明顯偏低,問造成此現象最可能的原因。

推理過程:

第一步,辨識訊號。訓練樣本只用活躍顧客是關鍵,而題目要解釋模型對新會員跟低消費會員不準,這是典型的訓練分佈跟推論分佈不一致。

第二步,看選項。
A 特徵偏差是特徵設計引入不該有的資訊,題目沒提特徵設計問題。
B 標籤偏差是標籤本身有偏見,題目沒提標籤怎麼來。
C 取樣偏差是訓練樣本不能代表整體,完全符合題目情境,訓練只看活躍顧客,模型自然不會處理新會員。
D 過擬合是在訓練集上太好但泛化差,但題目的問題是特定子群預測差,不是泛化整體不好。
所以答案是 C。

這個命題的變形題:題 4 用 DBSCAN 雜訊點包裝聚類診斷、題 9 用 KNN SVM 包裝距離模型的特徵縮放、題 13 用標籤偏差包裝標註偏見、題 20 用互動特徵包裝特徵工程設計、題 35 用 PCA 變異量包裝降維保留比例的解讀。

把三種偏誤來源建立好,這 6 題你能自己過。

藍圖6圖解:命題五「透視 CNN 與 VGG16 的解剖學」,以工程剖面圖呈現卷積層、池化層、AdaptiveAvgPool2d、全連接層的架構,標示運算量與參數量的集中區域

5. CNN 結構與遷移學習

這 5 題的底層命題是:讀懂 CNN 的層結構摘要,跟掌握遷移學習的凍結語法,是科目三深度學習的硬實力

機器學習技術與應用必考的就是 VGG16 的層結構細節。VGG16 在科目三是必考的範例,因為它結構規則容易考細節。

掌握 CNN 結構需要四個關鍵直覺。

第一個直覺是參數量分佈:CNN 的卷積層雖然有很多層,但每層參數量受限於 kernel size 跟 channel 數,例如 3×3 卷積核從 64 channel 到 128 channel 只有約 7 萬參數。但全連接層(Linear)的參數量會爆量,例如 VGG16 第一個 Linear 從 25088 (=512*7*7) 到 4096,參數量就有 102,764,544,超過一億。所以 CNN 模型的參數最多通常在全連接層,不是卷積層。

第二個直覺是運算量分佈:FLOPs(浮點運算次數)的計算方式是輸出特徵圖大小 × kernel 計算量。早期的卷積層雖然 channel 少,但特徵圖很大(例如 150×150),所以每層的運算量很大。後期的卷積層雖然 channel 多到 512,但特徵圖被池化到 9×9,反而運算量沒那麼大。全連接層的運算量看輸入維度 × 輸出維度,VGG16 的全連接層輸入 25088 輸出 4096,單層運算量約 1 億,但卷積層的累積運算量遠超這個。所以 FLOPs 最多的是卷積層,而參數量最多的是全連接層。

第三個直覺是 AdaptiveAvgPool2d 的特殊行為:VGG16 的分類器固定吃 512×7×7 的向量,因此 PyTorch 版 VGG 用 AdaptiveAvgPool2d((7, 7)) 把最後特徵圖整理成 7×7。若輸入是標準 224×224,最後池化前通常已經接近 7×7;若題目給的是較小或非標準輸入,才可能看到 4×4 再被 adaptive pooling 轉成 7×7。這讓 VGG16 在模型可運算的尺寸範圍內可以處理不同大小的輸入影像(PyTorch 的 VGG16 最小輸入尺寸為 32×32,預訓練推論標準前處理為 224×224)。攤平後傳入第一個全連接層的維度是 512×7×7 = 25088,不是 512×4×4 = 8192。

第四個直覺是遷移學習的凍結語法model.features.parameters() 是 VGG16 卷積層的參數,凍結這部分才能保留預訓練學到的特徵。model.classifier.parameters() 是全連接層,如果凍結這部分就只能訓練卷積層,跟遷移學習的目的相反。model.parameters() 是全部,凍結等於整個模型都不訓練。model.requires_grad = False 不是凍結模型參數的正確寫法;它不會逐一修改 model 裡的 parameter。凍結卷積層的正確寫法是 for param in model.features.parameters(): param.requires_grad = False,實務上也可使用 model.features.requires_grad_(False)

示範解題:以 VGG16 遷移學習的凍結語法為例

挑題 45 示範,因為它最能展現讀懂 CNN 結構摘要加上 PyTorch 語法這個整合判斷力。

iPAS 中級科目三考古題截圖:第 45 題上半部,問 VGG16 遷移學習中凍結卷積層參數、只訓練全連接層的正確 PyTorch 程式碼寫法
iPAS 中級科目三考古題截圖:第 45 題下半部,呈現四個 PyTorch 程式碼選項(A 至 D),分別使用不同的 requires_grad 凍結策略對 VGG16 進行遷移學習

題目情境:對 VGG16 進行遷移學習,要凍結卷積層的參數,只訓練最後全連接層(classifier),問哪一段程式碼寫法正確。

推理過程:

第一步,辨識遷移學習的目的。要保留卷積層學到的影像特徵,只重新訓練分類層。所以要凍結的是 model.features(卷積層),要訓練的是 model.classifier(全連接層)。

第二步,看選項。
A 用 for param in model.parameters(): param.requires_grad = False 凍結整個模型,連 classifier 也被凍結,不對。
B 用 for param in model.features.parameters(): param.requires_grad = False 只凍結卷積層,正確。
C 用 for param in model.classifier.parameters(): param.requires_grad = False 反過來凍結分類層,跟遷移學習目的相反。
D 用 model.requires_grad = False 不是正確的凍結寫法,不會逐一修改 module 內的參數。

第三步,確認 B 後面的 model.classifier[6] = torch.nn.Linear(4096, 10) 是把最後一層換成 10 類輸出,合理。
所以答案是 B。

這個命題的變形題:題 21 用 Multi-head Attention 包裝多頭注意力的多樣化關聯、題 42 用 VGG16 參數量包裝全連接層佔大宗、題 43 用 VGG16 FLOPs 包裝卷積層運算量大、題 44 用 AdaptiveAvgPool2d 7×7 攤平包裝結構細節。

把四個直覺建立好,這 5 題你能自己過。

藍圖7圖解:命題六「隱私組合拳與程式碼轉譯邏輯」,以齒輪圖解程式碼到數學邏輯到技術名詞的轉譯流程(如 Dropout),並列出 MSE、向量內積、同態加密的關鍵轉譯對照

6.隱私技術與程式碼判讀

這 12 題佔了將近四分之一,其中程式碼判讀題又佔了大多數。

底層命題是兩句:隱私技術不是孤立工具而是組合應用,程式碼判讀要從數學公式推回函式語意

機器學習技術與應用的程式碼題,絕大多數都需要這兩種能力一起用。

隱私技術的部分:同態加密(Homomorphic Encryption)的關鍵特性是允許在不解密的情況下對密文執行特定運算,解密後可得到對應的明文運算結果。它適合隱私敏感的外包運算或雲端分析,但成本、效能與可支援運算型態都有限制。這跟匿名化(去欄位)、雜湊(不可逆但不能還原)、差分隱私(加噪聲)是完全不同的技術。實務上,跨銀行協作需要多種隱私技術組合。依官方第 37 題答案,正確的技術組合是:同態加密 + 非對稱加密 + 單向雜湊 + 對稱加密。同態加密處理「資料不解密也能運算」;非對稱加密處理「安全通訊、金鑰交換、身分驗證」;單向雜湊處理「完整性檢查、防竄改」;對稱加密處理「大量資料傳輸加密」。MPC 雖然也是隱私計算技術,但不是本題官方答案。

程式碼判讀的核心能力可以拆成三個面向。

第一個面向是看數學公式辨識指標sum((y_true - y_pred) ** 2) / len(y_true) 是平方誤差的平均,直接對應 MSE(Mean Squared Error)的定義。如果再開根號就是 RMSE。MAE 是絕對值的平均,公式不同。R² 是 1 減去殘差平方和 / 總平方和,結構完全不同。

第二個面向是看抽樣邏輯辨識正則化技術mask = np.random.binomial(1, p, size=x.shape); return x * mask / p 在訓練時用,推論時直接回傳 x,這是 Dropout 的標準寫法,p 是保留機率,除以 p 是維持期望值不變(inverted dropout)。L1/L2 不會用 binomial 抽樣、BatchNorm 用的是統計量不是隨機 mask。

第三個面向是 numpy 跟條件機率np.dot(v1, v2) 是向量內積,1*4 + 2*5 + 3*6 = 32。v1 * v2 是元素相乘(element-wise),結果是 [4, 10, 18] 不是 [5, 7, 9]。np.linalg.inv(A) 是反矩陣,不是行列式(行列式是 np.linalg.det)。np.linalg.eig(A) 是特徵值跟特徵向量,不是反矩陣。Monte Carlo 計算 P(A|B) 的條件機率,用同時發生 A 跟 B 的次數除以B 發生的次數,所以是 A_and_B.sum() / B.sum(),不是除以 A 或除以兩者和。

時間複雜度的部分,要逐一比對每位顧客跟其他所有顧客,組合數是 n*(n-1)/2 ≈ O(n²),代表執行時間跟資料量平方成正比。當資料量從 1 萬變 10 萬,時間會變 100 倍。

示範解題:以 Dropout 的數學定義為例

挑題 39 示範,因為它最能展現從程式碼結構辨識技術這個判斷力。

iPAS 中級科目三考古題截圖:第 39 題,附 Dropout 的 Python 實作程式碼(含 np.random.binomial 遮罩與除以 p 的反向補償),問此程式碼實現的是哪一種正則化技術

題目情境:程式碼如下:def forward(x, p, training=True): if training: mask = np.random.binomial(1, p, size=x.shape); return x * mask / p; else: return x。問這實現的是哪一種正則化技術。

推理過程:

第一步,看 import 跟函式結構。函式有 training 參數,訓練跟推論行為不同,這是有訓練模式切換的技術。

第二步,看訓練時做什麼。np.random.binomial(1, p, size=x.shape) 是按機率 p 隨機抽 0 或 1 的 mask,然後 x * mask / p 是用 mask 關掉一部分輸入再除以 p 縮放。隨機關掉一部分加上除以 p 縮放保持期望是 Dropout 的標準特徵(inverted dropout)。

第三步,排除其他選項。L1 正則化是在損失函數加懲罰項,不會在 forward 函式做、L2 正則化也是、Batch Normalization 用統計量不用 binomial 抽樣。
所以答案是 C。

這個命題的變形題:題 33 用 O(n²) 包裝時間複雜度、題 36 跟題 37 用同態加密包裝隱私技術組合、題 38 用 MSE 公式包裝指標判讀、題 40 用 numpy 矩陣運算包裝內積跟特徵值、題 41 用 Monte Carlo 條件機率包裝 P(A|B) 計算、題 46 用 PCA 降噪包裝 inverse_transform、題 47 用 cross_val_score 包裝 KNN 驗證、題 48 用 X_train -= mean 包裝標準化的數學動作、題 49 用 Dense 層的 Param 包裝參數量計算(Param = 輸入維度 × 輸出維度 + 偏差項數量)、題 50 用 matplotlib 線條樣式包裝 "b-"(藍色實線,Training Loss)跟 "r--"(紅色虛線,Validation Loss)的繪圖語法。

把三個面向練熟,這 12 題你能自己過。

AI 應用規劃師中級科目三最容易混淆的 12 組概念對照

學完六大命題,考前最後一週把下面這 12 組高混淆概念兩兩比較一次。能用自己的話講出差異就過關,講不出來就回去翻對應的命題。

兩個概念差異關鍵
L1 vs L2 正則化L1 把不重要的係數壓到 0 適合特徵選擇,L2 把所有參數拉小但不歸零
SGD vs Adam vs RMSProp vs AdagradSGD 基本款,Adam 同時內建動量跟自適應學習率,RMSProp 核心是自適應學習率(框架可選 momentum),Adagrad 學習率會衰減過小
CNN vs LSTM vs TransformerCNN 處理空間關係,LSTM 處理時序長依賴,Transformer 透過 self-attention 捕捉序列中遠距位置的關係,但可處理長度仍受 context window 與計算成本限制
ReLU vs Sigmoid vs 線性線性沒法學非線性特徵,Sigmoid 有梯度消失問題,ReLU 是深度網路的標配
Accuracy vs F1 vs Precision vs RecallAccuracy 不平衡時騙人,F1 是 Precision 跟 Recall 的調和平均
Grid Search vs Random Search vs BayesianGrid 全試但慢,Random 高維高效,Bayesian 根據歷史結果動態調整
K-fold vs Stratified vs Time Series CVK-fold 純隨機,Stratified 保比例,Time Series 避免時間洩漏
Dropout vs BatchNorm vs Early StoppingDropout 隨機關神經元,BatchNorm 穩定訓練順便有正則化效果,Early Stopping 監控驗證集
取樣偏差 vs 標籤偏差 vs 特徵偏差取樣是訓練集不代表整體,標籤是標註有偏見,特徵是設計引入不該有的資訊
卷積層 vs 全連接層卷積層運算量大但參數少,全連接層參數多但每筆運算少
同態加密 vs 差分隱私 vs MPC同態加密能加密下運算,差分隱私加噪聲,MPC 多方協作不洩漏各方資料
SMOTE vs Random Oversampling vs UndersamplingSMOTE 插值生成,Oversampling 重複貼上易過擬合,Undersampling 丟資料
表 2:AI 應用規劃師中級科目三 12 組高混淆概念對照
考點解碼表:考前必釐清的 12 組高混淆概念對決矩陣,包含 L1 vs L2、SGD vs Adam、CNN vs LSTM vs Transformer、Accuracy vs F1、Dropout vs BatchNorm、取樣 vs 標籤偏差、卷積層 vs 全連接層、同態加密 vs 差分隱私

總結:用命題思維準備中級科目三

AI 應用規劃師中級科目三(機器學習技術與應用)這份考卷,真正在測的不是 50 個獨立的名詞,而是 6 個底層命題:看任務挑模型、訓練平衡擬合不足跟過擬合、指標跟驗證方式對應任務、資料品質的偏誤治理、CNN 結構與遷移學習、隱私技術與程式碼判讀。

進考場的程式碼題解題流程,我建議固定這四步。

第一步,先看 import 確認用了哪個函式庫(numpy、sklearn、keras、torchvision、scipy.stats),不同函式庫的同名函式行為不同。

第二步,在腦中執行一次程式碼,特別注意維度變化、是否有抽樣、是否有訓練推論模式切換。

第三步,對照選項,看哪個結果對得上。

第四步,記得 sklearn 的 fit() 順序是 (X, y),statsmodels 的 OLS 順序是 (y, X),別搞錯。

iPAS AI 應用規劃師中級科目三的設計初衷,是檢核你能不能在機器學習專案裡擔任技術規劃的角色。能在六大命題之間做出正確判斷、能讀懂 numpy 跟 keras 的常見語法,就能通過科目三,祝各位考試順利!

藍圖8圖解:程式碼大魔王的 4 步透視 SOP,依序為看 Import 找套件、腦內跑維度與模式、數學反推對照技術名詞、防範 API 順序陷阱(如 sklearn fit(X,y) vs statsmodels OLS(y,X))
考前白話詞表:44 個科目三必考名詞
原名詞白話翻譯一句話記憶
CNN看圖片小區塊的模型不是一次看整張圖,而是用小視窗掃過去找特徵
Convolution Kernel掃描用的小濾鏡像一個小放大鏡,專門找邊緣、線條、紋理
Local Receptive Field只看局部區域每個神經元只負責看圖片的一小塊
Parameter Sharing同一組濾鏡重複用一把規則掃全圖,所以參數比較少
Pooling壓縮特徵圖保留重點、縮小尺寸、降低運算量
AdaptiveAvgPool2d固定輸出尺寸的平均池化不管前面特徵圖多大,最後整理成指定格數
Fully Connected Layer / Linear全部接在一起的分類層把前面抽出的特徵拿來做最後判斷
Parameters模型要學的數字模型記在腦中的權重數量
FLOPs運算量模型算一次大概要做多少計算
Transfer Learning拿現成模型再改最後幾層用別人已學好的底子,換成自己的任務
Freeze Layers凍結層這些權重不再更新,只訓練後面幾層
LSTM Gate記憶開關決定舊資訊要留下、丟掉,或寫入新資訊
Multi-head Attention多組視角同時看關係一組看語意,一組看位置,一組看其他關聯
Overfitting背答案訓練題很會,換新題就不行
Underfitting學不夠連訓練題都學不好
Regularization限制模型不要太任性加一點約束,避免模型連雜訊都背起來
L1 / Lasso把沒用特徵剪掉會把部分權重壓成 0,適合特徵選擇
L2 / Ridge把權重壓小不一定歸零,但避免某些權重過大
Dropout訓練時隨機關掉神經元強迫模型不要太依賴固定路線
Batch Normalization幫每層輸入重新校準讓數值分布穩定,訓練比較順
Learning Rate每次修正的步伐大小太大會亂跳,太小會學很慢
Early Stopping見好就收驗證集沒變好就停止,避免越練越過擬合
Accuracy整體猜對率類別不平衡時很容易騙人
Precision抓到的人裡,有多少是真的預測為陽性的人,有多少真的是陽性
Recall真的有病的人裡,抓到多少真陽性有多少被模型找出來
F1 ScorePrecision 和 Recall 的折衷分數兩邊都不能太差
模型解釋了多少變動不是準確率,是解釋變異量
SMOTE造出新的少數類樣本用少數類附近的點內插產生新資料
Stratified K-fold分層切資料每一折盡量保留原本的類別比例
Time Series CV不能偷看未來的驗證法時間序列資料要用過去預測未來
Sampling Bias抽樣抽錯人訓練資料不能代表真正會遇到的人
Label Bias答案本身有偏見標註或歷史決策本來就不公平
Feature Bias餵了會讓模型歪掉的線索特徵可能不公平、上線拿不到,或偷帶答案
Data Leakage偷看答案訓練時用了預測時不可能知道的資訊
PCA把很多欄壓成幾個代表方向保留主要變化,捨掉比較小的變化
Explained Variance保留下來的資訊比例主成分解釋了多少原始資料變動
DBSCAN Noise Point孤兒點/雜訊點附近不夠密,也不屬於任何群
Homomorphic Encryption加密狀態下也能算不解密也能做某些運算
Asymmetric Encryption公鑰上鎖、私鑰解鎖常用於安全通訊、金鑰交換、身分驗證
Symmetric Encryption同一把鑰匙加解密適合大量資料快速加密傳輸
One-way Hash資料指紋可檢查有沒有被改,但不能還原原文
Differential Privacy統計結果加雜訊讓單一個人的資料不容易被反推出來
MPC大家一起算,但不亮底牌多方合作計算,各自不公開原始資料
O(n²)平方級時間資料變 10 倍,時間可能變 100 倍

推薦閱讀

參考資料

iPAS 經濟部產業人才能力鑑定 (2025). AI 應用規劃師中級能力鑑定考試簡章

iPAS 經濟部產業人才能力鑑定 (2025). 114 年第二次 AI 應用規劃師中級能力鑑定公告試題第三科

PyTorch Documentation (2025). torchvision.models.vgg16

Scikit-learn Documentation (2025). Cross-validation: evaluating estimator performance

Keras Documentation (2025). The Sequential model

IBM (2025). What is Convolutional Neural Network

IBM (2025). What is Long Short-Term Memory (LSTM)


FAQ

AI 應用規劃師中級科目三跟科目二最大的差別是什麼?

科目二是大數據分析(pandas、seaborn、統計推論),科目三是機器學習技術(模型訓練、評估、深度學習、優化器)。兩科都有大量程式碼判讀題,但科目三的程式碼題更技術導向,要會看 Dropout 的數學定義、VGG16 的層結構摘要、PyTorch 的凍結語法。

六大命題裡面該優先讀哪幾組?

優先讀程式碼判讀那組(12 題)跟模型選擇那組(9 題),加起來 21 題,佔分將近一半。如果有 CNN/深度學習基礎,加上 CNN 結構直覺(5 題)會很穩。傳統 ML 跟訓練細節要平均花時間,不要押在某一個演算法上。

VGG16 為什麼這麼常考?

因為它結構規則容易出細節題,而且是遷移學習的經典範例。考試常考的點是參數量分佈(全連接層佔最多)、運算量分佈(卷積層佔最多)、AdaptiveAvgPool2d 的特殊行為(輸出固定 7×7)、凍結語法(`model.features.parameters()` 凍結卷積層)。把這四個點記熟,VGG16 相關題目都不會錯。

不平衡資料的處理跟評估指標怎麼配?

處理用 SMOTE、調整類別權重、欠採樣多數類;評估用 F1、Precision、Recall、ROC-AUC,但不要只用 Accuracy 當主要判斷依據。更穩的做法是搭配 Precision、Recall、F1、PR-AUC 或混淆矩陣。考試最愛考的反模式就是不平衡資料只看 Accuracy,看到這個組合要特別小心。

模型上線後對特定子群不準是什麼問題?

第一優先要檢查的是取樣偏差,不是過擬合也不是模型架構。AI 應用規劃師遇到這種情境,優先檢查訓練資料怎麼選的、有沒有排除某些族群、推論時要面對的人口分佈跟訓練時是不是一致。

考前最後一週怎麼複習最有效?

不要重看名詞解釋,改成做命題到題目的反向練習。隨機翻一題考古題,給自己 5 秒判斷它屬於六大命題的哪一組,再做答案。程式碼題每天練 3 到 5 題,實際在筆電上打一遍,比看十題還有效。VGG16 跟 Dropout 這兩個題型一定要練到不假思索。

Similar Posts