本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Object2Vec 算法
Amazon SageMaker AI Object2Vec 算法是一种高度可定制的通用神经嵌入算法。它可以学习高维对象的低维密集嵌入。将以某种方式学习嵌入,以便在嵌入空间中保留原始空间中的对象对之间的关系语义。例如,您可以使用学到的嵌入有效地计算对象的最近邻点,以及可视化低维空间中的相关对象的自然聚类。您还可以将嵌入用作下游指导式任务中相应对象的功能,例如分类或回归。
Object2Vec 概括了众所周知的 Word2Vec 嵌入技术,用于在人工智能中优化的单词。 SageMaker BlazingText 算法有关讨论如何将 Object2Vec 应用于一些实际用例的博客文章,请参阅亚马逊 A
主题
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]
。
每个对中的对象可以是不对称的。例如,这些对可以是 (标记, 序列)、(标记, 标记) 或 (序列, 序列)。对于标记输入,该算法支持简单嵌入作为兼容编码器。对于标记向量序列,该算法支持以下编码器:
-
平均池化嵌入
-
分层卷积神经网络 ()CNNs,
-
多层双向长短期记忆 (B) iLSTMs
每个对的输入标签可以是以下内容之一:
-
分类标签,表示对中的对象之间的关系
-
分数,表示两个对象之间的相似性强度
对于分类中使用的分类标签,该算法支持交叉熵损失函数。对于回归中使用的基于评分/分数的标签,该算法支持均方误差 () 损失函数。MSE在创建模型训练作业时,请使用 output_layer
超参数指定这些损失函数。
EC2Object2Vec 算法的实例推荐
您使用的亚马逊弹性计算云 (AmazonEC2) 实例的类型取决于您是在训练还是运行推理。
在上使用 Object2Vec 算法训练模型时,请从 ml.m5.2xlarge CPU 实例开始。要在 a 上进行训练GPU,请从 ml.p2.xlarge 实例开始。如果此实例的训练时间过长,则可以使用更大的实例。目前,Object2Vec 算法只能在单个机器上训练。但是,它确实提供了对多个的支持GPUs。Object2Vec 支持 P2、P3、g4dn 和 G5 实例系列进行训练和推理。GPU
要使用经过训练且具有深度神经网络的 Object2Vec 模型进行推理,我们建议使用 ml.p3.2xlarge 实例。GPU由于GPU内存稀缺,可以指定INFERENCE_PREFERRED_MODE
环境变量来优化是否加载了GPU优化:分类或回归或GPU优化:编码器嵌入推理网络。GPU
Object2Vec 示例笔记本
注意
要在笔记本实例上运行笔记本,请参阅访问示例笔记本。要在 Studio 上运行笔记本,请参阅创建或打开 Amazon SageMaker Studio 经典笔记本电脑。