91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何將神經(jīng)網(wǎng)絡(luò)用于推薦系統(tǒng)應(yīng)用

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:Benedikt Schifferer ? 2022-04-22 10:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

深度學(xué)習(xí)( Deep learning , DL )是解決計(jì)算機(jī)視覺或自然語言等機(jī)器學(xué)習(xí)問題的最新方法,它的性能優(yōu)于其它方法。最近的趨勢(shì)包括將 DL 技術(shù)應(yīng)用于推薦引擎。許多大型公司,如 AirBnB 、 Facebook 、 Google 、 Home Depot 、 LinkedIn 和 Pinterest ,都分享了他們將 DL 用于推薦系統(tǒng)的經(jīng)驗(yàn)。

最近, NVIDIA 和 RAPIDS 。 AI 團(tuán)隊(duì)與 DL 贏得了三場(chǎng)比賽: VZX1 、 信號(hào)和日期挑戰(zhàn) 和 ACM WSDM2021 Booking 。 com 挑戰(zhàn)賽 。

推薦系統(tǒng)的領(lǐng)域是復(fù)雜的。在這篇文章中,我將重點(diǎn)介紹神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)及其組件,例如嵌入層和完全連接層、遞歸神經(jīng)網(wǎng)絡(luò)單元( LSTM 或 GRU )和變壓器塊。我討論了流行的網(wǎng)絡(luò)架構(gòu),比如 Google 的 Wide & Deep 和 Facebook 的 Deep Learning Recommender Model ( DLRM )。

DL 推薦系統(tǒng)的優(yōu)點(diǎn)

有許多不同的技術(shù)來設(shè)計(jì)推薦系統(tǒng),例如關(guān)聯(lián)規(guī)則、基于內(nèi)容或協(xié)同過濾、矩陣分解或訓(xùn)練線性或基于樹的模型來預(yù)測(cè)交互可能性。

使用神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)是什么?一般來說, DL 模型可以獲得更高的精度。首先, DL 可以利用額外的數(shù)據(jù)。許多傳統(tǒng)的機(jī)器學(xué)習(xí)技術(shù)需要更多的數(shù)據(jù)。但是,當(dāng)您增加神經(jīng)網(wǎng)絡(luò)的容量時(shí),該模型可以使用更多的數(shù)據(jù)來提高性能。

第二,神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)是靈活的。例如,您可以針對(duì)多個(gè)目標(biāo)(多任務(wù)學(xué)習(xí))訓(xùn)練 DL 模型,例如“用戶是否將項(xiàng)目添加到購物車中?”、“使用項(xiàng)目開始結(jié)賬?”、或“購買項(xiàng)目?”。每個(gè)目標(biāo)都有助于模型從數(shù)據(jù)中提取信息,并且目標(biāo)可以相互支持。

其他設(shè)計(jì)方法包括向推薦模型中添加多模態(tài)數(shù)據(jù)。您可以通過使用卷積神經(jīng)網(wǎng)絡(luò)處理產(chǎn)品圖像或使用 NLP 模型處理產(chǎn)品描述來實(shí)現(xiàn)這一點(diǎn)。神經(jīng)網(wǎng)絡(luò)應(yīng)用于許多領(lǐng)域。您可以將新開發(fā)(如優(yōu)化器或新層)轉(zhuǎn)移到推薦系統(tǒng)。

最后, DL 框架經(jīng)過了高度優(yōu)化,可以處理各種域的數(shù) TB 到數(shù) PB 的數(shù)據(jù)。下面是如何為推薦系統(tǒng)設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)。

基本構(gòu)造塊:嵌入層

嵌入層用密集向量表示類別。這種技術(shù)在自然語言處理中非常流行,可以嵌入具有密集表示的單詞。具有相似意義的詞具有相似的嵌入向量。

您可以將相同的技術(shù)應(yīng)用于推薦系統(tǒng)。最簡(jiǎn)單的推薦系統(tǒng)是基于用戶和項(xiàng)目的:您應(yīng)該向用戶推薦哪些項(xiàng)目?您有用戶 ID 和項(xiàng)目 ID 。單詞是 users 和 items ,因此使用兩個(gè)嵌入表(圖 1 )。

pYYBAGJiDsCAKBl2AADJPefLtp4158.png

圖 1 。嵌入維度為 4 的表

