# 講者與聽眾定位
* 講者自我介紹:Kush,自由接案,做設計、軟體、遊戲、Web、Mobile、AI
* 先用舉手調查聽眾背景:開發者、資料相關、產品/商務、藝術家
* 預告內容會同時涵蓋技術面與歷史脈絡,強調 embeddings 不是新概念但很核心
# Embeddings 的直觀定義:高維空間的「地址」

* Embeddings 可視為高維空間中的座標/地址
* 以 2D(x,y)與 3D(x,y,z)類比,延伸到 4D、甚至上千維
* 維度越多可表達越細的差異,像是把「描述」拆成更多可定位的細節
# Embeddings 的數學表達:向量(numbers list)
* Embeddings 通常是一長串數字(向量 / vector embeddings)
* 2 個數字可視為 2D 座標,3 個數字是 3D,其餘維度以此類推
* 同一組數字也可用「方向向量」角度理解:像箭頭指向空間中的位置
* 使用向量是因為電腦/GPU 擅長做矩陣與向量運算
# 範例模型與資料:Embedding Gemma
* 使用 embedding gemma(提到約一兩個月前出現的 3 億參數 embedding 模型)
* 輸入是一段文字(有長度上限,例如 200 tokens/words 類型的限制)
* 輸出是一個高維向量(示範提到可能是 384 維)
# 為何能「看見」嵌入:PCA 降維可視化
* embeddings 本質是高維(例如 384 維),人類無法直接視覺化
* 用 PCA(Principal Component Analysis)把高維壓到 2D 以便觀察
* 2D 圖不等於真實高維結構,但通常仍足夠提供直覺與趨勢
# 以電影描述建立嵌入點:只給描述、不給標籤

* 每個點代表一部電影的 embedding
* 建 embedding 時只輸入電影「描述」,不提供片名或類型標籤
* 透過滑鼠 hover 可以看到每個點對應的電影內容
# 聚類現象:相似內容會靠近
* 觀察到不同類型電影會在 2D 空間形成區域性聚集
* 一側像動作片群(例如 Lethal Weapon、Fast Five、Die Hard 類型)
* 另一側像科幻片群(例如 Arrival、2001、Interstellar 類型)
* 中間區域會出現混合特徵的作品,邊界不明顯反而合理
# 顏色標註的意義:模型沒看過標籤也會自發分群

* 顏色是講者事先知道資料集類別後手動上色(dark comedy / action / sci-fi)
* 模型沒有被餵 genre,也沒被餵片名,仍能僅靠描述形成相近群集
* 聚集的原因被解釋為描述詞彙與語意線索(例如 space/time、future/technology、incompetence/accidents 等)
# 用可視化做資料分析:邊界與軸向直覺
* 透過點雲分布可推測資料的「連續光譜」與邊界模糊處
* 例子提到可能存在類似「動作 ↔ 科幻」的方向性差異
* 也可能存在「黑色幽默 ↔ 科幻」之類的另一條差異軸
* 有助於理解資料集的結構、離群點、過度重疊的類別
# Embedding 模型的運作特性:已訓練、可重複、可離線索引
* embedding model 是訓練完成的權重檔(frozen),下載後可離線跑
* 同一段文字每次輸入都會得到同一個向量(deterministic)
* 可用同一模型離線把大量資料轉向量做索引
* 查詢時用同一模型把 query 轉向量,放回同一空間做比對與檢索
---
# 這張視覺化在說什麼

* 這是一組文字 embedding 的 2D 投影圖,看起來有明顯的「上下」與「左右」分佈軸
* 圖上像有三個「盆地/聚落」彼此拉開距離,代表語意上差異大的一群被分得很遠
* 模型訓練概念是把相似的拉近、把不相似的推遠,所以聚落分離很直觀
# 三個聚落對應的語意群

