L12|均值漂移分群與 GPU 程式設計(Mean shift clustering)

零基礎提示

  • 這一課不用額外數學
  • Part 2 是大學程度:中三同學先求看懂概念,不用每行程式都會
  • 字幕:離線網站選「中英」(電腦翻譯,大意正確)
  • 看不懂的詞查 白話小辭典

介紹 CLIP Interrogator,用 einsum 與 CUDA/Numba 加速矩陣乘法,從零實作均值漂移分群並在 GPU 上最佳化,最後開始談微積分。 (CLIP Interrogator, matrix multiplication with einsum and CUDA/Numba, mean shift clustering built from scratch and optimised on the GPU, then an intro to calculus.)

項目內容
所屬Part 2:Deep Learning Foundations to Stable Diffusion
影片YouTube
對應書本章節無對應章節(Part 2 以 notebook 為主)
原始頁面Lessons/lesson12
難度(F3 視角)★★★★★ 大學程度(F3 只求理解概念)

影片

本課重點

  1. CLIP Interrogator:給它一張圖,它反推出能生成類似圖片的文字提示,是一種反問題(inverse problem)。
  2. einsum 與 GPU 核心:用愛因斯坦求和記號(torch.einsum)一行寫出矩陣乘法;用 Numba 寫 CUDA kernel,讓矩陣乘法在 GPU 上平行執行。
  3. 均值漂移分群:每個點反覆移動到「附近點的加權平均」位置,最後同一群的點會聚在一起。不需要事先指定群數。
  4. 高斯核:用高斯函數當權重:距離越近權重越大,越遠越接近 0。距離用歐氏距離計算。
  5. GPU 最佳化與微積分:用批次處理和張量運算一次更新很多點,調整批次大小觀察速度。最後介紹導數與無窮小的直覺。

關鍵概念

英文術語中文一句話解釋
Clustering分群把相似的資料點分成同一組
Mean shift均值漂移每個點移向附近點的加權平均
Gaussian kernel高斯核距離越近權重越大的鐘形函數
Euclidean distance歐氏距離兩點之間的直線距離
einsum愛因斯坦求和用字母標記維度來描述張量運算
CUDA kernelCUDA 核心函數在 GPU 上平行執行的函數

認識關聯圖與重點圖

L12_關聯圖_202611041526

練習題

  1. 點 A(0,0) 和點 B(3,4) 的歐氏距離是多少?
  2. 均值漂移中,為什麼要用高斯核當權重,而不是所有點一樣重要?
  3. 舉一個生活中可以用「分群」解決的問題。

資源連結

英文延伸資源(零基礎可以先略過,點開看)

相關筆記

Built with LogoFlowershow