河南夢之網網絡科技有限公司
夢之網科技出品
掃描關注夢之網科技微信公眾賬號

掃小程序碼聯系客服

從模型到部署,FPGA該怎樣加速廣告推薦算法-鄭州小程序開發

夢之網科技?2019-08-22?文章動態?

在這篇文章里你可以了解到廣告推薦算法 Wide and deep 模型的相關知識和搭建方法,還能了解到模型優化和評估的方式。我還為你準備了將模型部署到 FPGA 上做硬件加速的方法,希望對你有幫助。閱讀這篇文章你可能需要 20 分鐘的時間。

早上起床打開音樂 APP,會有今日歌單為你推薦一些歌曲。地鐵上閑來無事,刷一刷抖音等短視頻,讓枯燥的時光變得有趣。睡前打開購物 APP,看一看今天是不是有新品上架。不知不覺大家已經習慣了這些 APP,不知道大家有沒有留意到為什么這些 APP 這么懂你,知道你喜歡聽什么音樂,喜歡看什么類型的短視頻,喜歡什么樣的商品?

從模型到部署,FPGA該怎樣加速廣告推薦算法-鄭州小程序開發

圖 1:某美食 APP 的推薦頁面

這些 APP 都會有類似「猜你喜歡」這類欄目。在使用時會驚嘆「它怎么直到我喜歡這個」,當然,也會有「我怎么可能喜歡這個」的吐槽。其實這些推送都是由機器學習搭建的推薦系統預測的結果。今天就介紹一下推薦系統中的重要成員 CTR 預估模型,下面先讓大家對 CTR 預估模型有一個初步認識。

先了解兩個名詞

CTR(Click-Through-Rate)點擊率,它是在一定時間內點擊量/曝光量*100%,意味著投放了 A 條廣告有 A*CTR 條被點擊了。

ECPM(earning cost per mille)每 1000 次曝光帶來收入。ECPM=1000*CTR*單條廣告點擊價格。

看個例子:

廣告 A:點擊率 4%,每個曝光 1 元錢,廣告 B:點擊率 1%,每個曝光 5 元錢。假如你要投放 1000 條廣告,你會選擇廣告 A,還是廣告 B?直觀上來看,廣告 A 的點擊率高,當然選擇投放廣告 A。

那么:ECPM=1000*CTR*點擊出價:

ECPM(A)=1000*4%*1=40

ECPM(B)=1000*1%*5=50

但是從 ECPM 指標來看的話廣告 B 帶來的收益會更高,這就是廣告競拍的關鍵計算規則。

我們可以看到 CTR 是為廣告排序用的,對于計算 ECPM 來說,只有 CTR 是未知的,只要準確得出 CTR 值就可以了。因此 CTR 預估也是廣告競拍系統的關鍵指標。廣告系統的 CTR 預估在具體的數值上比推薦系統要求更高,比如推薦系統可能只需要知道 A 的 CTR 比 B 大就可以排序了。

而廣告由于不是直接用 CTR 進行排序,還加上了出價,因此廣告系統不僅要知道 A 的 CTR 比 B 大,而且還需要知道 A 的 CTR 比 B 的 CTR 大多少。

那么再看一個例子:

如果廣告 A:點擊率是 5%,廣告 B:點擊率也是 5%,點擊價格也相同,該選擇廣告 A 還是廣告 B?點擊率相同,點擊價格也相同,得出 ECPM 也相同,該怎么選擇投放廣告 A 還是 B 呢?

此時就可以根據廣告屬性做針對性推薦,針對不同的人群,做合適的推薦。例如:廣告 A 是包,廣告 B 是游戲,可做針對性推薦。即:針對女人這一群體投放廣告 A、針對男人這一群體投放方告 B,這樣則會提高總廣告收益率。

CTR 模型是怎么得出結果的呢?

我們可以根據經驗判斷決定廣告點擊率的屬性:廣告行業、用戶年齡、用戶性別等。由此可分為三類屬性:

user:年齡、性別、收入、興趣、工作等。

ad items:類別、價格、創意、實用等。

others:時間、投放位置、投放頻率、當前熱點等。

這些決定屬性在 CTR 預估模型中都叫做特征,而 CTR 預估模型中有一重要過程「特征工程」,將能影響點擊率的特征找到并進行處理,比如把特征變成 0 和 1 的二值化、把連續的特征離散化、把特征平滑化、向量化。

這樣 CTR 模型相當于是無數特征(x)的一個函數,CTR=f(x1,x2,x3,x4,x5...),輸入歷史數據訓練,不斷調整參數(超參數),模型根據輸入的數據不斷更新參數(權重),最終到迭代很多次,參數(權重)幾乎不變化。當輸入新的數據,就會預測該數據的結果,也就是點擊率了。

那么有沒有很好奇如何搭建并訓練出一個好的 CTR 預估模型呢?

一、模型迭代過程

推薦系統這一場景常用的兩大分類:CF-Based(協同過濾)、Content-Based(基于內容的推薦)。

協同過濾 (collaborative ltering) 就是指基于用戶的推薦,用戶 A 和 B 比較相似,那么 A 喜歡的 B 也可能喜歡。基于內容推薦是指物品 item1 和 item2 比較相似,那么喜歡 item1 的用戶多半也喜歡 item2。

對于接下來的模型無論是傳統的機器學習還是結合現今火熱的深度學習模型都會針對場景需求構建特征建模。

1.1、LR

所謂推薦也就離不開 Rank 這一問題,如何講不同的特征組通過一個表達式計算出分數的高低并排序是推薦的核心問題。通過線性回歸的方式找到一組滿足這一規律的參數,公式如下:

再通過 sigmoid 函數將輸出映射到(0,1)之間,得出二分類概率值。

文章關鍵詞
算法
FPGA
2013以太坊价格 黑龙江22选5开奖结果_开门彩 重庆快乐十分现场开奖 秒速时时平台 进球数秘诀 四川时时官网平台 12选5中奖规则及奖金 吉林11选五开奖走势图一定牛 playtech电子游戏 381818白小姐开奖 江西福利彩票开奖结果 百人牛牛技巧公式 南粤36选7开奖中奖规则 360老时时冷热统计 昨天大透乐中奖结果 十二生肖属性大全 足球俱乐部实力排名