* 左側聚落:園藝相關(gardening books、compost thermometer、plant guide、mulch 等)
* 中間偏左聚落:木工/工坊工具(jigsaw、belt sander、wood oil、miter saw 等)
* 右側聚落:廚房工具(food processor、oven、slow cooker 等)
* 事後加上的顏色只是標籤輔助,核心是 embedding 自己把類別拉開
# 中間區域與「模糊/可跨域」物件
* 中間的點常是跨類別都合理的物件,例如 gloves、apron
* 即使你把 gloves 標成園藝,它也可能同時適用廚房或木工
* 這裡可以用來找「可能標錯」或「本質多用途」的項目
# 用 cosine similarity 做相似度

* embedding 可想成高維空間的向量
* cosine similarity 用來衡量兩個向量方向是否接近,越接近代表語意越相似
* 查詢時把 query 也轉成 embedding,再跟資料庫裡所有向量算相似度取前 k 名
# 為什麼視覺上的最近不一定是真的最近
* 圖是 PCA 降維後的 2D 投影,只是高維關係的近似
* 在高維裡最近的鄰居,投影到 2D 可能被「壓扁」或位置看起來分散
* 聚落邊緣/角落通常比較保留高維結構,所以 2D 看起來的鄰近更可信
* 中間區域因為投影資訊損失更大,2D 直覺更容易誤判
# 查詢落點會隨字詞逐步「導航」
* query 每加一個詞就增加語意約束,embedding 的落點會在空間中移動

* 例如「precise slicing」可能更靠近木工語境

* 改成「vegetables」會把落點推向廚房語境
* 這展示了語意搜尋如何根據描述把 query 放到對應的語意區域
# 以商品/索引資料做語意檢索的例子
* 把所有商品描述先做 embedding 並建立向量索引
* 使用者輸入「tool for slicing and dicing vegetables」
* 即使沒有完全同字面描述的商品,也能找出語意相近的項目
* 可能回傳 kitchen shears、vegetable slicer、shredder 等相近工具
# kNN 取回與後續再排序
* 常見流程是先用向量相似度取大量候選(kNN)
* 再用其他訊號做 rerank(例如規則、熱門度、價格、關鍵字匹配、學習式排序)
* 最後裁切成較小集合再展示給使用者
# 使用者回饋做相關性調整
* 使用者可標記哪些結果「相關/不相關」
* 系統可利用回饋把 query 向量往更相關的方向推、遠離不相關方向
* 這類互動式相關性回饋能讓下一輪檢索結果更貼近使用者意圖
---
#

