我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
針對長度 N 的句子而言,當中的第 i 個字,其 SHAP 值的計算方式為:
當中
- N 個字的聯盟中,第 i 個字,且自帶價值 v 所對應的 SHAP 值
- 表示在特徵集 S 的基礎上,加入特徵 i 所帶來的邊際貢獻
- 當我們要插入特徵 i 時,特徵集 S 的順序如何安排
- 當考慮到特徵 i 和特徵集 S 已經確定後,剩餘的特徵可以有多少種排列方式,此計算當特徵 i 加入到 S 中後,剩餘的特徵有多少種排列
- 這個項目是特徵集 N 的總階乘,表示特徵 N 中所有元素的排列方式,這相當於所有特徵完全排列的總數
注意最後三項的關係其實就是計算一個權重,表示選擇子集 S 的機率,並且確保每種排列下貢獻的計算公平。