計(jì)算用戶嵌入和項(xiàng)目嵌入之間的點(diǎn)積,得到最終分?jǐn)?shù),即用戶與項(xiàng)目交互的可能性。最后一步可以應(yīng)用 sigmoid 激活函數(shù)將輸出轉(zhuǎn)換為 0 到 1 之間的概率。

latex.php?latex=dot+product%3A+u+%5Ccdot+v+%3D+%5CSigma+a_i+%5Ccdot+b_i&bg=ffffff&fg=000&s=2&c=20201002

poYBAGJiDsGAUHxvAACFEkyRuNM823.png

圖 2 。具有兩個(gè)嵌入表和點(diǎn)積輸出的神經(jīng)網(wǎng)絡(luò)

該方法等價(jià)于矩陣分解或交替最小二乘法( ALS )。

具有完全連接層的較深模型

神經(jīng)網(wǎng)絡(luò)的性能是基于具有多個(gè)非線性層的深層結(jié)構(gòu)。通過將嵌入層的輸出通過多個(gè)具有 ReLU 激活的完全連接層提供,可以擴(kuò)展先前的模型。

一個(gè)設(shè)計(jì)選擇是如何組合兩個(gè)嵌入向量。您可以僅串聯(lián)嵌入向量,也可以將向量逐元素相乘,類似于點(diǎn)積。輸出之后是多個(gè)隱藏層。

pYYBAGJiDsKAdwFBAADV4f76e1M154.png

圖 3 。具有兩個(gè)嵌入表和多個(gè)完全連接層的神經(jīng)網(wǎng)絡(luò)

向神經(jīng)網(wǎng)絡(luò)中添加元數(shù)據(jù)信息

到目前為止,您只使用了用戶 ID 和產(chǎn)品 ID 作為輸入,但是您通??梢垣@得更多的信息。其他用戶信息可以是性別、年齡、城市(地址)、自上次訪問以來的時(shí)間或用于支付的信用卡。一件商品通常有一個(gè)品牌、價(jià)格、類別或在過去 7 天內(nèi)售出的數(shù)量。這些信息有助于模型更好地推廣。修改神經(jīng)網(wǎng)絡(luò)以使用附加特征作為輸入。

poYBAGJiDsKAeI4QAACDPv33ycM555.png

圖 4 。具有元信息和多個(gè)完全連接層的神經(jīng)網(wǎng)絡(luò)

流行建筑

嵌入層和完全連接層是理解一些最新出版的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的主要組成部分。在這篇文章中,我將從 2016 年開始報(bào)道谷歌的廣度和深度,從 2019 年開始報(bào)道 Facebook 的 DLRM 。

谷歌的廣度和深度

谷歌的廣度和深度包含兩個(gè)部分:

記憶共同特征組合的寬塔

用來概括罕見或未觀察到的特征組合的深塔

創(chuàng)新之處在于,這兩個(gè)組件同時(shí)訓(xùn)練,這是可能的,因?yàn)樯窠?jīng)網(wǎng)絡(luò)是靈活的。深塔通過嵌入層提供分類特征,并將輸出與數(shù)字輸入特征連接起來。級(jí)聯(lián)向量通過多個(gè)完全連接的層饋送。

你聽上去熟悉嗎?是的,那是你以前的神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)。新的組成部分是寬塔,它只是輸入特征的線性組合,具有類似的線性/邏輯回歸。每個(gè)塔的輸出相加,得到最終的預(yù)測(cè)值。

Facebook 的 DLRM

Facebook 的 DLRM 與帶有元數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)類似,但有一些特定的差異。數(shù)據(jù)集可以包含多個(gè)分類特征。 DLRM 要求所有的分類輸入都通過一個(gè)具有相同維數(shù)的嵌入層。稍后,我將討論這一點(diǎn)的重要性。

接下來,將連續(xù)的輸入串聯(lián)起來并通過稱為底部多層感知器( MLP )的多個(gè)完全連接的層饋送。底層 MLP 的最后一層具有與嵌入層向量相同的維數(shù)。

DLRM 使用了一個(gè)新的組合層。它在所有嵌入向量對(duì)和底部 MLP 輸出之間應(yīng)用按元素相乘。這就是為什么每個(gè)向量都有相同的維數(shù)。所得到的向量被串聯(lián)并饋送到另一組完全連接的層(頂部 MLP )。

