嵌入:取得嵌入

本節著重於兩項用於取得嵌入的常見技術:

  • 降低維度
  • 從較大的類神經網路模型擷取嵌入

維度縮減技術

有許多數學技巧可以用來記錄 模型在低維度空間中 具有高維度空間的結構理論上 這些技術都能用來為機器建立嵌入 學習系統

例如主成分分析 (PCA) 來建立字詞嵌入假設我們有一組執行個體 向量、PCA 攻擊 找出高度相關且可收合為單一項目的維度 維度。

將嵌入訓練做為類神經網路的一部分

您可以在訓練 類神經網路 您的目標任務這種方法可以特別針對 但這可能會比單獨訓練嵌入的時間更長。

一般來說,您可以在類神經元中建立 d 大小的隱藏層。 主要指定為 「嵌入層」,其中 d 分別代表隱藏層的節點數量 在嵌入空間中檢視出各種維度的資料這個嵌入層可以與 其他任何特徵和隱藏層如同任何深層類神經網路 都會在訓練期間最佳化調整參數,盡可能減少 輸出層

回到我們的食物建議範例中,我們的目標是 根據使用者目前的喜好,預測他們可能喜歡的新餐點 餐點。首先,我們可以針對使用者的前 5 名常用聯絡人 食物。接著,我們就能將這項工作當做監督式學習問題來進行模型。我們設定了 然後隨機將五分之一的食物做為特徵資料 也就是模型預測的第五項食物 模擬預測結果 - 使用 softmax 損失

在訓練期間,類神經網路模型會學習 做為嵌入層 舉例來說,如果模型在第一個隱藏層中有三個節點, 判斷食物品項中最相關的三個維度 供應三明治、甜點和液態圖 12 顯示 one-hot 編碼 「hot dog」的輸入值並轉換為 3D 向量

圖 12.熱狗 one-hot 編碼的類神經網路。第一層是
    每個輸入層都有 5 個節點,每個都加上食物圖示
    代表 (波斯洛特、熱狗、沙拉、...和沙威瑪)。這些節點
    值 [0, 1, 0, ..., 0],分別代表 one-hot
    「hot dog」編碼輸入層會連線至 3 個節點的嵌入項目
    資料層,其節點的值分別為 2.98、-0.75 和 0。
    會連結到 5 個節點的隱藏層
    每個節點都會連接到 5 個節點的輸出層
圖 12。 hot dog 的 one-hot 編碼 提供給深層類神經網路的輸入內容嵌入層 one-hot 編碼並轉換成 3D 嵌入向量 [2.98, -0.75, 0]

訓練過程中,系統會最佳化嵌入層的權重 因此嵌入向量 這類範例比較接近 其他。嵌入層的個別維度 ( 嵌入層) 很少能理解為「甜點」或 「液體」有些時候,這些字的「意思」但有時不一定 專案或資料夾

嵌入項目通常各有不同,且彼此不同 並在工作不同時產生快訊舉例來說,素食和 非素食分類模型可能包含兩種維度:肉類內容 和乳製品的內容同時,經由早餐和 美式料理的晚餐分類器的尺寸可能略有不同: 熱量內容、穀物內容和肉類內容。「麥片」和 「雞蛋和培根三明治」在解碼器的嵌入空間中 早餐、晚餐分類器,但差距在 素食和非素食分類器

訓練字詞嵌入

上一節word2vec 嵌入空間。

Word2vec 是訓練字詞嵌入的眾多演算法之一, 會利用分佈假設來對應語意相似的做法 將字詞轉換為幾何圖形,使嵌入向量透過分佈 假設 表示如果字詞的相關字詞 。雙管齊下以及「cat」經常出現在 「獸醫」一字這一點也反映了語意相似度 正如語言學家 John Firth 在 1957 年提名:「您應該知道該公司的一個詞 依然存在」

下方影片會說明另外建立字詞嵌入的方法 也就是使用較簡單的模型訓練類神經網路的過程:

靜態與內容嵌入

如上文提到的文字嵌入,有一項限制是 轉換成靜態資料。每個字詞都是以向量中的一個點表示 可能會具有各種不同意義 語句中用於語句在上一個運動中, 您發現對應字詞語意相似度時比較困難 橘色,代表顏色或水果類型。

比對內容嵌入是為瞭解決這些缺點而開發的。 內容比對嵌入 都會將字詞的相關資訊 字詞位置。在上下文中 橘色可能有兩種不同的表示法:一種擷取「顏色」 例如「我最愛的毛衣有橘色的」 條紋」第一是擷取「水果」如句所示 「橘色的一面在樹枝完全蔓延之前,從樹上拿起了。」

,瞭解如何調查及移除這項存取權。