歡迎來到第 18 章:人工智能 (AI)
你好!準備好探索計算機科學中,最令人興奮且發展最迅速的領域之一:人工智能 (AI)。AI 的核心在於創建能模擬人類智慧的計算機系統——例如學習、解難、決策和理解語言。
從 Netflix 的推薦系統到手機上的語音助手,AI 已深入我們的日常生活。在本章中,我們將探討 AI 系統如何處理複雜問題,以及最關鍵的:它們如何進行學習和進化。
如果這些概念看起來有些抽象,請別擔心;我們會通過清晰的類比將其拆解,並直接與課程大綱的要求掛鉤!
1. 使用圖論 (Graphs) 解決 AI 問題
在計算機科學中,許多問題(例如尋找最佳路徑或解謎)都可以使用一種稱為圖 (Graph) 的數學結構來建模。
AI 中圖的用途與結構
想像一張地鐵圖。這張圖是 AI 中圖結構的完美類比:
- 節點 (Nodes / Vertices): 代表個別的點、狀態或位置。(例如:一個地鐵站)
- 邊 (Edges / Arcs): 代表節點之間的連接。它們通常帶有關聯的成本或權重。(例如:連接兩個站的鐵路線,而權重可能是交通時間或距離。)
圖如何協助 AI: AI 利用圖來表示狀態空間 (state space)——即系統可能採取的全部狀態和行動的集合。搜索這張圖,AI 就能找到達到目標狀態的最佳行動序列。
搜索算法:Dijkstra 算法與 A* (A-Star) 算法
當 AI 需要在圖中的兩個節點之間尋找最短或成本最低的路徑時,它會使用搜索算法。
Dijkstra 算法
目的: Dijkstra 算法基於邊的權重,找出從起始節點到圖中所有其他節點的最短路徑。它非常可靠。
類比: 想像你在使用一個標準的地圖應用程式,它嚴格地通過檢查從起點向外擴展的每一段連接道路來計算距離,直到到達目的地。這種搜索是詳盡無遺的,並保證能找到絕對的最短距離。
A* (A-Star) 算法
目的: A* 同樣用於尋找最短路徑,但它通常比 Dijkstra 快得多且更高效,尤其是在大型圖中。
秘訣:啟發法 (Heuristic)
A* 使用一種稱為啟發法的特殊函數。啟發法本質上是一個「有根據的猜測」,即對到達目標所需剩餘成本的估算。它能幫助算法優先考慮看起來最有希望的路徑。
- 如果 Dijkstra 是盲目地向所有方向搜索,A* 則會智能地將搜索聚焦在目標方向上,從而節省計算資源。
- A* 通過結合已經消耗的實際成本 (g) 和估計的剩餘成本 (h) 來計算優先級:
總估計成本 = \(g + h\)
你知道嗎? A* 被廣泛應用於電子遊戲中的敵方尋路,以及現代 GPS 系統中,因為它能非常快速地找到最佳路徑。
快速回顧:圖搜索
- 圖: 節點和加權邊代表狀態和轉換。
- Dijkstra: 找到通往所有節點的實際最短路徑。
- A*: 通過使用啟發法(估算)高效地找到最短路徑。
2. 機器學習:學習的類別
機器學習 (Machine Learning, ML) 是 AI 的一個子領域,系統無需明確編寫規則,即可直接從數據中學習。機器不是透過編寫「如果 X 則 Y」來運作,而是透過接收數據並自行學習其中的關係。
機器學習類別
課程大綱要求你理解三種主要的 ML 類別,這些類別取決於數據的呈現方式以及系統接收反饋的方式。
(a) 監督式學習 (Supervised Learning)
這就像有一位老師或監督者指導學習過程。用於訓練的數據是已標註的 (labeled),這意味著輸入數據已經關聯了正確的輸出或「答案」。
工作原理:
- 系統被展示一個輸入 (例如:一張蘋果的照片) 和正確的標籤 (例如:「蘋果」)。
- 它做出預測。
- 它將預測與正確標籤進行比較並計算誤差。
- 它調整內部的模型以減少未來預測的誤差。
常見任務:
- 分類 (Classification): 預測離散的標籤 (例如:這封郵件是垃圾郵件還是非垃圾郵件?)
- 回歸 (Regression): 預測連續的數值 (例如:預測明天的氣溫或房價)
(b) 非監督式學習 (Unsupervised Learning)
這是一種沒有老師的學習。訓練數據是未標註的 (unlabeled)。系統的工作是自行探索數據,找出隱藏的模式、結構或關係。
工作原理:
系統接收數據點,並被要求根據相似性對它們進行分組或結構化。
常見任務:
- 聚類 (Clustering): 將相似的項目歸為一組。(例如:營銷公司利用此方法找出購買相似產品的客戶群體,從而進行針對性營銷。)
監督式與非監督式的類比:
- 監督式: 你向一個孩子展示 100 張貓和狗的照片,並告訴他們「這是貓,這是狗。」他們學會了分類新的照片。
- 非監督式: 你向一個孩子展示 100 張混合的照片,並要求他們將其分成兩堆相似的物體。他們雖然不知道名字,但能根據共享特徵找出類別(貓和狗)。
快速回顧:ML 類別
- 監督式: 使用已標註數據;找到從輸入到已知輸出的映射。
- 非監督式: 使用未標註數據;發現隱藏結構/模式(聚類)。
3. 進階 AI 與學習方法
在解決高度複雜的問題(如處理人類語音或駕駛汽車)時,AI 依賴強大的數學模型,這些模型主要受到人類大腦的啟發。
人工神經網絡 (Artificial Neural Networks, ANNs)
ANNs 是受到大腦生物神經網絡結構啟發的計算模型。它們是大多數現代機器學習和深度學習系統的骨幹。
結構:
ANN 由多層互連的處理單元組成,稱為神經元 (neurons) 或節點。每個神經元之間的連接都有一個數值,稱為權重 (weight)。這些權重就是網絡在訓練過程中,通過調整來「學習」的對象。
- 輸入層: 接收數據(例如:圖像的像素值)。
- 隱藏層: 執行複雜的計算和特徵提取。層數越多,網絡越深。
- 輸出層: 提供最終結果(例如:分類,如「汽車」或「卡車」)。
深度學習 (Deep Learning, DL)
深度學習只是一種特殊的機器學習,它使用非常深的人工神經網絡(擁有許多隱藏層的網絡)。
- 傳統的 ML 可能只有一到兩層隱藏層;而深度學習可能有數十層。
- 這種深度使系統能夠自動從原始數據中提取越來越複雜的特徵。 (例如:在圖像處理中,第一層可能檢測邊緣,下一層檢測形狀,最後一層識別物體。)
為什麼要用深度學習? 它在處理非結構化數據(圖像、音頻、文本)方面表現出色,因為這些數據的特徵很難手動定義。
強化學習 (Reinforcement Learning, RL)
強化學習是一種 AI 代理 (agent) 通過在環境中採取行動並接收獎勵 (rewards) 或懲罰 (penalties)(反饋)來學習決策的方法。
- 沒有訓練數據或監督者;代理完全通過試錯法 (trial and error) 學習。
- 目標: 最大化隨時間累積的獎勵。
類比: 教機械人走路。當它走對時,獲得正面獎勵;當它跌倒時,獲得懲罰。它最終會找出最佳的肌肉動作序列,以最大化其獎勵(保持直立)。
應用: 機器人技術、訓練 AI 玩複雜遊戲(如象棋或圍棋),以及優化工業流程。
快速回顧:進階學習
- ANNs: 仿照大腦,使用神經元之間的加權連接。
- 深度學習: 使用具有許多隱藏層的 ANN 來處理複雜任務。
- 強化學習: 通過獎勵和懲罰(試錯法)進行學習。
4. 訓練 AI:反向傳播與回歸
為了使人工神經網絡有效學習,它需要一種機制,根據監督訓練期間所犯的錯誤來調整權重。這種機制稱為反向傳播。
誤差反向傳播 (Back Propagation)
反向傳播是用於訓練 ANN 的主要算法。它的工作原理是計算輸出層的誤差,並將該誤差反向傳播到網絡中,以確定每個權重對錯誤的貢獻程度。
逐步流程(學習週期):
- 前向傳播 (Forward Pass): 輸入數據通過網絡逐層傳遞,直到生成最終的輸出預測。
- 誤差計算: 計算網絡的預測值與實際正確值(已知標籤)之間的差異。這就是誤差。
- 反向傳播 (Backward Pass): 誤差從輸出層開始,穿過隱藏層,向後傳播到輸入層。
- 權重調整: 算法利用微積分(不用擔心,你不需要知道具體的數學公式!)計算*梯度*(誤差對權重變化的敏感度)。然後,它會稍微調整權重以減少計算出的誤差。
通過重複這個週期數千或數百萬次,網絡的權重會逐漸完善,從而得到一個準確的模型。
記憶小撇步: 反向傳播是 AI 將錯誤的「責任」分配給特定權重的過程,這樣它就知道如何修正它們。
機器學習中的回歸方法
回歸是監督式學習中使用的一種基礎統計方法。其主要目的是預測。
定義: 當 AI 需要預測一個連續值(範圍內的數值,而非固定的類別)時,會使用回歸方法。
例子:
- 分類預測類別:「這個水果是蘋果還是香蕉?」(離散輸出)
- 回歸預測數量:「這個蘋果有多重?」或「明天的股價是多少?」(連續輸出)
在機器學習的背景下,回歸方法建立了自變量(輸入)與因變量(我們想要預測的輸出)之間的關係。
5. AI 的社會、經濟與環境影響
AI 是一項強大的工具,與任何技術一樣,它具有深遠的影響。
社會問題
- 偏見與公平性: AI 系統從數據中學習。如果訓練數據包含人類偏見(例如歷史上的種族或性別偏見),AI 將會複製並可能在決策中放大這些偏見(例如在貸款申請或招聘決策中)。
- 私隱: AI 訓練依賴海量的個人數據(大數據),引起了人們對監控和濫用私人信息的擔憂。
- 假資訊: AI 可以創建極其逼真的虛假內容(深度偽造 Deepfakes),威脅大眾信任並導致虛假資訊的傳播。
經濟問題
- 職位流失: AI 和自動化可以取代人類從事常規、重複性或複雜分析性工作(例如工廠工人、某些行政角色,甚至一些法律研究工作)。
- 創造新職位: 雖然一些工作會消失,但也會創造新的職位,這些職位需要 AI 維護、倫理道德和數據科學方面的技能。
- 生產力提升: AI 能比人類更快速地處理海量數據和複雜計算,從而顯著提高各行各業(金融、醫療、物流)的效率。
環境問題
- 能源消耗: 訓練大型、複雜的深度學習模型(例如用於大型語言模型的模型)需要巨大的計算能力,導致極高的能源使用和巨大的碳足跡。
- 優化: 相反地,AI 也可用於優化能源網絡、交通流量和製造流程,從而整體上提高環境效率。 (例如:利用 ML 預測能源需求以減少浪費。)
作為一名計算專業人員: 考慮這些影響至關重要。像 BCS(英國計算機學會) 和 IEEE(電氣電子工程師學會) 這樣的倫理機構推廣倫理準則,以確保 AI 的開發負責任。