pYYBAGJiDsOAbM9wAAE9ps7wIZ0181.png

圖 5 。左側(cè)顯示廣度和深度架構(gòu),右側(cè)顯示 DLRM 架構(gòu)。

基于會(huì)話的推薦系統(tǒng)

當(dāng)我為推薦系統(tǒng)分析不同的基于 DL 的體系結(jié)構(gòu)時(shí),我假設(shè)輸入具有表格數(shù)據(jù)結(jié)構(gòu),而忽略了用戶交互的本質(zhì)。但是,用戶在訪問網(wǎng)站時(shí),在一個(gè)會(huì)話中有多個(gè)交互。例如,他們?cè)L問一家商店并查看多個(gè)產(chǎn)品頁面。您可以使用用戶交互序列作為輸入來提取模式嗎?

在一個(gè)會(huì)話中,用戶連續(xù)查看多條牛仔褲,您應(yīng)該推薦另一條牛仔褲。在另一個(gè)會(huì)話中,同一個(gè)用戶連續(xù)查看多雙鞋,您應(yīng)該推薦另一雙鞋。這就是基于會(huì)話的推薦系統(tǒng)背后的直覺。

謝天謝地,您可以將 NLP 中的一些技術(shù)應(yīng)用于推薦系統(tǒng)域。用戶的交互具有順序結(jié)構(gòu)。

pYYBAGJiDsWAWB7HAAEAE9DMGpA620.png

圖 6 。基于會(huì)話的神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)

序列可以通過使用遞歸神經(jīng)網(wǎng)絡(luò)( RNN )或基于變壓器的結(jié)構(gòu)作為序列層來處理。用嵌入向量表示項(xiàng)目 ID ,并通過序列層提供輸出。序列層的隱藏表示可以添加為深度學(xué)習(xí)體系結(jié)構(gòu)的輸入。

其他選擇

當(dāng)我把這篇文章的重點(diǎn)放在將 DL 應(yīng)用于推薦系統(tǒng)的理論上時(shí),我沒有涉及到很多其他的挑戰(zhàn)。我在這里簡(jiǎn)要介紹一下,以提供一個(gè)起點(diǎn):

嵌入表可以超過 CPUGPU 內(nèi)存。由于在線服務(wù)可能有數(shù)百萬用戶,嵌入表可以達(dá)到數(shù)兆字節(jié)。 NVIDIA 提供了 HugeCTR 框架,可以將嵌入表擴(kuò)展到 CPU 或 GPU 內(nèi)存之外。

在培訓(xùn)期間最大限度地利用 GPU ?;?DL 的推薦系統(tǒng)有一個(gè)淺層的網(wǎng)絡(luò)結(jié)構(gòu),只有幾個(gè)完全連接的層。數(shù)據(jù)加載器有時(shí)是訓(xùn)練管道中的瓶頸。為了抵消這一點(diǎn), NVIDIA 為 PyTorch 和 TensorFlow 開發(fā)了一個(gè) 高度優(yōu)化的 GPU 數(shù)據(jù)加載器 。

生成建議需要對(duì)用戶項(xiàng)對(duì)進(jìn)行評(píng)分。最壞的情況是預(yù)測(cè)所有可用產(chǎn)品的可能性,并選擇最佳產(chǎn)品。在實(shí)踐中,這是不可行的,候選人產(chǎn)生了一個(gè)低開銷的模型,如近似近鄰。

概括

這篇文章向您介紹了基于 DL 的推薦系統(tǒng)。我首先介紹了基于兩個(gè)輸入的基本矩陣分解,然后介紹了使用 transformer 層的最新基于會(huì)話的體系結(jié)構(gòu)。

您可以使用遞歸神經(jīng)網(wǎng)絡(luò)( RNN )或基于轉(zhuǎn)換器的體系結(jié)構(gòu)作為序列層來處理序列。用嵌入向量表示項(xiàng)目 ID ,并通過序列層提供輸出。添加序列層的隱藏表示作為 DL 架構(gòu)的輸入。

關(guān)于作者

