一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲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ī)視覺或自然語(yǔ)言等機(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)目添加到購(gòu)物車中?”、“使用項(xiàng)目開始結(jié)賬?”、或“購(gòu)買項(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ù)在自然語(yǔ)言處理中非常流行,可以嵌入具有密集表示的單詞。具有相似意義的詞具有相似的嵌入向量。

您可以將相同的技術(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)品頁(yè)面。您可以使用用戶交互序列作為輸入來提取模式嗎?

在一個(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é)碩士,并為德國(guó)電子商務(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

    文章

    5299

    瀏覽量

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

    關(guān)注

    73

    文章

    5560

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    神經(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

    BP神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)的比較

    BP神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)在多個(gè)方面存在顯著差異,以下是對(duì)兩者的比較: 一、結(jié)構(gòu)特點(diǎn) BP神經(jīng)網(wǎng)絡(luò) : BP神經(jīng)網(wǎng)絡(luò)是一種多層的前饋神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 02-12 15:53 ?648次閱讀

    BP神經(jīng)網(wǎng)絡(luò)的優(yōu)缺點(diǎn)分析

    BP神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network)作為一種常用的機(jī)器學(xué)習(xí)模型,具有顯著的優(yōu)點(diǎn),同時(shí)也存在一些不容忽視的缺點(diǎn)。以下是對(duì)BP神經(jīng)網(wǎng)絡(luò)優(yōu)缺點(diǎn)的分析: 優(yōu)點(diǎn)
    的頭像 發(fā)表于 02-12 15:36 ?906次閱讀

    什么是BP神經(jīng)網(wǎng)絡(luò)的反向傳播算法

    BP神經(jīng)網(wǎng)絡(luò)的反向傳播算法(Backpropagation Algorithm)是一種用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的有效方法。以下是關(guān)于BP神經(jīng)網(wǎng)絡(luò)的反向傳播算法的介紹: 一、基本概念 反向傳播算
    的頭像 發(fā)表于 02-12 15:18 ?760次閱讀

    BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的關(guān)系

    BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)之間存在著密切的關(guān)系,以下是對(duì)它們之間關(guān)系的介紹: 一、BP神經(jīng)網(wǎng)絡(luò)的基本概念 BP神經(jīng)網(wǎng)絡(luò),即反向傳播神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural N
    的頭像 發(fā)表于 02-12 15:15 ?846次閱讀

    人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法

    在上一篇文章中,我們介紹了傳統(tǒng)機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí)和多種算法。在本文中,我們會(huì)介紹人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法,供各位老師選擇。 01 人工神經(jīng)網(wǎng)絡(luò) ? 人工神經(jīng)網(wǎng)絡(luò)模型之所
    的頭像 發(fā)表于 01-09 10:24 ?1177次閱讀
    人工<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的原理和多種<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>架構(gòu)方法

    卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的比較

    在深度學(xué)習(xí)領(lǐng)域,神經(jīng)網(wǎng)絡(luò)模型被廣泛應(yīng)用于各種任務(wù),如圖像識(shí)別、自然語(yǔ)言處理和游戲智能等。其中,卷積神經(jīng)網(wǎng)絡(luò)(CNNs)和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)是兩種常見的模型。 1. 結(jié)構(gòu)差異 1.1 傳統(tǒng)
    的頭像 發(fā)表于 11-15 14:53 ?1850次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的基本原理與算法

    ),是深度學(xué)習(xí)的代表算法之一。 一、基本原理 卷積運(yùn)算 卷積運(yùn)算是卷積神經(jīng)網(wǎng)絡(luò)的核心,用于提取圖像中的局部特征。 定義卷積核:卷積核是一個(gè)小的矩陣,用于在輸入圖像上滑動(dòng),提取局部特征。 滑動(dòng)窗口:
    的頭像 發(fā)表于 11-15 14:47 ?1766次閱讀

    RNN模型與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的區(qū)別

    神經(jīng)網(wǎng)絡(luò)是機(jī)器學(xué)習(xí)領(lǐng)域中的一種強(qiáng)大工具,它們能夠模擬人腦處理信息的方式。隨著技術(shù)的發(fā)展,神經(jīng)網(wǎng)絡(luò)的類型也在不斷增加,其中循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)(如前饋
    的頭像 發(fā)表于 11-15 09:42 ?1122次閱讀

    LSTM神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與工作機(jī)制

    LSTM(Long Short-Term Memory,長(zhǎng)短期記憶)神經(jīng)網(wǎng)絡(luò)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),設(shè)計(jì)用于解決長(zhǎng)期依賴問題,特別是在處理時(shí)間序列數(shù)據(jù)時(shí)表現(xiàn)出色。以下是LSTM神經(jīng)
    的頭像 發(fā)表于 11-13 10:05 ?1622次閱讀

    關(guān)于卷積神經(jīng)網(wǎng)絡(luò),這些概念你厘清了么~

    許多種類型,但本文只關(guān)注卷積神經(jīng)網(wǎng)絡(luò)(CNN),其主要應(yīng)用領(lǐng)域是對(duì)輸入數(shù)據(jù)的模式識(shí)別和對(duì)象分類。CNN是一種用于深度學(xué)習(xí)的 人工神經(jīng)網(wǎng)絡(luò) 。這種網(wǎng)
    發(fā)表于 10-24 13:56

    【飛凌嵌入式OK3576-C開發(fā)板體驗(yàn)】RKNN神經(jīng)網(wǎng)絡(luò)算法開發(fā)環(huán)境搭建

    download_model.sh 腳本,該腳本 下載一個(gè)可用的 YOLOv5 ONNX 模型,并存放在當(dāng)前 model 目錄下,參考命令如下: 安裝COCO數(shù)據(jù)集,在深度神經(jīng)網(wǎng)絡(luò)算法中,模型的訓(xùn)練離不開大量的數(shù)據(jù)集,數(shù)據(jù)集用于
    發(fā)表于 10-10 09:28

    matlab 神經(jīng)網(wǎng)絡(luò) 數(shù)學(xué)建模數(shù)值分析

    matlab神經(jīng)網(wǎng)絡(luò) 數(shù)學(xué)建模數(shù)值分析 精通的可以討論下
    發(fā)表于 09-18 15:14

    如何構(gòu)建多層神經(jīng)網(wǎng)絡(luò)

    構(gòu)建多層神經(jīng)網(wǎng)絡(luò)(MLP, Multi-Layer Perceptron)模型是一個(gè)在機(jī)器學(xué)習(xí)和深度學(xué)習(xí)領(lǐng)域廣泛使用的技術(shù),尤其在處理分類和回歸問題時(shí)。在本文中,我們深入探討如何從頭開始構(gòu)建一個(gè)多層神經(jīng)網(wǎng)絡(luò)模型,包括模型設(shè)計(jì)、
    的頭像 發(fā)表于 07-19 17:19 ?1545次閱讀

    深度神經(jīng)網(wǎng)絡(luò)在雷達(dá)系統(tǒng)中的應(yīng)用

    深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)在雷達(dá)系統(tǒng)中的應(yīng)用近年來取得了顯著進(jìn)展,為雷達(dá)信號(hào)處理、目標(biāo)檢測(cè)、跟蹤以及識(shí)別等領(lǐng)域帶來了革命性的變化。以下詳細(xì)探討深度神經(jīng)網(wǎng)
    的頭像 發(fā)表于 07-15 11:09 ?1552次閱讀