UMBRELLA

未雨绸缪,举重若轻

上下文特征

为了提高模型的准确性,我们可以做的事情之一是利用上下文特征,有时称为“辅助特征”。我们之前的例子并未包含上下文特征,而完全依赖于用户和项目ID。在推荐模型中,除ID之外的特征是否有用:

  • 上下文的重要性:如果用户偏好在上下文和时间上相对平滑,则上下文特征可能不会提升模型的准确性。然而,如果用户偏好与上下文高度相关,则添加上下文将显着改进模型的准确性。例如,在决定是否推荐短片或电影时,星期几可能是一个重要特征:用户可能只有在一周内有时间观看短片内容,但可以在周末放松并欣赏完整的电影。类似地,查询时间戳可能在流行度动态建模中发挥重要作用:一部电影在发行时可能非常受欢迎,但之后很快就会衰退。相反,其他电影可能是常青树,让人重复地观看。
  • 数据稀疏性:如果数据稀疏,使用非ID特征可能很关键。由于给定用户或项目的可用观察很少,模型可能难以估计每位用户或每个项目表示。为了构建准确的模型,必须使用项目类别、描述和图像等其他特征来帮助模型泛化到训练数据之外。这在冷启动情况下尤其重要,在冷启动情况下,某些项目或用户的可用数据相对较少。
    阅读全文 »

推荐系统通常由两个阶段组成:

  • 检索阶段:负责从所有可能的候选者中选择数百个候选者的初始集合。检索模型的主要目标是有效地剔除用户不感兴趣的所有候选者。由于检索模型可能要处理数百万个候选者,因此它必须具有很高的计算效率。
  • 排名阶段:获取检索模型的输出,并对它们进行微调以选择尽可能好的推荐。它的任务是将用户感兴趣的项目集缩小到可能的候选者的候选名单。
    阅读全文 »

TensorFlow Recommenders(TFRS)是一个用于构建推荐(Recommender)系统模型的库,在推荐(Recommender)系统的整个构建流程 - 无论是数据准备、模型构建、训练、评估还是部署都可以起到很大的作用。TFRS融合了多任务学习、特征交互建模和TPU训练的研究成果。推荐系统通常有多个组件来进行检索、排名和后期排名。

推荐系统通常由两个阶段组成:

  • 检索阶段:负责从所有可能的候选者中选择数百个候选者的初始集合。检索模型的主要目标是有效地剔除用户不感兴趣的所有候选者。由于检索模型可能要处理数百万个候选者,因此它必须具有很高的计算效率。
  • 排名阶段:获取检索模型的输出,并对它们进行微调以选择尽可能好的推荐。它的任务是将用户感兴趣的项目集缩小到可能的候选者的候选名单。
    阅读全文 »

内容过滤

用于构建推荐系统。一种常见的方法是内容过滤。基于内容过滤是根据用户的先前操作或明确的反馈,使用推荐功能,推荐其它与用户喜欢的内容类似的商品。例如,这里我们展示了四个具有不同功能的应用。每一行代表一个应用,每一列代表一个特征。特征可能包括类别(例如教育、休闲、健康)等。为了简单起见,假设此特征矩阵是二进制的:非零值表示应用具有该特征。有些应用与教育或科学相关,有些则与健康或医疗保健相关。当用户安装了健康类应用时,我们可以向该用户推荐其它与健康相关的应用,因为它们与安装的健康应用类似。

阅读全文 »

KerasCV可以轻松组装最先进的工业级数据增强管道,用于图像分类和对象检测任务。KerasCV提供了广泛的预处理层,可实现常见的数据增强技术。最有用的三个层是keras_cv.layers.CutMix、keras_cv.layers.MixUpkeras_cv.layers.RandAugment。这些层几乎用于所有图像分类流程。

阅读全文 »

图像分类是预测输入图像的分类标签的过程。虽然分类是一项相对简单的计算机视觉任务,但仍然由几个复杂的组件组成。幸运的是,KerasCV提供了API来构建常用组件。本例中主要演示了 KerasCV的模块化方法来解决三个复杂的图像分类问题:

  • 使用预训练分类器进行推理。
  • 微调预训练的骨干网络。
  • 从头开始训练图像分类器。
    阅读全文 »

大语言模型非常流行。而这个大语言模型的核心是预测句子中的下一个单词或标记,这通常被称为COCO-LM预训练。大语言模型构建起来很复杂,而且从头开始训练的成本很高,幸运的是有经过预先训练的LLM可供使用。KerasNLP提供了大量预训练检查点,从而可以实验SOTA模型,而无需自行训练。例如,你可以通过from_preset方法调用GPT2CausalLM加载GPT-2模型,除了GPT-2模型之外,还有许多其它预训练模型,例如OPT、ALBERT、RoBeRTa等。

阅读全文 »

在深入了解KerasCVKerasNLP之前,先向你介绍Keras的一个新功能:Keras Core。允许你在任意框架(TensorFlow、JAXPyTorch)之上运行Keras代码。Keras组件,例如层、模型或指标,作为低级TensorFlow、JAXPyTorch工作流程的一部分。

阅读全文 »

使用KerasCV的稳定扩散图像生成。Stable Diffusion是一个强大的文本 -> 图像模型,有Stability AI开源。虽然存在多种开源实现,可以轻松地根据文本提示创建图像,但KerasCV提供了一些优势:其中包括XLA编译和混合精度支持,他们共同实现最优的生成,使用KerasCV调用Stable Diffusion非常简单。我们传入一个字符串,通常称为提示,批量大小为3。模型能够生成三张令人惊艳的图片,正如提示所描述:

阅读全文 »

KerasNLP是一个自然语言处理库,可为用户的整个开发周期提供支持。我们的工作流程由模块化组件构建,这些组件在开箱即用时具有最先进的预设权重和架构,并且在需要更多控制时可轻松定制。该库是核心Keras API的扩展;所有高级模块都是层或模型。KerasNLP使用Keras 3TensorFlow、PytorchJax配合一起使用。在下面例子中,我们将使用jax后端来训练我们的模型并使用tf.data来有效地运行我们的输入预处理。

  • 使用预训练分类器进行推理。
  • 微调预训练的骨干模型。
  • 通过用户控制的预处理进行微调。
  • 微调自定义模型。
  • 预训练骨干模型。
  • 从头开始构建和训练您自己的Transformer
阅读全文 »
0%