Benedikt Schifferer 是 NVIDIA 的深度學(xué)習(xí)工程師,致力于推薦系統(tǒng)。在他在 NVIDIA 的工作之前,他畢業(yè)于紐約哥倫比亞大學(xué)的數(shù)據(jù)科學(xué)碩士,并為德國電子商務(wù)公司開發(fā)了推薦系統(tǒng)。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    5644

    瀏覽量

    109920
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5600

    瀏覽量

    124475
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    神經(jīng)網(wǎng)絡(luò)的初步認(rèn)識(shí)

    日常生活中的智能應(yīng)用都離不開深度學(xué)習(xí),而深度學(xué)習(xí)則依賴于神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)。什么是神經(jīng)網(wǎng)絡(luò)?神經(jīng)網(wǎng)絡(luò)的核心思想是模仿生物神經(jīng)系統(tǒng)的結(jié)構(gòu),特別是大腦中神經(jīng)
    的頭像 發(fā)表于 12-17 15:05 ?365次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的初步認(rèn)識(shí)

    自動(dòng)駕駛中常提的卷積神經(jīng)網(wǎng)絡(luò)是個(gè)啥?

    在自動(dòng)駕駛領(lǐng)域,經(jīng)常會(huì)聽到卷積神經(jīng)網(wǎng)絡(luò)技術(shù)。卷積神經(jīng)網(wǎng)絡(luò),簡(jiǎn)稱為CNN,是一種專門用來處理網(wǎng)格狀數(shù)據(jù)(比如圖像)的深度學(xué)習(xí)模型。CNN在圖像處理中尤其常見,因?yàn)閳D像本身就可以看作是由像素排列成的二維網(wǎng)格。
    的頭像 發(fā)表于 11-19 18:15 ?2122次閱讀
    自動(dòng)駕駛中常提的卷積<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>是個(gè)啥?

    CNN卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)原理及在MCU200T上仿真測(cè)試

    數(shù)的提出很大程度的解決了BP算法在優(yōu)化深層神經(jīng)網(wǎng)絡(luò)時(shí)的梯度耗散問題。當(dāng)x&gt;0 時(shí),梯度恒為1,無梯度耗散問題,收斂快;當(dāng)x&lt;0 時(shí),該層的輸出為0。 CNN
    發(fā)表于 10-29 07:49

    NMSIS神經(jīng)網(wǎng)絡(luò)庫使用介紹

    :   神經(jīng)網(wǎng)絡(luò)卷積函數(shù)   神經(jīng)網(wǎng)絡(luò)激活函數(shù)   全連接層函數(shù)   神經(jīng)網(wǎng)絡(luò)池化函數(shù)   Softmax 函數(shù)   神經(jīng)網(wǎng)絡(luò)支持功能   該庫具有
    發(fā)表于 10-29 06:08

    如何將訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型部署到蜂鳥e203開發(fā)板上

    本帖欲分享如何將訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型部署到蜂鳥e203開發(fā)板上。 1. 加載TFLite模型 std::unique_ptr interpreter(new tflite::Interpreter
    發(fā)表于 10-22 08:04

    在Ubuntu20.04系統(tǒng)中訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的一些經(jīng)驗(yàn)

    本帖欲分享在Ubuntu20.04系統(tǒng)中訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的一些經(jīng)驗(yàn)。我們采用jupyter notebook作為開發(fā)IDE,以TensorFlow2為訓(xùn)練框架,目標(biāo)是訓(xùn)練一個(gè)手寫數(shù)字識(shí)別的神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 10-22 07:03

    CICC2033神經(jīng)網(wǎng)絡(luò)部署相關(guān)操作

    讀取。接下來需要使用擴(kuò)展指令,完成神經(jīng)網(wǎng)絡(luò)的部署,此處僅對(duì)第一層卷積+池化的部署進(jìn)行說明,其余層與之類似。 1.使用 Custom_Dtrans 指令,權(quán)重?cái)?shù)據(jù)、輸入數(shù)據(jù)導(dǎo)入硬件加速器內(nèi)。對(duì)于權(quán)重
    發(fā)表于 10-20 08:00

    液態(tài)神經(jīng)網(wǎng)絡(luò)(LNN):時(shí)間連續(xù)性與動(dòng)態(tài)適應(yīng)性的神經(jīng)網(wǎng)絡(luò)

    1.算法簡(jiǎn)介液態(tài)神經(jīng)網(wǎng)絡(luò)(LiquidNeuralNetworks,LNN)是一種新型的神經(jīng)網(wǎng)絡(luò)架構(gòu),其設(shè)計(jì)理念借鑒自生物神經(jīng)系統(tǒng),特別是秀麗隱桿線蟲的神經(jīng)結(jié)構(gòu),盡管這種微生物的
    的頭像 發(fā)表于 09-28 10:03 ?1359次閱讀
    液態(tài)<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>(LNN):時(shí)間連續(xù)性與動(dòng)態(tài)適應(yīng)性的<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>

    神經(jīng)網(wǎng)絡(luò)的并行計(jì)算與加速技術(shù)

    隨著人工智能技術(shù)的飛速發(fā)展,神經(jīng)網(wǎng)絡(luò)在眾多領(lǐng)域展現(xiàn)出了巨大的潛力和廣泛的應(yīng)用前景。然而,神經(jīng)網(wǎng)絡(luò)模型的復(fù)雜度和規(guī)模也在不斷增加,這使得傳統(tǒng)的串行計(jì)算方式面臨著巨大的挑戰(zhàn),如計(jì)算速度慢、訓(xùn)練時(shí)間長等
    的頭像 發(fā)表于 09-17 13:31 ?1186次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的并行計(jì)算與加速技術(shù)

    基于神經(jīng)網(wǎng)絡(luò)的數(shù)字預(yù)失真模型解決方案

    在基于神經(jīng)網(wǎng)絡(luò)的數(shù)字預(yù)失真(DPD)模型中,使用不同的激活函數(shù)對(duì)整個(gè)系統(tǒng)性能和能效有何影響?
    的頭像 發(fā)表于 08-29 14:01 ?3522次閱讀

    無刷電機(jī)小波神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)子位置檢測(cè)方法的研究

    摘要:論文通過對(duì)無刷電機(jī)數(shù)學(xué)模型的推導(dǎo),得出轉(zhuǎn)角:與三相相電壓之間存在映射關(guān)系,因此構(gòu)建了一個(gè)以三相相電壓為輸人,轉(zhuǎn)角為輸出的小波神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)轉(zhuǎn)角預(yù)測(cè),并采用改進(jìn)遺傳算法來訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)與參數(shù),借助
    發(fā)表于 06-25 13:06

    神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)在電機(jī)故障診斷中的應(yīng)用

    摘要:針對(duì)傳統(tǒng)專家系統(tǒng)不能進(jìn)行自學(xué)習(xí)、自適應(yīng)的問題,本文提出了基于種經(jīng)網(wǎng)絡(luò)專家系統(tǒng)的并步電機(jī)故障診斷方法。本文小波神經(jīng)網(wǎng)絡(luò)和專家
    發(fā)表于 06-16 22:09

    神經(jīng)網(wǎng)絡(luò)RAS在異步電機(jī)轉(zhuǎn)速估計(jì)中的仿真研究

    眾多方法中,由于其結(jié)構(gòu)簡(jiǎn)單,穩(wěn)定性好廣泛受到人們的重視,且已被用于產(chǎn)品開發(fā)。但是MRAS仍存在在低速區(qū)速度估計(jì)精度下降和對(duì)電動(dòng)機(jī)參數(shù)變化非常敏感的問題。本文利用神經(jīng)網(wǎng)絡(luò)的特點(diǎn),使估計(jì)更為簡(jiǎn)單、快速
    發(fā)表于 06-16 21:54

    基于FPGA搭建神經(jīng)網(wǎng)絡(luò)的步驟解析

    本文的目的是在一個(gè)神經(jīng)網(wǎng)絡(luò)已經(jīng)通過python或者M(jìn)ATLAB訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型,訓(xùn)練好的模型的權(quán)重和偏置文件以TXT文件格式導(dǎo)出,然后通過python程序txt文件轉(zhuǎn)化為coe
    的頭像 發(fā)表于 06-03 15:51 ?1340次閱讀
    基于FPGA搭建<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的步驟解析

    NVIDIA實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)渲染技術(shù)的突破性增強(qiáng)功能

    近日,NVIDIA 宣布了 NVIDIA RTX 神經(jīng)網(wǎng)絡(luò)渲染技術(shù)的突破性增強(qiáng)功能。NVIDIA 與微軟合作,將在 4 月的 Microsoft DirectX 預(yù)覽版中增加神經(jīng)網(wǎng)絡(luò)著色技術(shù),讓開
    的頭像 發(fā)表于 04-07 11:33 ?1249次閱讀