《阿里巴巴:2019數字經濟下的算法力量(328頁).pdf》由會員分享,可在線閱讀,更多相關《阿里巴巴:2019數字經濟下的算法力量(328頁).pdf(328頁珍藏版)》請在三個皮匠報告上搜索。
1、 掃一掃二維碼圖案,關注我吧 阿里技術微信公眾號 阿里巴巴機器智能微信公眾號 本書著作權歸阿里巴巴集團所有,未經授權不得進行轉載或其他任何形式的二次傳播。目錄|推薦、搜索推薦、搜索 螞蟻金服核心技術:百億特征實時推薦算法揭秘.1 0.綜述.1 1、彈性改造及優勢.2 2、特征動態增刪技術.4 3、模型壓縮和穩定性.9 4、工程實現和效果.11 5、未來工作.12 IJCAI 論文|打破傳統搜索排序,阿里首次提出商品間相互影響的全局排序法.14 1、前言.14 2、全局排序方法.15 3、實驗效果.18 4、結論.21 SIGIR 阿里論文|一種端到端的模型:基于異構內容流的動態排序.23 1、
2、研究背景.23 2、所提出的算法.24 3、實驗結果.27 SIGIR 阿里論文|可視化理解深度神經網絡 CTR 預估模型.29 1、背景.29 2、平臺介紹.30 3、算法實驗.31 4、泛化效果與神經元狀態波動.31 5、特征影響力.32 6、隱層的效用與其信息表征.33 7、隱層的效用與其表征再建模.33 8、小結.34 機器如何“猜你喜歡”?深度學習模型在 1688 的應用實踐.36 1、背景.36 2、模型簡介.38 3、訓練數據.43 4、實驗結果.44 5、調參經驗.45 6、總結.46 為電商而生的知識圖譜,如何感應用戶需求?.48 1、背景.48 2、知識體系.54 3、技術
3、框架.56 4、后期規劃.60 IJCAI 論文|基于改進注意力循環控制門,品牌個性化排序.61 1.1 引言.61 1.2 相關工作.64 1.3 任務定義和模型適配.65 1.4 品牌級排序系統.67 1.5 離線實驗.72 1.6 線上實驗.75 1.7 小結.76 火箭發射:點擊率預估界的“神算子”是如何煉成的?.79 1、摘要.79 2、已有方法介紹.80 3、研究動機及創新性.80 4、方法框架.81 5、實驗結果.84 6、總結.87 人群優選算法模型,如何挖掘品牌潛客?.88 1.背景簡介.88 2.名詞解釋.89 3.項目目標.89 4.業界方案.89 5.技術方案介紹.90
4、 6.挑戰與應對.97 7.總結與展望.98 湊單這個技術活,阿里工程師怎么搞?.99 1、背景.99 2、算法.100 3、總結.106 4、展望.106 5、項目總結.106 基于品類關系,虛擬類目如何建設?.108 1、前言.108 2、問題背景.109 3、整體解決方案.110 4、類目合并方案.113 5、類目拆分方案.117 6、效果.120 7、總結與后續規劃.121 論文解讀|數十億商品中,長尾和新品怎么找到新主人?.122 1、背景介紹.122 2、Base Graph Embedding 算法框架.123 3、GES 和 EGES 算法.123 4、實驗結果.124 5、系
5、統部署.126 讓機器幫你做決策!強化學習在智能交互搜索的應用分享.127 1、交互搜索簡介.127 2、問題定義&相關工作&建模.129 3、系統.133 4、結果.135 5、總結與展望.136 如何解決移動電商平臺中的“偽曝光”?.138 1、介紹.139 2、相關工作.140 3、問題描述和公式化表達.141 4、算法.144 5、理論分析.150 6、實驗結果.153 7、結論.161|機器視覺機器視覺 CVPR 阿里優秀論文:針對場景分割兩大問題提出語境對比特征和門控多尺度融合.165 1、語境對比局部特征.166 2、門控多尺度融合.167 3、實驗.168 如何檢測視頻異常事件
6、?阿里工程師提出全新檢測模型.170 0、摘要.170 1、引言.171 2、我們的方法.172 3、實驗.174 4、結論.177 螞蟻實時視頻通話技術和實踐.179 1、引子.179 2、技術選型.179 3、系統架構.180 4、架構特點.182 5、關鍵技術和優化.182 6、未來展望.188 7、場景落地.188 8、結尾壓軸.190 ACM MM 論文|用于行人重識別的多層相似度感知 CNN 網絡.191 0、摘要.191 1、引言.192 2、我們提出的方法.194 3、實驗.197 4、結果和討論.198 5、結論和未來工作.199|語音語音、文本文本 針對商品標題冗長問題,阿
7、里工程師怎么解決?.201 1、摘要.201 2、研究背景.202 3、已有方法介紹.203 4、方法介紹.203 5、實驗結果.204 6、總結.206 如何生成你的專屬推薦文案?智能文案在 1688 平臺的應用.208 1、應用場景.208 2、相關工作.210 3、模型存在的問題與改進方案.211 4、實驗結果.215 5、總結與展望.218 為了更精確的情感識別,A-LSTM 出現了.220 1、研究背景.220 2、高級長短期記憶網絡.221 3、加權池化遞歸神經網絡.222 4、實驗.222 5、結論.223 命名實體識別中,眾包標注能否優于專家標注?.225 1、文章目的與思想.
8、225 2、數據使用.226 3、文章分塊解析.227 基于深度前饋序列記憶網絡,如何將語音合成速度提升四倍?.230 1、研究背景.230 2、深度前饋序列記憶網絡.231 3、實驗.233 4、結論.235|綜合綜合 基于快速 GeoHash,如何實現海量商品與商圈的高效匹配?.236 1、摘要.236 2、點數據 GeoHash 原理與算法.237 3、面數據 GeoHash 編碼實現.240 4、求臨近 GeoHash 塊的快速算法.243 5、高效建立海量點數據與面數據的關系.245 6、延伸.247 如何評估深度學習模型效果?阿里工程師這么做.248 1、背景.248 2、Deep
9、Insight.249 機器如何猜你所想?阿里小蜜預測平臺揭秘.258 1、背景介紹.258 2、落地產品介紹.259 3、算法技術介紹.261 4、平臺化方案介紹.266 5、總結.268 為減少用戶電話排隊,阿里研發了智能客服調度系統.269 0、背景.269 1、XSigma 大圖.271 2、提前準備:排好班.271 3、水平擴容:預測式應急放班.272 4、負載均衡:溢出、分流.273 5、垂直擴容:彈性+1.274 6、削峰填谷:預約回撥.276 7、最優分配.277 8、智能培訓:大黃機器人.278 9、統一的調度中心.280 10、調度監控大屏.280 11、仿真演練.281
10、12、小結.281 如何降低疾病監測的漏診比率?一種新的分類學習算法.283 1、摘要.283 2、研究背景.284 3、動機:從約束分類到排序學習.284 4、-FPL 算法總覽.286 5、理論結果.288 6、實驗結果.289 7、總結.290 如何用無監督模型,防范信用卡欺詐?.291 1、國際支付中的信用卡欺詐.291 2、無監督信用卡欺詐檢測方案.292 3、未來和后續.296 如何提高深度學習模型的可解釋性?極致的數據透出與多維可視化實戰詳解.297 1、背景.297 2、DeepInsight 系統架構.299 3、基于數據透出的多維度可視化分析.300 4、小結.319 1
11、螞蟻金服核心技術:百億特征實時推薦算法揭秘螞蟻金服核心技術:百億特征實時推薦算法揭秘 作者:墨眀 小嘰導讀:文章提出一整套創新算法與架構,通過對 TensorFlow 底層的彈性改造,解決了在線學習的彈性特征伸縮和穩定性問題,并以GroupLasso 和特征在線頻次過濾等自研算法優化了模型稀疏性。在支付寶核心推薦業務獲得了 uvctr 的顯著提升,并較大地提升了鏈路效率。0.0.綜述綜述 在線學習(Online learning)由于能捕捉用戶的動態行為,實現模型快速自適應,進而成為提升推薦系統性能的重要工具。然而它對鏈路和模型的穩定性,訓練系統的性能都提出了很高的要求。但在基于原生 Tens
12、orFlow,設計Online 推薦算法時,我們發現三個核心問題:一些資訊推薦場景,需要大量長尾詞匯作為特征,需使用 featuremap 對低頻特征頻次截斷并連續性編碼,但耗時且方法 aggressive。2 使用流式數據后,無法預知特征規模,而是隨訓練逐漸增長。因此需預留特征空間訓練幾天后重啟,否則會越界。模型稀疏性不佳,體積達到數十 GB,導致上傳和線上加載耗時長且不穩定。更重要的是,在線學習如火如荼,當流式特征和數據都被打通后,能按需增刪特征,實現參數彈性伸縮的新一代訓練平臺成為大勢所趨。為了解決這些問題,從 2017 年底至今,螞蟻金服人工智能部的同學,充分考慮螞蟻的業務場景和鏈路,
13、對 TensorFlow 進行了彈性改造,解決了以上三大痛點,簡化并加速離線和在線學習任務。其核心能力如下:彈性特征伸縮體系,支持百億參數訓練。group_lasso 優化器和頻次過濾,提高模型稀疏性,明顯提升線上效果。模型體積壓縮 90%,完善的特征管理和模型穩定性監控。在與業務線團隊的共同努力下,目前已在支付寶首頁的多個推薦場景全流量上線。其中某推薦位的個性化 online learning 桶最近一周相比線上多模型融合最優桶提升 4.23%,相比隨機對照提升達 34.67%。某個性化資訊推薦業務最近一周,相比 DNN 基準 uv-ctr 提升+0.77%,pv-ctr 提升+4.78%,
14、模型體積壓縮 90%,鏈路效率提升 50%。1 1、彈性改造及優勢彈性改造及優勢 背景:在原生 TensorFlow 中,我們通過 Variable 來聲明變量,若變量超過了單機承載的能力,可使用 partitioned_variables 來將參數分配到不同機器上。但必須指定 shape,聲明后即不可改變,通過數組索引查找。由于推薦系統中大量使用稀疏特征,實踐中一般采取embedding_lookup_sparse 一類的方法在一個巨大的 Dense Variable 中查找向量并求和,來代替矩陣乘法。開源 Tensorflow 限定了 Variable 使用前必須聲明維度大小,這帶來了兩個
15、問題:1)需要預先計算特征到維度范圍內的 int 值的映射表,這一步操作通常在ODPS 上完成。因為需要掃描所有出現的特征并編號,計算非常緩慢;3 2)在 online learning 場景下,為了容納新出現的特征,需要預留一部分維度空間,并在線上不斷修改映射表,超過預留空間則需要重新啟動在線任務。為了突破固定維度限制,實現特征的動態增加和刪除,最樸素的優化想法是在 TensorFlow 底層實現模擬字典行為的 Variable,并在此基礎上重新實現Tensorflow 上層 API。由此我們進行了優化,在 server 新增了基于 HashMap 的HashVariable,其內存結構如下
16、:在聲明該變量時,只需增加一句,其他訓練代碼皆不需改動:每個特征都通過 hash 函數映射到一個 2 的 64 次方大小的空間內。當需要計算該特征時,PS 會按需惰性創建并返回之。但其上層行為與原生 TF 一致。由于去掉了 featuremap 轉 ID 的過程,我們內部形象地將其稱為“去 ID 化”。在此之上我們實現了 Group Lasso FTRL,頻次過濾和模型壓縮等一系列算法。備注:彈性特征帶來一個顯著的優勢:只要用足夠強的 L1 稀疏性約束,在單機上就能調試任意大規模的特征訓練,帶來很多方便。我們的 hashmap 實現是 KV 化的,key 是特征,value 是 vector
17、的首地址。4 離線訓練優化 經過這樣的改造后,在離線批量學習上,帶來了以下變化:在線訓練優化 online learning 上,能帶來如下變化:除了性能有明顯的提升之外,其最大的優勢是不需提前申請空間,訓練可以無縫穩定運行。2 2、特征動態增刪技術特征動態增刪技術 彈性架構,主要目的就是特征優選,讓模型自適應地選擇最優特征,進而實現稀疏化,降低過擬合。本節介紹特征優選的兩個核心技術:使用流式頻次過濾,對特征進入進行判定。使用 Group Lasso 優化器,對特征進行篩選和刪除。2.1 Group Lasso 優化器 5 稀疏化是算法追求的重要模型特性,從簡單的 L1 正則化和 Trunca
18、ted Gradient9,再到討論累積梯度平均值的 RDA(Regularized Dual Averaging)10,再到目前常見的 FTRL2。然而它們都是針對廣義線性模型優化問題提出的稀疏性優化算法,沒有針對 sparse DNN 中的特征 embedding層做特殊處理。把 embedding 參數向量當做普通參數進行稀疏化,并不能達到在線性模型中能達到的特征選擇效果,進而無法有效地進行模型壓縮。例如:當包含新特征的樣本進入時,一個特征對應的一組參數(如embedding size 為 7,則參數數量為 7)被激活,FTRL 判定特征中的部分參數無效時,也不能安全地將該特征刪除。如圖
19、:因此,在 L1 和 L2 正則的基礎上,人們引入 L21 正則(group lasso)和 L2正則(exclusive sparsity),分別表示如下:L21 早在 2011 年已經引入,它最初目的是解決一組高度關聯特征(如男女)應同時被保留或刪除的問題,我們創新地擴展到 embedding 的表示上,以解決類似的問題。在 L21 中,由于內層 L2 正則將一個特征的所有參數施加相同的約束,能將整組參數清除或保留,由此決定 embedding 層中的某些特征對應的 embedding向量是否完全刪除,提升模型泛化性。因此稱為 group lasso。而 L12 則正好相反,它迫使每組參數
20、中的非 0 參數數量一致但值又盡可能不同,但使輸出神經元互相競爭輸入神經元,進而使特征對目標更具區分性。6 對于 DNN 分類網絡,底層表示要求有足夠的泛化性和特征抽象能力,上層接近 softmax 層,需要更好的區分性。因此我們通常在最底層的 embedding 層使用 group lasso。即如下的優化目標:直接將 L21 正則項懲罰加入 loss,模型最終也能收斂,但并不能保證稀疏性。因此 Group lasso 優化器參考了 FTRL,將梯度迭代分成兩個半步,前半步按梯度下降,后半步微調實現稀疏性。通過調節 L1 正則項(即公式中的),能有效地控制模型稀疏性。Group lasso
21、是彈性計算改造后,模型性能提升和壓縮的關鍵。值得指出:1.在我們實現的優化器中,Variable,以及 accum 和 linear 兩個 slot 也是 KV 存儲。2.L12 和 L21 正則相結合的方法也已經有論文討論8,但我們還未在業務上嘗試出效果。3.由于篇幅限制,本節不打算詳細介紹 Group lasso 的原理和推導 2.2 流式頻次過濾 討論完特征動態刪除的方法后,我們再分析特征的準入策略。2.2.1 頻次過濾的必要性 在 Google 討論 FTRL 的文章 1 中提到,在高維數據中大部分特征都是非常稀疏的,在億級別的樣本中只出現幾次。那么一個有趣的問題是,FTRL 或Gro
22、up FTRL 優化器能否能刪除(lasso)極低頻特征?在 RDA 的優化公式中,滿足以下條件的特征會被置 0:若在 t 步之前,該特征只出現過幾次,未出現的 step 的梯度為 0,隨著步數增大,滿足上述條件變得越來越容易。由此 RDA 是可以直觀處理極稀疏特征的。但對于 FTRL,要滿足:7 其中,不僅和歷史梯度有關,還與歷史學習率和權重w 有關。因此 FTRL 雖然也能處理極稀疏特征,但并沒有 RDA 那么 aggressive(此處還待詳細地分析其下界,Group FTRL 與此類似)。由于 FTRL 在設計和推導時并未明確考慮極低頻特征,雖然通過增大,確實能去除大量極低頻特征,但由
23、于約束太強,導致部分有效特征也被lasso,在離線實驗中被證明嚴重影響性能。其次,對這些巨量極低頻特征,保存歷史信息的工程代價是很高昂的(增加幾倍的參數空間和存儲需求),如下圖:因此我們提出,能否在實時數據流上模擬離線頻次過濾,為特征提供準入門檻,在不降低模型性能的基礎上,盡量去除極低頻特征,進一步實現稀疏化?2.2.2 頻次過濾的幾種實現 注意:由于默認的 embedding_lookup_sparse 對特征執行了 unique 操作(特征歸一化以簡化計算),因此在 PS 端是不可能獲取真實特征和 label 頻次的。需要 Python 端對 placeholder 統計后,上傳給 ser
24、ver 端指定的Variable,優化器通過 slot 獲得該 Variable 后作出聯合決策。最 naive 的思路是模擬離線頻次過濾,對特征進行計數,只有達到一定閾值后再進入訓練,但這樣破壞了數據完整性:如總頻次 6,而閾值過濾為 5,則該特征出現的前 5 次都被忽略了。為此我們提出了兩種優化方案:基于泊松分布的特征頻次估計 在離線 shuffle 后的特征滿足均勻分布,但對在線數據流,特征進入訓練系統可看做泊松過程,符合泊松分布:8 其中 n 為當前出現的次數,t 為當前的步數,為單位時間發生率,是泊松分布的主要參數,T 為訓練總步數。為特征最低門限(即最少在 T 時間內出現的次數)。
25、因此我們能通過前 t 步的特征出現的次數 n,將 t 時刻當做單位時間,則。根據泊松分布,我們可以算出剩余時間內事件發生大于等于次的概率。每次該特征出現時,都可按該概率做伯努利采樣,特征在 t 步進入系統的概率用下式計算:通過真實線上數據仿真,它能接近離線頻次過濾的效果,其 是隨每次特征進入時動態計算的。它的缺陷是:a.當 t 越小時,事件發生在 t 內的次數的 variance 越大,所以會以一定概率誤加或丟棄特征。b.未來總的訓練步數 T 在在線學習中是未知的。c.頻次過濾與優化器相分離,導致不能獲得優化器的統計信息。動態調 L1 正則方案 在經典的 FTRL 實現中,L1 正則對每個特征
26、都是一致的。這導致了 2.2.1 中提到的問題:過大的 L1 雖然過濾了極低頻特征,但也影響的了模型的性能。參考各類優化器(如 Adam)對 learning_rate 的改進,我們提出:通過特征頻次影響 L1 正則系數,使得不同頻次的特征有不同的 lasso 效果。特征頻次和基于 MLE 的參數估計的置信度相關,出現次數越低置信度越低。如果在純頻率統計基礎上加入一個先驗分布(正則項),當頻率統計置信度越低的時候,越傾向于先驗分布,相應的正則系數要更大。我們經過多個實驗,給出了以下的經驗公式:9 其中 c 是懲罰倍數,為特征最低門限,這兩者皆為超參,是當前特征出現的頻次。我們在線上環境,使用了
27、動態調節 L1 正則的方案。在 uvctr 不降甚至有些微提升的基礎上,模型特征數比不使用頻次過濾減少 75%,進而從實驗證明了頻次過濾對稀疏化的正向性。它的缺點也很明顯:特征頻次和正則系數之間的映射關系缺少嚴謹證明。頻次過濾作為特征管理的一部分,目前還少有相關論文研究,亟待我們繼續探索。3 3、模型壓縮和穩定性模型壓縮和穩定性 3.1 模型壓縮 在工程上,由于做了優化,如特征被優化器 lasso 后,只將其置 0,并不會真正刪除;在足夠多步數后才刪除。同時引入內存池,避免特征的反復創建和刪除帶來的不必要的性能損失。這就導致在訓練結束后,模型依然存在大量0 向量。導出時要進一步做模型壓縮。由于
28、引入了 HashPull 和 HashPush 等非 TF 原生算子,需要將其裁剪后轉換為原生 TF 的 op。我們將這些步驟統稱圖裁剪(GraphCut),它使得線上inference 引擎,不需要做任何改動即可兼容彈性改造。由于有效特征大大減少,打分速度相比原引擎提升 50%以上。我們將圖裁剪看做 TF-graph 的靜態優化問題,分為 3 個步驟:第一遍遍歷 Graph,搜索可優化子結構和不兼容的 op。第二遍遍歷,記錄節點上下游和元數據,裁剪關鍵 op,并將 Variable的非 0 值轉存至 Tensorflow 原生的 MutableDenseHashTable。本步驟將模型體積壓
29、縮 90%。拼接新建節點,重建依賴關系,最后遞歸回溯上游節點,去除與inference 無關的子圖結構 我們實現了完整簡潔的圖裁剪工具,在模型熱導出時調用,將模型從原先的 8GB 左右壓縮到幾百兆大小,同時保證模型打分一致。3.2 模型穩定性和監控 10 online learning 的穩定性非常重要。我們將線上真實效果,與實時模型生成的效果,進行了嚴密的監控,一旦樣本偏差過多,就會觸發報警。由于需捕捉時變的數據變化,因而不能用固定的離線數據集評估模型結果。我們使用阿里流式日志系統 sls 最新流入的數據作為評估樣本,以滑動窗口先打分后再訓練,既維持了不間斷的訓練,不浪費數據,同時盡可能高頻
30、地得到最新模型效果。我們對如下核心指標做了監控:樣本監控:正負比例,線上打分值和 online-auc(即線上模型打分得到的 auc),產出速率,消費速率。訓練級監控:AUC,User-AUC(參考備注),loss,模型打分均值(與樣本的正負比例對齊),異常信息。特征級管理:總特征規模,有效/0/刪除特征規模,新增/插入/刪除的速率。整體模型和調度:模型導出的時間,大小,打分分布是否正常,是否正常調度。業務指標:uvctr,pvctr(小時級更新,T+1 報表)。線上與訓練指標之間的對應關系如下表:通過 http 接口,每隔一段時間發送監控數據,出現異常會及時產生釘釘和郵件報警。下圖是對 9
31、月 20 日到 27 號的監控,從第二張圖表來看,模型能較好的適應當前數據流的打分分布。11 User-AUC:傳統的 AUC 并不能完全描述 uvctr,因為模型很可能學到了不同用戶間的偏序關系,而非單個用戶在不同 offer 下的點擊偏序關系。為此,我們使用了 User-AUC,它盡可能地模擬了線上 uvctr 的計算過程,在真實實驗中,監控系統的 uvctr 小時報表,與實時模型輸出的 User-AUC 高度一致。4 4、工程實現和效果工程實現和效果 目前算法已經在支付寶首頁的多個推薦位上線。推薦系統根據用戶的歷史點擊,融合用戶畫像和興趣,結合實時特征,預估用戶 CTR,進而提升系統整體
32、點擊率。我們以推薦位業務為例說明,其采用了經典的 wide&deep 的網絡結構,其sparse 部分包含百級別的 group(見下段備注 1)。一天流入約百億樣本,label 的 join 窗口為固定時長。由于負樣本占大多數,上游鏈路對正負樣本做了 1:8 的降采樣(見下文備注 2)。訓練任務采用螞蟻統一訓練平臺構建,并使用工作流進行定時調度,離線和在線任務的其他參數全部一致。Batchsize 為 512,每 200 步(即 20 萬樣本)評估結果,定時將模型通過圖裁剪導出到線上系統。當任務失敗時,調度系統會自動拉起,從 checkpoint 恢復。該推薦業務的 online learni
33、ng 桶最近一周相比線上多模型融合最優桶提升 4.23%,相比隨機對照提升達 34.67%。另一資訊推薦業務其最近一周,12 相比 DNN 基準 uv-ctr 提升+0.77%,pv-ctr 提升+4.78%。實驗效果相比有較大的提升。備注 1:group embedding 是將相似 emb 特征分組,各自 lookup 求和后再concat,使得特征交叉在更高層進行。其設計是考慮到不同 group 的特征差異很大(如 user 和 item),不應直接對位求和。備注 2:inference 打分僅做 pointwise 排序,采樣雖改變數據分布但不改變偏序關系,因此并未在訓練上做補償。5
34、5、未來工作未來工作 彈性特征已經成為螞蟻實時強化深度學習的核心要素。它只是第一步,在解決特征空間按需創建問題后,它會帶來一個充滿想象力的底層架構,眾多技術都能在此基礎上深挖:在工程上,可繼續從分鐘級向秒級優化,進一步提升鏈路實時性并實現模型增量更新;在算法上,我們正在探索如樣本重要性采樣,自動特征學習,在線線性規劃與 DNN 的結合,實現優化器聯合決策等技術。由于在線學習是個復雜的系統工程,我們在開發和調優時遇到了大量的困難,涉及樣本回流,訓練平臺,模型打分,線上評估等一系列問題,尤其是穩定性,但基本都一一克服。為了保證線上結果穩定可信,我們在觀察和優化兩三個月后才發布這篇文章。本文作者為螞
35、蟻金服人工智能部認知計算組的基礎算法團隊,團隊涉及圖像、NLP、推薦算法和知識圖譜等領域,帶頭人為國家千人計劃專家褚崴,擁有定損寶和理賠寶等核心業務。參考文獻:1 McMahan,Brendan.Follow-the-regularized-leader and mirror descent:Equivalence theorems and l1 regularization.Proceedings of the Fourteenth International Conference on Artificial Intelligence and Statistics.2011.2 McMaha
36、n,H.Brendan,et al.Ad click prediction:a view from the trenches.Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining.ACM,2013.13 3Yuan,Ming,and Yi Lin.Model selection and estimation in regression with grouped variables.Journal of the Royal Statistical Soc
37、iety:Series B(Statistical Methodology)68.1(2006):49-67.4 Andrew,Galen,and Jianfeng Gao.Scalable training of L 1-regularized log-linear models.Proceedings of the 24th international conference on Machine learning.ACM,2007.5Scardapane,Simone,et al.Group sparse regularization for deep neural networks.Ne
38、urocomputing 241(2017):81-89.6 Yang,Haiqin,et al.Online learning for group lasso.Proceedings of the 27th International Conference on Machine Learning(ICML-10).2010.7Zhou,Yang,Rong Jin,and Steven ChuHong Hoi.Exclusive lasso for multi-task feature selection.Proceedings of the Thirteenth International
39、Conference on Artificial Intelligence and Statistics.2010.8 Yoon,Jaehong,and Sung Ju Hwang.Combined group and exclusive sparsity for deep neural networks.International Conference on Machine Learning.2017.9 Langford,L.Li,and T.Zhang.Sparse online learning via truncated gradient.JMLR,10,2009.10L.Xiao.
40、Dual averaging method for regularized stochastic learning and online optimization.In NIPS,2009.14 IJCAI 論文論文|打破傳統搜索排序,阿里首次提出商品間相互影響打破傳統搜索排序,阿里首次提出商品間相互影響的全局排序法的全局排序法 作者:瑞溪 小嘰導讀:搜索排序的傳統方法是通過各種方法對商品進打分,最后按照每個商品的分數進排序。針對傳統搜索排序方法的缺陷,本文首次提出了考慮商品間相互影響的全局排序方法。本篇內容已被國際人工智能聯合會議(IJCAI)收錄,下面,我們一起來共同探討。1 1、前言、前
41、言 傳統的搜索排序方法無法考慮到展示出來的商品之間相互的影響。類似地,傳統的針對單個商品估計 ctr、cvr 的方法也都基于這樣一個假設:商品的 ctr、cvr 會受到同時展示出來的其他商品(我們稱為展示 context)的影響。而實際上一個商品的展示 context 可以影響到用戶的點擊或者購買決策:假如一個商品周邊的商品都和它比較類似,但是價格卻比它宜,那么用戶買它的概率會高;反之如果周邊的商品都比它貴,那么用戶買它的概率就會大增。如果打破傳統排序模型展示 context 沒有影響的假設,該如何進排序呢?為此,我們首次提出一種考慮商品間相互影響的全局排序方法。我們將電商排15 序描述成一個
42、全局優化問題,優化的目標是反應用戶滿意度的商品成交額:GMV(Gross Merchandise Volume)。準確地說,全局排序的優化目標是最大化 GMV的數學期望。計算 GMV 的數學期望需要知道商品的成交概率,而商品的成交概率是彼此相互影響的,因此我們又提出考慮商品間相互影響的成交概率估計模型。首先,我們提出一種全局特征擴展的思,在估計一個商品的成交概率時,將其他商品的影響以全局特征的形式加入到概率估計模型中,從而在估計時考慮到其他商品的影響。然后,我們進一步提出通過 RNN 模型來精確考慮商品的排序順序對商品成交概率的影響。通過使用 RNN 模型,我們將電商排序變成一個序生成的問題,
43、并通過 beam search 算法來尋找一個較好的排序。我們在淘寶無線主搜索平臺上進大的實驗,相對于當時的淘寶無線主搜算法,取得 GMV 提升 5%的效果。2 2、全局排序方法、全局排序方法 全局排序階段的輸入是要排序的 N 個商品,輸出則是 N 商品的排序結果。我們用表示基礎排序輸出的 top-N 商品序;O 表示 S 的全排集合,表示 S 的一個排;另外,用表示商品 i 在排序 o 中的位置,即;表示商品i在排序o中的展示context,具體定義后面會分情況討論;表示商品的價值。我們將目標定義為本次搜索產生的 GMV,于是在給定 o 的情況下,就有 全局排序的最終目標就是找到一個期望收益
44、最大的排序:尋找這個最優排序需要解決兩個問題:問題 1.這個概率如何去準確地估計;16 問題 2.尋找是個組合優化的問題,搜索的時間復雜度是 N!的,需要找到合高效的近似算法。問題 1 是提高效果的關鍵,估計得越準,后面組合優化的效果越明顯,反之則會導致第二步的組合優化沒有意義。從論上講,是 i 的完整的展示 context,但是如果完整地考慮展示 context,問題 2 的組合優化復雜度很難降低下來。為能高效求解問題 2,需要對進適當地簡化。根據對的簡化程度,我們把全局排序模型分成兩類,分別在下面介紹。2.1 全局特征擴展 第一類模型只用展示 context 的商品集合信息,而去深究真實的
45、展示context 的順序,即。直觀上解,第一類模型假設用戶在判斷是否購買商品 i 的時候,只記得他看過所有的商品集合 S,而在意 S 中商品的出現順序。這種情況相當于用戶知道自己的挑選集合,從中比較和挑選出最想購買的商品。我們將商品 i 本身的特征成為局部特征。這時可以把商品 i 的局部特征與其他候選商品的局部特征進比較,得到這個商品的特征與候選集合其他商品比較的結果,并且把這些比較的結果作為包含全局信息的特征加入到的預測中。以價格特征為,我們會按照價格緯度對 S 排序,將商品 i 的價格位次均勻地歸一化成之間的一個值(最貴的價格變成變成 1,最宜的價格變成 0),這樣的價格特征就擴展出 i
46、 的價格全局特征。通過上述的方式可以對的每一維按照其位次擴展,得到相應的全局特征,最終我們將局部和全局特征拼接起來作為考慮展示 context 的商品 i 的特征。這時展示 context 通過特征擴展而加入到模型中來,幫助模型預測成交概率。17 在第一類模型的假設下,問題 2 的組合優化就變得很簡單。商品集合是靜態的,因此各個商品的成交概率能分別獨立計算出來。但是 DNN 計算出的沒有考慮到商品 i 的排序位次,應該根據 position bias 對做一個修正,即。對于求解問題 2 來說,我們需要具體知道的值,只需要知道 bias 隨著位置從前往后依次降低就可以,因為這時只要按照從高到低對
47、商品進排序,就一定能得到收益最大的排序。2.2 排序序生成 第二類模型僅僅考慮展示 context 的商品集合信息,還精確地考慮到排在i 之前的商品的順序。與第一類模型類似,展示 context 的商品集合信息還是通過擴展全局特征的方式加入到每個商品的特征中,即。但是與第一類模型同,計算時,第二類模型還考慮排在 i 前面的真實順序,即,這樣問題 1 變成一個序概率估計的問題,最直觀的方法就是用 RNN 來計算。與第一類模型同的是,由于我們考慮排在 i 之前的商品的順序,前面商品的排序變化會影響商品的成交概率。這時就能分別獨立計算每個商品的收益,因為商品 i 的收益要受到排在它前面的商品的影響;
48、而在最終排序確定之前,無法知道商品 i 之前的排序是么,而且我們的目標就是去確定這樣一個最優的排序。同時,正是因為只考慮排在 i 之前的商品順序,使得我們可以從前往后一步一步地排序,每一步選擇排在當前位置的商品。為于解,可以先看一種簡單的情況:分位排序。所謂分位排序是指在排序時先將收益最大的一個商品排到第一位,然后條件在第一個商品之上,重新計算剩余商品的收益,并選出收益最大的商品排到第二位,依次類推。很明顯分位排序是一種貪婪的算法。beam search 算法可以解為貪婪算法的擴展,beam search 在每一步搜索的時候會保收益最大的個序,一直到最后一步,再返回最好的一個序。18 原始的
49、RNN 模型解決好長距離依賴的問題:當我們計算第 20 個位置的商品成交概率時,排在頭 4 位的商品幾乎就沒有任何影響。而排在前面的商品由于是用戶最先看到的,一般會有較深的印象,對后面商品的影響應該被忽。為使模型有能考慮到長距離和對排序位置的依賴,我們設計一種新的attention 機制加入到 RNN 的網絡中。通過這種引入 attention 并且加入位置embedding 的方式,模型可以根據數據自動學習同位置 attention 該如何調節以得到好的預測結果。直觀來看,模型的結構圖如下:3 3、實驗效果、實驗效果 3.1 成交概率估計 19 其中 DNN 是只使用作為特征的 baseli
50、ne。reDNN 是使用全局特征的DNN全局排序模型,miRNN是RNN全局排序模型,miRNN+attention是增加我們的 attention 機制的 RNN 模型。3.2 淘寶無線主搜線上 A/B 測試 使用 miRNN 和 miRNN+attention 模型做排序,算法的時間分別是和,其中是被排序的商品數,是 beam search 算法的 beam size 參數。對于淘寶搜索這樣的大規模的搜索平臺來說,這樣的復雜度顯然是太高。過我們可以在 baseline 排序的基礎上,只對排在最前面的 N 個商品進排序,只要 N 取得大,計算就是可以承擔的。同時,因為排在前面的商品對效果的影
51、響最大,對這些商品重新排序的收益也比較大。我們對比同 N 和 k 下,本文提出的各種全局排序方法的 GMV 增長(反應模型效果),搜索引擎 latency(反應計算負擔)的增長曲線:20 21 最終效果總結:GMV、搜索引擎 Latency 想對于 baseline DNN 的增長:4 4、結論、結論 22 我們首次提出考慮商品間相互影響的電商全局排序方法,并在淘寶主搜索上取得明顯的效果。目前最大的問題就是 RNN 的方法效果雖然好一些,但是帶來的計算負擔太大,如何減少計算將是重要的研究方向。更多的技術細節,請參考論文原文:https:/arxiv.org/abs/1805.08524 23
52、SIGIR 阿里論文阿里論文|一種端到端的模型:基于異構內容流的動態一種端到端的模型:基于異構內容流的動態排序排序 作者:高子喆、高正、黃恒、蔣卓人、嚴玉良 小嘰導讀:搜索引擎在電商領域扮演著極其重要的角色,它可以很好地引導用戶的潛在購買行為。傳統電商搜索引擎通常指商品搜索引擎,用戶輸入一個query,返回一個商品列表。然而,隨著自媒體的發展,越來越多的用戶更愿意分享自己的購物體驗,他們以文章、評價和視頻等形式將自己的觀點展示出來。在這篇文章中,這些統稱為內容流。為了給用戶提供更多的購物幫助,內容搜索引擎應運而生。在用戶搜索商品的時候,給用戶推薦高質量的內容流,幫助用戶選擇自己中意的以及用戶可
53、能喜歡的商品。1 1、研究背景研究背景 目前,對于異構數據的排序還存在很多的挑戰。首先,商品搜索引擎和內容搜索引擎所提供的跨領域知識要被充分利用,使用戶在商品搜索引擎中的行為偏好應用到內容搜索引擎中。其次,現有的算法需要支持多媒體內容的排序。24 在本文中,我們的目標是解決商品搜索引擎和內容搜索引擎中異構數據排序的問題,給用戶推薦豐富的、個性化的內容流。我們把算法分成了兩部分:1)異構內容流類型排序,即決定每個坑位展示何種類型的內容流,文章、視頻還是商品列表;2)同構的內容流內容排序,第二個步驟使用廣為人知的 DSSM 模型,在這個內容流類型下,對內容流的內容進行排序,選擇相似度最高的內容插入
54、。本文主要聚焦在第一個步驟。2 2、所提出的算法所提出的算法 本文提出兩種算法用于內容流類型的排序,獨立多臂老虎機算法和個性化馬爾科夫深度神經網絡算法。在獨立多臂老虎機算法中,我們需要計算一個比例,由 ipv 和 pv 計算而來,如果更高,表示當用戶在搜索列表中看到這個內容流的時候,更有可能點擊。對于每一個搜索坑位,我們先會計算一個的先驗分布,這里我們使用 Beta分布,其中 i 表示 post,list,video。代表類型 i 的歷史ipv 點擊數據,表示歷史瀏覽數據。的期望是,后驗概率分布通過一個實時的流數據任務來更新。表示為如下的概率公式:25 通過這種方式,所有坑位的內容流類型都是獨
55、立的,偽代碼如下:有依賴的異構數據流類型選擇由三種因素決定:用戶,query 和前一個坑位類型。首先,在同一個 query 下,用戶可以表示出不同的偏好。比如用戶搜索“連衣裙”,某個用戶可能更偏好介紹的文章,另一個用戶可能會更喜歡視頻的介紹。而且,沒有用戶喜歡單一的類型展示,或多或少都喜歡多元化的內容流類型的排列。針對同一個 query,應該給不同的用戶展示不同的排序結果。我們提出的個性化馬爾科夫深度神經網絡算法包含兩個步驟,包括對用戶和 query 的表示任務學習和坑位類型的預測學習。用戶和 query 的低維表示 我們構建了一個 graph,包含用戶,query 和內容。使用 node2v
56、ec 學習用戶和 query 的 embedding,如下圖:26 圖中的中間部分是訓練節點的 embedding 表示。輸入層是節點的獨熱編碼。權重矩陣 W 是所有節點的 embedding,其將節點獨熱編碼映射到一個 D 維的空間中??游活愋皖A測 我們的目標函數定義為 其中 X 表示輸入第 i 個坑位的特征,為了簡化我們 pMDNN 模型并且加速運行的速度,我們只使用跟當前預測的坑位前一個坑位的信息。然而這帶來了一個問題,如何預測第一個坑位的類型,這里我們使用到了跨領域知識,我們從用戶最近在商品搜索引擎中瀏覽的寶貝信息中抽取將其映射為內容搜索坑位特征,使其滿足當前模型的輸入要求。我們的模型
57、輸入層為用戶的 embedding,query embedding 和前一個坑位的 embedding??梢员硎緸?27 三個全連接層接入輸入層中。每一層使用一個線性分類器和交叉熵作為loss function。激活函數選擇 Relu,輸出層應用 Softmax 為激活函數。3 3、實驗結果、實驗結果 我們將提出的模型部署到 A/B 測試分桶環境中,選擇了 5 個主要的指標來對比兩個模型 iMAB 和 pMDNN。pv 代表展示內容的個數;pvclick 表示展示的內容多少被點擊;uv 是多少個用戶使用了內容搜索引擎,uv click 表示多少用戶點擊了內容流;至于 uv ctr,表示用戶是否
58、點擊內容流的比率。下表展示了實驗結果,其中 pMDNN 的實驗結果優于 iMAB。尤其是 uv click和 uv ctr,這對于我們的場景非常重要,因為 uv click 的增長表示更多的用戶傾向于內容搜索引擎因為其能幫助他們更好的購物。同時,uv ctr 的增長展示出使用內容搜索引擎的用戶對我們推薦的內容流是認可的。至于 pv click 的提高也代表了我們提出的模型更加的符合用戶的個性化需求?;?pv click 和 uv ctr,我們可以認為 pMDNN 應用了跨領域知識并且全局優化多坑位類型確實要優于坑位獨立的 iMAB。參考文獻:1 Ro bert Busa-Fekete and
59、Eyke Hullermeier.A survey of preference-based online learning with banditalgorithms.2 Ali Mamdouh Elkahky,YangSong,and Xiaodong He.2015.A multi-view deep learning approach for crossdomain user modeling in recommendation systems.In Proceedings of the 24thInternational 28 Conference on World Wide Web.
60、International World Wide WebConferences Steering Committee,278288.29 SIGIR 阿里論文阿里論文|可視化理解深度神經網絡可視化理解深度神經網絡 CTR 預估模型預估模型 主要作者:郭霖、葉卉、蘇文博、劉賀歡、孫凱、向杭、侯俊 小嘰導讀:盡管業界對于圖像處理和自然語言處理領域,在算法可解釋性方向上已經取得了一些進展,但對于電商與廣告領域,目前還是空白。另一方面,深度學習技術已經開始被大規模應用到廣告業務中。廣告是很多互聯網現金流的重要來源,是核心業務。深度神經網絡模型是核心業務中的核心模塊,有效理解和評估這一“黑盒”算法變得非
61、常重要。下面,我們針對可視化理解深度神經網絡 CTR 預估模型進行探討。1 1、背景背景 深度學習在研究和應用領域都已取得了重大的進展。但迄今為止,深度學習算法仍不夠透明,多被做“黑盒”使用。近年來,人們開始致力于去更透徹地理解深度學習內部的復雜機理,從而確保算法安全可靠或達到進一步優化的目的。由于人類對于世界的認知和感受主要來自于視覺,良好的可視化可以有效地幫助人們理解深度神經網絡,并進行有效的評估、優化和調節。而可視化的前提是對模型進行相關數據透出,從而進行可視化分析評估,最終使得神經網絡從“黑30 盒”向“白盒”過渡。針對這些挑戰,我們搭建了一個面向工業級大規模深度學習應用的可視化分析平
62、臺DeepInsight。我們將針對電商場景下的廣告點擊率(CTR)預估,以一個簡單但具有代表性的深度神經網絡模型為例,舉例介紹在幾個典型而重要的問題上模型可視化分析的應用:1.泛化效果評估;2.特征設計;3.模型結構設計。大多數圖像或自然語言處理的研究著眼于從樣本粒度出發去可視化理解模型。區別于這些研究場景,工業界的 CTR 預估面對的是海量規模的數據與特征、有偏的帶標簽數據、稀疏而復雜多樣的信號模式,而最終效果評估首要關注的是宏觀的商業指標。從業務特點出發,我們以統計信號入手,探索理解模型在整個目標數據集上的宏觀表現。相關實驗工作的細節請參閱我們的英文版論文。2 2、平臺介紹平臺介紹 De
63、epInsight 平臺面向工業級深度學習算法研發與應用,提供完善的模型訓練任務生命周期管理,致力于提供高效全面的數據透出方式,并以深度學習數據的多維度可視化、大規模數據實時分析、數據再建模等方向作為核心功能。平臺基于分布式微服務集群化部署,由前端 WEB 平臺+后端微服務+深度學習組件等三個子系統構成,各個微服務實例之間是隔離的,互不影響;目前已接入Tensorflow 和 MXNet 兩個大規模并行訓練框架,支持多任務學習、遷移學習、強化學習、GAN、模型融合等復雜場景,旨在通過數據透出及可視化等手段,提高神經網絡的可解釋性,解決模型調試及問題定位分析等系列問題;以生命周期管理的方式執行訓
64、練任務,從而提供一站式的可視化評測服務。平臺在賦能業務的同時,業務也會將后期處理過的數據反饋給平臺,從而構建以 DeepInsight 為基礎數據核心的 AI 可視化生態圈。31 3 3、算法實驗算法實驗 不失代表性,模型采用簡單的 GwEN 式結構1。對于每條輸入樣本,稀疏特征 ID 被映射為低維稠密的 Embedding 向量,然后以特征組為單位將每組的特征ID Embedding 進行 sum pooling 操作,得到該特征組的 Embedding 向量。各個特征組的 Embedding 向量被連接在一起,作為輸入傳給后續的全連接層。模型總共有 4 個全連接隱層并以 Relu 為激活函
65、數。輸出層通過 sigmoid 操作輸出預估點擊率(PCTR)。對于訓練至不同階段的模型,我們通過動態透出的方式收集模型內部在不同數據集上的狀態數據,以此為可視化分析的基礎。4 4、泛化效果與神經元狀態波動泛化效果與神經元狀態波動 眾所周知,深度神經網絡有強大的擬合能力。隨著訓練進行,模型會不斷地去擬合訓練數據,對輸入信息中的微小差別越來越敏感。給定模型,每個神經元的狀態由樣本輸入決定。數據集中不同樣本輸入的變化導致神經元狀態的波動,這一波動的程度反應了模型對于輸入信息的敏感程度。另一方面,模型對訓練數據過于敏感會降低其泛化能力。我們的可視化清晰地展現了模型泛化效果與神經元狀態波動程度之間的聯
66、系。32 下圖展示了模型第四隱層中每個神經元狀態值的平均波動程度,對比了不同訓練階段的模型在訓練與測試集上的統計表現。在過擬合之前,神經元的波動程度保持相對穩定,訓練/測試集間較為一致。過擬合時,波動程度顯著上升,并且訓練集明顯強于測試集。這正反映了過擬合狀態下的模型對訓練數據過度敏感。我們聚合出整個隱層的所有神經元的平均波動程度,發現該指標可以與模型在不同數據集上的效果變化(AUC)相關聯。神經元的波動程度為我們提供了一種理解與檢測過擬合的手段。另外,這個指標計算不需要標簽,因此可以幫助我們在一批拿不到點擊反饋的數據集上的評估模型效果。5 5、特征影響力特征影響力 比起傳統的邏輯回歸模型,深
67、度神經網絡的一個優點是具有從輸入中自動挖掘非線性交叉特征的能力。但是實踐發現,輸入特征本身的質量好壞也極大地影響著模型的效果。什么特征對模型比較重要?對于傳統的邏輯回歸模型,我們可以通過特征的權重來認識其重要性。但是,這對于深度神經網絡是不適用的。我們利用梯度信息來認識各個特征組對模型的影響。將全連接網絡的輸入針對模型輸出(PCTR)求導。該梯度的強度表示了模型的輸出預估對于該輸入的微小變動的敏感度,從而可以反映出該輸入對于模型的影響力。梯度越強,表明該輸入的對模型的影響越大。以每個特征組聚合各自 Embedding 所對應的梯度的平均強度,可以描述該特征組對模型的影響。下圖對比了兩個不同狀態
68、的模型(未過擬合 Vs 過擬合)中的各個特征組的平均影響力??梢郧逦乜吹絻蓚€狀態的區別:過擬合時模型對少量幾組特征過度敏感,尤其是編號為 1 和 11 的特征組。事實上,這兩個都是具有海量 ID 取值的單個特征如 user ID,所需參數空間極大,而本身攜帶的可泛化信息確實很少。33 6 6、隱層的效用與其信息表征隱層的效用與其信息表征 我們通過可視化隱層的輸出向量,展示模型對輸入信息的綜合表征,以幫助我們了解模型的內在機制以及模型結構對于效果的影響。下圖將不同隱層的輸出向量經過 tsne 投影到 2 維平面。與2針對圖像分類的可視化結果不同,我們沒有觀察到點擊與不點擊兩類樣本點的分離。這是
69、由我們場景下樣本信息的高噪聲所決定的。但是,可以看到點擊樣本點有空間聚集。第三層比第二層有更明顯的聚集,表明第三層表征的信息更有區分能力。但是第四層卻并沒有顯示出進一步提升。反過來指導模型結構設計,我們的實驗證明訓練沒有第四層的模型也可以達到與四隱層模型相近的效果。7 7、隱層的效用與其表征再建模隱層的效用與其表征再建模 34 上節介紹了了解每個隱層對于模型分類效果帶來的收益。我們的DeepInsight 平臺可以讓我們很方便地對透出數據進行再建模,來進一步深化對模型結構的認識。我們使用 Alain 和 Bengio 提出的探測層方法3,將隱層對于樣本的表征向量作為輸入特征,同樣以樣本的點擊反
70、饋為標簽,訓練邏輯回歸 probe 模型。對比不同隱層所訓練出的 probe 模型的效果,可以幫助我們了解隱層結構對模型效果的作用。如下圖,可以明顯的看到,從第一到第三層,隱層輸出信息對于點擊行為的區分力逐層提升。第四層并沒帶來明顯收益,與上節的結論一致。8 8、小結小結 我們在電商廣告場景下探索深度學習可視化與可解釋性,通過分析深度神經網絡模型內部數據,打開這個“黑盒”,以求深入理解模型的內部狀態與機制。這些探索被成功地落地到平臺服務,從而助力算法研發與業務應用。參考文獻:1 Guorui Zhou,Chengru Song,Xiaoqiang Zhu,Ying Fan,Han Zhu,Xi
71、ao Ma,Yanghui Yan,Junqi Jin,Han Li,Kun Gai.2017.Deep InterestNetwork for Click-Through Rate Prediction.arXiv preprint arXiv:1706.06978(2017).35 2 Paulo Rauber,Samuel Fadel,Alexandre Falcao,andAlexandru Telea.2017.Visualizing the hidden activity of artificial neuralnetworks.IEEE transactions on visua
72、lization and computer graphics 23,1(2017),101110.3 Guillaume Alain and Yoshua Bengio.2016.Understanding intermediate layers using linear classifier probes.arXivpreprint arXiv:1610.01644(2016).36 機器如何“猜你喜歡”?深度學習模型在機器如何“猜你喜歡”?深度學習模型在 1688 的應用實踐的應用實踐 作者:顧海倩 小嘰導語:本文主要介紹了 Wide&Deep、PNN、DeepFM 三個模型以及1688C
73、BU 事業部的顧海倩同學提出的 Wide&Resnet 模型結構,并嘗試在 1688 猜你喜歡的真實數據場景中進行應用。文內有一些實驗結果,也提出了一些遇到的問題,希望能與大家一起分享討論。1 1、背景、背景 37 猜你喜歡是推薦領域極其經典的一個場景,在 1688 首頁無線端猜你喜歡欄目日曝光約 23w,其中約 72%的用戶會產生點擊行為,人均點擊約 8 次。在我們的場景中,這部分是一個相對較大的流量來源。我們算法要做的就是通過用戶的真實行為數據,預測用戶最可能感興趣的商品進行展示,以提高點擊率,從而提高購買量。不同于搜索,這種用戶帶有明確目的的行為,猜你喜歡是在用戶沒有明確目的時讓用戶“逛
74、起來”,挖掘用戶的潛在喜好商品,增強用戶體驗。整個猜你喜歡的框架如圖。用戶產生的實時數據放在 ABFS 上,通過 TPP 傳入 BE,在 BE 中通過 swing、c2i 等算法召回 1000 個商品(粗排),再把這 1000個商品通過 TPP 傳入 RTP 中在線打分,最后把分數最高的 600 個商品按得分展現給用戶(精排)。離線在 Porsche 平臺上調試模型,調到最優結果再發布到 RTP看線上效果。ABFS(Ali Basic Feature Server)ABFS(Ali Basic Feature Server),統一特征服務平臺:,統一特征服務平臺:該模塊主要負責用戶實時數據的處
75、理以及特征的統計工作,如基礎行為特征(點擊、收藏、加購等),統計特征(點擊次數、點擊率等),并傳遞到 TPP 供 BE 系統調用;TPPTPP(The Personalization PlatformThe Personalization Platform),阿里個性化平臺:),阿里個性化平臺:集成RTP、IGraph、BE 等常用服務,方便數據的流動調用,降低開發成本,幫助業務和算法快速上線迭代;38 BEBE(Basic EngineBasic Engine),向量化召回:),向量化召回:是 DII 上的一個為推薦場景定制的召回引擎服務,負責從多種類型的索引表中召回商品,并關聯具體的商品信
76、息進行過濾和粗排。線上召回效率極高,可以在幾毫秒內對全庫商品召回結果;iGraphiGraph 平臺:平臺:超大規模分布式在線圖存儲和檢索。在我們的流程中主要用來儲存一些用戶特征,用戶偏好類目和熱門商品召回等。因為這些信息不需要頻繁更新,存到 iGraph 上方便存取和調用;RTPRTP(Real Time PredictionReal Time Prediction),實時打分服務系統:),實時打分服務系統:利用 Swift 增量傳輸模型,使用實時 BUILD 索引技術來實現特征和模型的秒級更新,RTP 系統在收到TPP 推薦系統的前端請求后,進行 FG 的實時特征產出,并對請求的 item
77、 list 中每個 item 計算出一個分值,是 CTR、CVR 各種機器學習模型預估的專用服務器;PorschePorsche 在線學習平臺:在線學習平臺:Porsche 是基于 Blink 的分布式流式計算框架,提供了日志處理、特征計算和實時建模的插件接口。實時更新的模型和特征通過swift 秒級別同步 RTP 等服務端。從用戶發生交互行為、行為樣本被實時系統接收和解析、加入在線訓練、將更新的模型參數發送給服務端到最終新的推薦結果被用戶感知,這個過程高度實時化、在線化。2 2、模型簡介、模型簡介 1.搭積木 39 深度學習模型很大程度上來自不同基礎模塊的組合,通過不同方式組合不同模塊,構建
78、不同的模型。最經典的就是 Google 的 Wide&Deep 模型,結合深度模塊 DNN 和線性模塊 LR,讓模型同時擁有記憶性和泛化性。在 WDL 之后,學術界和工業界在此結構上有很多其他的嘗試。下面分析幾個我試過的網絡。2.Wide&Deep 這是 Google 提出的非常經典的網絡結構,論文見Wide&Deep Learning for Recommender Systems。離散特征經過 Embedding 和連續特征一起輸入到DNN 側,Wide 側是一些人工交叉(如用笛卡爾積)特征,主要交叉的是 id 類特征,來學習特征間的共現。主要公式如下:Wide 側 LR 模型的記憶性很強
79、,比如用戶買了一本科幻書,下一次再出現這樣的組合,模型就會記住判斷正確。但若此時來了一本科學書,LR 模型不一定能分對,所以需要 Deep 側 DNN 模型的補充。40 Deep 側 DNN 模型通過 Embedding 層挖掘特征間的語義相關性,比如上個例子中,通過 Embedding 模型可以學到“科學”和“科幻”是相似的,從而也能推出用戶也可能喜歡科學書。這樣,通過 DNN 和 LR 模型的結合,Wide&Deep 模型有很好的記憶性和泛化性。這也是我們目前猜你喜歡線上在用的模型。3.PNN PNN 的思想來自于對 MLP 學習的交叉特征的補充,論文見Product-based Neur
80、al Networks for User Response Prediction。作者認為 MLP 不能很好地學出特征間的交叉關系,所以提出了一種 product layer 的思想,也就是基于乘法的運算強行顯式地進行二階特征交叉,結構如下圖:從結構圖可以看出,product layer 可以分成 z 和 p 兩部分。線性部分 z 直接從 Embedding 結果得到,非線性部分也就是乘積部分,這里的乘積有兩種選擇,內積或者外積。但這種結構的受限之處在于,它要求輸入特征 Embedding 到相等的維度,因為維度相同才能做乘積運算。41 4.DeepFM DeepFM 由華為諾亞方舟實驗室和哈
81、工大共同提出,論文見DeepFM:A Factorization-Machine based Neural Network for CTR Prediction。它的結構很像 Wide&Deep 與 PNN 的結合,它是把 Wide&Deep 中 Wide 側的 LR 換成了乘積結構 FM,通過 FM 和 DNN 分別提取低階和高階特征。而且這兩部分共享Embedding 輸入。結構如下圖:FM 部分是一個因子分解機。關于因子分解機可以參閱 Steffen Rendle 在ICDM,2010 發表的文章Factorization Machines。因為引入了隱變量的原因,對于幾乎不出現或者很少
82、出現的隱變量,FM 也可以很好的學習。FM 的公式如下:而且在 FM 的文章中,作者還給出了求解交叉項的化簡公式:42 跟 PNN 一樣,因為 FM 強制特征間二階交叉,所以需要把特征 Embedding 到相等長度的維度,且 DeepFM 結構兩邊的輸入是共享的,不需要像 Wide&Deep 一樣人工給 LR 模型構造交叉特征,節省了人力。但在集團實際應用中,不同特征的維度相差很大,比如性別只有 3 維(男、女、未知),而 id 類特征多達上億維,不可能都 Embedding 到相同的長度。這里可以參考淘寶搜索團隊的做法,通過 Group product 的方式分組 Embedding:雙
83、11 實戰之大規模深度學習模型。他們在雙十一中也取得了不錯的效果。5.Wide&Resnet 這個結構是我自己在工作中的嘗試。想法來源于對 Wide&Deep 模型的改進,把原來Wide&Deep結構中DNN部分改成了一個類似Resnet那樣skip connection的結構,也就是信號分成兩路,一路還是經過兩個 relu 層,另一路直接接到第二層 relu,形成類似殘差網絡的結構。這樣做的好處是,可以把不同層級的特征進行組合,豐富特征的信息量。兩個模型的對比圖如下:43 此外,我還發現單純從 DNN 改到 Resnet 的結構并沒有多少作用,但是在Resnet 中加入 batch norm
84、alization,即 BN 層后,網絡的表達能力得到了很大的提高??梢詮碾x線 CTR 實驗的準確率中得以提現。離線效果見第四部分。3 3、訓練數據、訓練數據 訓練數據來自目標日前七天內用戶在 1688 首頁猜你喜歡模塊行為數據,曝光點擊 label 為 1,曝光未點擊則 label 為 0。1688 猜你喜歡使用的數據特征體系如下:44 圖中滑窗期指目標前 1/3/5/7/15/30 天的行為窗口。1688 平臺與淘寶等傳統的 B2C 平臺不同,1688 是一個 B2B 的平臺,意味著我們的買家和賣家都是 B 類用戶。B 類用戶與 C 類用戶在特征上有明顯的不同,比如:B 類用戶特征會有是否
85、是淘寶賣家;相比于 C 類,B 類用戶沒有年齡、性別、社會狀態(是否有孩子、車子、房子)等人口統計學特征;對于 1688 的商品也沒有品牌特征,因為我們主打的是非品牌類的批發市場。4 4、實驗結果、實驗結果 在 Porsche 平臺上做離線實驗,可以看到帶 BN 層的 Wide&Resnet 的模型比baseline 的 Wide&Deep 模型在訓練集和測試集上的 AUC 基本都要高 1 個多百分點。經過三次增量,即每批數據從上一次訓練的模型基礎上進一步迭代訓練,AUC能提高 5%6%。45 從 loss 曲線中更能明顯看出,加了 BN 后的模型,loss 基本在 0.3 之下,穩定在一個較
86、小水平;而原來 Wide&Deep 模型的 loss 波動范圍較大。所以 BN 對模型的穩定性起到了很明顯的效果。5 5、調參經驗、調參經驗 分享一些其他的調參經驗:46 6 6、總結、總結 本文在 Wide&Deep 模型上進行改進,提出 Wide&Resnet 結構,并通過 Batch Normalization 的方式大幅提升網絡效果,是一次有意義的探索。感謝霍博和 CBU 的算法小伙伴們一個多月的支持!以及特別感謝哈西師兄,易山師兄的指導!關于我們 1688CBU 事業部是阿里集團新零售事業群的核心部門,聚焦 B 類電商,建設B2B 數據和業務閉環。CBU 技術部新零售算法團隊擔負著技
87、術創造新的業務價值的使命,我們已經將一系列深度模型應用于推薦、搜索、NLP、品類規劃等領域,沉淀出一套有競爭力的技術體系,并且堅持在算法深度的道路上持續探索。歡迎加入 CBU 技術部新零售算法團隊!團隊長年招聘搜索、推薦、NLP 相關算法同學,有意向歡迎郵件至 chengfu.huocfalibaba- 參考資料:1 Cheng,Heng-Tze,et al.Wide&deep learning for recommender systems.Proceedings of the 1st Workshop on Deep Learning for Recommender Systems.ACM
88、,2016.2 Qu,Yanru,et al.Product-based neural networks for user response prediction.Data Mining(ICDM),2016 IEEE 16th International Conference on.IEEE,2016.47 3 Guo,Huifeng,et al.Deepfm:a factorization-machine based neural network for ctr prediction.arXiv preprint arXiv:1703.04247(2017).4 Rendle,Steffe
89、n.Factorization machines.Data Mining(ICDM),2010 IEEE 10th International Conference on.IEEE,2010.48 為電商而生的知識圖譜,如何感應用戶需求?為電商而生的知識圖譜,如何感應用戶需求?作者:玉昆、喜闋、遠尚、弘朗、子尹、久越 小嘰導讀:本文從需求分析和體系化構建的角度出發,闡述在電商這一特殊領域的知識圖譜構建過程中,形成的一整套概念體系,還有在此過程中,通過算法、工程、產品、運營和外包團隊投入大量精力,通過不斷磨合逐漸完善的平臺架構和審核流程。1 1、背景、背景 電商認知圖譜從 17 年 6 月啟動以
90、來,通過不斷從實踐到體系化的摸索,逐漸形成了一套較為完善的電商數據認知體系。在當前集團不斷拓展業務邊界的背景下,數據互聯的需求越來越強烈,因為這是跨領域的搜索發現、導購和交互的基礎,也是真正能讓用戶“逛起來”要具備的基礎條件。但在此之前,我們需要對當前的問題做一個分析。1.1 問題 49 更復雜的數據應用場景不僅是傳統的電商,現在我們面臨的是新零售、多語言、線上線下結合的復雜購物場景,所用到的數據也往往超出了以往的文本范圍,這些數據往往都具有一些特點:非結構化互聯網的大量數據都是分散在各個來源而且基本是非結構化文本方式來表示,目前的類目體系從商品管理角度出發,做了長期而大量的工作,仍然只是覆蓋
91、了大量數據的冰山一角,這對于認知真正的用戶需求當然是遠遠不夠的。充滿噪聲:不同于傳統的文本分析,目前集團內的數據大部分是 query、title、評論、攻略等,這些數據由于用戶習慣和商家訴求,會存在非常不同于普通文本的語法結構,也會由于利益原因存在大量噪聲和臟數據,這也為真正發現用戶需求并結構化帶來了極大的困難。多模態、多源:隨著集團的業務擴展,目前的搜索推薦不僅容納了商品中的文本信息、大量視頻、圖片也作為內容被使用、如何融合各個來源的數據、如何在關聯多模態數據也是數據建設的一個難點。數據分散,無法互聯:從目前的商品體系建設來說,各個部門由于業務快速發展,往往需要維護自己的一套 cpv 體系,
92、這也是后期做商品管理和搜索的非常關鍵的一環,但是由于應用場景的行業屬性不一樣,比如閑魚的包配飾由于業務場景高頻會是一個需要再細分的類目,但在淘系由于交易搜索低頻,鞋包配飾僅僅是二手閑置下的一個小類目,這造成各個部門需要費力地維護在自己的cpv 體系上的查詢和搜索,每次都要重建自己的類目體系,重新支持存儲查詢,重新關聯商品,重新做類目預測等。如何建設一個比較通用的面向應用的概念體系,支持根據業務需求提供查詢服務,已經迫在眉睫。缺少數據的深度認知:數據的深度認知不是認知商品,而是認知用戶需求之間的關聯,如何能在用戶搜索葉酸”的時候認知到她有備孕需求,如何能在用戶大量點擊燒烤調料和工具的時候認知到他
93、需要進行野外燒烤,是目前全集團都缺少的。1.2 需求分析 通過如下的背景介紹,我們可以明確到,為了構建一個全局統一的知識表示和查詢框架,我們需要如下的關鍵工作。50 復雜場景的數據結構化:在復雜的場景下,我們首先要做的是數據清洗,通過頻次過濾、規則和統計分析把臟數據去掉,然后通過短語挖掘,信息抽取等方法把高可用的數據抓取出來,進行數據的結構化和層次劃分。分散數據的統一表示框架:對于管理分散數據,我們首先是需要定義一個全局的 schema 表示和存儲方法,然后基于 schema 進行概念數據的融合,屬性的挖掘和發現,在數據關聯上有可能要通過各種表示學習的方法來完成。數據深度認知:深度認知包含兩個
94、方面,一個是數據本身的認知,一個是數據關聯的認知,通過行為和商品本身的信息我們可以認知到用戶購買商品的意圖,通過外部數據的輸入和摘要我們會得到常識類和商品體系之外的用戶需求的關聯。1.3 電商認知圖譜 為了解決上面的問題,我們提出了電商認知圖譜(E-commerce ConceptNet),目標是建立電商領域的知識體系,通過深度認知用戶需求,實現電商場景下關聯人-貨-場的聯動,賦能業務方和行業。1.3.1 模塊劃分 從整體劃分上來說,認知圖譜分為四塊比較重要的工作,通過將不同類型的concept(user,scene,virtual category 和 item)構建為一個異構圖,來實現用戶
95、-場景-商品的關聯:51 用戶圖譜構建 用戶圖譜除了通用的用戶畫像信息(年齡、性別、購買力),也會有“老人”,“小孩”等人群數據,和用戶的品類屬性偏好數據。1.3.2 場景圖譜構建 場景可以看做是對用戶需求的概念化,從現有的 query 和 title 中識別出用戶需求,泛化為一個通用的場景(scene concept),并建立諸如戶外燒烤,度假穿搭之類的概念是場景圖譜的主要工作。通過不斷細化的場景需求,我們將跨類目和品類,代表了一類用戶需求的概念抽象為購物場景(sc)。挖掘了概念相當于我們得到了圖上的節點,在概念挖掘之上,我們又著手建立概念與類目和品類,概念和概念之間的關系,相當于建立了圖上
96、的有向邊,并計算邊的強度,具體流程如下:52 截止目前,我們已經產出 10w+概念和 10 倍的品類類目關聯。1.3.3 品類細化 品類細化的來源是由于目前的類目體系會過粗或者過細,從構建上包括兩個層面:品類聚合:比如連衣裙“從認知層面上來說都是一個品類,但是由于分行業管理的原因會同時存在女裝”,男裝和童裝等不同類目中,這時候就會存在于兩個一級類目下,所以就需要有一個偏常識的體系來維護對真正連衣裙的認知。品類拆分:品類細化是源于我們發現現有的類目體系不足以聚合一類用戶需求,比如有一個“西藏旅游”的場景,在“紗巾”類目下我們需要更多的細節,這時候就需要一個叫做“防風紗巾的虛擬類目。這個過程同樣是
97、存在entity/concept extraction 和 relation classification 的,當前我們主要針對類目和品類品類上下位建立關系。53 截止目前,我們已經有融合了 cpv 類目樹,品類類目關聯,和外網數據的 pair 對 68.9w+對。1.3.4 商品圖譜構建 短語挖掘:商品圖譜端我們需要的是做更多的商品屬性認知,我們知道,完善的 cpv 體系的前提是 phrase 的認知,針對此我們建立了一個 bootstrap 框架下的 cpv 挖掘閉環,目標是能夠長期有效積累 cpv 數據,擴大 query 和商品的認知(這也是商品打標的數據來源之一)。舉例來說:截止至目前
98、,我們已經完成了 pv top70 的類目審核,增加了 12W+的 cpv 對,term 能夠全量被識別的 query 占比已經從 30%提升到 60%(由于目前采用中粒度分詞進行挖掘,前期分析 70%已經是極限,后續會在增加 phrase mining 流程后54 持續擴大挖掘覆蓋),目前數據已經作為類目預測,智能交互的基礎數據每日產出。商品打標:商品打標是我們得以將知識和商品建立關聯的關鍵技術,上述三點產生的數據最后都會通過打標建立與 item 的聯系,在商品打標完成后我們就可以實現從 query 到商品的整個語義認知閉環。預計到三月底我們可以實現第一版的商品打標。2 2、知識體系、知識體
99、系 在知識構建的過程中,我們漸漸發現需要一套全局統一的 schema 表示體系,于是我們調研了 wordnet 和 conceptnet 的體系構建歷程,逐漸形成了自己的一套概念表示體系,也就是現有的認知圖譜的核心(E-commerce ConceptNet),它的 目 標 是 從 語 義 層 面 去 理 解 電 商 領 域 的 用 戶 需 求 并 將 其 概 念 化(conceptulization),映射到一個語義本體(ontology),通過詞匯層面的關系逐漸把本體之間的關系形式化(specific),通過本體之間的層級去表示概念之間的層級,通過概念之間的關系去抽象實體類別和關系。55
100、從數據層面上來看,我們要描述一個事物(entity),首先需要把它定義為一種類別(instance-of-class)的實例,這種類別通常又可以通過一個概念(concept)來表示,不同的概念會有自己不同的屬性(proeprty),一類概念的具有的屬性集合可以稱為概念的 schema,有同一類 schema 的概念一般會屬于不同的領域(domain),領域內有自己的語義本體(ontoloty),通過本體的層次(比如“英國-is-part-of-”英國),我們可以形式化概念的層級和表示。那么由細到粗的,我們定義了一套電商概念體系的表示方法,通過不斷細化 ontology 和concept,以及他
101、們之間的關系,來關聯起用戶和商品,甚至外部的實體。56 3 3、技術框架、技術框架 3.1 平臺模塊 總體來說,我們是以一個數據服務中臺支撐起上面的圖引擎,再通過阡陌數據管理平臺,和圖靈業務對接平臺來實現知識的生產和使用的。3.2 模塊細節 阡陌:數據標注和展示 阡陌作為電商知識圖譜的基本平臺,目前集成了所有知識標注和審核流程,并且提供了數據查詢和可視化,后期算法的概念挖掘服務和商品打標服務也會通過阡陌對外提供。數據審核在不斷試錯過程中我們已經建立了一套比較完善的從初審到終審的流程,具體見阡陌審核工具。57 可視化:除了審核平臺,阡陌還提供了更加具體的數據可視化形式,通過良好的交互方便查詢知識
102、阡陌可視化 3.3 圖靈:業務全選和投放 由于目前我們的知識大部分以卡片形式提供,圖靈提供了一整套經由云主題透出的業務服務工具:概念選擇:用戶可以通過全選自己的主題進行分渠道投放 3.4 圖引擎:數據存儲和查詢 從存儲介質來說,我們使用 mysql 進行靈活標注,圖數據庫進行全量查詢,odps 做持久化數據版本管理。58 在數據錄入到 igraph 和 biggraph 之前會被拆分為點表和邊表導入,在線通過 gremlin 進行查詢。在圖數據庫上層我們封裝了一個圖引擎模塊,提供不同 trigger 的場景和商品多路多跳召回功能。目前提供 user,item_list 和 query 召回,已
103、經在喵小秘使用,并且和搜索發現進行聯調中,可以使用查詢接口進行查詢和測試。3.5 技術落地 59 云主題(認知圖譜)目前在云主題已經通過知識卡片的形式上線近 1w 個場景,比較首猜商品來說,點擊和發散性較商品均有大幅提升,現在正在做數據發散性的探索。錦囊(全量)/底紋(bts)搜索 60 穹頂 4 4、后期規劃、后期規劃 目前認知圖譜剛剛發展近一年,還有很多工作需要細化,后續的工作重點會放在:1.關系挖掘和本體構建 2.通過文本增強圖譜和外部數據的關聯 3.常識類推理規則的挖掘 4.圖推理的符號邏輯表示 阿里巴巴搜索事業部 NLP&知識圖譜團隊歡迎自然語言處理、數據挖掘、知識圖譜方向的優秀人才
104、加入,共建阿里電商生態,有興趣的同學可發簡歷至xique.llxalibaba-。61 IJCAI 論文論文|基于改進注意力循環控制門,品牌個性化排序基于改進注意力循環控制門,品牌個性化排序 作者:西克 小嘰導讀:在淘寶網等電子商務網站中,品牌在用戶對商品做點擊、購買選擇正起著越來越重要的作用,部分原因是用戶現在越來越關注商品的質量,而品牌是商品質量的一個保證。但是,現有的排序系統并不是針對用戶對品牌的偏好設計的。某些處理方案一定程度上能減輕這個問題,但仍然無法取得理想的效果或需要增加額外的交互成本。接下來,我們一起來看看,阿里巴巴針對這個問題提出了何種解決方案?我們提出并設計了第一個品牌級排
105、序系統來解決“現有的排序系統并不是針對用戶對品牌的偏好設計的”這個問題,該系統的核心挑戰是如何有效利用電子商務網站中的大量信息來對品牌作個性化排序。在我們的解決方案中,我們首先針對個性化品牌排序問題設計特征工程,然后在 Attention-GRU 模型的基礎上,提出了 3 個重要改進,以便更好地對品牌排序。值得注意的是,這些改進也能應用于很多其他機器學習模型。我們在阿里巴巴天貓商城上做了大量實驗來驗證這個排序模型的有效性,并測試了真實應用場景中用戶對該排序系統的反饋。1.1 1.1 引言引言 62 在淘寶網等電子商務網站中,品牌在用戶對商品做點擊、購買選擇起著越來越重要的作用1。產生這個現象的
106、原因有很多:一方面,用戶喜歡高質量的商品,而品牌是商品質量的保證;另一方面,用戶可能因為某些品牌的推廣活動而對這些品牌有特殊偏好,比如籃球粉絲會喜歡某 NBA 明星代言的品牌等。但是,正如圖 1.1(a)所示,已有搜索、推薦系統中的排序結果將不同品牌的商品匯聚在一起,這不能很好地滿足有品牌偏好的用戶的需求,因為他們必須花費大量的時間去瀏覽。(a)現有排序系統的結果 (b)點擊復選框 Levis 后的結果 63 (c)品牌級排序系統的結果 圖 1.1 在給定搜索詞“jeans”時不同排序系統展示的搜索結果。紅線標注的內容是重要的品牌相關信息。針對他們不喜歡的品牌商品,有些方案一定程度上可以減輕這
107、個問題:1.將品牌作為系統中排序模型的一個特征,從而使用戶喜歡的品牌的商品在排序列表中的位置靠前。但是,不同品牌的商品還是雜糅在一起。2.設置復選框、按鈕來過濾品牌,如圖 1.1(b)所示,在搜索詞“jeans”的返回頁面上,通過點擊 Levis(李維斯)的按鈕,用戶可以只瀏覽李維斯的商品。但是,復選框、按鈕只能顯示少量品牌,而且沒有個性化。另外,當用戶想瀏覽多個品牌時,必須多次點擊復選框,這增加了交互成本,降低了用戶體驗。因為現有系統存在的上述問題,我們設計了一個品牌級排序系統,其中相同品牌的商品聚集在一起,并根據用戶對品牌的偏好來對品牌排序。圖 1.1(c)是我們系統的一個演示:首先,對牛
108、仔褲按品牌(比如李維斯和威格(Wrangler)歸類。然后,當系統學習到相比于威格,用戶更喜歡李維斯時,李維斯的排序位置將會更靠前。品牌級排序系統的核心挑戰是解決個性化品牌排序問題。電子商務網站上的多種重要信息都可用于對品牌排序。首先,品牌價格特征對品牌建模很重要;其次,用戶行為中的序列信息和時間間隔信息對用戶興趣建模也非常重要2;另外,不同的行為類型(點擊和購買)反映了用戶對商品不同的偏好(相應地,反映了對品牌的不同偏好)。比如,一般來說購買行為比點擊行為能體現用戶更強的喜好程度。這里的核心問題是,如何有效利用用戶行為序列中的這些特性來提升個性化品牌排序效果。我們將此定義為一個點排序問題。具
109、體地,首先基于電子商務網站中的不同信息訓練一個分類器;然后。給定一個用戶,使用分類器預測他喜歡不同品牌的概率,再基于概率對品牌排序。屬于同一個品牌的商品可使用傳統方法排序。設計該品牌級排序系統需要完成兩個子任務:一個是針對品牌排序問題的特征工 程,我們提出一系列影響品牌排序效果的品牌特征;另一個是排序模型的設計,我們出一個適配的 Attention-GRU 模型3 來預測用戶喜歡不同品牌的概率。循環神經網絡(Recurrent Neural Network,簡稱 RNN)已經在用戶行為64 序列建模中取得了很好的效果2,門循環單元(Gated Recurrent Unit 簡稱GRU)4 是最
110、好的 RNN 結構之一,注意力機制5有助于區分不同行為對當前推薦的影響。因此,我們將 Attention-GRU 作為基礎模型。然后,在 Attention-GRU 的基礎上我們出了 3 個重要改進。1.將啟發式設計的品牌特征和由模型學習到的品牌向量進行整合以更好地對品牌建模。在我們的實驗中,這個改進能極大提升品牌推薦效果。2.考慮不同的行為類型。我們為不同的行為類型設置不同的矩陣,并顯式地將它們對品牌的影響建模成矩陣相乘。3.整合時間門2 來對行為間的時間間隔建模,這能更好地捕獲用戶的長短期興趣。通過阿里巴巴天貓商城上的離線和在線實驗驗證了我們提出的模型及基于該模型的品牌級排序系統的有效性。
111、本章的貢獻如下:我們提出了第一個品牌級排序系統用于個性化品牌排序,并能基于用戶的品牌偏好來提升他們的購物體驗。我們針對品牌排序任務設計了相應的特征工程,并提出了一個適配的 Attention-GRU 模型。具體地,我們提出了 3 個重要改進,這些改進能有效提升模型效果。我們在阿里巴巴天貓商城上做了大量的離線和在線實驗。實驗結果和真實用戶的反饋證明了我們模型和品牌級排序系統的有效性。1.2 1.2 相關工作相關工作 1.2.1 RNN,GRU 和 Attention-GRU RNN 6已被證明能在序列數據建模中取得非常好的效果,它的數學公式如下:其中,和是第 m 步的隱狀態,輸入和輸出。f 是一
112、個非線性激活函數。W,U 和 V 是通過訓練學習到的相應權值。65 GRU 4是 RNN 結構中的一個重要組成成分,能防止梯度消失問題,它把公式(1.1)替 換為:其中和分別表示更新門和重置門。和 tanh 分別是 sigmoidal 和tanh 函數。和是相應的權值。表示矩陣元素一一乘法。Attention-GRU 3 表示基于注意力機制的 GRU 模型。使用注意力機制的 RNN 方法已成功應用于手寫字體合成7,機器翻譯5 等等。它通常處理以下任務,輸入為一個序列,輸出也為一個序列。x 通常被編碼成另一個序列。在第 m 步,ym 按如下方式生成:其中,Attend 和 Generate 是函
113、數。是一個向量,其元素表示第 j 個輸入的注意力權值。被稱為 glimpse8。Recurrency 表示循環激活函數,在Attention-GRU 中,循環激活函數是 GRU。1.2.2 用于行為建模的 RNN 模型 一些方法專注于基于會話場景的 RNN 解決方案,也有方法12 針對購物籃推薦設計了相應的 RNN 模型,但我們的工作與它們的設定不同。Time-LSTM 模型2在 LSTM13基礎上添加了時間門來更好地捕獲用戶的長短期興趣。我們提出時間門是一個基本組件,并可嵌入到其他的 RNN 結構中(比如本章中的 Attention-GRU)。1.3 1.3 任務定義和模型適配任務定義和模型
114、適配 66 1.3.1 任務定義 我們用來表示 M 個用戶的集合,用來表示 N 個品牌的集合。對于每個用戶 u U,將他的歷史行為定義為 ,其中表示 u 生成了他在時刻對 品牌的第 m 個行為(點擊或購買)。我們的任務是,預測用戶 u 在一個特定時刻在品牌上生成用戶行為的概率。1.3.2 傳統 RNN 模型的適配 我們首先將 Hu 轉換為。和的數學表示分別為和。通過 2 種方式定義品牌特征向量或(2)獨熱向量。用獨熱向量定義,因為我們的任務中只 有 2 種行為類型,即點擊和購買,因此分別用 0,1 和 1,0 表示它們。是一個標量(用秒計算)。如果在真實場景中用戶 u 在時刻點擊、購買了品牌,
115、則樣本標簽為 1,否則為 0。對于 Time-LSTM2,每一步的輸入是表示向量串接)和。對于其他 RNN 模型,輸入(即 1.2.1 節中的是。對于沒有注意力機制的 RNN,輸出(即公式(1.2)中的是所有品牌的概率分布,從中我們可以 獲取到。對于Attention-GRU,1.2.1 節中的 T 和(即在公式(1.8)中,當 m=1 時的分別設為 1 和。我們將公式(1.9)替換為:67 其中,V 是權重,o m 是關于標簽 1 和 0 的概率分布。等于標簽 1 的概率。這些模型基于 和標簽計算對數損失,并使用 AdaGrad 14 方法訓練。圖 1.2 品牌特征的提取過程。1.4 1.4
116、 品牌級排序系統品牌級排序系統 為了設計這個品牌級排序系統,我們需要完成兩個子任務,即特征工程和排序模型的設計。1.4.1 特征工程 通過分析淘寶和天貓商城上大量的用戶行為日志,用戶訪問和市場研究,價格區間對于用戶和品牌建模非常重要。一方面,用戶在做點擊、購買決定時,價格是一個重要的考慮因素。另一方面,價格也是反映品牌質量和知名度的一個重要特征。因此,我們根據 7 級價格區間來精心設計品牌特征。具體信息如下(也可參考圖 1.2):(1)收集所有屬于同一類目(比如“衣服”)的商品,并按價格對它們進行排序。將排好序的商品列表表示成,用表示的價格。我們68 把 7 級價格定義成 7 個價格區間,第
117、1 級為,第 2 級為,第 7 級為。(2)給定一個特定的品牌,商品按以上定義的價格級別進行歸類。具體地,當一個商品的價格落在某個價格區間,這個商品就屬于相應的價格級別。圖 1.3 展示為什么在我們的任務中要使用注意力機制的一個例子。(3)給定一個特定的品牌,統計每個價格級別中 8 個最重要的電子商務指標,生成 8 維向量。7 個價格級別中的所有 8 維向量串接起來生成 56 維的向量。具體地,本章中 8 個最重要的電子商務指標如表 1.1 所示。1.4.2 排序模型的設計我們設計了一個適配的 Attention-GRU 模型來預測用戶喜歡不同品牌的概率。1.4.2.1(1)為什么選擇 Att
118、ention-GRU 在對用戶行為序列建模時,RNN 方法已經取得最好的效果。LSTM 和 GRU 是 RNN 結構的非常重要的組成成分,它們都能避免梯度消失的問題。相比于 LSTM,GRU 能獲得差不多的效果,但參數更少,因此它的訓練速度更快,需要更少的數據就可以達到同樣的泛化能力。圖 1.3 展示了一個例子,來說明為什么要將注意力機制應用于我們的任務中。當預測用戶是否會點擊、購買阿迪達斯的夾69 克時,我們希望能提升第一個和第 三個商品對預測的影響,因為相比于手機和電腦、褲子、鞋子與夾克的關系更緊密。在注意力機制中,這反映在第一個和第三個輸入有更大的權值。1.4.2.2(2)如何對 Att
119、ention-GRU 進行改進為了獲得更好的效果 我們針對 Attention-GRU 出了 3 個改進(也可參考圖 1.4):圖 1.4 我們針對 Attention-GRU 模型提出的改進,使用虛線和紅文本表示。改進改進 1 1:將品牌特征和品牌 ID 整合來更好地表示品牌在一個傳統的 Attention-GRU 模型中,品牌可由 1.4.1 節中的品牌特征或品牌 ID 的獨熱向量表示。但是品牌特征是啟發式設計的,可能缺失了某些重要的信息。比如,2 個品牌可能含有類似的品牌特征,但用戶只對其中一個感興趣。使用獨熱向量能顯示區分不同品牌,但沒有考慮品牌的內容信息。本章提出將這兩種表示整合,具
120、體地,按照 1.3.1 節中 的符號表示,假設等于的品牌特征表示成。它的獨熱向量定義為 其中第 k 個元素值等于 1,其他元素值等于 0。定義矩陣為所有品牌的嵌入向量,然后我們使用表示包含品牌特征和品牌嵌入向量的品牌,其中 由訓練數據學習得到,用于從中查找的嵌入向量。針對公式(1.11),我們給出 3 種解釋。1.啟發式初始化+精調。是啟發式設計的,通過訓練數據的學習,我們進一步調整品牌的表示,得到,這能更好地適應我們的任務。70 2.先驗信息+后驗修正。這個解釋和第一個解釋類似,但是從貝葉斯的角度17 去理解。具體地,是由我們對品牌的“先驗”認識去設計的,然后訓練數據加強了我們對品牌的理解,
121、從而我們可以對用戶的品牌偏好有“后驗”的估計。3.內容信息+協同信息。包含了品牌的內容信息,同時在我們的任務中,是從用戶 的點擊、購買數據中學習到的,因此捕獲了協同信息。對于一些很少出現在訓練數據中的 品牌能提供額外的信息以處理這種冷啟動問題。改進改進 2 2:考慮不同的行為類型當使用 RNN 模型對用戶行為建模時,之前的工作通常只考慮一種行為類型。但是,在電商網站中用戶可以有多種行為類型,比如點擊和購買。處理不同行為類型的一種方式是 使用獨熱向量去表示它們,然后將其串接到品牌表示。但是,這種方法沒有考慮和的特征交互(非線性激活函數只能隱式地對它們的交互建模),因此不能很好地捕獲品牌和行為類型
122、的交互關系18。對此,我們提出為每種行為類型定義一個矩陣(行為類型的數目通常不是很多)。在 我 們 的 任 務 中,分 別 為 點 擊 和 購 買 定 義和。然后,同時考慮品牌和行為類型的品牌表示為:通過這種矩陣相乘的方式,顯式地對品牌和行為類型的交互建模。改進改進 3 3:整合時間門以對行為間的時間間隔建模 Time-LSTM2 中的時間門對捕獲用戶的長短期興趣是非常有效的。本章中我們指出,時間門是一個基本組件,并按如下方式將其適配到我們的模型中。首先定義時間門為:71 其中 和分別是和(時間間隔)的權重??赡芎艽?,因此我們在上強。加了一個 sigmoidal 函數。然后將公式(1.5)改寫
123、為:當使用我們的模型對用戶行為建模時,公式(1.15)中的表示用戶最近的行為,因此利用 來學習他/她當前的短期興趣。對該用戶之前的行為建模,因此反映了 他/她的長期興趣。的作用有兩方面,即不僅經過的過濾,也經過的過濾,因此 能控制對當前推薦的影響;(2)將首先保 存在,然后轉移到,并將最終轉移到。因此 在之后的推薦中通過 整合 可以更好地對長期興趣建模。我們將包含時間門的 Attention-GRU 表示為 Time-Attention-GRU。值得注意的是,改進 1 非常具有普適性,可用于人造特征和獨熱向量存在的很多其他機器學習模型;改進 2 可泛化于處理與輸入有不同交互類型的任務;在改進
124、3 中,我們提出時間門不僅可用于 LSTM 中,還可用于其他 RNN 模型中,使用方式可以參考我們在 Attention-GRU 中的做法。1.4.2.3(3)損失和訓練 類似于 Attention-GRU,我們模型中的是由公式(1.10)中的 o m 得到的。定義用 戶 u 的損失為:72 其中,如果 u 確實于時刻在品牌上生成了用戶行為,則的值為 1,我們將負樣本的損失乘了 w(1),因為訓練數據中可能包含未標注的正樣本19。該模型使用 AdaGrad14進行訓練。1.5 1.5 離線實驗離線實驗 1.5.1 數據集 我們在阿里巴巴天貓商城上收集了一個真實的大規模數據集。具體地,抽取四元
125、組,每個四元組表示用戶user_id 在時 刻 timestamp 對品牌 brand_id 產生了一個行為 action_type,過濾掉只有少量交互的用戶 和品牌。在離線實驗中,最后的數據集包含 M=3,591,372 用戶,N=90,529 品牌和 82,960,693 次行為。對于每個用戶 u,將他/她的行為序列拆分成長度為 11 的短序列。前 10 個行為形 成,將最后一個行為的品牌和時間戳分別賦值給和,作為訓練集中的正樣本(labelu=1),通過將隨機替換為一個其他品牌來生成負樣本。1.5.2 比較模型和評價指標 用 Attention-GRU-3M(帶有 3 個改進的 Atte
126、ntion-GRU)來表示我們的模型,并將其與其他基準方法比較。GRU:GRU 4 是最好的 RNN 結構之一。因此,用 GRU 的效果來代表 RNN 模型的最佳效果。Attention-GRU:相似地,選擇 Attention-GRU 3來代表帶注意力機制的 RNN 模型。Time-LSTM:Time-LSTM2 在序列行為建模方面已取得最好的效果。因此,將其作為一個 非常有競爭力的基準方法。Session-RNN:Session-RNN 9基于一個會話中的行為序列使用 RNN 方法來捕獲用戶的短期興趣。我們使用公開的 python 代碼來實現 Session-RNN,其中會話信息通過 Ti
127、meout 20方法獲得。73 libFM:我們的任務也可看成是一個品牌推薦問題,因此,很多能同時捕獲內容信息和協同信息的融合推薦算法也能使用。挑選 libFM 模型18 來代表這一類方法。使用 1.3.2 節中的方法將 GRU,Attention-GRU,Time-LSTM 和 Session-RNN 適配到我們的任務。對于 libFM,我們抽取三元組,其中,當用戶 user_id 在真實場景中對品牌 brand_id 發生過行為時,則 label 為 1,否則 label 為 0。將 user_id 的獨熱向量,brand_id 的獨熱向量和相應的品牌特征串接起來生成 x,label 是
128、libFM 中的 y。將所有 RNN 模型中隱單元的數目統一設置成 256,其他超參數使用交叉驗證或按原 論文進行設置。近期我們將公布本章的代碼。本章使用 AUC 和 F1 21 這兩個評價指標來評價不同模型的預測性能。1.5.3 實驗結果和結論 1.5.3.1 模型比較 如表 1.2 所示,Attention-GRU-3M 的性能明顯好于所有基準模型,我們將此歸功于注意力機制和提出的 3 個改進?;鶞史椒?GRU 和 Session-RNN 沒利用任何特性,所以 表現最差。相比于 GRU,Attention-GRU 利用了注意力機制,Time-LSTM 利用了 1.4.2 節 中提出的改進
129、3。因此,它們的效果比 GRU 和 Session-RNN 都更好。作為一個融合推 薦算法,libFM 同時捕獲了內容信息和協同信息,但是沒有捕獲用戶行為的序列信息,而 Attention-GRU-3M 利用了所有信息,這解釋了為什么 Attention-GRU-3M 的效果好于 libFM。1.5.3.2 三個改進的效果 如 1.4.2 節所述,我們提出了 3 個改進來提升 Attention-GRU 的效果?,F在,我們每 次去掉 1 個改進來看看每個改進是如何影響預測效果的。同時,我們也改變訓練數據的 規模來看看數據集的大小對效果的影響。如圖 1.5(AUC 和 F1 的結果是類似的,為方
130、便起見,我們只展示 AUC 的結果)所示,去掉任何一個改進都會使 AUC 下降,而去掉改進 1。表 1.2 模型比較(粗體表示最好的效果。*表示在顯著性水平設為 p 0.01 時,效果最好的方法相比于第二好的方法是有顯著性差異的。)74 圖 1.5GRU-3M 中去掉每個改進和改變訓練數據規模時的效果(AUC)。No Modification i 表示在 Attention-GRU-3M 中去掉改進 i。時 AUC 下降得最多,這證明所有改進都對效果提升有幫助,改進 1 的效果最明顯。當訓 練數據的規模變大時,改進 1 的影響更加明顯(即“Attention-GRU-3M”和“No Modif
131、ication 1”之間的差距變大)。一個可能的解釋是,相比于其他兩個改進,改進 1 有更多的參數(即的大小),因此它需要更多訓練數據來學習最優值。75 訓練數據的規模對于模型效果來說是個重要的影響因素。如表 1.2 所示,當數據集大小從 50%升到 100%時,我們模型提升的效果比其他模型更多。值得注意的是,如圖 1.5 所 示,當增加訓練數據的大小,Attention-GRU-3M 效果的增長率比 Attention-GRU 升很多,這可能是因為提出的 3 個改進使得我們的模型更好地擬合本任務中潛在的復雜模式,相應地,它需要更多訓練數據進行學習。1.6 1.6 線上實驗線上實驗 為了更好地
132、評測用戶對該品牌級排序系統的真實反饋,我們在阿里巴巴天貓商城上做了一系列線上實驗。在天貓商城上,共有約個用戶,個品牌,一天大約有次點擊行為和次購買行為。在線上進行了一個標準的 A/B 測試,如圖 1.6 所示,我們設計了 2 個用戶交互界面,一個使用原始的排序系統(左邊),另一個添加了一 個“Brand”按鈕,用戶可以通過點擊“Brand”按鈕來切換到品牌級排序系統,如右圖所示,其為沒有品牌偏好的用戶保留了原始的排序系統。對于每個交互界面,挑選相同數目(大 約每天)的用戶參與 A/B 測試。該線上實驗執行了 7 天,并統計每天 CTR,ATIP 和 GMV 的平均值(1.4.1 節有描述)。圖
133、 1.6 左邊展示了原始的排序系統。用戶可以通過點擊“Brand”按鈕切換到右邊的品牌級排序系統。76 表 1.3 線上實驗的效果(基準 對應于圖 1.6 左邊的系統,新版本表示右邊的系統。相對提升是新版本相對于基準的提升,比如,3.40%(144.90 140.13)/140.13)表 1.3 展示了線上實驗結果??梢钥吹?,相比于基準方法,新排序系統中的 CTR 和 ATIP 都有提升,這證明通過整合品牌級排序系統,用戶更愿意點擊該系統展示的商品,同時他們購買的商品價格比以前更高(商品質量相對也更高)。也因此,天貓商城上的核心優化指標 GMV 有了 3.51%的提升??紤]到整個天貓商城的流量
134、,這將會帶來巨大的經濟效益。該品牌級排序系統已經在天貓商城正式上線,當前用戶需要主動激活這個功能才可 以使用,每天大概有個用戶使用該品牌級排序系統。1.7 1.7 小結小結 我們提出了一個品牌級排序系統,以更好地滿足有品牌偏好的用戶的需求。這個系統的核心是解決個性化品牌排序問題。在我們的解決方案中,我們首先精心設計品牌特征,然后使用適配的 Attention-GRU 模型,即 Attention-GRU-3M,來對品牌排序。Attention-GRU-3M 包含了 3 個重要改進,從而能利用資源 ID 和資源屬性的融合信息,不同用戶行為類型及相鄰行為的時間間隔來提升品牌排序的效果。但是,當前介
135、紹的幾個工 作都只考慮用戶與資源之間的二元關系,而隨著推薦系統的不斷完善,標簽等越來越多的元素被添加進來,用戶、標簽和資源間除了形成二元關系,還會構建 的三元標注關系。參考文獻:1 Daniel Zipser,Yougang Chen,Fang Gong.The modernization of the chinese consumerJ.McKinseyQuarterly,2016.2 YuZhu,HaoLi,YikangLiao,BeidouWang,ZiyuGuan,HaifengLiu,DengCai.Whattodonext:Modelinguser behaviors by tim
136、e-lstmC.In Proceedings of the Twenty-SixthInternational Joint Conference on Artificial Intelligence,IJCAI-17.2017,36023608.3JanKChorowski,DzmitryBahdanau,DmitriySerdyuk,KyunghyunCho,Yos77 huaBengio.Attention-basedmodels for speech recognitionC.In Advances in Neural Information ProcessingSystems.2015
137、,577585.4 Kyunghyun Cho,BartVan Merrinboer,Caglar Gulcehre,Dzmitry Bahdanau,Fethi Bougares,HolgerSchwenk,Yoshua Bengio.Learning phrase representations using rnnencoder-decoder for statistical ma-chine translationJ.arXiv:1406.1078,2014.5 Dzmitry Bahdanau,Kyunghyun Cho,Yoshua Bengio.Neural machine tra
138、nslation by jointly learning toalign and translateJ.arXiv preprint arXiv:1409.0473,2014.6 Jeffrey L Elman.Finding structure in timeJ.Cognitive science,1990,14(2):179211.7 Alex Graves.Generating sequences with recurrent neural networksJ.arXiv:1308.0850,2013.8 VolodymyrMnih,NicolasHeess,AlexGraves,eta
139、l.RecurrentmodelsofvisualattentionC.InAdvancesin neural information processing systems.2014,22042212.9 BalzsHidasi,AlexandrosKaratzoglou,LinasBaltrunas,DomonkosTikk.Session-basedrecommendationswith recurrent neural networksC.In ICLR.2016.10 Yong Kiam Tan,Xinxing Xu,Yong Liu.Improved recurrent neural
140、 networks for session-basedrecommen-dationsC.In RecSys.ACM,2016,1722.11 BalzsHidasi,MassimoQuadrana,AlexandrosKaratzoglou,DomonkosTikk.Parallelrecurrentneuralnet-work architectures for feature-rich session-based recommendationsC.InRecSys.ACM,2016,241248.12 Feng Yu,Qiang Liu,Shu Wu,Liang Wang,Tieniu
141、Tan.A dynamic recurrent model for next basketrecom-mendationC.In SIGIR.ACM,2016,729732.78 13 Sepp Hochreiter,J rgen Schmidhuber.Long short-term memoryJ.Neural computation,1997,9(8):17351780.14 John Duchi,EladHazan,Yoram Singer.Adaptive subgradient methods for online learning andstochastic optimizati
142、onJ.JMLR,2011,12(Jul):21212159.15 JunyoungChung,CaglarGulcehre,KyungHyunCho,YoshuaBengio.Empiricalevaluationofgatedrecur-rent neural networks on sequence modelingJ.arXiv preprint arXiv:1412.3555,2014.16 RafalJozefowicz,WojciechZaremba,IlyaSutskever.Anempiricalexplorationofrecurrentnetworkarchi-tectu
143、resC.In Proceedings of the 32nd International Conference on MachineLearning(ICML-15).2015,23422350.17 JamesOBerger.StatisticaldecisiontheoryandBayesiananalysisM.SpringerScience&BusinessMedia,2013.18 Steffen Rendle.Factorization machines with libfmJ.TIST,2012,3(3):57.19 Rong Pan,YunhongZhou,Bin Cao,N
144、athan N Liu,Rajan Lukose,Martin Scholz,Qiang Yang.One-classcollaborative filteringC.In Data Mining,2008.ICDM08.Eighth IEEEInternational Conference on.IEEE,2008,502511.20 Xiangji Huang,Fuchun Peng,Aijun An,Dale Schuurmans.Dynamic web log session identificationwith statistical language modelsJ.Journal
145、 of the American Society forInformation Science and Technology,2004,55(14):12901303.21 Myunghwan Kim,JureLeskovec.Nonparametric multi-group membership model for dynamic network-sC.In Advances in neural information processing systems.2013,13851393.79 火箭發射:點擊率預估火箭發射:點擊率預估界的“神算子”是如何煉成的?界的“神算子”是如何煉成的?作者
146、:周國睿、范穎、卞維杰、朱小強、蓋坤 小嘰導讀:響應時間直接決定在線響應系統的效果和用戶體驗。比如在線展示廣告系統中,針對一個用戶,需要在幾 ms 內,對上百個候選廣告的點擊率進行預估。因此,如何在嚴苛的響應時間內,提高模型的在線預測效果,是工業界面臨的一個巨大問題。1 1、摘要摘要 像點擊率預估這樣的在線實時響應系統對響應時間要求非常嚴格,結構復雜,層數很深的深度模型不能很好地滿足嚴苛的響應時間的限制。為了獲得滿足響應時間限制、具有優良表現的模型,我們提出了一個新型框架:訓練階段,同時訓練繁簡兩個復雜度有明顯差異的網絡,簡單的網絡稱為輕量網絡(light net),復雜的網絡稱為助推器網絡(
147、booster net),它相比前者有更強的學習能力。兩網絡共享部分參數,分別學習類別標記。此外,輕量網絡通過學習助推器的soft target 來模仿助推器的學習過程,從而得到更好的訓練效果。測試階段,僅采用輕量網絡進行預測。80 我們的方法被稱作“火箭發射”系統。在公開數據集和阿里巴巴的在線展示廣告系統上,我們的方法在不提高在線響應時間的前提下,均提高了預測效果,展現了其在在線模型上應用的巨大價值。2 2、已有方法介紹已有方法介紹 目前有 2 種思路來解決模型響應時間的這個問題:一方面,可以在固定模型結構和參數的情況下,用計算數值壓縮來降低 inference 時間,同時也有設計更精簡的模
148、型以及更改模型計算方式的工作,如 Mobile Net 和 ShuffleNet 等工作;另一方面,利用復雜的模型來輔助一個精簡模型的訓練,測試階段,利用學習好的小模型來進行推斷,如 KD,MIMIC。這兩種方案并不沖突,在大多數情況下第二種方案可以通過第一種方案進一步降低 inference 時間,同時,考慮到相對于嚴苛的在線響應時間,我們有更自由的訓練時間,有能力訓練一個復雜的模型,所以我們采用第二種思路,來設計了我們的方法。3 3、研究動機及創新性研究動機及創新性 火箭發射過程中,初始階段,助推器和飛行器一同前行,第二階段,助推器剝離,飛行器獨自前進。在我們的框架中,訓練階段,有繁簡兩個
149、網絡一同訓練,復雜的網絡起到助推器的作用,通過參數共享和信息提供推動輕量網絡更好的訓練;在預測階段,助推器網絡脫離系統,輕量網絡獨自發揮作用,從而在不增加預測開銷的情況下,提高預測效果。整個過程與火箭發射類似,所以我們命名該系統為“火箭發射”。訓練方式創新 我們框架的創新在于它新穎的訓練方式:1、繁簡兩個模型協同訓練,協同訓練有以下好處:a)一方面,縮短總的訓練時間:相比傳統 teacer-student 范式中,teacher網絡和 student 網絡先后分別訓練,我們的協同訓練過程減少了總的訓練時間,這對在線廣告系統這樣,每天獲得大量訓練數據,不斷更新模型的場景十分有用。81 b)另一方
150、面,助推器網絡全程提供 soft target 信息給輕量網絡,從而達到指導輕量網絡整個求解過程的目的,使得我們的方法,相比傳統方法,獲得了更多的指導信息,從而取得更好的效果。2、采用梯度固定技術:訓練階段,限制兩網絡 soft target 相近的 loss,只用于輕量網絡的梯度更新,而不更新助推器網絡,從而使得助推器網絡不受輕量網絡的影響,只從真實標記中學習信息。這一技術,使得助推器網絡擁有更強的自由度來學習更好的模型,而助推器網絡效果的提升,也會提升輕量網絡的訓練效果。結構創新 助推器網絡和輕量網絡共享部分層的參數,共享的參數可以根據網絡結構的變化而變化。一般情況下,兩網絡可以共享低層。
151、在神經網絡中,低層可以用來學習信息表示,低層網絡的共享,可以幫助輕量網絡獲得更好的信息表示能力。4 4、方法框架方法框架 82 圖 1:網絡結構 如圖 1 所示,訓練階段,我們同時學習兩個網絡:Light Net 和 Booster Net,兩個網絡共享部分信息。我們把大部分的模型理解為表示層學習和判別層學習,表示層學習的是對輸入信息做一些高階處理,而判別層則是和當前子 task目標相關的學習,我們認為表示層的學習是可以共享的,如 multitask learning中的思路。所以在我們的方法里,共享的信息為底層參數(如圖像領域的前幾個卷積層,NLP 中的 embedding),這些底層參數能
152、一定程度上反應了對輸入信息的基本刻畫。整個訓練過程,網絡的 loss 如下:Loss 包含三部分:第一項,為 light net 對 ground truth 的學習,第二項,為 booster net 對 ground truth 的學習,第三項,為兩個網絡 softmax 之前的83 logits 的均方誤差(MSE),該項作為 hint loss,用來使兩個網絡學習得到的logits 盡量相似。Co-Training 兩個網絡一起訓練,從而 booster net 會全程監督輕量網絡的學習,一定程度上,booster net 指導了 light net 整個求解過程,這與一般的 teac
153、her-student 范式下,學習好大模型,僅用大模型固定的輸出作為 soft target 來監督小網絡的學習有著明顯區別,因為 boosternet 的每一次迭代輸出雖然不能保證對應一個和 label 非常接近的預測值,但是到達這個解之后有利于找到最終收斂的解 。Hint Loss Hint Loss 這一項在 SNN-MIMIC 中采用的是和我們一致的對 softmax 之前的logits 做 L2 Loss:Hinton 的 KD 方法是在 softmax 之后做 KL 散度,同時加入了一個 RL 領域常用的超參 temperature T:也有一個半監督的工作再 softmax 之
154、后接 L2 Loss:已有的文獻沒有給出一個合理的解釋為什么要用這個 Loss,而是僅僅給出實驗結果說明這個 Loss 在他們的方法中表現得好。KD 的 paper 中提出在 T 足夠大的情況下,KD 的是等價于的。我們在論文里做了一個稍微細致的推導,發現這個假設 T 足夠大使得成立的情況下,梯度也是一個無窮小,沒有意義了。同時我們在 paper 的 appendix 里在一些假設下我們從最大似然的角度證明了的合理性。Gradient Block 84 由于 booster net 有更多的參數,有更強的擬合能力,我們需要給他更大的自由度來學習,盡量減少小網絡對他的拖累,我們提出了 gradi
155、ent block 的技術,該技術的目的是,在第三項 hint loss 進行梯度回傳時,我們固定 booster net 獨有的參數不更新,讓該時刻,大網絡前向傳遞得到的,來監督小網絡的學習,從而使得小網絡向大網絡靠近。5 5、實驗結果實驗結果 實驗方面,我們驗證了方法中各個子部分的必要性。同時在公開數據集上,我 們 還 與 幾 個teacher-student方 法 進 行 對 比,包 括Knowledge Distillation(KD),Attention Transfer(AT)。為了與目前效果出色的 AT 進行公平比較,我們采用了和他們一致的網絡結構寬殘差網絡(WRN)。實驗網絡結
156、構如下:圖 2:實驗所用網絡結構 紅色+黃色表示 light net,藍色+紅色表示 booster net。(a)表示兩個網絡共享最底層的 block,符合我們一般的共享結構的設計。(b)表示兩網絡共享每個 group 最底層的 block,該種共享方式和 AT 在每個 group 之后進行 attention transfer 的概念一致。各創新點的效果 85 我們通過各種對比實驗,驗證了參數共享和梯度固定都能帶來效果的提升。各種 LOSS 效果比較 輕量網絡層數變化效果圖 固定 booster net,改變 light net 的層數,rocket launching 始終取得比 KD
157、要好的表現,這表明,light net 始終能從 booster net 中獲取有價值的信息??梢暬Ч?通過可視化實驗,我們觀察到,通過我們的方法,light net 能學到 booster net 的底層 group 的特征表示。86 公開數據集效果比較 除了自身方法效果的驗證,在公開數據集上,我們也進行了幾組實驗。在 CIFAR-10 上,我們嘗試不同的網絡結構和參數共享方式,我們的方法均顯著優于已有的 teacher-student 的方法。在多數實驗設置下,我們的方法疊加KD,效果會進一步提升。這里 WRN-16-1,0.2M 表示 wide residual net,深度為 16,
158、寬度為 1,參數量為 0.2M。同時在 CIFAR-100 和 SVHN 上,取得了同樣優異的表現。真實應用 87 同時,在阿里展示廣告數據集上,我們的方法,相比單純跑 light net,可以將 GAUC 提升 0.3%。我們的線上模型在后面的全連接層只要把參數量和深度同時調大,就能有一個提高,但是在線的時候有很大一部分的計算耗時消耗在全連接層(embedding只是一個取操作,耗時隨參數量增加并不明顯),所以后端一個深而寬的模型直接上線壓力會比較大。表格里列出了我們的模型參數對比以及離線的效果對比:6 6、總結總結 在線響應時間對在線系統至關重要。本文提出的火箭發射式訓練框架,在不提高預測
159、時間的前提下,提高了模型的預測效果。為提高在線響應模型效果提供了新思路。目前 Rocket Launching 的框架為在線 CTR 預估系統弱化在線響應時間限制和模型結構復雜化的矛盾提供了可靠的解決方案,我們的技術可以做到在線計算被壓縮 8 倍的情況下性能不變。在日??梢詼p少我們的在線服務機器資源消耗,雙十一這種高峰流量場景更是保障算法技術不降級的可靠方案。本論文收錄于 AAAI 2018 88 人群優選算法模型,如何挖掘品牌潛客?人群優選算法模型,如何挖掘品牌潛客?作者:云鳴、林君、泊智、一初 小嘰導讀:品牌數字化營銷正在成為熱點,在 Uni-Marketing 背景下,我們通過策略中心海
160、豹項目,探索和實踐了品牌目標人群優選算法,在實際投放中取得了非常好的人群轉化效果,并得出一些有價值的算法和業務結論。本文主要對品牌目標人群優選算法及相關實踐結論進行介紹。1.1.背景簡介背景簡介 全域營銷(Uni-Marketing)戰略是依托大阿里生態,以消費者運營為核心,在新零售體系下實現全鏈路、全媒體、全數據、全渠道的品牌大數據營銷。Uni-Marketing 產品矩陣包括品牌數據銀行、全域策略(策略中心)、全域傳播(Uni-Desk)、全域運營(品牌號、智慧門店、天貓營銷產品)等。傳統品牌營銷的痛點在于效果無法量化和追蹤,而阿里的產品和數據閉環可以很好的解決這個問題。策略中心年貨節投放
161、海豹項目,通過大數據+算法的手段,對 A 品牌的目標人群進行分析,建立人群優選算法模型,挖掘品牌目標潛客。品牌 A 的年貨節實89 際投放效果,算法優選人群相比基于業務經驗使用規則圈選的人群,在“O-IPL”人群關系加深率指標上好 47%,顯示了人群優選算法的有效性。2.2.名詞解釋名詞解釋 品牌消費者關系:品牌消費者關系:Opportunity(機會)、Awareness(認知)、Interest(興趣)、Purchase(購買)、Loyalty(忠誠)。人群關系加深率:人群關系加深率:衡量品牌營銷效果的直接指標?!癘-I”人群關系加深率,即機會人群到興趣人群的轉化率。品牌數據銀行:品牌數據
162、銀行:從“融合、分析、激活”三個緯度實現品牌消費者數據資產的管理和增值,即品牌消費者數據資產的高效梳理、消費者全鏈路的透視分析、最后到多元營銷場景的應用,包括阿里的電商、娛樂和營銷服務矩陣。品牌策略中心:品牌策略中心:以解決“機會在哪里”和“如何增長”為目標,賦能品牌開發生意策略,實現策略的可應用、可驗證、可優化。功能包括市場概覽與細分、競爭與得失分析、消費者細分與多維洞察、人群放大與優選等,可用于新品上市、品類拉新、品類成長、品牌升級等場景。3.3.項目目標項目目標 基于策略中心的品牌人群定向,與程序化廣告的不同之處在于,要根據品牌方的營銷需求(包括目標、渠道、時間和預算)產出特定規模的目標
163、人群,進而再針對性地營銷投放。此次實踐即以年貨節拉新為目標,找到指定規模的潛在機會人群或者認知人群,通過營銷投放將其轉化為品牌興趣人群和已購人群,從而提升品牌消費者資產。4.4.業界方案業界方案 業界相關方案主要與程序化廣告中人群定向相關,方法基本都是 Look-alike 人群擴散,具體有以下幾種:1)標簽擴散:根據已有目標用戶畫像,給用戶打各種標簽,再利用標簽找到機會人群。90 2)基于標簽的協同過濾:在標簽擴散的基礎上,采用基于用戶的協同過濾算法,找到與種子人群相似的機會人群。3)基于社交關系的擴散:以具有相似社交關系的人也有相似的興趣愛好/價值觀為前提假設,利用社交網絡關系進行人群擴散
164、。4)基于聚類的擴散:根據用戶畫像或標簽,采用層次聚類算法(如 BIRCH 或CURE 算法)對人群進行聚類,再從中找出與種子人群相似的機會人群。5)目標人群分類方法:以種子人群為正樣本,候選對象為負樣本,訓練分類模型,然后用模型對所有候選對象進行篩選。涉及 PU Learning 的問題。5.5.技術方案介紹技術方案介紹 根據項目目標,我們制定了“種子人群聚類細分+聚類人群擴散”和“多方向人群擴散+人群分類優選”的兩種方案。由于聚類分群屬于無監督學習且分群效果不容易評估,因此選擇后者優先實施。方案整體流程如下圖所示:5.1 多方向人群擴散 在人群擴散方向上,我們探索了 6 類方向,并在每個方
165、向下挖掘有效特征,通過白盒條件篩選和黑盒模型預測的方式進行人群擴散。5.1.1 興趣偏好方向 91 采用特征值 TGI 和 TA 濃度 2 個指標,挖掘了 4 個特征中與品牌相關的特征值,并根據特征值的全網覆蓋量設定 TGI 和 TA 濃度閾值,進行白盒擴散。TGI 指標衡量了特征值在品牌人群中的顯著性,TA 濃度則衡量了特征值在品牌人群中的覆蓋率,因此二者共同考慮才能篩選出有效的人群擴散特征值。5.1.2 相關品類方向 1)主營類目分析:根據品牌在線商品數和銷售額計算篩選主營類目,并得出主營類目權重。2)相關品牌分析:根據 brand-user 關系矩陣,采用 Jaccard 相似度計算相關
166、品牌及相關分。相似度計算公式如下:3)相關類目分析:根據線上 user-cate 購買行為,通過 Association Rule Mining 挖掘相關類目,使用 confidence 指標篩選類目并作為相關分,然后經過類目關系的二度擴散得到最終相關類目結果。類目擴散公式如下,其中表示類目k:5.1.3 競品人群方向 1)競品分析:當前品牌主營類目中,市場份額 top10 的其他品牌。2)人群流轉分析:分析發現品牌新增人群中,有較大比例來自競品,說明選擇該方向進行擴散是可靠的。3)競品人群轉化模型:以來自競品的人群為目標,挖掘用戶在競品的 AIPL狀態、退款、退貨、評分、評價等特征,訓練競品
167、人群轉化模型。通過模型對競品人群進行轉換預測,實現人群擴散。5.1.4 搜索人群方向 1)搜索關鍵詞:從引導到品牌成交的搜索詞中,綜合考慮搜索詞是否充分競爭以及本品牌在搜索詞上是否有優勢,實現品牌拉相關的搜索詞發現。公式如下,其中 E 表示關鍵詞引導成交的類目信息熵,表示關鍵詞引導成交額,表示關鍵詞引導到品牌的成交額:92 2)搜索人群擴散:近 15 天內搜索了 kwords 并點擊了品牌主營類目的用戶。5.1.5 流失人群方向 對于之前屬于品牌人群而現已流失了的用戶,也進行擴散召回,包括近半年從 IPL 狀態流失的用戶和近 1 個月從 A 狀態流失的用戶。5.1.6 同好人群方向 基于用戶的
168、向量表示,可以直接計算用戶與用戶直接的相似度,從而得到種子用戶最相似的 topN 個用戶。用戶表示的方法有多種,例如:a)用戶偏好的類目向量、品牌向量組合。b)將user-item表示為二部圖,基于graph embedding方法生成用戶向量。5.1.7 人群擴散匯總 最終 6 個方向的品牌擴散人群匯總去重,作為人群優選模型的輸入。5.2 目標人群優選模型 沒有歷史投放數據,是此次項目面臨的一個挑戰。我們通過訓練模型來區分目標人群和非目標人群。5.2.1 評估指標 訓練集的正負樣本,分別從品牌已購人群和其他品牌的人群中采樣得到。從中訓練的分類模型,可以較好的區分品牌目標人群和全網其它人群(大
169、都和目標人群相距較遠),但對區分和品牌目標人群相距不遠的擴散人群則并非同樣有效。因此,直接使用傳統的分類指標,只能評估模型在訓練集上的效果,不能準確評估其在擴散人群上的分類效果,需要設計新的評估指標。PredictTA TopNPrecision 指標由此而來,表示優選的 TopN 人群中品牌目標人群的占比,該指標越大說明模型預測效果越好。我們通過對比該指標在不同模型上使用不同 topN 值的值,驗證了它的一致性;并設計 NewTA topN Recall指標,即優選人群在之后一段時間品牌新增目標人群的占比,驗證了它的正確性。93 上圖中,紫色框表示品牌目標人群即種子人群,藍色框表示模型優選出
170、的TopN 人群,它與種子人群有小部分交集,交集占藍色框的比例即為PredictTATopN Precision。綠色框表示一周內品牌實際新增人群,與藍色框的交集為預測準確的人群,交集占綠色框的比例即為 NewTA topN Recall。對于有效的算法模型,PredictTATopN Precision 指標隨著 TopN 的減小而增大。兩個不同的算法模型,PredictTA TopN Precision 指標在不同 TopN 取值上的表現是一致的,說明該指標的穩定性。以 A 品牌為例,其一致性驗證結果如下圖所示:5.2.2 模型訓練 以品牌目標人群為正樣本,從全網其它品牌的人群中隨機選負樣
171、本,經過數據預處理、歸一化、序列化編碼后,訓練并優化人群優選模型。1)樣本選擇 a.正樣本選擇:對于線上市場份額大的品牌而言,直接用品牌已購人群即可。但對新品牌或者線上市場份額小的品牌,已購人群可能很小,這時就需要對正樣本進行擴充,比如加入興趣人群、加入與品牌定位相似的其它品牌的人群。b.負樣本選擇:默認從全網其它品牌的人群中隨機采樣,但發現全網人群中特征缺失的情況比較多,負樣本集離擴散人群比較遠,因此實驗了從全網其它94 品牌的已購人群中采樣,PredictTA TopN Precision(N=300 萬)指標絕對值有0.8%的提升。2)特征工程 a.數值型特征離散化。年購物天數、近 30
172、 天訂單數等特征進行等距離散,提高模型穩定性和效果。b.枚舉型特征值篩選。汽車型號、收貨省份等特征長尾分布非常明顯,篩選出與目標品牌相關的特征值。c.多值特征處理。偏好品牌、偏好類目這樣的特征,一個用戶可以同時有多個特征值。以品牌 A 品牌為例,我們在 b 步篩選的基礎上,對比了只保留偏好值最大的特征、只保留品牌最相關的特征、保留品牌相關的多個特征 3 種不同的處理方法,效果如下:d.特征編碼。主要采用 one-hot 編碼方式。e.稀疏特征 embedding。對于類目 id,品牌 id 這種高維高稀疏性的特征,直接將其作為分類模型的特征會影響最終的模型效果,為此,我們借鑒 word emb
173、edding 的思路,將用戶過去一段時間內對類目(或品牌)的行為序列作為 doc,將類目(或品牌)本身作為 word,基于全網活躍用戶的行為序列(doc 集合)訓練類目(或品牌)的 embedding 表示。具體而言,我們將類目(或品牌)編碼為100 維的低維稠密向量,并將其作為預測特征用于模型訓練。95 f.特征選擇。首先使用全部特征進行模型訓練,然后根據特征重要性程度篩除部分尾部特征,重新訓練模型,通過比較模型的 PredictTA TopN Precision 指標確定此次特征選擇是否更好。3)訓練模型 a.LR 模型。使用邏輯回歸作為 baseline 的算法,除了模型簡單容易理解外,
174、還有個好處是可以得出特征和特征值的重要性。b.RF 模型。對隨機森林模型的實驗效果并不理想,在相同的樣本和特征上Precision 和 AUC 指標均比 LR 低,且特征重要性結果只能到特征粒度不能到特征值粒度,因此不再使用。c.PS-SMART?;?PS 架構的 GBDT 算法模型,決策樹弱分類器加上 GBM 算法,具有較強的非線性擬合能力,在應用中相比其它兩種算法模型效果更好。因此選擇 PS-SMART 作為最終的算法模型,并對損失函數、樹的個數深度、正則系數進行調優。模型與特征相關對比結果如下表:5.2.3 模型預測 使用訓練好的人群優選模型,對 5.1 節中產出的擴散人群進行預測打分
175、,篩除預測分數小于 0.5 的人群,再根據拉新的目標過濾品牌現有 IPL 人群。5.3 年貨人群模型 此次品牌投放需求臨近春節,與年貨的相關性很大。雖然可以用最新的樣本數據訓練日常的目標人群優選模型,但人群擴散方向和相關特征并非針對年貨場96 景而挖掘的,因此不能有效捕捉出于屯年貨動機的消費需求,需要針對年貨場景單獨建立一個人群模型進行預測。但由于年貨場景與日期時間高度相關,需要用到去年春節期間品牌相關的人群數據,與日常模型差異較大,不方便合并,需要單獨建模。5.3.1 品牌相關年貨類目 1)年貨類目挖掘:統計春節期間包含“年貨”的搜索詞所引導點擊的類目數據,再由運營同學根據業務經驗篩選出部分
176、與年貨相關性較強的類目,從而得到二級類目粒度的年貨類目數據。2)品牌相關年貨類目:根據春節期間融合不同行為的“用戶-類目”矩陣,通過 I2I 算法計算年貨類目的相關性,進而得到品牌主營類目相關的年貨類目及其相關分。5.3.2 年貨人群特征 1)人群屬性特征:同日常人群優選模型一樣,包括用戶人口基礎屬性、人口預測屬性等。2)人群偏好特征:同日常人群優選模型一樣,包括與目標品牌相關的偏好品牌、生活標簽、偏好類目、及偏好品牌等特征。3)品牌主營類目行為特征、品牌相關年貨類目行為特征。包括有行為的相關年貨類目 id、類目相關性等特征。5.3.3 年貨人群模型 1)樣本選擇:根據投放時間的農歷日期,選取
177、去年當日前 1 個月有行為的用戶做樣本。其中以去年當日到元宵節期間轉化到品牌 PL 狀態的用戶為正樣本,隨機采用同等數量的其他用戶為負樣本,訓練年貨人群模型。2)模型訓練:基于日常人群優選模型的經驗,同樣采用 PS-SMART 算法進行模型訓練、優化、及特征重要性分析。3)模型預測:圈選投放日期前 1 個月對品牌主營類目及相關年貨類目有行為的用戶,使用年貨人群模型進行預測,去除預測分數小于 0.5 的用戶,根據拉新目標去除品牌現有 IPL 人群。5.4 目標人群模型融合 97 根據日常人群優選模型和年貨人群模型的PredictTA TopN Precision指標,確定目標人群中 2 個模型優
178、選結果的占比,最終篩選出指定數量的投放人群,導入數據銀行,供服務商同步到 DMP 進行品牌廣告投放。5.5 投放效果追蹤 品牌 A 投放案例,算法優選年貨人群(A 人群包),服務商通過策略中心找出品牌 A 購買人群同時購買的年貨類目,選取買了對應類目的人群(A 人群包),分別在鉆展投放。其中算法優選人群在“O-IPL”人群關系加深率指標上相比高47%,拉新轉化效果顯著。算法優選人群內部,年貨模型轉化率最低,混合模型轉化率最高,說明在春節期間品牌 A 的目標人群與日常目標人群特征比較相近,有年貨囤零食需求的日常目標人群在春節期間轉化率最好。6.6.挑戰與應對挑戰與應對 6.1 項目時間周期短 因
179、此我們優先保證模型目標與業務目標的一致,時間上做到最新,對投放渠道則沒有研究和優化。6.2 無歷史反饋數據 品牌人群優選模型,由于沒有品牌投放歷史,不能從用戶的歷史投放反饋中來學習品牌人群特征。尤其是不能獲取大量直接的負樣本,只能以隨機人群來代替,在樣本選擇上還有很大的提升空間。6.3 無歷史屬性特征 年貨人群模型和時間緊密相關,但由于存儲周期的原因,只能獲取用戶去年的行為特征,而無法獲取去年的屬性和偏好特征,只能用近期的屬性和偏好特征來代替,在特征實效性上也有較大提升空間。6.4 重要的稀疏特征 模型使用的特征中有較多的稀疏特征,這些特征的特征值呈長尾分布,全部使用會引入很多噪聲影響模型效果
180、,只選高頻特征又會丟失較多信息,為此我們98 采用特征值的 TGI 和 TA 濃度兩個指標綜合篩選,達到保留相關特征值、減少噪音和信息丟失的目的。6.5 有效的評估指標 也是由于無歷史反饋數據,導致用于優選的擴散人群與訓練模型的人群分布有較大差異,單純的 AUC、Precision 等指標不能準確衡量優選模型在擴散人群上的效果,為此我們設計并驗證了 PredictTA TopN Precision 評估指標,有效指導了模型的優化。7.7.總結與展望總結與展望 針對品牌目標人群定向,此次實踐的人群擴散+優選的算法流程、人群優選/年貨人群模型、及提出的 PredictTA TopN Precisi
181、on 評估指標是非常有效的。后續優化方向,包括前面挑戰中提到的基于用戶反饋數據的樣本優化,需要大量的投放反饋數據;用戶歷史屬性和偏好特征優化,需要存儲更多的歷史特征數據;稀疏特征的優化,可通過深度學習方法將稀釋特征映射到稠密特征空間實現;用戶在生活方式/消費心理方面的 embedding 特征,對于人群優選非常有用,多任務學習是不錯的實現方式。99 湊單這個技術活,阿里工程師怎么搞?湊單這個技術活,阿里工程師怎么搞?作者:天棟 小嘰導讀:在雙 11 的購物環節中,平臺與商家為了激發用戶的購買欲望,在不同品類或賣家店鋪下存在各種滿減優惠活動。在已加購一些目標商品的情況下,一部分用戶會選擇加購一件
182、額外的商品,在符合購物計劃的同時滿足特定的滿減條件,收獲一件物美價廉的商品;還有一部分用戶在選擇額外商品的時候,會無意間發現一個驚喜的商品,甚至更改之前的購物計劃;湊單作為購物環節重要的環節,具有幫助用戶提高優惠購物效率與購物探索性兩大重要角色。1 1、背景背景 今年湊單相比往年,在產品形態上我們在第二頁推薦中增加了錦囊,增加產品的豐富度,為用戶推薦個性化的品類標簽,增強用戶對產品的黏性。在業務上額外支持了天貓萬券齊發會場的個性化推薦與品類津貼的混合湊單。在今年的湊單場景中,繼續注重用戶在湊單場景的探索發現性與逛的體驗,提升推薦的豐富度與多樣性,增強跨類目推薦的體驗,而本文主要介紹其中在 Gr
183、aph Embedding方面的工作,包括并行化算法的嘗試與應用。100 2 2、算法算法 問題的抽象與描述 在互聯網平臺上用戶與商品的基本購買關系可以用基于用戶/商品兩種二部圖所描述如下所示:其中藍色實線表示用戶與商品的直接點擊、購買等行為關系,黑色虛線表示表示商品之間基于用戶的共同行為關系(點擊、加購、購買等),若考慮節點自身的相關屬性,則該二部圖會變成更加復雜的屬性圖。當目標為計算商品之間的 I2I 關系的時候,傳統的一種較為常用的方法是,將用戶/商品的二部圖通過用戶共同行為關系轉化為商品之間的同構網絡,而同101 構圖中的權重則會基于 Memory Based 協同過濾的方法計算(如:
184、Adamic-Adar 等權衡節點與鄰居直接關系與信息熱度的 1 階計算方法、集團的 Swing 等綜合考慮節點鄰居之間相似性的 2 階算法);另外一種較為常用的方法是在二部圖上采樣(帶權重的隨機游走)或基于用戶在一個 Session 中的日志數據,捕獲用戶的連續行為,得到商品之間的“共現”樣本,采用 Skip Gram 的模型(DeepWalk、Node2Vec、LINE 等)訓練得到商品Embedding,然后基于 TOPK 的相似度得到商品 I2I?;诠餐袨殛P系的 I2I 算法能從大量用戶行為數據中精準的捕獲商品之間的相關性,在集團內各種推薦場景中都發揮著非常重要的作用。在湊單場景中
185、,當用戶在已加購一定商品的基礎上,若再推薦與購買或已經瀏覽過的商品,則可能會適得其反,因此在湊單的推薦上更側重于跨類目與豐富度的提升。去年的湊單首次將 Graph Embedding 算法應用在業務中,而今年我們在去年的基礎上強化跨類目的訓練,并基于 BSP 框架在基于 BSP 的 Graph Embedding 算法實現上做了一次嘗試與算法應用,并設計了一個跨類目屬性的概率圖模型。本文主要介紹了 Graph Embedding 算法的實現與應用部分,這只是湊單業務場景的一個部分?;?BSP 的分布式 LINE 算法實現 SGNS(Skip-Grams with Negative Sampl
186、ing)是 Word2Vec 的一個經典模型,自 DeepWalk 問世以來,類似 SGNS 的模型在 Graph Embedding 領域中得到了非常廣泛的應用,近些年也陸續有很多改進版本的算法問世,而 LINE 是其中一個比較經典且效果顯著的結合網絡局部 1 階、2 階關系訓練節點向量的算法,也是Graph Embedding 算法系列中經常用來作為 State of the Art 對比的算法,算法基于網絡圖的邊權分布對相鄰連接節點之間進行建模與訓練:102 其中,表示節點的向量,p1 通過圖中兩節點 Embedding 內積的 Sigmoid函數定義的兩點之間的連接概率,O1 是 1
187、階目標函數 Loss,描述邊的實際連接分布與通過 p1 表達整個圖的概率分布之間的 KL 距離,O2 是 2 階目標函數Loss,在 2 階模型中每個節點除了自身節點的向量之外,在更新過程中維護一個作為鄰居節點 context 信息的向量,在 Glove 中也有用到類似 context變量的方法??紤]到 O2 目標函數中分母存在歸一化項帶來的計算量問題,與Word2Vec 的 SGNS 模型類似,LINE 采用如下負采樣的方法訓練模型:其中,采用 O1 與 O2 作為目標函數分別訓練得到 1-order 與 2-order 的embedding 向量,算法最終經常會采用歸一化后的向量作為 Li
188、nkPrediction 以及分類問題的特征。從分布式的角度觀察目標函數,任意節點的更新依賴如下兩個部分:1.的鄰居節點,2.從全局按照的概率負采樣得到的節點。在 BSP 計算框架下,第 1 部分的特性非常適合并行化(類似 SVD 等算法的分布式實現),而第2 部分的特性使得 BSP 框架下的并行化遇到一定的麻煩,因為需要從全局進行采樣與更新,因此之前的主流并行化實現模式是 Parameter Server 的編程模式,而 BSP 則更多的用于其中的采樣環節,作為后續 PS 上訓練 Word2Vec 算法的樣本準備環節,(類似算法那有 DeepWalk/Node2Vec 等)。2017 年 A
189、AAI 上發表了一篇關于分布式負采樣的 Paper,文中提出了一種Target Negative Sampling 的方法,其通過在 Target 節點所在 Partition 中進行采樣的方式實現了負采樣在 Partition 間的并行化,簡單理解可以認為其將負采樣所需要的計算與存儲分攤在了不同的 Partition 上,通過不同 Partition 上的 AliasMethod 采樣分攤負采樣的計算與存儲?;诩瘓F的 Odps-Graph(BSP 編程框架)我們實現了 LINE 的分布式算法,在 Odps-Graph 框架下,不同的 vertex 會分攤在不同 worker 內進行存儲,反
190、之一個worker會承擔多個vertex的計算與存儲,將負采樣約束在worker范圍內,通過消息的發送實現跨 worker 的負采樣,從而得到近似全局負采樣并分攤存儲103 的效果。在梯度更新方面,基于正、負樣本的節點向量更新分別采用 2 個獨立超步通過 vertex 之間的消息發送實現。其余采用類似 SGNS 模型訓練的 Graph Embedding 算法均可以采用類似的思路實現,偽代碼如下:回到湊單的業務場景中,基于用戶歷史的共同點點擊、購買等行為樣本數據,其中對于跨類目的行為進行加權,增強跨類目的訓練,基于分布式的 Graph Embedding 算法,訓練的到商品的 embeddin
191、g 表達,離線計算得到商品的 I2I 數據,用于 I2I 召回的索引 Build 與在線 TopK 的推薦商品召回,這種跨類目的做法我們可以歸類為樣本跨類目的范疇。舉幾個實際的 Case,如下所示:通過第一幅現代裝飾畫,召回后面的油畫、開關貼、餐具瓷器、冷水壺、墻貼等多個跨類目下的商品:104 通過第一件風衣,召回后面的面霜、睫毛膏、BB 霜、耳飾、連衣裙等多個跨類目下的商品:跨類目概率圖模型 傳統的 Graph Embedding 基于 Graph 中任意兩節點與之間的相似度進行 edge 表達的建模,在湊單等注重豐富度的業務場景中則相對偏重于跨類目的學習。2018 年 WWW 有一篇介紹了
192、考慮人氣屬性差異的 RARE 算法,其通過人氣差105 異去削弱人氣差異較大節點之間的 embedding 相似度,雖然他們可能之間存在一條邊。在湊單場景中,我們基于 RARE 模型進行擴展,嘗試基于類目相似度差去削弱在相同類目下不同共同用戶行為作用商品之間的 embedding 相似度。并重點將類目考慮到 edge 的建模中,而由于類目是一個離散變量,類目的差異我們采用將其做 embedding 的方法計算,并在模型中結合類目做了一些修正,構建如下所示概率圖模型:其中,分別為商品 i 與商品 j 所屬類目對應的 embedding 向量,為商品跨類目 embedding 向量,通過如下 MA
193、P 的方法訓練模型:其中,與為與的 Gauss 先驗,同時具有模型參數正則化,提升泛化能力的作用。模型本身并不復雜,其表達的思想在于當用戶同時在兩個商品106 上發生行為時,一部分可能來自于相同屬性的作用(在這里是類目的作用),而并非我們所學習的 embedding 本身,而在模型中我們也將 embedding 定義為跨類目的相似表達?;诳珙惸扛怕蕦傩詧D的算法模型我們還在進一步的深入分析與研究中,包括商品以及類目 embedding 的分析、模型設計上的優化以及如何更好的在業務中發揮效果等。3 3、總結總結 Graph Embedding 是圖學習表達領域一個重要的分支,通過 Graph 節
194、點的向量表達,描述復雜稀疏的網絡結構,能夠學習到不同節點之間 1、2 階之外的高階關系,在提升豐富度,新穎性方面有其獨特的優勢。目前集團內也有算法以及系統團隊對其有更加深入的研究與實現,期待廣泛的合作與交流學習。4 4、展望展望 算法上,目前湊單的 Graph 模型中暫時只有考慮類目與邊關系,隨著近些年屬性圖算法、基于 Meta Path 的 Graph Embedding 以及深度學習的快速發展,后續會融入更多的商品、用戶維度的屬性特征,提高模型的精度與表達能力,此外將基于 embeddingI2I 的召回與排序之間綜合考慮建模也是未來研究的重點。業務上,目前湊單中很多場景入口信息還不完善,
195、比方說用戶購物車真實點擊入口商品等,因此在實現用戶真正意義的“更好的湊”還有比較大的提升空間,此外在用戶體驗上,今年增強了動態性,削弱了相似商品的重復曝光體驗,因此如何更好的挖掘用戶的體驗也是值得深入研究的方向。5 5、項目總結項目總結 本文介紹了湊單項目 Graph Embedding 方面的一些工作,只覆蓋了湊單項目的一小部分,今年我們在系統以及算法上都做了一次較為全面的升級,在算法模型上部署了深度學習模型,分組背包優化模型,跨類目 Graph 模型,在權重的學習方面引入了實時的 LTR,整體上同比去年直接引導進店支付金額+XX%,轉化率+XX%,線上 A/B 對比基準通曝光價值+XX%,
196、轉化率+XX%。參考文獻:107 【1】Adamic,Lada A.,and Eytan Adar.Friends and neighbors on the web.Social networks 25.3(2003):211-230.【2】J.Tang,M.Qu,M.Wang,M.Zhang,J.Yan,and Q.Mei.LINE:Large-scale Information Network Embedding.In WWW,2015.【3】Yupeng Gu,Yizhou Sun,Yanen Li,Yang Yang,RaRE:Social Rank Regulated Large-s
197、cale Network Embedding,Proc.of the 27th Int.Conf.on World Wide Web(WWW18),Lyon,France,Apr.2018.【4】Perozzi,Bryan,Rami Al-Rfou,and Steven Skiena.Deepwalk:Online learning of social representations.Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining.ACM,201
198、4.【5】Grover,Aditya,and Jure Leskovec.node2vec:Scalable feature learning for networks.Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining.ACM,2016.【6】Stergios Stergiou,Zygimantas Straznickas,Rolina Wu,and Kostas Tsioutsiouliklis.2017.Distributed Negative
199、 Sampling for Word Embeddings.In Proc.AAAI Conf.on Arti$cial Intelligence(AAAI).108 基于品類關系,虛擬類目如何建設?基于品類關系,虛擬類目如何建設?作者:玉昆、云志、子尹 小嘰導讀:類目-屬性項-屬性值體系(簡稱 CPV)是淘寶建設中非常重要的基石,在商品的發布、管理,以及搜索場景下都大量應用。比如每個商品都有自己的類目、以及屬性,而且需要發布在適合自己的類目下,才能夠方便管理和搜索;在用戶搜索的過程中,對 Query 的類目預測也是相關性中非常重要的一環。1 1、前言前言 每個商品在同一時刻都只屬于一個葉子類
200、目,淘寶的類目體系是樹狀結構,每個類目都有一個父類目,類目 id=0 是根類目,是所有一級類目的父類目,沒有子類目的類目稱為葉子類目,一般來講,我們主要關心的是從一級類目到葉子類目這些類目。淘寶類目樹體系的數據可以通過相關的 odps 表獲取。目前有效的類目數量大概在 2 萬多個。虛擬類目建設的目的在于,在當前類目體系之下,根據我們搜索自身的業務特性,建設一套基于品類上下位關系的虛擬類目體系,如下圖所示:109 圖 1.概念圖譜 2 2、問題背景問題背景 虛擬類目建設是我們整個知識圖譜建設中的一個部分,之所以會有虛擬類目,是因為當前的類目體系下,針對搜索和推薦的場景,我們遇到了兩個問題:1)因
201、為不同行業的原因,有的類目名稱完全一樣,但是卻分布在了不同的一級類目下,或者有的類目非常相似,同樣也有多個葉子類目,如圖 2 所示,有多個類目都與食用油有關。這樣在推薦場景帶來的一個問題就是當用戶想要購買的商品分布在 A,B 兩個類目下,而這兩個類目是完全一樣的,當用戶購買了 A類目下的商品之后,我們還可能會對他推薦 B 類目下的商品,因為這個時候我們無法認知 A 類目和 B 類目是同質的。這樣不僅在體驗上會給用戶帶來疲勞感,在用戶的發現性上也有一定的損傷。2)有的類目內容過于寬泛,品類數量比較多,比如保健食品類目下有多種不同的保健品,這個時候在推薦場景下,如果能夠按照不同的品類,而不是整個類
202、目進行推薦,效果可能會更好,如圖 3 所示。110 圖 2.類目相似問題 圖 3.類目粒度過粗 3 3、整體解決方案整體解決方案 111 因此,為了解決上面所提到的問題,我們提出了基于品類關系的虛擬類目樹的建設思路,分為三個部分:1)針對類目相似的問題,我們將當前相似的類目合并,構建一個新的虛擬類目節點,如圖 4 所示。2)針對類目粒度較粗的問題,我們將粒度較粗的類目進行拆分,分解成多個新的虛擬類目節點,如圖 5 所示。3)根據前 2 點產出的虛擬類目節點,迭代地構建一棵虛擬類目樹,如圖 6所示。圖 4.類目合并 112 圖 5.類目拆分 圖 6.類目樹構建 我們在設計虛擬類目解決方案的時候,
203、也考慮過根據品類詞,從零開始構建一棵虛擬類目樹,不過最終我們沒有采用這么方法,原因如下:113 1)當前的類目體系已經比較完備,同時每個類目下的商品也基本上屬于當前這個類目,基于當前的類目體系進行合并或拆分,能夠極大的提高整體效率;2)從頭開始根據品類詞構建類目樹,一是以什么粒度作為類目節點仍然是一個問題,同時還涉及到對商品打標的問題,可能帶來一定的誤差。因此我們基于當前類目體系,通過合并與分拆,構建適合我們應用場景的一套虛擬類目體系。4 4、類目合并方案類目合并方案 類目合并的目標是找到相似的類目,并對其進行合并成一個虛擬類目節點,根據對當前一些類目的分析,當前的相似類目有以下一些情況:類目
204、名稱完全一樣,這種可以合并,如:“居家布藝地墊 家庭/個人清潔工具衛浴用具/衛浴配件地墊”。類目名稱相似,但是有一些不同,比如“廚房/餐飲用具杯子/水杯/水壺玻璃杯”與“廚房/餐飲用具杯子/水杯/水壺保溫杯”,這種不合并,因為從品類上看屬于不同的品類。品類差不多,但是適用對象不一樣,比如“寵物/寵物食品及用品 貓/狗美容清潔用品 毛巾/浴巾/吸水毛巾”與“居家日用 毛巾/浴巾/浴袍 毛巾/面巾”,雖然都是毛巾,但是適用對象是不一樣的,所以這種情況也不合并。因此,根據問題,我們提出了以下幾種相似類目發現算法:基于 Query 類目預測,以及類目名稱對相似類目進行發現?;陬惸肯?,商品標題的品類詞
205、相似度對相似類目進行發現?;谟脩粜袨閿祿ο嗨祁惸窟M行發現?;谟脩綦S機游走的方法計算類目相似度。4.1 基于類目預測的方法 Query 的類目預測是淘寶搜索相關性的重要組成部分,通過類目預測,可以把與用戶搜索 query 意圖相關的類目對應的商品靠前呈現,從而保證用戶的體驗效果。在一次搜索 Query 中,根據具體的情況可能會有 1 個或多個類目預測結114 果,我們要做的就是找到哪些類目經常共同出現,這里面我們采用了互信息的方法來計算類目之間的相關性:圖 7.PMI 這里 P(x,y)代表類目 x 和類目 y 一起出現的概率,而 P(x)為類目 x 單獨出現的概率,P(y)為類目 y 單
206、獨出現的概率?;バ畔⑹歉怕收撝袘脧V泛的方法之一,如果 x 跟 y 不相關,則 P(x,y)=P(x)P(y)。二者相關性越大,則 P(x,y)就相比于 P(x)P(y)越大。所以通過上面的式子就能夠算出相關性比較強的類目 pair 對。4.2 基于標題品類詞的方法 該方法的思路是通過商品標題的相似度,來判斷類目之間的相似度。其步驟如下:獲取類目下商品的 title,以及對該類目下商品有點擊的 Query。對 title 以及 Query 進行 tagging,提取其中的品類詞,并計算詞頻等信息,形成每個類目對應的 term_list 詞表。根據 term_list 計算類目之間的兩兩相似度。
207、這種方法能夠減少用戶行為所帶來的偏差。4.3 基于用戶行為的方法 基于用戶行為也是能夠有效地發現相似類目的一種方法,我們這里利用了基于頻繁項挖掘的方法來找到經常出來的類目對。這里面簡單介紹下頻繁項挖掘。頻繁項集挖掘算法用于挖掘經常一起出現的item 集合,通過挖掘出這些頻繁項集,當在一個事務中出現頻繁項集的其中一個 item,則可以把該頻繁項集的其他 item 作為推薦。比如經典的購物籃分析中啤酒、尿布故事,啤酒和尿布經常在用戶的購物籃中一起出現,通過挖掘出啤酒、115 尿布這個啤酒項集,則當一個用戶買了啤酒的時候可以為他推薦尿布,這樣用戶購買的可能性會比較大,從而達到組合營銷的目的。常見的頻
208、繁項集挖掘算法有兩類,一類是 Apriori算法,另一類是FPGrowth。我們這里使用了 FPGrowth 方法。FPGrowth 算法主要分為兩個步驟:FP-tree 構建、遞歸挖掘 FP-tree。FP-tree 構建通過兩次數據掃描,將原始數據中的事務壓縮到一個 FP-tree 樹,該FP-tree 類似于前綴樹,相同前綴的路徑可以共用,從而達到壓縮數據的目的。接著通過 FP-tree 找出每個 item 的條件模式基、條件 FP-tree,遞歸的挖掘條件 FP-tree 得到所有的頻繁項集。我們的數據樣本構造方法如下:針對每一個用戶,當用戶購買了類目 A 下的商品時,在購買時間點往前
209、的一個小時內,獲取用戶點擊過的商品所在的類目,以及每個類目下點擊的商品個數。取出點擊商品個數最多的 TOP3 個類目,同時每個類目下的商品點擊數要大于 5 個,以減少用戶誤點的情況?;谏厦娴臄祿嬙灬槍︻惸?A 與多個其它類目組合成的頻繁項。最后通過上面構造出來的樣本,我們使用 PAI 上的 FPGrowth 算法得到每個類目可以推導出來的另一個類目,如下圖所示,但從實際的效果來看,使用FPGrowth 的效果不是太好。因此我們在這里也繼續使用了 PMI 的方法來計算兩個類目之間的相關度。樣本仍然是以用戶購買之前點擊的類目 id 形成類目 x 與類目 y 的 pair 對。116 圖 8.F
210、P-Growth 結果 4.4 基于 Graph Embedding 的方法 Graph Embedding 是近幾年研究較熱的課題之一,早在 2014 年 KDD 中的論文DeepWalk:Online Learning of Social Representations就開啟了這個方向的熱潮,文中借鑒了深度學習在語言模型中的應用,以全新的方式學習網絡節點的潛在向量表示,在社會化網絡多標簽網絡分類任務中取得了很好的效果。接下來研究者們在更多的領域也嘗試了 Graph Embedding 的方法,比如節點分類、邊預測、社區發現以及網絡相似性等方面。簡單地講,Graph Embedding 分為
211、兩步:先采用 Random Walk 產生行為序列。在行為序列上采用 SkipGram 訓練 word2vec 模型。圖 9.DeelWalk 流程 117 圖 10.SkipGram 流程 我們這里就基于 Graph Embedding 的方法來學習類目 id 的向量化表示??紤]到用戶的點擊購買行為,就如同在一張很大的圖上游走,圖中的每個節點就是類目 id,當用戶的點擊、購買行為從一個商品到另一個商品,而且商品類目不是同一個類目,那么就建立這兩個類目之間的關系,詳細流程如下所示:獲取用戶的商品點擊、購買序列。若 itemA 在 itemB 之間點擊,且兩者不屬于同一個葉子類目,那么構建且分數
212、為 1。若先點擊了 itemA,然后購買了 itemB,且兩者不屬于同一個葉子類目,那么構建且分數為 5。根據構造出來的類目圖關系,通過 DeepWalk 學習出每個類目 id 的embedding 表示。根據類目的 embedding 向量,計算類目之間的 cos 相似度。4.5 數據 基于上面 4 種方法,我們得到了類目之間的相似度關系,通過對 4 種結果的ensemble,我們得到了相似類目 pair 對 10000+對。5 5、類目拆分方案類目拆分方案 類目拆分是針對品類的種類較多,或者數量較大的類目,根據業務將其拆分成多個小的子類目,也可以稱為對商品進行聚合。類目拆分其實是比較主觀,
213、或者說根據業務場景的需要按照某種規則進行拆分,因為不同的拆分規則都有其合理性。比如在連衣裙類目下,按照品牌可以對其進行拆分,按照尺碼也可以對其進行拆分,也可以按照風格進行拆分,所以我們的拆分方式是需要為業務服務的。118 目前就我們了解到的,也有不少對商品進行聚合的方法,比如按照 SPU 維度,找相似,或者是圖像同款等方面。所以我們的類目拆分方法也是根據我們自身的業務需要而制定的。我們這里采用了兩種方法對類目進行拆分,一種是基于品類上下位關系的方法,一種是基于商品聚類的方法,下面分別進行介紹。5.1 基于品類上下位關系 上下位關系是指類似于“裙子”下位詞是“連衣裙”這種形式,它是一種樹狀的結構
214、。關于上下位關系的研究已經有很多年了,大部分關注的都是通用的知識圖譜領域的實體關系,電商這塊的研究還較少。因此,我們這里采用品類上下位關系來構建我們的虛擬類目樹。品類的上下位關系也是我們的詞林圖譜框架中的一點。如下圖所示:圖 11.詞林圖譜 關于品類上下位關系的挖掘方法后面將專門進行介紹,這里就不展開講了。主要用了幾種方法:Query 下類目預測的分布情況 title 中的品類詞的偏序關系 Query Session 等數據 119 5.2 基于商品聚類 基于商品聚類的類目拆分,是我們在猜你喜歡的推薦場景下做的類目拆分的工作,我們這里從用戶的行為入手,對商品進行聚類。我們這里使用圖聚類的方法。
215、圖聚類是根據圖的拓撲結構,進行子圖的劃分,使得子圖內部節點的鏈接較多,子圖之間的連接較少。標簽傳播算法(Label Propagation Algorithm,LPA)是基于圖的半監督學習方法,其基本思路是節點的標簽(community)依賴其鄰居節點的標簽信息,影響程度由節點相似度決定,并通過傳播迭代更新達到穩定。大概流程如下圖所示:圖 12.標簽傳播算法 具體步驟如下:根據用戶行為,獲取同一類目下 itemA-itemB 的點擊序列。根據用戶行為,獲取同一類目下 itemA-itemB 的點擊、成交序列。針對上面的數據分別賦予不同的權重,構造成一張 item-item 的關系圖,并基于標簽
216、傳播聚類對其進行聚類,得到商品聚類表,每個 item 對應到一個cluster_id。繼續對商品的關系圖進行 DeelWalk,訓練得到每個 item 的 embedding 向量。根據一個 cluster_id 下所有的 item,計算其平均 embedding 值,來表示當前的 cluster_id。針對同一類目下,計算 cluster_id之間的相似度,得到與一個 cluster_id最相似的其它 cluster_id。120 這里解釋一下,這里的前 3 步是為了對商品進行圖聚類,這樣每個商品都屬于一個 cluster_id,當對用戶進行推薦時,通過他之前的 trigger item 可
217、以得到對應的 cluster_id,進而得到該 cluster_id 下的其它商品。但是為了在召回階段給予更多的商品池子,我們這里又計算了 cluster_id 與 cluster_id 之間的相似度,并得到與某個 cluster_id 最相似的 top n 個其它的 cluster_id,這樣只要知道了某個 item_id 所屬的 cluster_id,那么就能夠召回更多 cluster_id下的商品,有更多的海選樣本。6 6、效果效果 這里主要講一下類目合并這塊效果。類目合并這塊主要是為了解決用戶的疲勞度,我們分別在首圖、大促場景以及購后鏈路都上線了虛擬類目的數據,最后通過人工評測的方法來
218、評價用戶疲勞度的改善情況。最后通過評測,用戶的疲勞度在這幾個場景下都有 X%以上的降低。從體驗上,大家也可以看一下下面的效果:圖 13.首圖疲勞度控制情況 121 圖 14.購后鏈路疲勞度控制情況 這里需要強調的一點就是,我們這邊主要是虛擬類目數據的產出,而最終在各個場景的上線則是由各個業務場景的同學針對自身的業務做了非常多的優化,才能夠在疲勞度下降的情況下,還能提升 CTR,在這里向他們表示由衷的感謝。7 7、總結與后續規劃總結與后續規劃 虛擬類目建設是一個長期的過程,也是一個需要不斷迭代完善的過程,好的數據與好的系統都是不斷沉淀下來的。所以虛擬類目也會不斷完善,同時在有了類目合并與拆分的基
219、礎上,還需要進一步對虛擬類目樹進行構建,建立一個層次級別類目樹框架。另一方面,虛擬類目樹不僅在推薦場景下有用,在搜索場景下也有用處,比如 Query 的類目預測等場景。同時,前面關于虛擬類目建設的工作,還有不少需要完善和優化的地方,也歡迎大家提出建議,謝謝。團隊介紹:團隊介紹:阿里巴巴搜索事業部,不停追求技術邊界突破和業務創新的團隊,包括來自世界各地的優秀算法工程師,成果屢次獲得集團大獎,并被主流媒體報道過,同時也和海內外一流高校和實驗室有長期科研合作項目,發表過包括 WWW,SIGIR,KDD,CIKM 等會議在內的多篇頂級學術會議文章。歡迎感興趣的同學投遞簡歷,社招校招&實習生均可,郵箱:
220、tanjun.tjalibaba-。122 論文解讀論文解讀|數十億商品中,長尾和新品怎么找到新主人?數十億商品中,長尾和新品怎么找到新主人?作者:緣方 小嘰導讀:在推薦系統的發展歷程中,面臨兩個核心問題:用戶的長尾覆蓋度以及新商品的冷啟動,在這兩個維度下的模型擴展能力的瓶頸一直以來對廣大推薦算法工程師都是不小的挑戰。本文基于 Graph Embedding 的理論知識提出了創新框架,旨在提升商品推薦的多樣性和發現性。1 1、背景介紹、背景介紹 淘寶個性化推薦場景所面對的數以十億計的用戶、商品、交互數據和各類屬性構成了一個規模龐大的異構網絡,如果能將網絡中的各類信息統一建模在同一個維度空間,用
221、向量的方式進行表達,它的簡潔和靈活性會有巨大的應用空間。據我們所知,業界尚未有對如此大規模復雜網絡進行 graph embedding建模的成熟應用。在本篇論文中,我們針對推薦場景,基于 Graph Embedding 的理論知識創新框架:123 利用用戶的序列化行為構建 graph,結合隨機游走技術對用戶行為進行虛擬采樣擬合出多階的潛在興趣信息;同時利用 side information-based 模型進行知識泛化學習,提出了 Graph Embedding with Side Information(GES)和Enhanced Graph Embedding with Side Info
222、rmation(EGES)兩種向量聚合算法,對上億級別的商品和其 side-information 進行 embedding 建模,并作為一種全新的召回在手淘首圖個性化場景部署應用。實驗結果顯示,新提出的 GES 和 EGES 算法得到顯著效果提升,并解決了用戶覆蓋和商品冷啟動問題,提升了商品推薦的多樣性和發現性。2 2、Base Graph EmbeddingBase Graph Embedding 算法框架算法框架 Graph Embedding 在淘寶推薦的核心框架如圖所示:首先是構建網絡,由于商品推薦的整個網絡是大規模的異構網絡,我們利用用戶對商品的行為序列,提出并定義了新的轉移概率連
223、接圖,有效克服用戶真實 session 行為中存在的大量熱點節點問題:以每個節點為中心,利用其擴散子節點的連接頻次及行為共現頻次計算轉移概率,構建全網的轉移概率連接圖。其次則根據構建好的有向帶權圖,在此基礎上進行 random walk 隨機游走,構造出千億級別的多階虛擬樣本,用于后續的深度網絡學習。最后則是對采樣數據進行模型訓練,將離散的網絡節點表示成向量化,最大化節點共現,使用 Sampled Softmax 來做超大規模分類的分類器,優化的目標是:3 3、GES GES 和和 EGES EGES 算法算法 124 相比于傳統 CF 算法,上述的推薦 Graph Embedding 框架能
224、夠捕捉商品的高階相似度,擁有發現能力,但是商品冷啟動問題仍然是一個挑戰,為了解決這一難題,我們在 Graph Embedding 的 Skip-Gram 階段融入節點的 side-information,提出 GES 算法,核心是同時學習網絡節點和節點各 side-information 的隱式表達,將多維隱向量融合在一起作為商品的最終表示。在 GES 的基礎上,不同商品對不同維度的信息的貢獻程度是不一樣的,比如 iPad 和 iPhone 的相似性來自于他們擁有共同的品牌,兩件秋裝的相似性則源于它們在同一個店鋪銷售。因此進一步提出了 EGES,用加權 pooling 層來加強向量融合的準確性
225、。GES 和 EGES 的融合公式分別為:EGES 的 Embedding 網絡結構如下圖所示:引入 side-information 后同店、相似店鋪、同品牌、相似品牌等寶貝在排序中更為靠前;同時對于一些沒有出現行為的、新鮮上架的寶貝,根據它的side-information 對它進行 embedding 表達,有效解決了冷啟動問題。4 4、實驗結果、實驗結果 125 為了驗證算法的有效性,我們分別在淘寶內部數據集和 Amazon 開放數據集上進行了實驗,并進一步將算法部署到淘寶首圖個性化線上業務中,均得到顯著的效果提升:下圖直觀的解釋了結果,運動鞋類目下的寶貝 embedding 向量降維
226、,顏色代表不同子類目,每一個點代表一個商品降維后的坐標,可以看出同一個類目下的寶貝 embedding 向量聚合在一起。下圖冷啟動商品的召回的示例中,冷啟動商品和所找到的相似商品在side-information 維度上的泛化相似度,證明我們提出的 EGES 算法用泛化學習的方式處理了冷啟動問題。126 5 5、系統部署、系統部署 EGES 算法在 17 年雙十一前夕部署上線,完整的工程架構如下圖所示:本 篇 為 Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba的論文解讀,該論文收錄于 SIGK
227、DD 2018。127 讓機器幫你做決策!強化學習在智能交互搜索的應用分享讓機器幫你做決策!強化學習在智能交互搜索的應用分享 作者:肖非、王楨 小嘰導讀:在時間就是金錢的時代,降低搜索時間成本,迅速找到目標產品具有重要意義。如今的電商平臺已不僅僅是一個擺放商品的貨架,“智能推薦”成為電商的一個重要功能。今天,我們來看看強化學習是如何幫助用戶與平臺實現互動,讓用戶在商品的海洋中迅速找到心儀的“它”。1 1、交互搜索簡介交互搜索簡介 智能交互搜索是一種新型的購物搜索方式,用戶可以在搜索中同時與系統進行交互,我們希望可以在與用戶的交互中提供幫助用戶決策的信息。大致包含以下幾種維度:細化需求:用戶購物
228、需求比較確定的情況下,系統會推薦有助于細化決策的維度,比如“耳機”的 Query 下,系統會讓用戶選擇“佩戴方式”,幫助用戶更快成交。探索發現:解決逛和發現的需求,在發現用戶不是購買意圖下,推薦一些發散的 Query。128 知識問答:解決用戶之前通過第三方網站了解購物知識,然后來淘寶直接搜索商品的問題;提供一些知識解釋;最終希望引導用戶在淘寶能流暢完成購前找買什么,購買和購后分享的整個鏈路;某用戶 Session 數據如下:初始 Query 為“無鞋帶 男鞋”,Agent 給用戶推薦了“顏色分類:紅色、白色、黑色、灰色”,用戶選擇了“銷量排序”用戶選擇了“黑色”,Agent 給用戶推薦了一些
229、發散性 Query“發現:皮鞋男、板鞋男、鞋子男、小白鞋男、布鞋男、帆布鞋男、休閑鞋男、豆豆鞋男、t 恤男”用戶“翻頁”用戶選擇“小白鞋男”,Agent 同時給用戶推薦了“鞋頭款式:尖頭、扁頭、圓頭”用戶點了“尖頭”用戶點了“圓頭”.產品形態如下圖:129 2 2、問題定義問題定義&相關工作相關工作&建模建模 問題定義 在當前問題中,我們希望可以讓用戶盡可能多的和系統交互。更多的交互意味著更多的 pv,增加用戶的停留時間和粘度,pv 增加也會提高廣告的收入。在智能語音交互方面,微軟提出了一個統計指標CPS,即人類與人工智能“聊天機器人”的對話輪數。據微軟統計顯示,目前小冰的 CPS 是 23
230、左右,而 Siri、Google Now 等以智能助手為目的開發的人工智能引擎,CPS 往往都不超過 3。本文我們也采用這個 Matrics 作為優化目標。當然我們也可以把這個問題看做一個 Task Oriented Dialog System,讓用戶以最少的交互次數完成購物,目前我們把目標設定為前者。強化學習在交互搜索場景的意義 強化學習 work 的場景必須有明確的 delay reward,典型的有棋類游戲中的放棄當前子來獲取全局的優勢,競技類游戲比如 dota2 中英雄放棄補刀的金錢收益去選擇 gank、打肉山,強化學習擅長建模在序列決策中存在 delay reward 的問題,即放棄
231、當前局部最優的決策來獲取更長期的收益。交互搜索系統對用戶的反饋是典型的序列決策過程,有時需要放棄當前最高收益,在這個問題中,如果我們的優化目標是整體的 CTR,比如在耳機的搜索場景中,有兩個維度(品牌),(佩戴方式)可以在 context 下用于決策,用有監督的方法我們學到的是當前context下的最優選擇,為下圖Greedy的思路,這時我們學到的是“首次展示品牌”更好,而實際上,如果我們調換品牌,佩戴方式的出現順序,雖然我們首次決策不是當前狀態下最優的,但序列決策下的期望卻是最優的。130 相對 RL 應用較成功的游戲、棋類、機器控制領域,對話交互系統對“終止”的定義比較模糊,在閑聊機器人中
232、可以定義為用戶退出,在交互搜索里用戶的意圖切換是否定義為終止就與任務相關,如果是希望用戶增加 PV,我們可以整體交互的退出作為終止,如果希望在細化類目做進一步導購直到成交,終止則定義為退出或切換意圖。131 強化學習在任務型對話的一般思路 DM 經典的做法是把問題看成一個槽填充問題,在 2007-2013,基本做法是定義好一個任務,并拆分為一系列的槽(slot),在對話交互過程中進行填充。而這種方法的最大問題在于:錯誤傳遞,上游錯誤會傳遞到下游導致下游直接錯誤,比如 NLU 或 DST 的某步驟出錯,會直接導致 DM 輸出錯誤的 Action,而且幾乎無法修正。而端到端的方法可以做到一定程度的
233、糾錯,基本思路為首先監督方法訓練,然后用深度強化學習調參(樣本為真實用戶)。比較代表性的工作有是 Bing Liu 在 17 年 nips 的文章,結構如下,優化同時考慮的 slot filling 和 action。交互搜索基于強化學習框架的建模 我們用強化學習的框架來對交互搜索場景建模。其中智能體(agent)是我們的服務進程。環境(env)是用戶和平臺的其他因素。具體地,用戶首先提交query,例如“手機”。agent 選擇該類目的某個屬性,例如“品牌”。頁面展示“品牌”的具體取值,例如“華為”,“小米”等。用戶可能會選擇/取消某個屬性值,也可能直接翻頁,這些操作都會跳轉到下一個 PV。
234、agent 與 env 不斷交互直至用戶退出會話,構成一個 episode。我們記 t 時刻 env 給出狀態,agent 做出動作,env 根據內生的動態,反饋給 agent 獎勵并跳轉到狀態。強化學習旨在為agent 搜索最大化期望累積獎勵的策略。在交互搜索場景中,我們將狀態,動作,和獎勵定義為:132 1、狀態設計:State的設計要考慮兩點,當前State足夠學到合適的Action,以及用戶與環境交互的過程 State 要有明顯變化去學 Q 函數,這里我們考慮了以下幾個方面:User State:包括用戶的性別、年齡、購買力。User History、Agent History:類目、
235、頁碼(用戶翻頁)、用戶點過的tag、Agent 推薦過的 tag。Query State:DST 后 Norm Query 做 Embedding(取語義粒度分詞后embedding 的均值,當然這里也可以考慮用 self-attention 的方式考慮語義貢獻,但目前的數據量下我們沒有這么做)作為當前的 query state。Tag 靜態分:Query-Tag Score,User-Tag Score 等。:包括用戶信息(性別、年齡、購買力等)和會話信息(類目、頁碼、query、用戶操作記錄等)。2、動作:某個類目屬性,例如“品牌”,“褲型”,“材質”等。動作空間是所有合法的類目屬性。3、
236、獎勵:如果用戶沒有離開,否則。這樣設計是因為最大化累積獎勵等價于目前的業務目標,即盡可能增加交互輪數。此問題的難點在于,所有類目屬性的個數約有 200K,即動作空間的大小為200K(類目*維度),這勢必導致搜索空間過于龐大,難以求解最優策略。另一方面,每個商品類目平均有約 15 種屬性。這個動作空間的規模雖然可以接受,但是我們共有約 1500 種類目,如果分別訓練 1500 個 agent,因為頭部類目與尾部類目所擁有的流量嚴重失衡,所以用機器學習的方法很難為尾部類目訓練得到性能可觀的 agent。我們注意到不同類目所擁有的屬性集合是有大量交集的,例如“連衣裙”和“褲子”都有“材質”這一屬性。
237、同一屬性對于不同類目來說,意義往往是無差別的。例如”品牌“是重視品質,在乎品牌賦予同質化的商品的附加意義的用戶會傾向于選擇的屬性?;诖?,我們通過共享模型參數(User History、Agent History、Action 的 embedding),聯合訓練(多任務)各類目的 agent。具體模型如下,另外一次輸出這么高維度的打分向量顯然是過度計算了,所以這里我們根據類目對 Action Space 集合做了一個 Mask,只對當前類目下考慮的 Action打分,對最后的的計算我們采用了對 Action 做打分:133 3 3、系統系統 我們基于 PAI TF,使用 Ali AI Agen
238、t(簡稱 A3gent)強化學習組件實現的DQN 算法來求解最優策略。我們的神經網絡的輸入層包含多路輸入,且不同通道的狀態分別有sparse/dense,定長/變長,數據的類型包括 int,float,string 多種類型。A3gent 支持多路狀態輸入,每個通道的數據類型及形狀均可配置。除了需要處理多路輸入,我們的神經網絡結構也較為復雜,包括 embedding layer,fully connected layer,concatenation layer。另外,考慮到其中一路狀態是 agent 在當前 episode 推薦過的屬性集合且我們的動作空間正是屬性集合,我們讓 output l
239、ayer 與 embedding layer 共享參數。即對于屬性 P,它的embedding向量會作為該P對應的output neuron的參數:,其中 h 表示 output layer 的輸入。由于不同類目的 agent 共享模型參數,所以每個類目的 agent 的策略不能平凡地做一次 forward。由于狀態包含一個通道為類目的 ID,記為 c,我們首先根據 c 查詢類目到屬性列表的詞典,找到 c 所對應的合法屬性集合。再根據Q 值大小貪婪選取動作:A3gent 組件中已經將上述邏輯通過計算圖表達,對于使用者不存在于普通forward 的區別。134 由于強化學習需要 agent 與
240、env 交互的過程中在線更新,且基于 QP 的服務進程無法實現模型的訓練,所以我們采用基于 PAI TF 的準實時訓練策略:訓練 數據:我們首先用歷史數據做預訓練,預訓練的結果基本可以學到線上的策略,作為模型的初始參數。baseline(top5 的維度 random,所以 random 的結果也不差)對比,從 Query 級別點擊率來看 DRL 離線可以帶來 1.9%的提升(后面我們也分析了,當前的 Reward 設定其實并不能顯著提升 CTR),而基于統計 ensemble 的版本有 6.8%的提升。同時分析了不同策略下對全局指標的影響,人均 pv/uv 降低 0.5%,一個大 Sessi
241、on 內的平均交互次數增長 0.16%。具體如下:針對這個結果,我們認為 DRL 只是在統計+random 生成的樣本上做了一輪訓練,而 DRL 需要與環境進行交互,用當前策略(on-policy)去產生訓練數據,目前基于統計 ensemble 的版本用到了大量主搜數據,所以效果會比較好?;谀壳暗姆治?,我們嘗試了準實時訓練,數據生成部分我們做到實時解析,在 porsche產生實時數據(pvlog),目前拼一個完整的 EPISODE 給模型訓練,需要拿到用135 戶退出的操作,而我們的數據量較小,需要三小時才能產出足夠的樣本,所以為了快速驗證效果,這一步目前我們是通過小時級離線解析,然后用 P
242、AI 去訓練模型。我們也開發了一個實時 Matrics,實時監控小時級別的 CTR 和小時級別的平均 CPS(平均交互次數)。線上部署 DII(一個算法在線服務平臺)在升級到 0.33 版本后內置了 Tensorflow 模型預測功能,我們測試性能是可以滿足需求的。在模型更新部分,DII 服務會在掃到模型文件切換 index 后重新加載模型,目前唯一的缺點是,沒法做到實時,實測 1.4G 的模型文件從產出、build、切換索引到生效大約需要半小時。我們的場景中,目前流量下,Replay Buffer 積累數據也需要小時級,所以這部分暫時是可接受的。ps:目前想實時生效只能通過寫 DII 增量,
243、在 DII 的 process 里自己實現Inference,考慮到我們的更新頻率、以及模型切換后的開發成本,我們暫時沒有這么做。目前是采用定時調度的形式實現的。4 4、結果結果 評價方式 136 RL 在離線的評價一直是一個問題,因為傳統的 AUC 都是基于當前 context下有監督的最優,一般評價的方式有:模擬器:根據真實數據產生一個 Env 的模擬器,可以與訓練的 Agent 進行交互,用平均 Reward 評價。這對打游戲十分有效,比如 gym 里的各種環境。在淘寶中也有很多模擬器的項目,我們下一步也會考慮通過模擬器的方式快速迭代算法,比如對話系統模擬器。人工測試:采用人工的方式與系
244、統進行交互,統計平均 Reward,這種方式人工反饋的量是比較有限的。線上測試:直接與真實環境進行交互,然后統計隨時間變化的平均 Reward,這種測試方式需要真實環境有大量交互行為,我們也采用了這種評價方式。線上效果 訓練后的 CPS 相對 ensamble 的版本有明顯提升。在新的交互系統中,用戶平均交互次數提升了 1.5 次,提升 30%+。Tag 的 CTR 并沒有明顯提升,這里我們也分析了原因,目前的 Reward 設定其實不一定展示給用戶的是點擊率最高的,比如我們可能會出一個不是當前context 下點擊率最高的 Tag,但這個 Tag 點擊后的商品對用戶滿意度最高,用戶會更多瀏覽
245、,這也會增加與系統的交互次數。5 5、總結與展望總結與展望 基于強化學習的 Task-oriented Dialogue System 已經在客服領域、醫療診斷等領域取得了巨大成功,前者可以節省大量人力成本,幫助用戶快速完成任務,后者則有望基于有經驗的醫療診斷數據,解決醫療資源不均的問題。在商品導購領域,消費者完成一筆訂單,用戶通常會經過與銷售客服交流,自己查資料,到決定購物的決策過程,在淘寶海量購物數據中,我們希望可以挖掘出“購物老司機”的購物路徑,并且在合適的時機給用戶“有決策價值的解釋”,給消費者更好的導購體驗。本任務中,Action Space 極大,相對于傳統的 Task-Orien
246、ted Dialogue 訂機票、訂餐、醫療的任務,我們的 Action Space 包括確定當前的系統動作,如:商品屬性的選擇、內容解釋等,確認了動作后還要對具體動作的值進行排序,如果候選空間有 m 個動作,有 n 個是需要排序展示的,那137 么動作空間會是維。這個量級的 Action 空間,對于學術界和工業界都是巨大的挑戰,我們目前只是做了其中的一層,動作空間有百萬維。本問題是一個典型的多層決策問題,是否可以設計更好的 HRL 方式,更全局的考慮全局的收益?此外如何在有限的樣本中做信息共享?如何在真實線上環境中做高效率的探索?如何夠早一個合理的“experience replay”使 o
247、nline learning 更“穩定、快速、有效”都是接下來要研究的問題?參考文獻:1.End-to-End Optimization of Task-Oriented Dialogue Model with Deep Reinforcement Learning 2.A network-based end-to-end trainable task-oriented dialogue system 3.Learning end-to-end goal-oriented dialog 4.A copy-augmented sequence-to-sequence architecture g
248、ives good performance on task-oriented dialogue.5.An end-to-end trainable neural network model with belief tracking for task-oriented dialog.6.End-to-end task-completion neural dialogue systems 7.Iterative policy learning in end-to-end trainable task-oriented neural dialog models 8.Hybrid code netwo
249、rks:practical and efficient end-to-end dialog control with supervised and reinforcement learning 9.Towards end-to-end reinforcement learning of dialogue agents for information access 最后,如果你對智能交互、自然語言處理、語義搜索、強化學習、深度學習感興趣,歡迎加入我們團隊!如果你是非應屆畢業生,希望在真實場景數據下實現算法,我們有大量 research intern 名額,以上職位有意向都可以發送簡歷+意向崗位到
250、:guren.xfalibaba-,期待你的加入。138 如何解決移動電商平臺中的“偽曝光”?如何解決移動電商平臺中的“偽曝光”?作者|天裂、海凱、一塵、理欣 小嘰導讀:在線推薦服務根據商品的特征和用戶的信息推薦多個商品?,F如今很大比例的用戶通過手機訪問電商平臺。但是一些推薦的商品并沒有被用戶看到。為了解決在線推薦場景中的偽曝光問題并提高推薦商品的 CTR,我們首次嘗試了 bandit 框架,并且在傳統的 bandit 算法上進行了多項改進,取得了不錯的效果。在這篇文章中,我們做出了五個關鍵貢獻來解決偽曝光問題并提高點擊率:由于傳統的 contextual bandit 問題只推薦一個商品而不
251、是一組商品,我們首先把在線推薦問題 model 成一個創新的 Contextual Multiple-Play Bandit問題。我們利用了一個線性的獎勵模型(linear reward model)來適應大規模的候選商品。我們提出了一個新的方法來解決偽曝光問題。我們使用用戶看到這些商品的可能性作為樣本的獎勵的權重。為了提高 CTR,商品之間的相似度被用來改進線性獎勵模型。139 我們提供了算法的理論分析并且證明了我們的算法具有亞線性的(sublinear)regret。我們利用淘寶的真實數據集進行了測試。結果顯示我們的算法在兩種 CTR測量方法下分別比 Learning to Rank(LT
252、R)方法分別提高了 15.1%和 12.9%,并且顯著的超過了其他 contextual bandit 算法。1 1、介紹介紹 隨著電商平臺的普及,很大一部分用戶開始通過移動設備來訪問電商平臺,比如亞馬遜和淘寶。在推薦場景中,一列商品會基于用戶和商品的信息被推薦出來。由于屏幕的限制,只有一部分商品能被第一時間看到,剩下的商品需要滑動屏幕來翻頁并查看剩下的商品。在這個過程中,用戶可以點擊一個吸引他的商品并查看商品詳情。查看之后用戶還可以返回推薦列表瀏覽其他商品并且點擊多個商品。如果沒有商品吸引到用戶,特很有可能直接退出推薦場景或者淘寶應用。在這個過程當中,用戶很有可能在瀏覽完所有商品之前就離開了
253、推薦場景,這種現象稱為偽曝光。舉例來講,如果我們向一個用戶推薦了 5 個商品,他點擊了第一個商品并查看了這個商品的詳情,之后他返回了推薦列表查看了第二和第三個商品,但是并沒有點擊這兩個商品。我們只知道五個商品被推薦給用戶然后他點擊了第一個。由于已有的研究一般會假設所有的商品都被用戶查看了,第三個位置之后的商品會被當做負樣本。這些有偏差的負樣本會使得學習效果下降。這篇文章是為了解決在線推薦場景中的偽曝光問題并提高推薦商品的 CTR。我們采用了 bandit 框架:一種在線推薦的常用算法。在應用 bandit 框架的過程中,有一些挑戰需要被解決。第一,多個商品需要被選出。但是傳統的 bandit
254、算法一般只選擇一個。并且大量的商品和用戶會導致收斂緩慢。盡管 multiple-play bandit 算法7,10,18 已經被踢出來選擇多個商品,但是他們都沒有考慮到 context。第二,由于偽曝光的存在,一些數據可能不適合直接用來學習。如果我們直接利用數據進行學習,用戶真正的喜好就不會被準確的學到。商品的位置會對偽曝光問題產生很大的影響。盡管已經有一些工作考慮了位置信息,比如 Cascade Model 5 和 Position-Based Model 15,但是偽曝光問題沒有被他們考慮進去。140 第三,為了探索用戶的潛在興趣,相似的商品要避免一起出現在一個推薦列表里。在 multi
255、-armed bandit 問題中,相似度信息被用來當做 Lipschitz 條件來限制相似的商品會得到相似的獎勵 2,9,20。但是他們沒有考慮推薦多個商品。在 這 篇 文 章 中,我 們 提 出 一 種 創 新 的 contextual multiple-play bandit 算法來解決這些挑戰。我們的貢獻主要有五方面:我們把在線推薦問題 model 成了一個創新的 contextual multiple-play bandit 的問題并且利用了線性獎勵模型來有效的利用樣本。為了解決偽曝光問題,我們提出了一個方法來估計不同位置的商品被用戶看到的的概率,并且利用它作為樣本的權重。為了推薦多
256、樣化的商品,我們考慮了商品的 cosine 相似度并提出了一個混合的線性模型來表達商品信息,相似度和獎勵的關系。我們分析了算法的 regret。對于第 T 回合,m 個推薦商品,d 維商品信息,我們證明了有概率達到的 regret。我們利用淘寶的真實數據集測試了我們的算法。結果顯示我們的算法在兩種 CTR 測量方法下分別比 Learning to Rank(LTR)方法分別提高了 15.1%和12.9%,并且顯著的超過了其他 contextual bandit 算法。2 2、相關工作相關工作 Multiple-play bandit 方法被提出來拓展傳統 bandit 算法并在每個回合推薦多個
257、 arm。EXP3.M 算法是 EXP3 算法的拓展 7。主要的思路是每回合基于EXP3 選出多個 arm。兩個框架 Rank Bandit Algorithm(RBA)18 和Independent Bandit Algorithm(IBA)10 也被提出。這兩個框架都是在每個位置運行一個 MAB 算法來選擇多個商品。在 RBA 中,如果不同位置的 MAB 算法選了同一個 arm,位置較低的算法的獎勵為 0。在 IBA 中,為了防止重復,位置較高的 MAB 所選擇的 arm 會從位置較低的 MAB 候選集中去除掉。Thompson Sampling 也被拓展并給出了理論分析11。最近mult
258、iple-play bandits算法被用在預算限制下來最大化累積獎勵23,24。141 但是這些算法沒有考慮 context。這回導致收斂速度較慢并且不適合應用到大規模的真是問題當中。偽曝光問題主要是由商品的位置引起的。利用點擊模型來 model 位置的影響已經在一些工作中出現了。The Cascade Model 5 分別和 multi-armed bandit,combinatorial bandit,contextual bandit 和 contextual combinatorial bandit 結合 13,14,17,25。在 combinatorial bandit 中,算法
259、推薦一組商品但是只收到一個關于集合的點擊反饋。The Cascade Model 假設一個用戶從上到下觀察推薦出來的文檔直到找到一個相關的。Wen et al.22將 UCB 算法和 Independent Cascade Model 結合來解決在線影響力傳播問題,由于 Cascade Model 無法解決多種點擊的情形,Position-Based Model 被考慮12,15用來估計位置對于點擊率的影響。Komiyama et al.12與傳統的 bandit 不同,他們考慮了廣告的影響。Katariya et al.8 結合了 bandit 算法和 Dependent Click Mod
260、el,其中Dependent Click Model 將 cascade model 拓展為多個點擊。他們都假設用戶瀏覽了所有的商品。但是在我們的問題中,我們假設在移動設備中一些商品無法被用戶看到并且利用了 position-based model 來估計用戶看到不同位置的商品的概率。3 3、問題描述和公式化表達問題描述和公式化表達 在這一章中,我們首先提供了問題描述并且敘述了移動電商平臺遇到的兩個挑戰。我們之后公式化的定義了 contextual multiple-play bandit problem 和兩個 CTR 評價標準。3.1 問題描述 隨著手機的普及,更多的消費者傾向于通過手機客
261、戶端來訪問電子商務平臺。與網頁不同,移動應用上的界面是有限的并且只能顯示幾個商品。142 比如說圖一 a 和 b 分別展示了 3 個和 2 個商品。利用有限的空間找到用戶的興趣是一件困難的事情并且主要要兩個挑戰需要被克服。第一,探索和利用之間的平衡非常重要。由于在推薦場景中用戶一般不會提供額外的關于他們興趣的信息,用戶的瀏覽和搜索記錄經常被用來當做用戶的先驗知識。但是利用這些知識推薦出來的商品會和搜索引擎的非常相似。這和推薦場景發掘用戶潛在興趣的目標不太一致。解決這一問題的關鍵是探索和利用之間的平衡。由于有限的屏幕尺寸,這一問題在移動端尤其重要。探索需要在沒有先驗知識的情況下找到用戶的潛在興趣
262、。同時,利用能夠促使用戶點擊更多的商品并且滑動屏幕來探索更多。這個探索/利用的困境之后會被我們被轉化為multiple-play contextual bandit 問題。第二,我們獲取的數據是不完美的。數據無法顯示哪些商品沒有被用戶看到。我們的數據是從淘寶的天天特價場景得到的(圖一 b)。在該場景中,12 個商品會被推薦給一個用戶。但是由于有限的屏幕的空間,只有一個會被用戶第一眼完整的看見。剩下的商品是否被用戶看到是無法從數據中得知的。這種現象我們稱之為偽曝光。解決這個問題的一個思路是估計這些商品被看到的概率并利用這概率作為樣本的權重。我們在第四章利用了點擊率模型來估計這個概率。3.2 Fo
263、rmulation 基于 context 信息推薦多個商品的問題可以被自然地解釋為 contextual multiple-play bandit 問題。一個 contextual multiple-play bandit 方法143 M 在一個離散的回合 t=1,2,3,.T。在每個回合 t,M 會觀測到當前的用戶 u(t)和一個包含了 m 個 arm 候選集合 A(t)和一個集合 X(t),包括了每個商品的 a 的d 維的向量 x(t,a)。算法 M 會基于觀測到的信息選擇一個子集 S(t)包含 K 個商品。之后會收到這些商品的獎勵 r(t,a)。另外,商品的排序 L 也會被算法 M 觀測
264、到。算法 M 之后會基于這些信息(R,x,L)更新選擇策略。主要的符號在表一中被展示。我們對推薦的集合定義了兩種獎勵方程:1.點擊的和:我們用個商品的點擊之和來測量推薦集合的吸引力,我們首先定義獎勵方程:。2.推薦集合的點擊:為了避免用戶退出,我們希望推薦的商品集合 A(t)至少有一個商品吸引用戶并且被用戶點擊。從這個角度,推薦集合的獎勵被設為 1,如果至少一個商品被點擊,也就是:。在我們的推薦問題當中,我們將推薦集合中的商品視為 bandit問題中的 arm。當一個被展現的商品被點擊了,獎勵 r 會被設為 1,否則是 0。利用這種設定,獎勵的期望就是商品的點擊率(CTR)。因此,選擇一個商品
265、來最大化 CTR 就相當于最大化期望的獎勵。144 4 4、算法算法 在本章,我們首先通過結合了 Independent Bandit Algorithm(IBA)和一個線性獎勵模型,提出了一種 contextual multiple-play bandit 算法。為了解決偽曝光問題,我們在第 4.2 章中在線性獎勵模型中估計了不同位置的曝光概率,并將其作為樣本的權重。為了進一步提高 CTR,在 4.3 章中我們將相似度信息和線性獎勵模型相結合。4.1 Independent Bandit Algorithm with Linear Reward Model 在提出算法之前,我們首先介紹 In
266、dependent Bandit Algorithm(IBA)和 LinUCB 算法。IBA 是一個 multiple-play bandit 框架用來推薦一組arms。IBA 依次運行 K 個獨立的 Multi-Armed Bandit(MAB)算法。推薦的集合記錄了 K 個算法的選擇。更高位置的 MAB 選擇出來的商品會從較低位置的商品候選集合里面去除掉,用來確保同一個商品不會被重復選取。R(t,S_t)是一組獎勵向量。如果第 k 個算法推薦商品被點擊了,那獎勵向量的第 k 個元素為 1 否則為0。LinUCB 算法16 是由 Li et al.提出的。在 contextual bandi
267、t 中,算法能夠觀測到商品的一些 context 信息并且選擇一個最好的 arm 來獲得最高的獎勵。為了利用 context 信息,LinUCB 算法提出了線性假設,假定 context 信息和獎勵呈線性關系。LinUCB 的目標是找到一個最好的參數來通過更定的 context預測獎勵并選出一個最大化獎勵的 arm。在 LinUCB 算法中,嶺回歸(ridge regression)被用來解線性回歸模型。我們構建一個 m*d 維矩陣 X,這個矩陣的每一行里包含了推薦集合 S(t)其中一個元素的 context。R(t)是推薦集合 S(t)的獎勵。利用嶺回歸解為:我們定義兩個參數:145 第 k
268、 個位置的在線更新的方程為:商品 a(t)的 upper confidence bound 為:其中是嶺回歸的標準方差,是一個預先設定好的參數,決定了探索概率。我們提出 IBALinUCB 算法來結合 IBA 和 LinUCB,具體的細節在算法一中展現。第四行調用了第 k 個 LinUCB 算法來選擇第 k 個商品。在第五行,選出來的商品被添加到了推薦集合中,之后算法會得到這個推薦集合的獎勵。第 12 行和第 13 行初始化了參數,第十五行給出了計算了 upper confidence bound 的公式。第 19 和 20 行定義了參數的更新方式。146 4.2 IBALinUCB with
269、 Sample Weight 我們基于算法 1 提出了新的算法來解決偽曝光問題。之前的工作顯示點擊率很嚴重的依賴于位置,位置靠前的商品比較容易被點擊6。因此我們提出了樣本權重來來估計商品被用戶看到的概率并且提出了一個新的線性模型。我們首先介紹用來估計權重的點擊率模型。Position-Based Model(PBM)4 假設點擊率 r(a)是由位置和商品吸引力決定的,也就是,其中 w(l)是第 l 位置的影響力,是商品的吸引力??梢越忉尦捎脩艨吹降纳唐芬院蟮狞c擊率。為了解決偽曝光問題,我147 們把 w(l)看做用戶看到第 l 位置的商品的概率。我們將其作為樣本的權重,并提出了一個新的線性獎勵
270、模型:。其中 theta 是一個未知的向量參數。w(l)能夠被看做一個常數,因為它可以被提前學出來15。由于我們的目標是預測 r,我們將權重 w(l)和 x(a)相結合,并給出新的參數更新公式:第 k 個位置的標準差是:所以用來選擇商品的 upper confidence bound 是:其中 alpha 是一個被給定的常數。由于參數 w(k)對每個位置來講是一個常數并且和商品不相關,我們可以在選擇商品的時候忽略它。我們使用和 LinUCB相同的公式來減少計算:加入 sample weight 的 IBALinUCB 算法被仔細的描述在了算法二。第一行重新使用了算法一的 IBA 框架。第二行定
271、義了在第 k 個位置選擇最好的商品的方程,第 11 行展現了參數 A 和 b 的更新方式。148 4.3 IBAHybridUCB with similarity information and Sample Weight 由于用戶沒有在推薦場景中搜索特定的商品,直覺上推薦多種種類的商品可以提高 CTR。相似度信息很廣泛的被用在推薦方面,比如說19。在 bandit 問149 題中,相似度信息被作為 Lipschitz 條件,用來限制擁有相似的信息的商品會接收到相似的獎勵 2,9,20。但是這些算法在每回合只推薦一個商品并收到一個獎勵。在這一章我們利用了 cosine 相似度來實現多樣化的推薦
272、。我們采用了混合線性模型來利用相似度信息:其中 z(a)是一個我們建立的相似度向量,beta 是一個對所有商品都相同的未知的向量參數。我們現在先介紹建立相似度向量的方式。IBA 框架依次運行 K 個 MAB 算法對應著 K 個位置。在第 t 個回合,對于第 k 個位置,前 k-1 個位置的被選擇的商品是已知的,我們把這些已經選出來的商品表示成一個集合 S(t,k-1)。之后我們對于商品計算相似度向量。對于每個 a,我們用相似度信息填滿 z(a)。具體的構建方式在算法三中被展現。第五行計算了 a 和 b 的相似度信息,其中。在構建好之后,我們給出基于 HybridUCB16算法的修改后的更新方式
273、。150 算法四給出了加入了相似度信息和樣本權重的 IBAHybridUCB 算法。第一行中我們忽略了 IBA 框架,因為在算法一中展示過。我們定義了兩個函數來選擇商品和更新參數。第二行的函數是用來基于 upper confidence bound 選擇商品。第 14 行是更新參數的方程。5 5、理論分析理論分析 我們在這一章分析了我們算法的 regret。我們首先分析了 LinUCB+SW 算法,之后給出了 HybridUCB+SW 算法的 regret。我們首先根據第三章的獎勵方程給出在 T 回合的 regret 定義。獎勵的和的 regret 為:151 其中 S(t,*)是 t 回合的
274、最佳推薦集合。集合的獎勵的 regret 為:對于 IBALinUCB+SW 算法,我們首先證明最優解選擇了值最大的前 K 商品,這一點對于 Regret(sum)是顯然的,對于 Regret(set),我們利用了排序不等式來證明。之后。我們展現了在IBA框架下,LinUCB+SW獨立的達到了亞線性regret。我們先重述 LinUCB 算法的 regret 3:我們有:盡管第 k 個位置的 LinUCB+SW 會根據前 k-1 個位置的決定,但是 LinUCB+SW是一個隨機算法并且線性模型是對每個 LinUCB+SW 都成立的。因此,每個LinUCB+SW 都可以取得定理 1 中的 reg
275、ret:證明:對于 Regret(set)的 bound,首先我們注意到:152 下面的引理證明了第 k 個算法選擇了第 k 高的商品:153 根據這個引理,我們得到如下定理:LinUCB+SW 算法的 regret 分析也可以適用于 HybridUCB+SW。盡管我們的算法的理論分析和 LinUCB 算法相似,但是基于真實數據的實驗結果顯示我們的算法比 LinUCB 要好很多。6 6、實驗結果實驗結果 在本章,我們描述了實驗細節。首先我們定義了我們的評價標準。其次我們介紹了從淘寶獲取的真實數據集,描述了數據收集和處理的細節。我們也分析了偽曝光問題在數據中的存在情況。最后,我們利用三組實驗來評
276、價我們的算法。不同算法的對比,探索參數的影響,以及推薦商品個數的影響在最后一章被測試。6.1 評價標準 和我們的獎勵標準一致,我們提出兩個評價標準:154 1.累積的 CTR:在每個回合,一個獎勵向量會被算法接收到,我們用獎勵向量的 1 范數作為標準:。2.集合的 CTR:如果其中一個商品被點擊,集合的 CTR 為 1,否則為 0,我們用集合獎勵的期望來定義第二個評價標準。6.2 數據收集和處理 我們使用的數據是由淘寶提供的。我們利用了淘寶中推薦場景的一天的數據,其中 12 個商品會從 900 多個商品中被選擇出來被展現給 180k 個用戶。這個場景有兩個特征,第一推薦的商品數量被固定在 12
277、 個,移動客戶端不會再推薦新的商品。第二,用戶只會看到第一個商品和第二個商品的一部分。在圖一 b 中,第一個商品被紅色的框標記。為了觀察剩下的商品,用戶需要滑動屏幕。我們的數據集有 180k 條數據,每個數據包含了一個用戶 ID,12 個商品的ID,每個商品的 context 向量和一個對應著 12 個商品的點擊向量。Context 向量是一個 56 維的向量包含了一些用戶和商品的信息,比如商品的價格和銷量,用戶的購買力。我們去除了沒有點擊的數據,因為我們無法得知用戶真實的喜好,如果他不惦記任何商品。155 為了展現偽曝光問題,圖 2 展現了最后一個點擊的位置。圓圈外的數字是最后一個點擊的位置
278、。只有 6.2%的記錄中最后一個商品被點擊了。如果我們假定最后一個被點擊的位置之后的商品會存在偽曝光問題,那么對于最后一個點擊位置是 1 的記錄,的商品會存在偽曝光問題,那么通過加權和大概 54%的樣本被偽曝光問題影響到。這個百分數是一個粗略的估計,因為也有可能一些在最后一個點擊之后的商品被用戶看到了。此外,我們利用了denoising autoencoder 21來給數據降維。這個encoder有 4 個隱藏層,神經元數量分別是 25,10,10,25 和一個 56 個神經元的輸出層。ReLU 作為隱藏層的激活方程。輸入的向量 x 被一個隨機向量擾動,輸入為0.95x+0.05*noise,
279、其中 noise 是一個 0 到 1 中的隨機向量。目標是最小化 MSE的損失。我們采用第二個隱藏層的輸出來作為新的 context。這個提煉的 context被用在之后的所有實驗中。Sample weight.數據的權重主要是由頁面的結構決定的。由于一個頁面的結構在長時間內都不會變,我們可以假定位置影響是一個常數15。我們利用 EM算法來計算4。6.3 對比算法 156 我們利用 5 個對比算法來展現我們算法的表現。第一個是一個不利用context 的融合了 PBM 的 bandit 算法。接下來的兩個算法是兩個廣泛使用的contextual bandit 算法。第四個是淘寶使用的 Lear
280、ning to Rank(LTR)算法。最后一個算法是我們在第 4.1 章引入的算法。1.PBM-UCB 15:PBM-UCB 算法是結合了 PBM 模型和 UCB 算法。該算法的upper confidence bound 被用來選擇最好的商品:。2.LinUCB-k:該算法是 LinUCB 算法的直接拓展。在每個回合算法會選擇前K 個商品。在展示之后算法將會收到這些商品的獎勵,并根據 LinUCB 算法更新參數。3.RBA+LinUCB:Ranked Bandit Algorithm 18在每個位置運行一個 bandit算法。但是如果在第 k 個位置的算法選擇了一個已經被選擇了的商品,這個
281、位置將會收到 0 獎勵,并且會被一個不重復的隨機商品替代。4.LTR:Learning to Rank(LTR)是一個淘寶使用的深度學習算法,利用了30 天的數據來進行訓練。神經網絡的輸出是一個 56 維的向量,被用作商品context 的權重。由于我們的數據就是由該模型進行排序的,我們直接選擇數據中前 K 個商品作為對比。5.IBALinUCB:我們在算法一中介紹了這個算法,他被用作對比算法,來展現權重的影響。6.4 結果 我們進行了 3 組實驗設置了不同的 K 和來展現我們算法的效果。第一組實驗我們展現了隨著步數變化的曲線,當 K 為 3 和 6 時。之后,我們展現了變化所產生的影響。最后
282、一組實驗展現了當推薦個數 K 變化時各個算法的最終表現。我們的 IBAhybrid+SW 算法在大多數情況下表現的最好。6.4.1 隨著步數增加的表現 圖三展示了我們的算法在兩種標準下的表現。子圖 a 和 c 展現了標準下 K=3和 6 時的表現。另外兩幅圖展現了在標準下的表現。IBAhybridUCB+SW 算法達到了最好效果。157 當 K=3 時,前兩幅圖中其他算法和 IBAhybridUCB+SW 的差距要比后兩幅圖中大很多。當 K=6 時,盡管我們的算法也比 LTR 算法的表現高出 10%,但是IBAhybridUCB+SW 和 IBALinUCB 的差距比較小。原因是次優的算法會達
283、到和最好的算法相似的效果,當 K 比較大的時候。比如說,當推薦的策略是次優的,最好的商品被排在了第 4 或者第 5,這件商品在 K=6 時也會被展示出來。這個次優的策略會得到和最優策略相同的獎勵。因此算法會傾向于學習一個次優解,而不是最優解,當 K 較大時,這個目標會比學習最優策略要容易很多。因此其他對比算法會在 K 較大時效果較好,但是我們的算法被 K 的影響較少。6.4.2 隨著 alpha 變化的表現 第二組實驗中,我們展現 alpha 在0.01,0.6 取值的表現。結果在圖 4 中被展現。我們的算法在大多數情況下比其他算法要好很多。在最高點IBAhybridUCB+SW 算法會比 I
284、BALinUCB+SW 算法表現更好。下面是我們的一些觀察。第一,當時,幾乎所有算法表現的都很差,由于缺乏的探索。158 第二,幾乎所有算法在為 0.1 和 0.3 時表現較好。原因是隨著的增長,來自方差的擾動會加劇,算法會更傾向于探索,因此表現會下降。第三,IBAhybridUCB+SW 算法在較小時表現較好。這個表現和相似度信息的使用有關。IBAhybridUCB+SW 算法會傾向于基于相似度信息來進行有效探索并學習到最優的策略。因此算法可以更加高效的學習,即便探索系數很小。6.4.3 隨著變化的表現 我們利用算法推薦不同數目的商品并將結果展現在表 2 當中。LTR 算法被當做基準算法,帶
285、有百分號的數字是 CTR 提升的比例。這個表格展現了所有算法的和。一個更大的 CTR 代表了算法更好的利要交給了數據并學到了更好的推薦策159 略。由于候選集合中的商品數目是固定的,我們通過改變 K 的值來展現算法在不同的比例變化時的表現。為了更好地展現結果,我們利用柱狀圖(圖 5)展現了結果。第一我們能夠觀測到我們的算法會比 LTR 算法高出 10%,展現了在線推薦更適合動態的環境。在對比算法中,IBALinUCB 算法表現的比其他算法好而 PBM-UCB 由于缺乏利用context,表現的較差。160 實驗效果顯示我們的算法在 K=3 時效果較好。IBAHybridUCB+SW 算法在兩種
286、標準下分別提高了15.1%和12.9%。而IBALinUCB+SW分別提高了12.1%和10.8%。這個結果和16中的結果相同,在這篇文章中,作者展現了 contextual bandit algorithm 當較小時表現較好。如我們之前提到的,當較大時,次優的策略也可以得到與最優策略相似的結果。因此當較小的時候,算法的 CTR 能夠更準確地展示了效果。更重要的是,這個優點在實際問題中很重要,因為在這些場景中從幾百件商品中選出十幾件商品推薦給用戶。161 7 7、結論結論 在這個文章中,我們專注于在大規模移動電商平臺中解決偽曝光問題。第一,我們將在線推薦問題描述為 contextual mul
287、tiple-play bandit 算法。第二,為了解決偽曝光問題,我們利用了 PBM 模型,來估計用戶看到商品的概率,并提出了一個樣本權重的方法來利用這個概率。第三,相似度信息被加入到我們的線性獎勵模型中來推薦多種商品并提高 CTR。第四,我們針對兩種標準提供了亞線性的 regret 理論分析。最后,我們利用淘寶的真實數據進行了 3 組實驗來估計我們的算法。結果顯示我們的算法相對于一個監督學習算法和其他 bandit 算法來講,能夠顯著的提高 CTR 效果。REFERENCES:1 Peter Auer.2002.Using confidence bounds for exploitatio
288、n-exploration trade-offs.Journal of Machine Learning Research 3,Nov(2002),39742.2 Sbastien Bubeck,Gilles Stoltz,Csaba Szepesvri,and Rmi Munos.2009.Online Optimization in X-armed bandits.In Advances in Neural Information Processing Systems(NIPS).201208.3 Wei Chu,Lihong Li,Lev Reyzin,and Robert E.Scha
289、pire.2011.Contextual Bandits with Linear Payoff Functions.In Proceedings of the International Conference on Artificial Intelligence and Statistics(AISTATS).208214.4 Aleksandr Chuklin,Ilya Markov,and Maarten de Rijke.2015.Click models for web search.Synthesis Lectures on Information Concepts,Retrieva
290、l,and Services 7,3(2015),1115.5 Nick Craswell,Onno Zoeter,Michael Taylor,and Bill Ramsey.2008.An experimental comparison of click position-bias models.In Proceedings of International Conference on Web Search and Data Mining(WSDM).8794.162 6 Thorsten Joachims,Laura Granka,Bing Pan,Helene Hembrooke,an
291、d Geri Gay.Accurately interpreting clickthrough data as implicit feedback.In ACM SIGIR Forum,Vol.51.411.7 Sham M Kakade,Shai Shalev-Shwartz,and Ambuj Tewari.2008.Efficient bandit algorithms for online multiclass prediction.In Proceedings of International Conference on Machine Learning(ICML).440447.8
292、 Sumeet Katariya,Branislav Kveton,Csaba Szepesvari,and ZhengWen.2016.DCM bandits:Learning to rank with multiple clicks.In Proceedings of International Conference on Machine Learning(ICML).12151224.9 Robert Kleinberg,Aleksandrs Slivkins,and Eli Upfal.2008.Multi-armed bandits in metric spaces.In Proce
293、edings of Annual ACM Symposium on Theory of Computing(STOC).681690.10 Pushmeet Kohli,Mahyar Salek,and Greg Stoddard.2013.A Fast Bandit Algorithm for Recommendation to Users with Heterogenous Tastes.In Proceedings of AAAI Conference on Artificial Intelligence(AAAI).11351141.11 Junpei Komiyama,Junya H
294、onda,and Hiroshi Nakagawa.2015.Optimal Regret Analysis of Thompson Sampling in Stochastic Multi-armed Bandit Problem with Multiple Plays.In Proceedings of International Conference on Machine Learning(ICML).11521161.12 Junpei Komiyama,Junya Honda,and Akiko Takeda.2017.Position-based Multiple-play Ban
295、dit Problem with Unknown Position Bias.In Advances in Neural Information Processing Systems(NIPS).49985008.13 Branislav Kveton,Csaba Szepesvari,ZhengWen,and Azin Ashkan.2015.Cascading bandits:Learning to rank in the cascade 163 model.In Proceedings of International Conference on Machine Learning(ICM
296、L).767776.14 Branislav Kveton,Zheng Wen,Azin Ashkan,and Csaba Szepesvri.2015.Combinatorial cascading bandits.In Advances in Neural Information Processing Systems(NIPS).14501458.15 Paul Lagre,Claire Vernade,and Olivier Cappe.2016.Multiple-play bandits in the position-based model.In Advances in Neural
297、 Information Processing Systems(NIPS).15971605.16 Lihong Li,Wei Chu,John Langford,and Robert E Schapire.2010.A contextualbandit approach to personalized news article recommendation.In Proceedings of the International Conference on World Wide Web(WWW).661670.17 Shuai Li,Baoxiang Wang,Shengyu Zhang,an
298、d Wei Chen.2016.Contextual Combinatorial Cascading Bandits.In Proceedings of International Conference on Machine Learning(ICML).12451253.18 Filip Radlinski,Robert Kleinberg,and Thorsten Joachims.2008.Learning diverse rankings with multi-armed bandits.In Proceedings of International Conference on Mac
299、hine Learning(ICML).784791.19 Badrul Sarwar,George Karypis,Joseph Konstan,and John Riedl.2001.Item-based collaborative filtering recommendation algorithms.In Proceedings of International Conference on World Wide Web(WWW).285295.20 Aleksandrs Slivkins.2014.Contextual bandits with similarity informati
300、on.Journal of Machine Learning Research 15,1(2014),25332568.21 Pascal Vincent,Hugo Larochelle,Yoshua Bengio,and Pierre-Antoine Manzagol.Extracting and composing robust features with 164 denoising autoencoders.In Proceedings of International Conference on Machine Learning(ICML).10961103.22 Zheng Wen,
301、Branislav Kveton,Michal Valko,and Sharan Vaswani.2016.Online influence maximization under independent cascade model with semi-bandit feedback.arXiv preprint arXiv:1605.06593(2016).23 Yingce Xia,Tao Qin,Weidong Ma,Nenghai Yu,and Tie-Yan Liu.2016.Budgeted multi-armed bandits with multiple plays.In Pro
302、ceedings of International Joint Conference on Artificial Intelligence(IJCAI).22102216.24 Datong P Zhou and Claire J Tomlin.2017.Budget-Constrained Multi-Armed Bandits with Multiple Plays.arXiv preprint arXiv:1711.05928(2017).25 Shi Zong,Hao Ni,Kenny Sung,Nan Rosemary Ke,Zheng Wen,and Branislav Kveto
303、n.2016.Cascading bandits for large-scale recommendation problems.In Proceedings of Conference on Uncertainty in Artificial Intelligence(UAI).835844.165 CVPR 阿里優秀論文:針對場景分割兩大問題提出語境對比特征阿里優秀論文:針對場景分割兩大問題提出語境對比特征和門控多尺度融合和門控多尺度融合 作者:HenghuiDing1,Xudong Jiang1,Bing Shuai1,Ai Qun Liu1Gang Wang2.1School of E
304、lectrical and ElectronicEngineering,Nanyang Technological University,Singapore 2Alibaba AI Labs,Hangzhou,China 小嘰導讀:IEEE CVPR-18 是計算機視覺領域最具影響力之一的學術會議。本次會議阿里巴巴有 18 篇優秀論文被收錄,本篇就是其中之一。本文討論了場景分割問題,場景分割需要進行像素級別的分類,上下文語境和多尺度特征融合對實現更好的場景分割至關重要。本文首先提出了一種上下文語境和局部信息對比的特征,這種特征不僅利用了信息豐富的上下文語境,而且通過與語境的對比來聚焦更具辨識度
305、的局部信息。這種特征提高了網絡的解析性能,尤其提高了對不明顯物體和背景填充部分的分割效果。同時,本文提出了一種門控融合機制,不同于以往的多尺度特征融合,門控融合可以根據輸入圖像的特征表象來為不同位置的分類選擇性地融合多尺度特征。166 門控的值由本文提出的網絡產生,會隨輸入圖像的變化而變化。這種門口融合機制可以控制不同尺度特征的信息流動,使網絡對不同尺度的物體有更強的適應力。本文提出的模型在 Pascal Context,SUN-RGBD 和 COCO Stuff 三個場景分割數據集上驗證了性能,取得了目前最高的場景分割性能。本文致力于場景分割中有兩大問題:場景圖片中像素形式的多樣化(例如,顯
306、著或者不顯著,前景或者背景),場景圖片中物體大小的多樣性。并針對這兩個問題分別提出了語境對比局部特征和門控多尺度融合。1 1、語境對比局部特征、語境對比局部特征 圖一 場景圖片中物體形式具有多樣化,如顯著或者不顯著,前景或者背景。圖像分類問題一般僅關注于圖像中最顯著的物體,而場景分割需要對所有像素進行分類,所以在進行場景分割時應該對不同存在形式的物體都給予關注,尤其是不顯著的物體和背景。上下文語境信息對于實現良好的場景分割至關重要。然而語境信息容易被場景圖片中的顯著物體的特征所主導,導致場景中其他的不顯著物體和背景的特征被弱化甚至忽略。如圖一所示,像素A屬于不顯著物體。像素A的局部特征(Loc
307、al)包含了像素 A 的主要信息,但是缺乏足夠的全局信息(如路),不能實現穩定的分割。但是收集語境信息(Context),就會帶來旁邊顯著物體(人)的特征信167 息,導致像素 A 的語境特征被人的特征信息所主導,像素 A 自身的特征信息被弱化甚至忽略。為此,本文提出了語境對比局部特征,同時收集像素 A 的局部特征和全局語境特征(如圖二所示),然后將兩者進行對比融合,一方面可以保護并突出局部特征,另一方面充分利用了信息豐富的語境特征。語境對比的局部特征,包含了富含信息的全局特征以及對像素 A 至關重要的局部特征,并且使得像素 A 的特征不會被其他顯著物體特征所主導。語境對比局部特征的效果如圖一
308、中最后一幅圖片所示。同時,在最終模型 CCL 中,多個 context-local 被連接起來以獲得多層次的語境對比局部特征,如圖二所示。圖二 2 2、門控多尺度融合、門控多尺度融合 場景分割的數據集中存在著大量的不同大小的物體,不同大小的物體所需的感受野和特征尺度不同,用單一尺度的特征對所有像素進行分類是不合理的,因此需要進行多尺度特征融合。本文采用了 FCN 網絡中的 skip 結構來獲取 DCNN 不同特征層的特征信息,但 FCN 中對 skip 的結果簡單相加融合,并沒有考慮不同skip 結果的差異性。不同于 FCN 的是,本文提出了一種門控機制來進行多尺度168 特征的選擇性融合。門
309、控多尺度融合根據特征尺度、語境等信息來動態決定圖像中每個像素最適合的感受野,對 skip 的分割結果進行選擇性融合。門控的值由本文提出的網絡產生(如圖三所示),網絡根據輸入圖像的特征表象生成相應的門控值,由這些門控的值來決定不同層的 skip 以多大比例進行融合,控制網絡信息流動,產生最終的預測。通過門控多尺度融合,網絡可以為每個像素選擇一個合理的組合方案,將合適的特征增強并將不合適的特征進行抑制。在門控多尺度融合中,可以添加更多的 skip 來提取更豐富的多尺度特征信息,同時不用擔心 skip 中有不好的結果。這種門口融合機制可以控制不同尺度特征的信息流動,使網絡對不同尺度的物體有更強的適應
310、力。圖三 3 3、實驗、實驗 場景分割效果對比如圖四所示,本文提出的方法對不顯著物體和背景的分割效果有明顯提升,同時對多尺度物體有很強的適應力。169 圖四 170 如何檢測視頻異常事件?阿里工程師提出全新檢測模型如何檢測視頻異常事件?阿里工程師提出全新檢測模型 主要作者:趙一儒、鄧兵、申晨、劉垚、盧宏濤、華先勝 小嘰導讀:本篇論文收錄于 ACM MM 2017,論文中我們為城市大腦提供監控交通異常的方法。受動作識別等領域的最新研究成果啟發,設計了一種時空自編碼進行視頻異常檢測,同時提出一種權重遞減的預測誤差計算方法。經真實的交通場景評測,該算法在重要指標上已經超過了此前的最好方法。0 0、摘
311、要摘要 真實世界視頻場景中的異常事件檢測是一個高難度的問題,因為“異?!北旧砗軓碗s而且場景中還存在雜亂的背景、物體和運動。大多數已有的方法都是在局部空間區域中使用人工設計的特征來識別異常。在本論文中,我們提出了一種稱為時空自編碼器(Spatio-Temporal AutoEncoder,簡稱 ST AutoEncoder 或 STAE)的全新模型,使用深度神經網絡來自動學習視頻表征以及通過執行三維卷積來從空間維度和時間維度提取特征。在經典的自編碼器中所使用的重建損失之外,我們為未來幀的生成引入了一種權重遞減型預測損失,這能夠增強視頻中的運動特征學習。因為大多數異常檢測數據集都局限于外觀異?;虿?/p>
312、自然的運動異常,所以我們收集了一個新的高難度數據集,該數據集是由真實世界的交通監控視頻構成的。我們在公開數據集和171 我們的交通數據集上進行了多項實驗,結果表明我們提出的方法的表現顯著優于之前最佳的方法。1 1、引言引言 自動檢測視頻流中的異常事件是智能視頻監控系統面臨的一大基本難題,并且已經在過去幾年中受到了學術界和工業界的高度關注。不同于動作識別和事件檢測等監督式視頻分析問題,視頻異常檢測主要面臨著兩大難題:一是正例樣本和負例樣本之間的數據不平衡(即作為正例樣本的異常事件的數量遠遠少于常規事件);二是正例樣本內部存在很大的差異性(異常事件可能包含很多不同的情況,但一般而言可用的訓練數據卻
313、很有限)。由于正例樣本的稀疏性,經典的監督式事件檢測和識別算法無法應用于這個任務。這個問題的通常解決方式是使用無監督方法訓練一個表征正常視頻序列中的模型,然后將異常值(模型的外點)看作是異常事件。鑒于訓練數據通常只包含普通視頻,所以學習常規活動的特征表征是一個無監督學習問題。之前的一部分異常檢測研究側重于建模局部 2D 圖像圖塊或 3D 視頻立方體的時空事件模式,這個過程中會用到從低層面外觀和運動中提取的人工設計的特征,比如方向梯度直方圖(HOG)、光流直方圖(HOF)、3D 時空梯度等。但是,由于人工設計的特征的表征能力有限,這一類之前的方法并不適合用來分析復雜的視頻監控場景。深度學習方法已
314、經展現出了在特征學習方面的優勢,而且研究已經證明其可以非常有效地解決鑒別式視覺任務?;谧跃幋a器網絡的無監督深度學習方法也已被提出用作解決視頻異常檢測問題的又一類方法。但是,這些方法只依賴于全連接的自編碼器或 2D 卷積自編碼器,而沒有利用來自時間維度的特征,因此無法獲取異常事件的時間線索,而這對于識別視頻事件異常而言是至關重要的。受 3D 卷積網絡在視頻分析中的優越表現的啟發,我們提出了用于視頻異常檢測的時空(ST)自編碼器:通過在編碼器中應用 3D 卷積和在解碼器中應用 3D 反卷積,能夠增強模型從時間維度中提取運動模式的能力。除了經典的自編碼器所使用的重建損失,我們還引入了一種權重遞減型
315、預測損失來預測未來幀,這可以引導模型獲取運動目標的軌跡以及增強編碼器以更好地提取時間特征。經過在正常視頻數據上的訓練之后,該自編碼器應該能夠以較172 低誤差重建出常規視頻片段,而在重建非常規視頻片段時則會出現高誤差。然后模型再根據這個誤差計算視頻序列中每一幀的規律性分數(regularity score),然后再將其用于確定異常事件,如圖 1 所示。圖 1:來自 CUHK Avenue 數據集的一段視頻序列的規律性分數。紅色區域表示基本真值異常幀。規律性分數會在異常事件發生時下降。大多數真實世界情形中的異常事件都非常復雜,而大多數當前的異常檢測數據集都只包含外觀異?;蛉藶橹圃斓倪\動異常。為了
316、評估我們提出的方法的實用性,我們收集了一個新的高難度數據集,其由真實世界交通監控視頻構成。實驗表明我們的模型可以應用于這一復雜應用。本論文的主要貢獻總結如下:我們提出了一種全新的時空自編碼器深度網絡,可以通過執行 3D 卷積同時根據空間維度和時間維度來建模常規視頻數據。據我們所知,這是首個基于 3D 卷積的視頻異常檢測模型。我們在模型訓練中引入了一個權重遞減型預測損失,這能提升檢測異常事件的表現。我們收集了一個新的由真實世界交通監控視頻構成的異常檢測數據集,并且表明我們的方法的表現在公共基準和我們的 Traffic 數據集上都優于之前最佳的方法。2 2、我們的方法我們的方法 為了具體描述,我們
317、首先簡要介紹一下 3D 卷積,然后再詳細討論我們提出的模型。173 2.1 3D 卷積 典型的 2D 卷積網絡是在 2D 特征圖上應用卷積來提取空間維度的特征。2D 卷積網絡在圖像識別方面表現優越,但它們卻無法獲取用于視頻分析問題的連續幀中所編碼的時間信息。Ji 等人1 提出執行 3D 卷積來同時計算來自時間維度和空間維度的特征,具體做法是將一個 3D 核卷積到通過連接時間維度中的多個連續幀而形成的立方體上。2.2 3D 卷積自編碼器 輸入數據。輸入數據。在大多數用于圖像識別的典型 CNN 中,輸入數據都是具有 3 個通道(比如 R、G、B 顏色通道)的單張圖像。而在異常檢測網絡中,輸入數據是
318、一段包含多幀的視頻片段。Hasan 等人 2 通過使用滑動窗口(滑動窗口的長度為 T)的時間立方體來構建輸入。但其中的時間特征很少得到保留。為了解決這個問題,我們以超立方體的形式構建輸入通過在第 4 維(通常被稱為時間維)上堆疊 T 幀,然后再在其上執行 3D 卷積。數據增強。數據增強。通過在從視頻序列中采樣的片段上應用多種變換(隨機裁剪、亮度變化和高斯模糊),我們可以生成更多輸入超立方體。在我們的方法中,我們使用恒定步幅來采樣幀,這樣目標的運動速度保持不變。網絡架構。網絡架構。圖 3 給出了我們提出的時空自編碼器網絡示意圖。圖 3:網絡的架構。在編碼器之后有兩個分支的解碼器,分別用于重建過去
319、的幀和預測未來的幀。2.3 權重遞減型預測損失 之前已有研究證明預測網絡有助于學習視頻表征,受這些研究的啟發,我們在解碼器部分設計了一個預測分支來預測輸入視頻片段之后的未來 T 幀。具體來說,重建分支和預測分支具有相同的隱藏特征層,但執行的是不同的任務,分174 別是:重建過去的序列和預測未來的序列。其中預測任務可以引導模型獲取運動目標的軌跡以及讓編碼器更好地提取時間特征。在大多數視頻異常檢測場景中,視點是固定的,各種目標進進出出。新目標的出現難以預測,從而會影響預測網絡在訓練階段的收斂性。我們應用了預測損失來增強模型的能力,以提取已有目標的運動特征和預測它們在未來近期的運動,而不會預測相對遙
320、遠的未來的新目標的出現。新目標出現的概率會隨時間推移逐漸增大,因此我們在預測得到的視頻片段的每一幀上施加了一個遞減的權重。2.4 規律性分數 由常規事件組成的視頻序列有更高的規律性分數,因為它們接近于特征空間中的正常訓練數據。相反,異常序列的規律性分數更低,因此可以被用于定位異常事件。3 3、實驗實驗 3.1 數據集 我們在三個數據集上評估了我們提出的時空自編碼器,其中包含 UCSD Pedestrian 和 CUHK Avenue 這兩個已有的數據集,另外還有新收集的 Traffic 數據集。表 1:異常檢測數據集比較。Nor 表示正常幀,Abn 表示異常幀。3.2 異常的可視化 當我們訓練
321、完模型之后,規律性分數可以根據重建誤差計算得出。由正常事件組成的視頻序列有更低的誤差,而異常序列有更高的誤差。重建誤差是根據每一幀中的每個像素計算得出的,這讓我們可以將誤差分解到每一幀以及定位圖片中的異常區域。175 圖 4 給出了 5 組來自不同數據集的示例。圖 4:異常的可視化。左列:來自不規則視頻片段的幀。中列:我們的模型的重建輸出。右列:重建誤差圖。橙色矩形突出強調了誤差圖中的異常區域。在前三個場景中都只有單個目標存在異常,后兩個場景則與多個目標有關。3.3 異常事件檢測 基于重建誤差可以計算得到規律性分數,而規律性分數又可被進一步用于檢測異常事件。如圖 5 所示,視頻片段的規律性分數
322、會在異常發生時下降。176 圖 5:來自三個數據集的四段測試視頻片段的規律性分數曲線。紅色區域表示基本真值異常幀。結果表明規律性分數會在異常發生時下降。每個場景都給出了幾幀采樣,用以展示常規/非常規事件。表 2 給出了我們的方法與幾種當前最佳方法在 UCSD Pedestrian 和 CUHK Avenue 數據集上的表現比較。表 2:在 UCSD Pedestrian 和 CUHK Avenue 數據集上的比較 結果還表明我們的時空自編碼器模型可用于不同類型的輸入數據。我們還在新收集的 Traffic 數據集上進行了同樣的評估。我們將 ConvAE2 設為當前最佳方法,因為它有一定的揭示時間
323、特征的能力。表 3 給出了 5 種場景的結果,另外也報告了平均結果。所有被測模型的輸入都是灰度幀。177 表 3:在 Traffic 數據集上的比較 3.4 預測未來幀 如前所述,我們在時空自編碼器網絡中設計了一個預測分支,以通過跟蹤視頻序列中運動目標的軌跡來增強視頻表征學習的能力。圖 6 給出了兩個示例。我們的 STAE 模型可以重建輸入的規則視頻片段,也能預測未來幀。運動中的車輛(用綠框標出)的軌跡在未來幀中被很好地預測了出來。我們還給出了有新車輛(用紅框標出)進入該場景的示例,這表明我們的模型無法預測新出現的目標。圖 6:在 Traffic 數據集上的兩組幀預測示例。每一組的上一行都是基
324、本真值視頻序列,下一行則是我們的網絡重建和預測的輸出。左側部分是從 T 個輸入幀中采樣的,右側部分是從未來片段中采樣的。運動汽車用綠框標出,新進入場景的汽車用紅框標出。4 4、結論結論 未來的研究方向包括研究其它網絡架構,融合多模態輸入數據(比如 RGB 幀和光流),在實例層面而非像素層面評估規律性分數,以及將我們的框架應用于更復雜的場景。178 參考內容:1Shuiwang Ji,Wei Xu,Ming Yang,and Kai Yu.2013.3D convolutional neural networks for human action recognition.IEEE transac
325、tions on pattern analysis and machine intelligence 35,1(2013),221231.2Mahmudul Hasan,Jonghyun Choi,Jan Neumann,Amit K Roy-Chowdhury,and Larry S Davis.2016.Learning temporal regularity in video sequences.In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.733742.論文地址:http
326、s:/dl.acm.org/citation.cfm?id=3123451 179 螞蟻實時視頻通話技術和實踐螞蟻實時視頻通話技術和實踐 作者:樟松 小嘰導讀:從電影、電視到電腦、手機,人們獲取視頻信息的方式越來越方便、快捷。時下較熱門的視頻通話、互動直播時長占據了當下年輕人很大一部分的生活時間,可見實時視頻技術在生活中的重要性。今天,螞蟻金服高級技術專家樟松將為我們揭秘“螞蟻實時視頻通話系統”的技術架構及特點,講述實時視頻通話的底層技術以及其運用。1 1、引子引子 直播作為一種品牌推廣、業務拓展的便捷運營工具,最近幾年得到爆發式發展,直播技術也相應地得到快速升級,從單純的廣播式向實時互動式演
327、進,即連麥互動直播。ARTVCS:螞蟻實時視頻通話系統,從 P2P 的雙人視頻通話開始向多人視頻通話和連麥直播方向融合、演進。2 2、技術選型技術選型 場景和核心需求基本明確,該選擇什么技術路線呢?180 我們先回顧連麥互動直播場景,主播在直播過程中,(可能多位)嘉賓連線主播,進入聊天室,與主播進行視頻通話,其他粉絲觀看主播和嘉賓實時互動的視頻畫面。顯然,從技術層面來看,連麥互動直播就是對多人實時視頻會議進行現場直播,可清晰地分為兩個部分:視頻會議系統和直播系統。兩部分都要求音頻和視頻的質量要高,但也有不同的側重點,連麥對接入的快捷性、視頻通話的低時延比較敏感;直播要求接入容量大、可擴展。另外
328、,作為影響范圍大的傳播工具,對連麥直播的內容進行安全監控也必不可少。連麥直播的典型場景是主播邀請其它主播,或者粉絲主動加入,一起互動。也就是說,除了主播外,其它參與者具有動態不確定性,互動多方的網絡線路質量就參差不齊,有準備的主播的網絡質量一般還能保證,但其它參與者的接入網絡就難控制了。為此,弱網下高效地使用帶寬,確保視頻質量尤其重要。眾所周知,提供傳輸能力的協議有 TCP 和 UDP,那么該如何選擇?在弱網環境下,TCP 協議棧的超時重傳算法基于丟包,在路由器丟包發生后才觸發,同時擁塞避免機制將急劇降低吞吐量,傳統的 TCP 甚至達到 50%,然后再線性試探性提升發包速度,直到又出現丟包,總
329、體耗時較長。在遇到網絡抖動、瓶頸時,會呈現鋸齒狀的流量走勢,這直接影響連麥互動的實時性和視頻質量。而 UDP 沒有擁塞控制,這給我們很大的定制優化的發揮空間。所以,對于連麥互動的場景,使用基于 UDP 的 RTP/RTCP 來傳輸和控制音視頻流比較合適。WebRTC 是基于 UDP 視頻通話的開源框架,在行業內得到了廣泛的支持和應用,提供了音視頻采集、編解碼、前后處理、網絡傳輸、渲染播放的整體框架,最重要的是它遵循 BSD-style license。顯然,WebRTC 具備作為連麥互動的基本特性,而且在 P2P 音視頻遠程開戶項目中,我們積累了許多 WebRTC 的經驗,項目組最終決定采用
330、WebRTC 來構建連麥互動(視頻會議),但將一個粗放型的框架打造成一個工業級別的技術平臺,中間我們做了許多工作。3 3、系統架構系統架構 181 視頻會議的通信架構有兩種方式:P2P 網狀直連和 P2SP,P2SP 也分為在 P 端混音和在 S 端混音,而對于多路視頻流,S 端也分為簡單中轉多路流和先拼接合并后再轉發一路流。直播推流方式也分為在 P 端(主播端)推流和在 S 端推流。對于連麥互動直播而言,是視頻會議和推流的組合,以上幾種方式可以衍生出十幾種架構,它們均有自己的優點和缺點,也有一定的適用范圍。我們要做的是,架構要靈活支撐這種組合,以適應各種應用場景(用戶規模、功能特性)和業務各
331、發展階段的資源規劃。比如,有的業務屬于創新項目,啟動初期希望多使用手機端的資源,以節省成本,待業務達到規模時,再向服務端資源傾斜,同時支撐更多的連麥人數。本文主要介紹的是一種較典型的架構:采用 P2SP 構建視頻會議(連麥互動);再在服務端(S 端)通過 RTMP 協議推流到直播系統。182 連麥互動直播系統由視頻會議系統、直播系統、運營支撐平臺組成。視頻會議系統由手機端或 web 端 SDK、房間信令服務、穿透輔助服務、媒體流中繼服務、視頻會議控制服務組成。其中視頻會議控制服務是多路音頻率、視頻流的處理中樞?;灸K包括音視頻流的傳輸控制、編解碼、ICE、會話管理、音視頻處理,增強模塊包括錄
332、像,可插拔旁路模塊用于在云端接入直播系統。直播系統一般由直播房間管理、(直播推流服務)中心節點、拉流邊緣節點組成。質量監控系統主要提供服務節點健康狀況監控、媒體參數控制、在線音視頻質量評估、業務數據統計等能力。4 4、架構特點架構特點 信令邏輯和信令傳輸通道松耦合,信令通道可以是 websocket、rpc、各業務自有消息通道等。這樣,我們重點關注信令本身的協議設計和端到端信令傳輸可靠性保障,方便與各個業務的自有賬號系統、消息系統進行集成。模塊化設計,一個技術平臺靈活支撐多種實時視頻通話場景和直播場景,包括一對一視頻通話、多對多視頻會議、連麥直播。5 5、關鍵技術和優化關鍵技術和優化 WebR
333、TC 雖然提供了一個視頻通話的基本框架,但要在國內網絡環境下很好地支撐一個業務場景,仍然有許多待適配、定制、完善和增強的工作要做,下面列出我們在工程化過程中遇到的諸多問題中的幾個,僅僅是冰山一角。手機端 SDK 瘦身 下載 WebRTC 整體工程,包括基礎源碼、依賴庫源碼、編譯工具,ios 平臺版的源碼總共達到 5g,android 由于依賴 ndk,就更大了。編譯成靜態庫,經過strip 處理后 arm64 平臺的靜態庫達到 20m,這是 link 成可執行的 app 之前的大小,實際 link 后凈增量沒這么多,但仍然顯著的增加了 TEXT 段大小,遂改為framework 動態庫方式,為何要嘗試動態庫集成方式呢?主要原因是:1.動態庫不增加主二進制 TEXT 段大小,避免了超過 60m 的蘋果審核風險。183 2.視頻通話功能一般不是啟動時必須的組件,動態庫可按需延后載入,不需要在啟