[論文筆記]Skip-Thought Vectors

Skip-Thoughts  使用跳躍思維模型
與 word2vec 相當相似是一種自然語言處理模型,但不是一次將個別單詞轉換為向量。
取而代之,將整個句子作為單位轉換為向量。

主要理論是去取得一個自然語言語料庫,並找出哪些句子傾向於彼此相鄰出現,然後訓練一個神經網路,使其能預測哪些句子預期會出現在任何其他句子之前或之後。

研究問題
這項研究試圖解決的核心問題是:如何在這個缺乏標註數據的狀況下,學習出高品質、通用且分佈式的句子表示向量(Distributed Sentence Representations)?

在當時,雖然詞向量(Word Vectors)已經能透過非監督學習取得很好的效果,但句子向量的學習大多仍依賴「監督式任務」(Supervised tasks),例如情感分析或邏輯推理 。這導致模型學習到的特徵往往只針對特定任務有效,缺乏通用性。雖然 Paragraph Vector 是一種非監督替代方案,但它在測試階段需要進行推論(inference)來計算新句子的向量,效率較低 。作者希望創造一種「隨取隨用」(off-the-shelf)的編碼器,能將任何句子映射成向量,並直接應用於各種下游任務


研究背景
此篇論文研究的靈感主要來自於詞嵌入模型,
  • 從詞到句子: 既然 Skip-gram 可以透過預測上下文單字來學習詞義,那麼利用書籍中連貫的文本結構,一個句子應該也能透過預測「前一句」和「後一句」來學習句義 。
  • 現有技術侷限: 當時主流的句子組合方法(Composition methods)如遞歸神經網絡(Recursive NN)或卷積網絡(CNN),通常需要依賴類別標籤進行倒傳遞更新,這限制了它們的推廣能力 。
  • 目標設定: 作者決定不專注於設計新的組合運算符(composition operator),而是提出一個新的目標函數(objective function),讓任何編碼器都能透過此目標學習到通用的語義 。

模型架構
Skip-Thought 模型採用了經典的 Encoder-Decoder架構

核心機制: 給定一個連續的句子三元組 (si1,si,si+1),模型將中間的句子 si 編碼,並試圖重構前一句 si1 和後一句 si+1

編碼器 (Encoder): 使用帶有 GRU (Gated Recurrent Unit) 激活函數的 RNN。它將句子中的單字依序輸入,最後的隱藏狀態 (Hidden state) 即視為該句子的向量表示。

解碼器 (Decoder): 這是兩個獨立的神經語言模型 (Neural Language Model) —— 一個負責生成前一句,一個負責生成後一句。解碼器的運算會受到編碼器輸出的句子向量 hi 所制約 (Conditioned on hi)。

詞彙擴展 (Vocabulary Expansion): 為了解決訓練資料中未見過單字 (OOV) 的問題,作者提出了一種線性映射方法。利用一個在大規模資料上預訓練好的 Word2Vec 模型,學習一個線性轉換矩陣 W,將 Word2Vec 空間中的詞向量映射到 Skip-Thought 的編碼器空間。這使得模型可涵蓋訓練時的 2 萬字,一口氣擴展到近 100 萬字。


實驗方法
作者的評估策略採取訓練完 Skip-Thought 模型後,將其凍結為特徵提取器,不再對編碼器進行Fine-tuning。
  • 特徵提取: 對於下游任務的每個句子,直接計算其 Skip-Thought 向量。
  • 線性分類器: 在這些凍結的向量特徵之上,僅訓練簡單的線性分類器(如 Logistic Regression),以此來嚴格檢驗向量本身的品質,而非依賴複雜的後端模型能力 。

評估任務: 涵蓋了 8 類任務
語義相關性 (Semantic Relatedness): SICK 數據集 。
釋義檢測 (Paraphrase Detection): Microsoft Research Paraphrase Corpus 。
圖像-句子排序 (Image-Sentence Ranking): Microsoft COCO 數據集 。
分類基準測試
情感分析: MR(Movie Review sentiment),CR(Customer Product Reviews)
主觀性分析(SUBJ)
意見極性(MPQA)
問題分類(TREC)











留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

外貿Payment Term 付款條件(方式)常見的英文縮寫與定義

鼎新ERP_會計系統_總帳管理_財務參數設定_傳票處理