📢 早安!Gate 廣場|4/5 熱議:#假期持币指南
🌿 踏青還是盯盤?#假期持币指南 帶你過個“放鬆感”長假!
春光正好,你是選擇在山間深呼吸,還是在 K 線裡找時機?在這個清明假期,曬出你的持幣態度,做個精神飽滿的交易員!
🎁 分享生活/交易感悟,抽 5 位幸運兒瓜分 $1,000 仓位體驗券!
💬 茶餘飯後聊聊:
1️⃣ 假期心態: 你是“關掉通知、徹底失聯”派,還是“每 30 分鐘必刷行情”派?
2️⃣ 懶人秘籍: 假期不想盯盤?分享你的“掛機”策略(定投/網格/理財)。
3️⃣ 四月展望: 假期過後,你最看好哪個幣種“春暖花開”?
分享你的假期姿態 👉 https://www.gate.com/post
📅 4/4 15:00 - 4/6 18:00 (UTC+8)
一切都始於一個簡單的問題:機器如何理解文本?當你訓練模型來區分垃圾郵件與正常訊息或判斷評論的情感傾向時,底層會發生一些有趣的事情。模型必須以某種方式將字母和單詞轉換成數字,因為神經網路只處理數字。
第一個天真的方法是為每個獨特的單詞編號。Good = 6,bad = 26,awesome = 27。看起來合理,但問題在於:數字26和27很接近,因此模型會認為bad和awesome很相似。而實際上,awesome和good在語義上更接近。這就是一個陷阱。
我們嘗試了One Hot Encoding——給每個單詞一個向量,該向量的長度等於詞彙表大小,只有一個位置是1,代表該單詞,其他都是0。這解決了排序問題,但又出現新問題:如果詞彙表有2萬個詞,每個向量都會是2萬維的。佔用大量記憶體,而且模型也無法理解詞語之間的語義關係。
接著出現了Bag of Words和N-gram模型——計算詞在文本中出現的次數。增加了語境信息,但同樣是高維稀疏向量,模型也無法理解詞與詞之間的深層關聯。例如在句子“圖書館員喜歡書”中,圖書館員和書如果不相鄰,N-gram就無法捕捉到它們的關聯。
這時候,正確的embedding編碼就派上用場了。其思想是相似的詞應該在向量空間中彼此靠近。想像一個二維平面:一個軸代表動物大小,另一個軸代表危險性。老虎和獅子會在“巨大且危險”的區域附近,而倉鼠則在“小且安全”的區域。這就是embedding——一個密集的向量,能在n維空間中捕捉詞的語義。
最棒的是,這些向量可以用來做數學運算。拿“兒子”的向量,減去“男人”,再加上“女人”,就會得到一個接近“女兒”的向量。或者:馬德里 + 德國 - 西班牙 = 柏林。這之所以可行,是因為模型捕捉到了概念之間的關係。
那麼,這些embedding是怎麼訓練的呢?Google提出了Word2Vec,有兩種方法。CBOW(連續詞袋模型)是用周圍的詞來預測中心詞;Skip-Gram則相反,用中心詞來預測周圍的詞。這兩種技術都非常適合用來訓練詞向量。
在現代模型如GPT或BERT中,情況又不同。embedding層不是預先固定的,而是與模型一起訓練的。首先,文本被拆分成tokens,然後一個簡單的神經網路為每個token生成embedding。這個層的權重是可訓練的參數,學習如何在空間中表示詞語。接著,這些embedding會通過解碼器的模塊,最終傳遞到輸出層,產生下一個token的概率。
還有一個小細節——位置編碼。由於Transformer並行處理所有tokens,不像RNN那樣逐步處理,因此需要告訴模型詞語的順序。方法是加入一個位置向量到embedding向量中。這樣就形成了“詞義+位置資訊”的組合。
經過位置編碼的embedding會進入注意力機制——這也是所有大型語言模型的核心。embedding捕捉單詞的語義,但理解上下文則靠attention。因此,“key”在不同語境中會得到不同的上下文表示。
就這樣,通過結合簡單的想法——分詞、詞頻計數、正確的embedding編碼——逐步走向Transformer和ChatGPT。如今,embeddings無處不在:在推薦系統、相似圖片搜索、所有現代大型語言模型的基礎。如果你想真正理解NLP,就必須了解CBOW、Skip-Gram以及這些架構的運作原理。這是入門的基礎。