DLRM 深度学习推荐模型

程序名称:DLRM

授权协议: MIT

操作系统: 跨平台

开发语言: Python

DLRM 介绍

DLRM(Deep Learning Recommendation Model)是深度学习推荐模型的实现,用于个性化推荐。

该模型输入有密集和稀疏的特性,前者是浮点值的向量,后者是嵌入表的稀疏索引列表,嵌入表由浮点值向量组成。所选择的矢量被传递到由三角形表示的 mlp
网络,在一些情况下,矢量通过操作符(Ops)进行交互。

output:
                    probability of a click
model:                        |
                             /\
                            /__\
                              |
      _____________________> Op  <___________________
    /                         |                      \
   /\                        /\                      /\
  /__\                      /__\           ...      /__\
   |                          |                       |
   |                         Op                      Op
   |                    ____/__\_____           ____/__\____
   |                   |_Emb_|____|__|    ...  |_Emb_|__|___|
input:
[ dense features ]     [sparse indices] , ..., [sparse indices]

更精确的模型层定义:

  1. 完全连接的 mlp 层

z = f(y)

y = Wx + b

  1. 嵌入查找(对于稀疏索引列表 p=[p1,…,pk])

z = Op(e1,…,ek)

obtain vectors e1=E[:,p1], …, ek=E[:,pk]

  1. Operator Op 可以是以下之一

Sum(e1,…,ek) = e1 + … + ek

Dot(e1,…,ek) = [e1’e1, …, e1’ek, …, ek’e1, …, ek’ek]

Cat(e1,…,ek) = [e1’, …, ek’]’

其中,’ 表示转置操作

要求:

  • pytorch-nightly ( 6/10/19 )
  • onnx ( 可选 )
  • torchviz ( 可选 )

DLRM 官网

https://github.com/facebookresearch/dlrm

相关编程语言

欧盟第7框架计划(FP7)的LarKC项目的目标是开发大规模...
Salad 是一种有效且灵活的实现著名的异常检测方法回...
multilanguage 是一个多语开发工具包,用于缓存多语...
go-cortex 是一个服务,通过倾听你的句子,并视图理...
DKPro Core 是基于 Apache UIMA 框架之上的自然语言...
NLTK 会被自然地看作是具有栈结构的一系列层,这些层...