# 你想補充的主軸
* 你想用「embedding / 向量空間」把 IR(資訊檢索)、RAG、以及 Transformer/LLM 的運作串成同一條線
* 核心論點是:本質概念沒變,改變的是「向量怎麼被產生」與「規模化到可用」
# 1960s:向量空間模型的直覺
* 把一篇文件表示成一個很長的數字清單(向量)
* 維度通常對應詞彙表中的每個詞
* 文件向量的值用「詞在文件中出現的次數」構成
* 查詢(query)也用同樣方式變成向量
* 透過 cosine similarity 比較 query 向量與文件向量,得到相似度並排序
# 從詞頻到 TF-IDF:修正天真計數的偏差
* 單純詞頻會被文件長度影響,長文件容易因為總詞量大而出現較高計數
* TF-IDF 引入「詞在全體文件中有多常見」的概念,降低常見字的影響、凸顯更具區辨性的詞
* 這類方法把「相關性」用較穩健的統計權重表示,而不是只看 raw count
# 演進到 BM25:傳統檢索仍然實用
* BM25 可視為 TF-IDF 的一個成熟化版本
* 仍基於詞項匹配與權重,但用更好的正規化與飽和曲線處理詞頻
* 即使在沒有語意向量(semantic search)的情境下,BM25 依然非常能打
# 80s/90s:更接近「語意」但仍偏代數/統計
* 你提到像 LSI 這類方法,把詞項共現關係用矩陣分解等方式壓縮到較低維空間
* 方向上是往「不只看字面匹配,而是捕捉潛在語意結構」前進
* 但仍跟後來的深度學習式 embedding 有落差
# 進入深度學習:向量不再靠手工計數
* 早期向量是「人定義的特徵」:數詞頻、做加權
* 後期向量是「模型學出來的表徵」:丟文字進去、吐出 embedding
* 差別在於從顯式規則轉成隱式學習,但仍保留「在向量空間中做相似度/關聯」的框架
# embedding 與檢索:你想點出的連結
* RAG 的檢索本質就是把 query 與文件都映射到同一個向量空間,再做近鄰搜尋
* 早期是用 sparse vector(大多為 0 的詞袋向量)
* 現代常用 dense vector(維度較小但每一維都有資訊的語意向量)
# Transformer/LLM 為什麼離不開 embedding
* 模型會先把輸入文字切成 token
* 每個 token 會被映射成 embedding 向量,作為後續計算的基本表示
* 多層計算後會得到更新過的向量表徵,再投影回詞彙空間成為下一個 token 的機率分佈
# 生成機制:逐 token 的取樣與反覆回饋
* 解碼器式模型會「每次產生一個 token」
* 產生後把新 token 接回輸入,再跑下一步產生下一個 token
* 你強調這是一種迭代式的機率取樣流程,而不是人類式的推理流程
# cosine vs dot product 與「最近鄰」直覺
* 你用「找最近鄰」來形容挑下一個 token 的概念
* 檢索常談 cosine similarity
* LLM 內部大量用 dot product 進行相似度型的計算(例如注意力與投影後的分數)
# temperature:你對「創造力」的解釋
* temperature 低時更傾向選最高機率的 token,輸出更一致
* temperature 高時會增加取樣多樣性,讓每次結果更不一樣
* 你把「看起來更有創意」定位成「採樣策略造成的分歧」,不是模型突然多了靈感
# 你對 agents 與「會思考」敘事的立場
* 你對把 LLM 描述成能自我驗證、能解決世界問題的說法抱持懷疑
* 你把模型定位為依機率生成 token 的系統
* 你也提到停止生成、對齊等行為很大程度依賴後處理或訓練後調整,而非模型內建的「思考終點」
---
# Terminology
* 向量嵌入(Vector Embedding):將文字、圖片或其他資料轉換為數值向量以便計算與比較
* 高維空間(High-dimensional Space):由數百或數千個維度組成的數學空間,用來表示複雜特徵
* 向量(Vector):由一組有序數值組成的數學結構,用於表示資料點
* 維度(Dimension):向量中每一個數值所對應的獨立特徵軸
* 語意相似度(Semantic Similarity):衡量兩段資料在意義層面上接近程度的指標
* 餘弦相似度(Cosine Similarity):利用向量夾角計算相似度的常見方法
* 歐氏距離(Euclidean Distance):衡量兩個向量在空間中直線距離的方式
* 特徵表示(Feature Representation):將原始資料轉換為可計算特徵的過程
* 特徵空間(Feature Space):所有特徵向量所存在的抽象空間
* 嵌入模型(Embedding Model):專門用來生成向量嵌入的機器學習模型
* 預訓練模型(Pre-trained Model):已在大量資料上訓練完成、可直接使用的模型
* 凍結權重(Frozen Weights):在推論階段不再更新參數的模型權重
* 決定性輸出(Deterministic Output):相同輸入必定產生相同輸出的特性
* 主成分分析(Principal Component Analysis, PCA):用於降維與資料可視化的統計方法
* 降維(Dimensionality Reduction):將高維資料壓縮為低維表示的技術
* 資料可視化(Data Visualization):將數據轉換為圖形以利人類理解
* 聚類(Clustering):根據相似度將資料自動分組的技術
* 語意聚類(Semantic Clustering):依據語意相似性形成的資料群集
* 向量索引(Vector Indexing):為大量向量建立可快速搜尋的結構
* 向量資料庫(Vector Database):專門儲存與查詢向量資料的資料庫系統
* 近鄰搜尋(Nearest Neighbor Search):尋找與目標向量最接近資料點的方法
* 近似最近鄰(Approximate Nearest Neighbor, ANN):以效率為優先的近鄰搜尋演算法
* 語意搜尋(Semantic Search):根據意義而非關鍵字進行搜尋的技術
* 資訊檢索(Information Retrieval):從大量資料中找出相關資訊的領域
* 表示學習(Representation Learning):自動學習資料有效表示形式的機器學習方法
* 分佈式表示(Distributed Representation):以多維向量共同表示概念的方式
* 語言模型(Language Model):用於理解與生成自然語言的模型
* 詞向量(Word Embedding):將單字映射到向量空間的早期嵌入技術
* 句向量(Sentence Embedding):表示整個句子語意的向量形式
* 文件向量(Document Embedding):表示長文本或文件語意的向量
* 語境感知(Context Awareness):模型理解詞語在不同上下文中含義的能力
* 特徵抽取(Feature Extraction):從原始資料中擷取有用資訊的過程
* 向量正規化(Vector Normalization):將向量縮放至固定範圍以利比較
* 空間距離度量(Distance Metric):用來衡量向量間差異的數學函數
* 語意空間(Semantic Space):向量嵌入所構成、反映意義關係的抽象空間
* 模型推論(Model Inference):使用已訓練模型產生預測或輸出的過程
* GPU 加速(GPU Acceleration):利用圖形處理器提升向量計算效能
* 矩陣運算(Matrix Operations):對矩陣與向量進行的大規模數學計算
* 表徵能力(Representation Capacity):模型捕捉複雜語意特徵的能力
* 相似性搜尋(Similarity Search):依據向量距離尋找相似資料的技術
* 資料索引化(Data Indexing):將資料組織成可快速查詢結構的過程
* 向量化(Vectorization):將非數值資料轉換為向量形式的處理步驟
* 語意邊界(Semantic Boundary):不同語意群集之間的過渡區域
* 模型維度大小(Embedding Dimension Size):嵌入向量中維度的數量設定
* 語意表示穩定性(Semantic Stability):相同概念在向量空間中位置一致的特性
* 詞嵌入(Embedding):將文字轉換為高維向量以保留語意關係,便於比較與檢索
* 向量空間(Vector Space):以向量表示資料的數學空間,距離或角度可對應語意相似度
* 高維空間(High-dimensional Space):維度數量很高的特徵空間,用於承載更細緻的語意結構
* 語意地圖(Semantic Map):以空間位置呈現語意關係的表示方式,近者語意相近、遠者相異
* 相似度學習(Similarity Learning):透過訓練讓相似樣本靠近、不同樣本遠離的學習策略
* 對比學習(Contrastive Learning):使用正負樣本對進行訓練,強化語意可分性與聚合性
* 聚類(Clustering):在無監督或弱監督下將資料依相似性分群的技術
* 類別標籤(Label):用於指示資料所屬類別的標註資訊,常用於監督式學習
* 離群值偵測(Outlier Detection):找出與主要分佈不一致的資料點,用於偵錯或異常分析
* 錯標偵測(Mislabel Detection):利用模型或統計方法找出可能被標錯類別的資料
* 主成分分析(PCA, Principal Component Analysis):線性降維方法,保留最大變異方向以便視覺化或壓縮
* 降維(Dimensionality Reduction):將高維資料映射到較低維度以利可視化、去噪或加速計算
* 投影(Projection):把高維點映射到低維子空間的操作,可能導致距離關係失真
* 資訊損失(Information Loss):降維或壓縮時遺失部分結構訊息,影響鄰近關係判讀
* 嵌入維度(Embedding Dimension):嵌入向量的維數,影響表徵容量與計算成本
* 向量正規化(Vector Normalization):將向量縮放至固定範數(常為 1),便於使用角度衡量相似性
* 餘弦相似度(Cosine Similarity):用向量夾角衡量相似度,方向越一致相似度越高
* 內積(Dot Product):兩向量相乘求和的運算,常用於相似度與注意力計算
* 距離度量(Distance Metric):衡量兩點差異的函數,如歐氏距離、餘弦距離
* 歐氏距離(Euclidean Distance):以直線距離衡量差異的常用度量,適合具幾何意義的空間
* 近鄰搜尋(Nearest Neighbor Search):在向量集合中找出與查詢向量最接近的資料點
* K 近鄰(KNN, K-Nearest Neighbors):找出前 K 個最近鄰,可用於分類、推薦或檢索
* K 最近鄰查詢(k-NN Query):向量資料庫常用查詢,回傳距離最小的 K 筆結果
* 向量檢索(Vector Search):以向量相似度為核心的搜尋方式,支援語意層級比對
* 語意搜尋(Semantic Search):以語意相似而非關鍵字完全匹配的搜尋技術
* 查詢嵌入(Query Embedding):將使用者查詢轉成向量以便與索引向量計算相似度
* 索引(Index):為加速搜尋而建立的資料結構或預處理結果
* 向量索引(Vector Index):針對向量相似搜尋建立的索引結構,加速近鄰查詢
* 近似最近鄰(ANN, Approximate Nearest Neighbor):以可接受誤差換取高效率的近鄰搜尋方法
* 召回(Recall):檢索流程中先取回較多候選的階段,重點在不漏掉相關項
* 候選集(Candidate Set):召回階段取回的候選結果集合,供後續排序精煉
* 重排序(Reranking):對候選集使用更精準但較昂貴的模型或特徵重新排序
* 多階段檢索(Multi-stage Retrieval):先召回再重排序的流程設計,兼顧速度與精度
* 相關性(Relevance):結果與查詢需求的匹配程度,常作為排序與評估核心
* 排序模型(Ranking Model):根據特徵或語意訊號決定結果順序的模型
* 特徵工程(Feature Engineering):設計可提升模型或排序表現的輸入特徵
* 互動式回饋(Relevance Feedback):使用者標記相關/不相關後,系統調整查詢或排序
* Rocchio 演算法(Rocchio Algorithm):以相關與不相關文件向量調整查詢向量的經典回饋方法
* 查詢擴展(Query Expansion):加入同義詞或相關詞以改善召回與語意覆蓋
* 潛在語意空間(Latent Semantic Space):模型學得的隱含語意表徵空間,可用來導覽與檢索
* 語意漂移(Semantic Drift):查詢經多次擴展或回饋後偏離原意,導致結果品質下降
* 類間分離(Inter-class Separation):不同類別在嵌入空間中的可分性,距離越遠越易區分
* 類內緊密(Intra-class Compactness):同類樣本在嵌入空間中聚集程度,越緊密越一致
* 視覺化失真(Visualization Distortion):高維資料投影至 2D/3D 時產生的結構扭曲現象
* 局部鄰域(Local Neighborhood):某點周圍的近鄰區域,用於理解局部結構與推薦
* 角度距離(Angular Distance):以向量夾角作為距離概念,常與餘弦相似度對應
* 相似度閾值(Similarity Threshold):判定是否相似的門檻值,用於過濾或分類決策
* 向量量化(Vector Quantization):將連續向量近似為離散碼以節省儲存並加速搜尋
* 向量空間模型(Vector Space Model, VSM):將文件/查詢表示成向量,用相似度衡量相關性
* 詞袋模型(Bag-of-Words, BoW):忽略詞序,只保留詞出現與否或次數的文本表示法
* 詞彙表(Vocabulary):模型或系統可辨識的詞/子詞集合,決定向量維度或 token 集合
* 稀疏向量(Sparse Vector):大多數維度為 0 的向量表示,常見於詞袋/TF-IDF
* 向量維度(Vector Dimension):向量的長度/特徵數,對應詞彙表大小或嵌入維度
* 特徵工程(Feature Engineering):人工設計可用特徵(如詞頻、n-gram)以供模型使用
* 詞頻(Term Frequency, TF):某詞在文件中出現的次數或比例,衡量文件內重要性
* 逆文件頻率(Inverse Document Frequency, IDF):詞在整體語料中越常見,權重越低的調整項
* TF-IDF(TF–IDF):結合 TF 與 IDF 的權重方案,用於資訊檢索與關鍵詞抽取
* 文件長度正規化(Document Length Normalization):調整長文件詞頻偏高造成的檢索偏差
* 餘弦相似度(Cosine Similarity):以向量夾角衡量相似度的指標,常用於檢索與聚類
* 點積(Dot Product):向量內積,常在嵌入空間中作為相似度或打分基礎
* 排序函數(Ranking Function):將文件依與查詢的相關性打分並排序的計算方法
* 機率相關模型(Probabilistic Relevance Model):以機率觀點建模「文件與查詢相關」的框架
* BM25(BM25):經典檢索排名公式,基於 TF 與文件長度正規化的改良
* 相關回饋(Relevance Feedback):利用使用者標記相關/不相關文件來改進檢索結果
* 查詢擴展(Query Expansion):加入同義詞/相關詞以提升召回率的檢索技巧
* 同義詞消歧(Word Sense Disambiguation, WSD):判定詞在上下文中的正確語義以避免誤配
* 潛在語義分析(Latent Semantic Analysis, LSA):以矩陣分解找出隱含語義結構的技術
* 潛在語義索引(Latent Semantic Indexing, LSI):將 LSA 用於資訊檢索以改善語義匹配
* 奇異值分解(Singular Value Decomposition, SVD):常用於 LSA/LSI 的矩陣分解方法
* 分散式表示(Distributed Representation):以低維稠密向量表徵語義的表示方式
* 詞嵌入(Word Embedding):將詞映射到連續向量空間,使語義相近者距離更近
* 句向量(Sentence Embedding):將整句映射為向量以便做語義比對與檢索
* 文件嵌入(Document Embedding):將整篇文件表示為向量以進行語義檢索與分類
* 稠密向量(Dense Vector):大多數維度非 0 的向量表示,常見於深度學習嵌入
* 語義相似度(Semantic Similarity):衡量語義接近程度而非字面重合的相似性
* 分布假說(Distributional Hypothesis):詞義可由其上下文分布推得的語言學假設
* 連續詞袋模型(CBOW):用上下文預測中心詞的詞嵌入訓練方法(word2vec 之一)
* Skip-gram(Skip-gram):用中心詞預測上下文的訓練方法,擅長學稀有詞表示
* 負採樣(Negative Sampling):用少量負例近似 softmax,降低訓練成本的技巧
* 階層式 Softmax(Hierarchical Softmax):以樹狀結構加速大詞彙 softmax 的方法
* GloVe(Global Vectors, GloVe):融合全域共現統計的詞嵌入方法
* 共現矩陣(Co-occurrence Matrix):統計詞與詞在窗口內共同出現次數的矩陣
* 近鄰搜尋(Nearest Neighbor Search):在向量空間中找最相近向量的檢索程序
* 近似近鄰(Approximate Nearest Neighbor, ANN):以近似方式加速大規模近鄰搜尋
* 向量資料庫(Vector Database):專門儲存嵌入並支援相似度搜尋的資料庫系統
* 語義檢索(Semantic Search):以嵌入相似度找相關內容,而非純關鍵字匹配
* 混合檢索(Hybrid Retrieval):結合 BM25 與向量檢索以兼顧精確與語義召回
* 檢索增強生成(Retrieval-Augmented Generation, RAG):先檢索再生成以降低幻覺並提升可引用性
* 上下文視窗(Context Window):模型一次可處理的 token 範圍,影響可用資訊量
* 分詞(Tokenization):將文字切成 token(字、子詞、符號)以供模型處理
* Token(Token):模型運算的基本符號單位,可能是字、子詞或標點
* 子詞分詞(Subword Tokenization):用子詞單位減少 OOV,提升詞彙覆蓋率的方法
* BPE(Byte Pair Encoding, BPE):常見子詞分詞算法,迭代合併高頻符號對
* Transformer(Transformer):以注意力為核心的序列建模架構,支撐現代大型語言模型
* 自注意力(Self-Attention):序列內部元素彼此計算關聯權重以整合資訊的機制
* 多頭注意力(Multi-Head Attention):以多組注意力頭並行捕捉不同關係型態的設計
* 查詢鍵值(Query-Key-Value, QKV):注意力計算中的三組投影向量,用於打分與加權求和
* 位置編碼(Positional Encoding):為序列注入順序資訊以彌補注意力的置換不變性
* 解碼器式模型(Decoder-only):僅用解碼器堆疊做自回歸生成的架構(如 GPT 類)
* 編碼器式模型(Encoder-only):輸出表示用於理解任務的架構(如 BERT 類)
* 編碼器解碼器(Encoder–Decoder):先編碼再解碼生成的序列到序列架構(如 T5 類)