基于MindSpore框架wide&deep模型的實(shí)戰(zhàn)CTR體驗(yàn)
本節(jié)課是MindSpore21天實(shí)戰(zhàn)營第五堂課,由何老師分享了CTR的概念及推薦算法的相關(guān)應(yīng)用場(chǎng)景,及Wide&Deep模型是如何實(shí)現(xiàn)推薦的。
1、CTR的概念:
即Click-Through-Rate:點(diǎn)擊通過率,衡量互聯(lián)網(wǎng)廣告效果的一項(xiàng)重要指標(biāo)。
2、推薦算法的相關(guān)應(yīng)用場(chǎng)景:
2.1 微博的信息流排序,類似于今日頭條,也是容易引起大家競(jìng)相關(guān)心和追逐的熱議話題;
2.2 影視劇的相似度推薦;
2.3 購買此物品的人同樣購買了…購物推薦;
2.4 游戲推薦;
2.5廣告的精準(zhǔn)投放;
…
推薦算法的應(yīng)用是時(shí)下熱門的AI話題,效果直接,效益可觀…
3、Wide&Deep模型,記憶與泛化的組合。
3.1 Wide(Ps:Memorization):
在目前大規(guī)模線上推薦排序系統(tǒng)中,通用的線性模型如LR被廣泛應(yīng)用。線性模型通常輸入二進(jìn)制的one-hot稀疏表示特征進(jìn)行訓(xùn)練。比如特征“user_installed_app=netflix”為1,表示用戶已安裝netflix。交叉特征AND(user_installed_app=netflix,impresion_app=Pandora)表示既安裝了netflix app同時(shí)又瀏覽過Pandora的用戶特征為1,否則為0。wide模型可以通過利用交叉特征高效的實(shí)現(xiàn)記憶能力,達(dá)到準(zhǔn)確推薦的目的。wide模型通過加入一些寬泛類特征實(shí)現(xiàn)一定的泛化能力。但是受限與訓(xùn)練數(shù)據(jù),wide模型無法實(shí)現(xiàn)訓(xùn)練數(shù)據(jù)中未曾出現(xiàn)過的泛化。
Ps:
從歷史數(shù)據(jù)中進(jìn)行學(xué)習(xí),與過去直接相關(guān),達(dá)到較精準(zhǔn)的預(yù)測(cè)。
局限性:但對(duì)訓(xùn)練數(shù)據(jù)中不存在的數(shù)據(jù),無法泛化
使用one-hot Encoding構(gòu)成的稀疏矩陣表示特征,可單一,可交叉,交叉特征需要人為設(shè)計(jì)。
3.2 Deep(Ps:Generallization):
像FM和DNN這種Embedding類的模型,可以通過學(xué)習(xí)到的低維度稠密向量實(shí)現(xiàn)模型的泛化能力,包括可以實(shí)現(xiàn)對(duì)未見過的內(nèi)容進(jìn)行泛化推薦。當(dāng)模型query-item矩陣比較稀疏時(shí),模型的會(huì)過分泛化,推薦出很多無相關(guān)性的內(nèi)容,準(zhǔn)確性不能得到保證。
Ps:透過模型找到新的特征組合,這樣的特征組合在過去很少出現(xiàn)(沒被記憶),增加預(yù)測(cè)的多樣性。將Wide稀疏特征映射到embedding layer,轉(zhuǎn)化為1維的稠密矩陣,實(shí)現(xiàn)特征的提取和降維。利用空間向量的相似性進(jìn)行泛化排序。
3.3 W&D 平衡Wide模型和Deep模型的記憶能力和泛化能力。
和大多數(shù)推薦系統(tǒng)類似,Google Play推薦系統(tǒng)主要分Retrieve和Ranking兩個(gè)階段。(youtube論文的Matching和Ranking,詳情請(qǐng)戳這里。)
Retrieve階段負(fù)責(zé)召回候選集,縮減待排序item數(shù)據(jù),文中是O(10)數(shù)量級(jí)。Ranking進(jìn)行進(jìn)行精排序,即最終展示的app list 順序。 Query包括用戶畫像,上下文特征等內(nèi)容;Item就是App。交互行為特征可能是點(diǎn)擊和購買。
4、實(shí)戰(zhàn)體驗(yàn):
環(huán)境:GPU V100 8vCPUs 64GB/MindSpore 1.0.0
腳本:存放于mindspore-21-days-tutorials 倉chapter5目錄下
數(shù)據(jù):Criteo開放數(shù)據(jù)集
??????? 全量數(shù)據(jù):官方下載
??????? train_demo:10% 全量數(shù)據(jù)集,存放于華為云OBS平臺(tái)
??????? mini_demo:1% 全量數(shù)據(jù)集,存放于華為云OBS平臺(tái)
4.1本次因?yàn)閭€(gè)人筆記本無GPU選項(xiàng),在師兄的推薦下,實(shí)踐時(shí)采用了華為云ECS彈性服務(wù)器,按需計(jì)費(fèi)定制了pi2推理加速服務(wù)器。
4.1.1操作系統(tǒng)選擇為Ubuntu,遠(yuǎn)程登錄操作類似本地終端模式。
4.1.2 Docker環(huán)境安裝nvidia-docker,具體教程參考。
4.1.3 與本地文件的交互:因個(gè)人計(jì)算機(jī)為Windows10系統(tǒng),參考官方文檔選擇了WINSCP,實(shí)現(xiàn)了彈性云服務(wù)器與Windows系統(tǒng)文件的交互。其他配置和過程可參考彈性云服務(wù)器的“文件上傳”幫助。
4.2 體驗(yàn)過程:
4.2.1 用下載的train_demo:10% 全量數(shù)據(jù)集對(duì)已有訓(xùn)練模型進(jìn)行驗(yàn)證,該數(shù)據(jù)集為老師按正樣本和負(fù)樣本各占一定比例進(jìn)行抽取組成的數(shù)據(jù)集。驗(yàn)證結(jié)果如下:
4.2.2
①對(duì)下載的1%全量criteo數(shù)據(jù)集(mini_demo.txt)進(jìn)行數(shù)據(jù)處理,生成mindrecord格式的數(shù)據(jù)集;
②用此數(shù)據(jù)集進(jìn)行訓(xùn)練,生成checkpoint文件;結(jié)果如下:
③利用生成的checkpoint文件進(jìn)行驗(yàn)證,結(jié)果如下:
通過初體驗(yàn)和進(jìn)階體驗(yàn)了解了Wide&Deep模型的構(gòu)成和原理,為日后深入學(xué)習(xí)奠定了良好的基礎(chǔ)。
MindSpore 彈性云服務(wù)器 ECS
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。