想了很久,終於有時間來講講AI了,些許錯誤,多多包容
I. 人工智能 (Artificial Intelligence,AI)
大家都聽過的詞語,依照維基百科的解釋: 人工智能(AI)是指計算系統執行通常與人類智能相關任務的能力,例如學習、推理、解決問題、感知和決策。
而AI分為 強AI 和 弱AI:
弱AI(ANI - Artificial Narrow Intelligence)
被設計用來 解決特定的任務(如下棋、人臉識別、寫代碼)。如AlphaGo, Copilot, Siri 均屬此類。
強 AI (AGI - Artificial General Intelligence):
理論上的“通用人工智能”,擁有與人類同等或超越人類的、跨領域的思考和學習能力。類似於天網、終結者的存在,或者説目標,目前尚未實現。
隨着AI的不斷發展,也發展出了不同的發展方向,主要是:機器學習(ML)與專家系統(Expert Systems)
專家系統
專家系統是人工智能發展早期出現的一種 方法,它屬於基於規則的 AI,與現代的機器學習驅動的 AI 有着十分鮮明對比。
核心思想與定義
專家系統旨在模擬人類領域專家(如醫生、金融分析師)的決策能力和推理過程,通過將人類的專業知識進行形式化編碼,來解決複雜、專業性的問題。本質上是一個由程序員編寫的,十分龐大,嵌套極深的 if-else 抉擇樹。
結構
一個典型的專家系統由三個關鍵組成部分構成:
1. 知識庫 (Knowledge Base)
這是專家系統的信息來源,存儲了領域專家的所有專業知識。這些知識通常以兩種形式存在:
-
事實 (Facts): 關於領域的基本信息(例如:“水在100°C 沸騰”)。
-
規則 (Rules): 條件-行動 (IF-THEN) 語句,代表專家的經驗和推理邏輯。
- 示例規則:
IF (病人有发烧) AND (病人有咳嗽) THEN (推断患有呼吸道感染)
- 示例規則:
2. 推理機 (Inference Engine)
顧名思義,它負責根據用户輸入的信息和知識庫中的規則進行邏輯推理,得出結論。主要的推理方法有兩種:
-
正向鏈 (Forward Chaining): 數據驅動。從已知事實開始,不斷應用規則,直到達到目標或所有規則都被應用。
- 邏輯: 如果 且 為真,而我們知道 和 是真,則 為真。
-
反向鏈 (Backward Chaining): 目標驅動。從目標(假設的結論)開始,向後尋找支持該結論的必要事實或子目標。
- 邏輯: 要證明 ,需要 和 。那麼,先證明 ,再證明 。
3. 用户界面 (User Interface)
用於與用户交互,來接收你輸入資訊的地方
相當直觀的一種結構,但是簡單的代價是會有兩個限制和問題:
-
極其脆弱:遇到規則之外的情況就崩潰。因此,相關模型多用於特定的領域,如醫療,金融等..
-
無法學習:你必須手動更新模型的規則以及知識庫,維護的成本也大大增加
II. 機器學習 (Machine Learning, ML)
ML 的本質在於,它不再要求開發者為機器硬編碼規則,而是讓機器從海量數據中自動學習(或“擬合”)出最優的映射函數 。
一. 嚴謹的定義與三要素 (T, E, P)
機器學習最被認可的定義來自於計算機科學家 Tom M. Mitchell。他指出,一個程序從經驗中學習,必須滿足三個要素:
| 要素 | 解釋 | 案例:垃圾郵件過濾器 |
|---|---|---|
| 任務 ( - Task) | 機器需要完成的具體工作,通常是預測或推斷。 | 分類任務:將郵件內容 分類到 。 |
| 經驗 ( - Experience) | 模型用於學習的觀測數據。 | 數據集:100 萬封郵件,其中每封郵件都已人工標註了正確的標籤。 |
| 性能度量 ( - Performance) | 量化模型表現的指標,衡量其預測結果與真實標籤的匹配程度。 | 準確率 (Accuracy):模型正確分類的郵件佔總郵件數的百分比。 |
這也是機器學習與專家系統的最大不同。專家系統是輸入数据+规则,輸出答案;而機器學習則是輸入数据+答案,輸出规则。
二. 特徵工程 (Feature Engineering)
這是將原始數據(如圖像像素、原始文本)轉換成算法可以理解的、具有信息價值的特徵向量的過程,或許能稱為“學習”?
- 優化與統計
機器學習的過程,在數學上被定義為一個最優化問題。 (讀M2震怒 。學習的目標是找到一組最優參數 ,使得模型的損失函數 () 最小化。損失函數度量了模型預測 與真實值 之間的差異:
-
: 代表模型(如神經網絡、決策樹)。
-
: 損失函數,用於度量模型的預測 與真實標籤 之間的差異。最小化損失是學習的驅動力。
-
: 最優化操作,尋找使損失函數 達到最小值的模型參數集 。
- 核心算法:梯度下降 (Gradient Descent)
大多數 ML 模型(尤其是深度學習)使用梯度下降 (Gradient Descent)及其變種(如 SGD, Adam)來執行優化。大概就是一種數學的計算方式,我不會。
看看得了
舉個栗子
例子1:銀行貸款違約風險預測
| 原始特徵 (Raw Data) | 領域知識應用(工程操作) | 構造的新特徵 (Engineered Feature) | 價值 |
|---|---|---|---|
年龄 | 分箱(Binning) | 年龄段 (例如:[18-25], [26-40], [41-60]…) | 將連續變量轉化為離散變量,捕捉不同年齡段客户的風險特性。 |
信用卡额度、已用额度 | 運算/比率 | 使用率 () | 這是比兩個獨立數值更有力的違約風險信號。高使用率通常意味着高風險。 |
过去 12 个月的交易笔数 | 統計 | 最近 3 个月的平均交易额增长率 | 捕捉客户近期消費行為的趨勢變化,而非簡單的總量。 |
居住城市 (類別) | 編碼 | 城市风险评分 (基於該城市歷史違約率) | 將高維度的類別特徵轉化為具有預測意義的數值特徵。 |
案例 2:情緒分析
客户評論:“這個應用太卡了,但設計很漂亮。”
| 原始特徵 | 領域知識應用(工程操作) | 構造的新特徵 | 價值 |
|---|---|---|---|
| 原始句子 | 詞袋模型 (Bag-of-Words) 或 TF-IDF | “卡”的频率, “漂亮”的权重 | 將不定長的文本轉化為固定長度的數值向量。 |
| 詞語 | N-gram 構造 | “太卡了” (三元詞組) | 捕捉詞語的局部順序和語義,“太卡了”比單獨的“卡”更有負面情感。 |
| 情感詞典 | 計數 | 负面词汇数量, 正面词汇数量 | 捕捉評論的情感極性和強度。 |
| 連詞 | 結構分析 | 是否存在转折连词 (“但”, “可是”) | “卡但漂亮”表示複雜情緒,模型應區別於“卡且醜陋”。 |
三、 機器學習的主要任務類型
機器學習任務通常根據訓練數據的性質和模型目標被劃分為三大類:
1. 監督學習 (Supervised Learning)
監督學習是目前應用最廣泛的 ML 類型,類似於有老師手把手教你,即訓練數據中的每一個輸入 都對應一個已知的、正確的輸出標籤 。這類算法的目的是學習和逼近輸入 到輸出 的映射函數 ,使得對於任何新的輸入 ,模型能夠準確預測其對應的 。
金融預測: 輸入經濟指標和歷史數據,輸出連續的未來某商品價格。住房預測: 輸入房屋面積、地理位置等,輸出具體的房價數值。
2.無監督學習 (Unsupervised Learning)
無監督學習就像是讓學生自主探索。模型接收的訓練數據只有輸入 ,沒有標籤 。在此類算法中,模型必須自主地探索數據,找出隱藏在數據中的統計結構、分佈等。它不進行預測,而是進行描述和組織。
購物分析:發現“如果客户購買了牛奶 (A),那麼他們有 80% 的概率也會購買麪包 (B)”。
3.強化學習 (Reinforcement Learning, RL)
![]()
強化學習與前兩者完全不同,它是一種基於試錯 (Trial-and-Error) 的學習方法,靈感來源於心理學中的行為主義。
如果你想讓你家的狗學會坐下或叼飛盤,你不會像人類一樣讓它看書,而是使用獎勵和懲罰來塑造它的行為,這也是強化學習的邏輯。訓練機器狗的過程是一個永不停止的、基於馬爾可夫決策過程 (MDP) 的循環:
步驟 1:觀察
機器狗環顧四周,確定它在哪裏(狀態 )。
- 例如: 機器狗知道它在 位置,並且聞到了前方有食物的氣味。
步驟 2:行動
機器狗根據它當前的策略 (行為準則),決定下一步做什麼(行動 )。
- 例如: 機器狗的策略是“聞到食物,就前進”。它執行了“前進”的動作。
步驟 3:反饋與獎勵
機器狗執行動作後,環境發生變化,並返回反饋:
-
新狀態 : 機器狗移動到了 位置。
-
獎勵 :
-
如果它吃到了食物: (獎勵)
-
如果它撞到了牆: (懲罰)
-
如果它踩到了地雷: (巨大懲罰)
-
如果只是普通移動: (微小懲罰)
-
步驟 4:更新策略
機器狗利用這個反饋(獎勵 )來評估它剛才的行動好不好,並調整它的策略 。
-
如果 為正: 它知道這個行動是好的,下次在類似狀態下會傾向於重複這個行動。
-
如果 為負: 它知道這個行動是壞的,下次在類似狀態下會避免這個行動。
這個循環會重複數百萬次,機器狗從隨機的試錯開始,逐步搭建一套最優策略,即:如何避開地雷,並以最快的速度找到最多的食物。
III 深度學習 (Deep Learning,DL)
深度學習屬於機器學習的其中一種,是實現機器學習的一種技術。它特指使用一種名為深度神經網絡 (Deep Neural Networks, DNN) 的特定模型結構來完成學習任務。
説文解字
“深”,意為深度,有點像是層級化的特徵學習
-
傳統 ML: 高度依賴人類專家手動設計特徵。例如,要識別一張圖片中的人臉,你可能需要手動編寫代碼來檢測“眼睛的形狀”、“鼻子的比例”、“膚色分佈”等特徵。
-
深度學習: 實現了自動化的特徵學習。您只需將原始數據(如圖像的原始像素)餵給模型,模型會自動在它的“深度”結構中學習到最優特徵。
這種叫做層級化特徵學習
舉個栗子
以圖像識別的CNN為例:
-
Layer 1 (淺層): 神經網絡的第一層會自動學習到最基礎的特徵,如
边缘、角落、簡單的颜色块。 -
Layer 2 (中層): 這一層會組合第一層的簡單特徵,自動學習到更復雜的形狀和紋理,如
圆形、网格状、毛发纹理。 -
Layer 3 (深層): 這一層會組合中層的形狀,自動學習到物體的部件,如
眼睛、鼻子、汽车轮胎。 -
Output Layer (頂層): 最終,頂層會組合這些部件,做出最終的分類判斷:“這是一張人臉”或“這是一輛汽車”
深度 指的就是這種特徵抽象的層級數量。因為模型會自動學習這些特徵,所以它能發現人類工程師難以想到的更優、更抽象的東西。
構成
一個深度神經網絡 由三個部分組成:
-
輸入層 (Input Layer): 接收原始數據(如圖像像素、詞向量)。
-
隱藏層 (Hidden Layers): 這是模型的核心。DNN 至少有兩個或更多的隱藏層(通常是幾十到幾百層)。每一層都由許多神經元 組成,每個神經元都會對其輸入進行加權求和並應用激活函數來引入非線性。
-
輸出層 (Output Layer): 生成最終的預測結果(如分類的概率)。
主要架構
| 架構 | 全稱 | 核心機制 | 擅長領域 |
|---|---|---|---|
| CNN | 卷積神經網絡 (Convolutional Neural Network) | 卷積核 (Filters) 與 參數共享。 | 網格狀數據(如圖像):圖像識別、醫學影像分析、目標檢測。 |
| RNN | 循環神經網絡 (Recurrent Neural Network) | 隱藏狀態 (Hidden State) 的循環,用於處理序列。 | 序列數據(如文本、時間序列):自然語言處理、語音識別。 |
| LSTM | 長短期記憶網絡 (Long Short-Term Memory) | RNN 的變體,使用“門控”機制來解決 RNN 的 長距離依賴(遺忘問題。 | 複雜的序列任務。 |
| Transformer | (無特定全稱) | 自注意力機制 (Self-Attention)。 | 現代 NLP 的基石:GPT-4、BERT 等大型語言模型,以及機器翻譯。 |
以上內容看看得了
看不懂是正常的,我們來舉個栗子
讓我們把深度神經網絡 (DNN) 想像為一家公司
第一部分:DNN 的結構 — 公司的層級
1. 輸入層 — 前台接待員
這是公司的前台。當客户(數據)上門時,前台接待員(輸入神經元)負責接收最原始、最瑣碎的信息。
-
事件: 客户給了一張圖片。
-
接待員的工作: 他們不會思考,只是把圖片拆解成最基本的信息(比如,每個像素點的顏色值)。
-
“接待員 1:左上角像素,紅色值 255。”
-
“接待員 2:左上角像素,綠色值 100。”
-
…
-
-
輸入層只負責接收原始數據,並將其傳遞給下一層。
2. 隱藏層 — 工作團隊
深度一詞的由來。想像每一家公司有很多部門。
-
假設每一層都是一個部門。
-
工作流程:
-
層級 1 (部門A): 他們從所有“接待員”那裏拿到原始像素數據。他們的工作是識別最簡單的模式。
-
員工 A:“我發現了一些橫向邊緣。”
-
員工 B:”我發現了一些垂直線條。”
-
員工 C:“我發現了一塊毛茸茸的紋理。”
-
-
層級 2 (部門B): 他們不看原始數據,只看部門A的報告。他們的工作是組合簡單模式,形成複雜形狀。
-
員工 X:”我把
边缘 A和纹理 C組合起來,這看起來像一個耳朵的輪廓。” -
員工 Y:“我把
线条 B和另一條線組合,這像胡须。”
-
-
隱藏層 3 (部門C): 他們繼續組合先前部門的所有報告,形成更復雜的概念。
- 員工 P:”我拿到了
耳朵、胡须和眼睛的報告,我認為這構成了一張动物的脸。”
- 員工 P:”我拿到了
-
… 以此類推
3. 權重— 經理的偏好
每個經理在看下屬的報告時,都有自己的偏好(權重)。
-
在部門A的經理看來:
-
下屬 A (邊緣) 的報告非常重要 (權重 = 0.9)。
-
下屬 B (線條) 的報告不太重要 (權重 = 0.1)。
-
下屬 C (紋理) 的報告中等重要 (權重 = 0.5)。
-
-
經理會把所有報告的重要性加權求和,形成自己的最終判斷。
4. 輸出層 — 老闆
這是一家公司的最高層
-
老闆不看任何瑣碎細節,只看各部門的最終報告。
-
決策:
-
A 報告:“我 95% 確定這是一張‘動物的臉’。”
-
B 報告:“我 80% 確定這是‘貓的身體’。”
-
X 報告:“我20%確定是‘狗的身體’。”
-
-
老闆綜合所有最高層的信息,做出最終的、唯一的決策:“我宣佈,這是貓。”
第二部分:反向傳播 — 秋後算賬
這時候,身為正常人的你下樓一看,糟糕了:
-
老闆:“這是貓!”
-
你:“???這不是狗嗎?”
現在,公司必須從這個巨大的錯誤中學習。這就是反向傳播 (Backpropagation) 的開始,它是一個追責和糾正的過程。
生氣的你衝到老闆面前,一招大荒囚天指技驚四座。
“你個蠢貨,那是隻狗!”
反向追責 (Backward Pass)
這個“追責”的過程是從老闆開始,一層一層往下的:
-
第 1 站:老闆 (輸出層)
-
你問老闆: “你為什麼判斷是貓?”
-
老闆回答: “因為我的 A 報告 (動物的臉) 和 B 報告 (貓的身體) 都給了充足的論證。我的偏好是更相信 B(貓的身體)。”
-
你的指示 (梯度): “你(老闆)的 判斷 錯了!下次 B (貓的身體) 報告時,你必須降低對它的信任度 (降低權重)。同時,X (狗的身體) 的報告,你必須提高信任度 (提高權重)。”
-
-
第 2 站:部門經理 (隱藏層 N)
-
老闆跑去問經理: “你為什麼説那是‘貓的身體’?害我被罵!”
-
經理回答: “因為我的員工的分析,讓我更偏向於相信是貓的身體。”
-
總教練指示 (梯度): “你判斷 也錯了!下次報告時,你必須降低對它的信任度。同時,你要更關注狗爪子的報告!”
… 以此類推,直至最底層
-
3. 鏈式法則 (Chain Rule)
你注意到了嗎?錯誤的“責任”從頂層傳遞到了底層。
-
老闆的錯誤,導致了對經理的“指責”。
-
經理的錯誤,導致了對員工的“指責”。
-
…
-
這個指責的具體數值(你應該調整多少?),在數學上就是梯度 (Gradient)。
-
這種逐層反向傳遞責任的數學工具,就是鏈式法則 (Chain Rule)。
4. 全員調整 (Weight Update)
經過這一次秋後算賬,公司裏的每一個經理,一直到底層員工(所有神經元),都收到了一個具體的“調整指令”:
“你之前對下屬 X 的報告‘偏好’(權重)太高了,下次把它調低 0.05%。” “你之前對下屬 Y 的報告‘偏好’太低了,下次把它調高 0.02%。”
這個過程(決策 -> 犯錯 -> 反向追責 -> 全員微調)會重複數百萬次。
最終,這家公司的所有經理都學會了一套極其複雜且精妙的“偏好”(權重),使得他們在下次看到一張“狗”的圖片時,能從前台開始,一路正確地傳遞信息,最終讓老闆做出正確的決策:“這是狗!”
IV 注意力的革命
在 GPT 出現之前,處理序列數據(如文本、語音)的主流模型是 RNN (循環神經網絡) 及其變體 LSTM。
RNN 的設計很直觀:它像人一樣,一個詞一個詞地閲讀。它有一個“記憶單元”(Hidden State),在閲讀句子:‘The cat sat on the floor.‘時,在讀完“The cat”後,會把’The cat’的信息編碼到記憶裏,再去讀下一個詞‘sat’。
但這種設計存在兩個致命問題。首先是長距離依賴和梯度消失:當句子很長時(“我昨天…(省略50個詞)…那隻貓”),到處理“貓”時,關於“昨天”的信息(梯度)在“記憶”中已經極其微弱,模型“忘記”了。其次是串行計算瓶頸:你必須處理完 word[n] 才能處理 word[n+1]。這在 GPU 時代是災難性的,因為 GPU 最擅長的是並行計算(同時處理 1000 個 word),而 RNN 的設計使其無法利用這一點。
直到 2017 年,一篇論文《Attention Is All You Need》徹底改變了這一切。Transformer 模型登場,它做的第一件事就是:徹底拋棄 RNN 的“循環”結構。
Transformer 的核心是自注意力機制 (Self-Attention)。它的核心思想是:一個句子中的詞,其含義不是孤立的,而是由它和句子中所有其他詞的關係共同決定的。
例子:“The animal didn’t cross the street because it was too tired.”
當模型處理 “it” 時,“it” 指的是 “animal” 還是 “street”?RNN 必須依賴其搖搖欲墜的“短期記憶”。而 Self-Attention 允許 “it” 直接“看”向 句子中的所有其他詞,並計算一個“注意力得分”。它會發現 “it” 和 “animal” 的關聯性遠高於 “street”。
那麼,Self-Attention 在技術上是如何做到這一點的呢?它為句子中的 每個詞 都生成三個不同的向量:
-
Query (Q) 向量: 代表當前詞作為“查詢者”的身份。可以理解為:“我 (it) 是誰?我正在尋找和我相關的東西。”
-
Key (K) 向量: 代表該詞可被“索引”的標籤。可以理解為:“我是“animal”,一個可以被指代的名詞。”
-
Value (V) 向量: 代表該詞的“真正含義”或“內容”。
整個過程如下(以‘it’為例):
首先是打分(Scoring):拿 “it” 的 Q 向量,去和 句子中所有詞(包括 “it” 自己)的 K 向量進行點積 (Dot-Product)。這個點積的結果,就是相關性得分。(如果 “it” 的 Q 和 “animal” 的 K 很接近,得分就高)。
接着是歸一化(Softmax):將這些原始得分通過一個 Softmax 函數,將其轉換為總和為 1 的“注意力權重”(例如:{ “The”: 0.05, “animal”: 0.85, …, “it”: 0.05, …})。
最後是加權求和(Weighted Sum):用這些注意力權重,去對 句子中所有詞 的 V 向量進行加權求和。
Output_for_it = (0.05 * V_The) + (0.85 * V_animal) + ...
最終的結果是: “it” 的原始 V 向量(它自己的含義)被“注入”了 85% 的 “animal” 的 V 向量(含義)。模型在這一層就明確知道了 “it” 指向 “animal”。
Transformer 的革命性在於兩個方面。第一是並行化:整個 Q-K-V 計算是純粹的矩陣乘法。GPU 可以 同時 計算句子中所有詞的 Q/K/V 和注意力得分。這充分運用了設備的算力,使得訓練千億(甚至萬億)參數的巨型模型(LLM)成為可能。第二是全局依賴:任何兩個詞(無論相隔多遠)的“距離”都為 1。模型可以輕易捕捉長距離依賴,徹底解決了 RNN 的“遺忘”問題。
東拼西湊的一個月,終於完成了🙌