我正在为在线商店构建推荐器,并且我有属于以下类别之一的分类输入:
- 用户当前会话特征(例如
current_product_brand,current_product_id) - 用户以前的活动,即最近的 10 个会话(例如
previous_product_id,previous_product_brand) - 用户以前的活动 2D 特征,即(例如
product_semantics_embedding,product_tags_embedding-假设每个产品有 20 个标签/语义)
模型摘要的指示部分:
_________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
current_product_brand (InputLaye (None, 1) 0
__________________________________________________________________________________________________
current_product_id (InputLayer) (None, 1) 0
__________________________________________________________________________________________________
previous_product_id (InputLayer) (None, 10) 0
__________________________________________________________________________________________________
previous_product_brand (InputLayer)(None, 10) 0
__________________________________________________________________________________________________
previous_product_semantics (InputL (None, 200) 0
__________________________________________________________________________________________________
previous_product_tags (InputLayer) (None, 200) 0
__________________________________________________________________________________________________
product_brand_embedding (Embeddi (None, 10, 60) 60 current_product_brand[0][0]
previous_product_brand[0][0]
__________________________________________________________________________________________________
product_id_embedding (Embedding) (None, 10, 60) 98820 current_product_id[0][0]
previous_product_id[0][0]
__________________________________________________________________________________________________
product_semantics_embedding (Embed (None, 200, 60) 104880 previous_product_semantics[0][0]
__________________________________________________________________________________________________
product_tags_embedding (Embedding) (None, 200, 60) 2760 previous_product_tags[0][0]
__________________________________________________________________________________________________
在当前和以前的会话中出现的产品品牌等特征嵌入在同一个空间中。
请注意,所有嵌入的输出都是恒定的(在本例中为 60)。
现在,我想将所有嵌入组合成一个张量,以便将它们馈送到另一层,例如 Dense。我认为我的选择如下:
- 连接所有嵌入:我不能使用轴 1,因为
product_semantics和product_tags具有不同的形状。将它们连接在轴 2 上是否有意义? - 每组连接它们,即 concat
product_brand_embeddingwithproduct_id_embedding和product_semantics_embeddingwithproduct_tags_embedding,对每个结果应用全局平均池化,然后连接全局平均池化节点的 2 个输出。
哪条路是正确的?还有其他选择吗?
