更新於 2024/08/03閱讀時間約 1 分鐘

AI說書 - 從0開始 - 111 | Smoothing 方法

我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。


回顧我們在 AI說書 - 從0開始 - 110,介紹了 BLEU 使用方法與公式,現在我們再跑一個例子:

#Example 3 
reference = [['the', 'cat', 'likes', 'milk']]
candidate = ['the', 'cat', 'enjoys','milk']
score = sentence_bleu(reference, candidate)
print('Example 3', score)


跑出以下結果:


關鍵問題出在:3-Gram 沒有重疊,它建議的選項出現:SmoothingFunction(),我們來看看 Smoothing 是什麼意思。


Chen 與 Cherry 於 2014 年提出一種 Smoothing 方法,Label Smoothing 是一種非常有效的方法,可以提高 Transformer 模型在訓練階段的表現,舉例來說:


我要預測 [mask] 這個字在句子 The cat [mask] milk 中為何,那我的候選名單可能為:

而 Softmax 可能為:

又 One-Hot 為:

這樣一來,Label Smoothing 的運作方式為:

  • 給定一個 Epsilon 參數,假設為 0.25
  • 判斷 Softmax 維度,此例子為 K = 4
  • One-Hot 中為 0 者,增加為 0 + Epsilon / (K - 1)
  • One-Hot 中為 1 者,減少為 1 - Epsilon
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.