今天的人工智慧 1+1 自學:監督式學習 (Supervised Learning) 與文本分類 (Text Classification)
「1」 - 技術核心層:
機器學習/ML (Machine Learning) 3類型之一(監督式學習/非監督式學習/強化學習)——「監督式學習 (Supervised Learning)」
自然語言處理/NLP (Natural Language Processing)的一項基礎且重要應用——「文本分類 (Text Classification)」
*「監督式學習」+「文本分類」的組合是 NLP 領域中最經典且最直觀的應用案例。
-
1. 監督式學習 (⇢ 機器學習/ML ⇢ 技術核心層)
▶︎ 說明:監督式學習是機器學習中最常見的類型。
▶︎ 訓練方式:
提供大量的「輸入-標籤」配對數據,訓練模型從中學習(i.e.歸納並記憶)「(輸入與輸出之間)映射關係」或「底層邏輯」。讓模型透過這些範例進行訓練,直至可獨立判斷,並為「未見過的」輸入數據,分配正確的標籤。
▶︎ 監督式訓練過程:
(1)資料準備: 準備一個大型的「已標註」資料集**(重要標註)。
(2)前向傳播 (Forward Pass): 模型接收一個輸入資料點,並根據模型已具備之內部邏輯做出預測。
(3)計算誤差 (Loss Calculation): 軟體會將模型的預測,與資料集中的正確答案(標籤)進行對比,並計算出兩者之間的誤差 (Loss)。這個步驟正是「監督式學習」的「監督/ Supervise」的實質意涵。
(4)反向傳播 (Backward Pass):模型會使用「梯度下降」演算法(i.e.找到誤差最小化的方向以不斷微調模型參數)找出誤差值,並將誤差值回傳,同時計算出應該如何調整其內部參數,以期在下一次做出更精確的預測。這是學習最關鍵的環節。
(5)參數更新 (Parameter Update):模型根據計算出來的調整建議,更新其內部參數。
(6)反覆循環:透過(2)-(5)的步驟,模型會對整個「訓練集」**(重要標註) 中的所有數據點,反覆執行直到誤差降到足夠低為止。
**重要標註說明:關於「資料集」/「訓練集」
說明:
一個標準的機器學習流程,會在訓練開始前將整個「資料集」按一定比例(ex 80/10/10 或 70/15/15)劃分為三個獨立的部分:
▪︎ 訓練集 (Training Set):用於模型的實際學習。
▪︎ 驗證集 (Validation Set):用於在訓練過程中調整模型參數,同時也讓開發者可用以評估模型是否發生「過度擬合 (Overfitting)」。
▪︎ 測試集 (Test Set):是「未見過的」的數據,是在訓練結束後,用來在測試驗收成果時,對模型表現提供最終且客觀的衡量標準。從訓練開始到結束,也就是在(2)-(6)的訓練過程,模型都不會在任何階段接觸到數據集。
→ 測試不屬於訓練的一環。不同於在訓練過程後期,開發者以驗證集檢視評估模型的訓練狀態,視需求做進一步的調校修正,測試是在訓練完整結束後進行。
2. 文本分類 (⇢ 自然語言處理/NLP ⇢ 感知互動層)
▶︎ 說明:
文本分類是將文字內容歸類(i.e.歸納)到預設類別的任務。藉由監督式學習,能讓模型獲得完成這種任務的能力。
已實現應用場景如:
▪︎ 電子郵件/垃圾郵件過濾:將郵件分為「垃圾郵件」或「非垃圾郵件」。
▪︎ 目標受眾情緒分析:將客戶評論分為「正面」、「負面」或「中性」。
▪︎ 網站內容屬性分類:將文章分為「體育」、「財經」、「娛樂」等類別。
▶︎ 於 AI的感知互動層應用:透過提示工程 Prompt Engineering 在 LLM 實現文本分類。
(a) 概念說明:
因為 LLM可以只憑Prompt 本身的「上下文資訊」來學習和適應 Prompt 所下達的新的指令,所以,應用Prompt Engineering 中的「少樣本學習 (Few-shot Learning)」,即可實現文本分類,意即:不需重新訓練整個模型,只要提供少量範例,即可指導模型完成任務(i.e.實現文本分類)。
(b) 運作流程:
(1)在 Prompt模板中提供 LLM 少數「輸入-標籤」範例
(2)讓 LLM 立即從中學習模式
(3)提供一個未標記的輸入,要求 LLM 進行分類
(4) LLM 完成分類任務後生成內容反饋