Object2Vec 算法 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Object2Vec 算法

Amazon SageMaker Object2Vec 算法是高度可自定义的通用神经嵌入算法。它可以学习高维对象的低维密集嵌入。将以某种方式学习嵌入,以便在嵌入空间中保留原始空间中的对象对之间的关系语义。例如,您可以使用学到的嵌入有效地计算对象的最近邻点,以及可视化低维空间中的相关对象的自然聚类。您还可以将嵌入用作下游指导式任务中相应对象的功能,例如分类或回归。

Object2Vec 将在 SageMaker BlazingText 算法 中优化的众所周知的 Word2Vec 单词嵌入方法进行归纳。有关论述如何将 Object2Vec 应用到一些实际使用案例的博客文章,请参阅 Amazon SageMaker Object2Vec 简介

Object2Vec 算法的 I/O 接口

您可以在很多输入数据类型上使用 Object2Vec,包括以下示例。

输入数据类型 示例

语句-语句对

“A soccer game with multiple males playing.” 和“Some men are playing a sport.”

标签-序列对

“Titanic”电影的流派标签(如“Romance”和“Drama”)及其简短描述“James Cameron's Titanic is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic. She was the most luxurious liner of her era, a ship of dreams, which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912.”

客户-客户对

Jane 的客户 ID 和 Jackie 的客户 ID。

产品-产品对

足球的产品 ID 和篮球的产品 ID。

项审查用户-项对

用户的 ID 以及她购买的商品,例如苹果、梨和橙子。

要将输入数据转换为支持的格式,必须对其进行预处理。目前,Object2Vec 本身支持两种类型的输入:

  • 离散标记,它表示为单个 integer-id 的列表。例如,[10]

  • 离散标记序列,它表示为 integer-ids 列表。例如,[0,12,10,13]

每个对中的对象可以是不对称的。例如,这些对可以是 (标记, 序列)、(标记, 标记) 或 (序列, 序列)。对于标记输入,该算法支持简单嵌入作为兼容编码器。对于标记向量序列,该算法支持以下编码器:

  • 平均池化嵌入

  • 分层卷积神经网络 (CNN)

  • 多层双向长短期记忆 (BiLSTM)

每个对的输入标签可以是以下内容之一:

  • 分类标签,表示对中的对象之间的关系

  • 分数,表示两个对象之间的相似性强度

对于分类中使用的分类标签,该算法支持交叉熵损失函数。对于回归中使用的基于评级/分数的标签,该算法支持均方误差 (MSE) 损失函数。在创建模型训练作业时,请使用 output_layer 超参数指定这些损失函数。

Object2Vec 算法的 EC2 实例建议

您使用的 Amazon Elastic Compute Cloud (Amazon EC2) 实例的类型取决于是训练还是运行推理。

在 CPU 上使用 Object2Vec 算法训练模型时,请从 ml.m5.2xlarge 实例开始。要在 GPU 上进行训练,请从 ml.p2.xlarge 实例开始。如果此实例的训练时间过长,则可以使用更大的实例。目前,Object2Vec 算法只能在单个机器上训练。但是,它提供对多个 GPU 的支持。Object2Vec 支持使用 P2、P3、G4dn 和 G5 GPU 实例系列进行训练和推理。

对于使用经过训练的 Object2Vec 模型(具有深层神经网络)的推理,我们建议使用 ml.p3.2xlarge GPU 实例。由于 GPU 内存稀缺,可以指定 INFERENCE_PREFERRED_MODE 环境变量来优化是将 GPU 优化:分类或回归还是将 GPU 优化:编码器嵌入推理网络加载到 GPU 中。

Object2Vec 示例笔记本

注意

要在笔记本实例上运行笔记本,请参阅示例笔记本。要在 Studio 上运行笔记本,请参阅创建或打开 Amazon SageMaker Studio 笔记本