02 - 新手都睇得明嘅神經網絡速成
想學深度學習,第一步唔係打程式,而係換個腦袋。你要習慣把日常問題譯做向量同矩陣——即係電腦識得計嘅語言。好似:‣ 影完一張餐廳相,要分類「打卡食物」定「普通便當」;‣ 收到一封電郵,要判斷係正常邀請定垃圾廣告;‣ 開車上高速,要即刻分出前面係私家車定電單車。呢啲對人嚟講用眼睇就知,但對電腦要先將圖、字、聲變成一串一串數字,再用運算先至得。
🐱 「有冇貓」:由零開始嘅二元分類
想教模型分辨相入面有冇貓?屬於二元分類——答案得「有」(1) 或「冇」(0)。最入門嘅做法係邏輯迴歸 (Logistic Regression),實際上只係一粒神經元。
諗吓日常類似情景:‣ 網上銀行要判斷一次刷卡係「正常交易」定「可疑刷卡」;‣ 冰箱感應器要決定「凍到啱啱好」定「溫度過高」;‣ 醫院要判斷 X 光片「有影」定「無影」。全部都係 Yes / No,邏輯迴歸就處理呢類問題。
運作方法:將每粒像素乘對應權重 w,加埋偏差 b,最後丟入 Sigmoid,得出 0~1 嘅機率。例如 0.83 即代表「八成似係主子」。
🧠 一萬個像素點,點樣一秒算晒?
假設張相壓成 10,000 個像素,形成向量 X。同長度嘅 w 乘完再加 b,就得 z,再經 sigmoid(z) 變成預測值 ŷ。呢個操作同你買嘢將單價乘數量再加運費一樣直接,只不過商品換成像素,運費就係偏差 b。
❌ 點解唔用平方誤差,而係交叉熵?
好多同學第一時間會諗 (ŷ-y)²。但喺分類世界,交叉熵 (Cross-Entropy) 先係主流。你可以想像:平方誤差好似荃灣大帽山,山勢起伏大;交叉熵就似跑馬地單車徑,滑順易踩,較易搵到谷底,即最佳解。
📉 Loss vs. Cost:計一條單 vs. 計整張帳
Loss Function:單張相嘅錯幾多,好似看醫生量一次體溫。
Cost Function:全部相嘅 Loss 平均,好似醫生睇你一日成體溫紀錄。
訓練時我哋最想減少嘅係 Cost,確保整體表現提升。
🔁 梯度下降:模型學嘢等如落斜坡
梯度下降 (Gradient Descent) 概念就係企喺山頭慢慢揾最斜嗰條路落去。日常例子:‣ 你炒菜太鹹,每次試味就慢慢加水調淡;‣ 健身 練重量,每次加 2.5kg 試下自己頂唔頂得順;‣ 做投資,每日睇市況輕微調整倉位。呢啲都係觀察斜率再微調,正正就係梯度下降嘅精神。
🧮 導數=斜率,點解釋?
導數其實就係「郁一丁點,結果變幾多」。好似汽車油門踩深 1cm,時速會升幾多 km/h。模型就靠呢數據決定下一步調權重 w 大啲定細啲。
🔙 鏈式法則 + 反向傳播:拆件搵元兇
神經網絡層層相扣,好似咖啡機由水箱→磨豆→萃取→出杯。若一杯咖啡太酸,你要逐步檢查磨豆粗幼、水溫、壓力。反向傳播 (Backpropagation) 做嘅就係呢件事:由結果追溯返每個參數邊度出錯,再 tweak 返。
⚡ 向量化:一次過處理成批數據
現代深度學習講究向量化 (Vectorization)。佢好似洗衣店:唔會逐件衫洗,而係一桶 8kg 一齊丟落去。實戰:
1,000 張相砌成大矩陣 X。
一行矩陣乘法算晒 1,000 個 z。
Broadcasting 加 b,一次過得出 1,000 個機率。
GPU 可以平行計,速度幾何級上升。
🔧 NumPy 必學招式
reshape() — 好似摺衫,改下形狀就啱位。
sum(axis=0/1) — 按列或按行加總,等於 Excel 嘅 AUTO-SUM。
Broadcasting — 細向量自動複製,好似你影印同一份 memo 派畀全公司。
assert x.shape == (...) — 做 safety check,防止錯位好似兩隻鞋穿錯腳。
📝 由零到訓練完一個小網絡
定規格:輸入幾多維?輸出兩類定多類?
隨機起手 w、b,好似炒股先買少少試水。
前向傳播計 ŷ,睇下估得準唔準。
反向傳播計梯度,找出「最斜落山路」。
用學習率步伐更新參數。
重複幾十幾百次,到表現企穩。
日常對應:你練跑步,每星期測一次 5K 用時;慢慢調飲食、訓練量,直到 PB 穩定落到心目中秒數。
✅ 小結:踏入 AI 大門嘅第一步
而家你已經知道點樣用邏輯迴歸做分類、用梯度下降教模型、用向量化加速。呢幾塊拼圖湊埋,就係 AI 世界嘅入場券。