UMBRELLA

未雨绸缪,举重若轻

引言

为了解决各种各样的机器学习问题,深度学习提供了强大的工具。虽然许多深度学习方法都是最近才有重大突破,但使用数据和神经网络编程的核心思想已经研究了几个世纪。事实上,人类长期以来就有分析数据和预测未来结果的愿望,而自然科学大部分都植根于此。例如,伯努利分布是以雅各布・伯努利(1654-1705)命名的。而高斯分布是由卡尔・弗里德里希・高斯(1777-1855)发现的,他发明了最小均方算法,至今仍用于解决从保险计算到医疗诊断的许多问题。这些工具算法催生了自然科学中的一种实验方法 — 例如,电阻中电流和电压的欧姆定律可以用线性模型完美地描述。

阅读全文 »

什么是 ScanNN?

ScaNN 是可扩展最近邻的缩写。在推荐系统的检索阶段,我们需要快速找到给定查询嵌入的最近数据集的嵌入。通常嵌入集对于穷举搜索来说往往太大。因此,需要像 ScaNN 这样的工具来进行近似邻域搜索。ScaNN2020.06 开源。他提供高效的向量相似性搜索,即从海量数据库中快速地匹配和检索相似项。他包括基于树的空间分区、非对称哈希、内涵和倒排索引等实现。由于这些高度优化的算法,ScaNN 在大型和中等规模数据库的最近邻搜索方面提供了显著的加速。

阅读全文 »

介绍

深度与交叉网络DCN)旨在有效地学习显式的、有边界的交叉特征,你已经知道大而稀疏的特征空间极难训练。通常我们执行特征工程,包括设计交叉特征,这是非常具有挑战性且效率低下的。虽然在这种情况下可以使用其它神经网络,但这并不是最有效的办法。深度与交叉网络是专门为应对这一挑战而设计的。在深入了解 DCN 之前,我们首先花一点时间回顾一下,什么是特征交叉?假设我们正在构建一个推荐系统来向客户销售搅拌机,那么我们客户过去的购买历史记录,例如购买的香蕉和购买的烹饪书籍或地理特征都是单一特征。如果一个人同时购买了香蕉和烹饪书籍,那么该客户将更有可能点击推荐的搅拌机。购买的香蕉和购买的烹饪书籍的组合被称为特征交叉,它提供了除单个特征之外附加交互信息。你可以添加更多交叉特征。在真实的推荐系统当中,我们通常拥有大而稀疏的特征空间,因此,在这种情况下识别有效的特征,通常需要执行特征工程或详尽的搜索,这是非常低效的。

阅读全文 »

上下文特征

为了提高模型的准确性,我们可以做的事情之一是利用上下文特征,有时称为 “辅助特征”。我们之前的例子并未包含上下文特征,而完全依赖于用户和项目 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 等。

阅读全文 »
0%