[DeeplearningAI筆記]序列模型2.7負取樣Negative sampling
阿新 • • 發佈:2019-01-09
5.2自然語言處理
覺得有用的話,歡迎一起討論相互學習~Follow Me
2.7 負取樣 Negative sampling
Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality[C]// International Conference on Neural Information Processing Systems. Curran Associates Inc. 2013:3111-3119.
- skip-gram模型可以構造一個監督學習任務,把上下文對映到目標詞上,以學習一個實用的詞嵌入,但是他的缺點是softmax計算起來很慢。本節將會介紹了一個經過優化的學習問題叫做 負取樣
樣本生成方法
- 例句: I want a glass of orange juice to go along with my cereal 構造一個新的監督學習問題,給定一對單詞 orange 和 juice ,預測這是否是一對 上下文詞-目標詞 (context-target) ,在這個樣本中,orange 和 juice 就是一個正樣本。 然而對於 orange 和 king 就是一個負樣本。
- 正樣本 的生成是取樣得到一個上下文詞和一個目標詞。其中先在句中隨機均勻的選取一個單詞作為上下文詞。然後在其左右兩邊一定詞距內隨機選擇一個單詞作為目標詞。 並且將 標籤
- 負樣本 的生成是使用和正樣本一樣的上下文詞,然後從字典中隨機選取一個單詞構成一個組合。並且將 標籤 設定為0. 其中同一 上下文詞 生成 K個 負樣本
- 正樣本 的生成是取樣得到一個上下文詞和一個目標詞。其中先在句中隨機均勻的選取一個單詞作為上下文詞。然後在其左右兩邊一定詞距內隨機選擇一個單詞作為目標詞。 並且將 標籤
context | word | target |
---|---|---|
orange | juice | 1 |
orange | king | 0 |
orange | book | 0 |
orange | the | 0 |
orange | of | 0 |
- 注意:正負樣本 的區別僅取決於單詞對的來源,即是 of 也在 orange 的設定詞距之內,但是作為隨機從字典中選取的單詞, of - orange 單詞對仍然被標記為負樣本。
- 在本次提出的演算法中 輸入資料x 將被設定為 context-word 的單詞對,預測結果y 將被設定為 target 演算法的目的即是區分 樣本取樣的來源
- 論文作者推薦,小資料集的話 K 被設定為5-20, 而對於較大的資料集, K 被設定為2-5.即資料集越小 K 值被設定的越大。
模型學習原理
Skip-grams 中softmax函式定義:
本節演算法定義 輸入Context為c,Word為t,定義輸出Target為y
context | word | target |
---|---|---|
c | t | y |
y | ||
orange | juice | 1 |
orange | king | 0 |
orange | book | 0 |
orange | the | 0 |
orange | of | 0 |
- 損失函式 定義為給定 樣本單詞對 的情況下, 的概率:
- 使用表示context的詞嵌入向量 其中表示每個樣本對應的引數.
- 對於每個正樣本都有 K 個負樣本來訓練一個類似logisitic迴歸的模型。
神經網路演算法流程
- 如果輸入詞是 orange ,即詞典中的第6257個詞,將其使用one-hot向量表示 ,
- 再傳遞給E(詞嵌入向量矩陣),通過兩者相乘得到 orange 的嵌入向量
是一個1W維(字典中總單詞數量)的向量,可以看成是1W個可能的logistic迴歸分類問題,其中一個是用來判斷目標詞是否是 juice 的分類器,當然也有用來判斷 king,book,the… 等詞彙是否是目標詞的分類器。但是每次迭代不都是訓練所有的樣本, 每次迭代只會訓練一個正樣本和隨機選取的 K 個負樣本
- 此演算法將需要計算10000個維度的softmax問題轉化為10000個二分類問題,每一個都易於計算,每次迭代要做的只是訓練其中的 K+1 個樣本,其中一個正樣本和隨機選取的同一個Context的 K 個負樣本。
- 此演算法被稱為 負取樣 , 因為在挑選一個 正樣本 的同時,隨機生成 K個負樣本
負樣本取樣方法
- 僅考慮單詞在 語料庫 中出現的頻率,會導致負樣本中 the, of, and … 等介詞出現的頻率過高
- 僅考慮單詞在 詞彙表 中出現的頻率,即在 詞彙表 中隨機取樣,分母是詞彙表中的總詞數,這樣取樣十分沒有代表性。
- 論文提出取樣公式為:
其中表示單詞在語料庫中的詞頻。