0%

1. 矩阵维度变换

1.1 numpy.reshape(a, newshape, order=’C’)

reshape() 函数经常用做一维数组维度的变化,也就是将一维数组变化成为指定维度的矩阵。order 是指不同的索引规则,一般默认 C,按照行进行运算。
示例:

1
2
3
4
print np.reshape(np.arange(10), (2, 5))

[[0 1 2 3 4]
[5 6 7 8 9]]
阅读全文 »

一、背景

用户可以通过视频更全面直观的展示商品,于此同时也出现了一些视频拷贝、抄袭等不好的现象。为了解决这个问题,我们采用了很多方案,其中一种方案是将商品视频转换成向量,尝试通过向量检索计算商品视频相似性,进而判断商品是否重复。

视频去重本质是高维向量检索,基于当前商品规模及业务发展的预估,向量检索系统需支持检索亿级别平均时长为 20 秒,每秒向量维度是 1024 维的视频。如此庞大的量级给我们的技术选型和实现带来了一定的挑战。

阅读全文 »

前言

不同的索引方式是 faiss 的核心内容, 他们以不同的方式构建, 基于不同的算法与数据结构. 选择合适的 index 来处理数据是使用 faiss 最基础的一步. 官方 wiki 上也有帮助你如何选择不同的 index, 参见 Guidelines to choose an index
这次来学习 faiss 三个最基础的 index. 分别是 IndexFlatL2, IndexIVFFlat, IndexIVFPQ

阅读全文 »

ERNIE 2.0 发布了,刷新了 SOTA,而且中文上做了不少优化,这种大杀器作为一个 NLP 工程师我觉得有必要深入了解了解,最好能想办法用到工作中。

ERNIE 2.0 是基于持续学习的语义理解预训练框架,使用多任务学习增量式构建预训练任务。ERNIE 2.0 中,新构建的预训练任务类型可以无缝的加入训练框架,持续的进行语义理解学习。通过新增的实体预测、句子因果关系判断、文章句子结构重建等语义任务,ERNIE 2.0 语义理解预训练模型从训练数据中获取了词法、句法、语义等多个维度的自然语言信息,极大地增强了通用语义表示能力。

阅读全文 »

FTRL 是 Follow The Regularized Leader 的缩写,它是 Google 在 2010 — 2013 年三年时间内,从理论研究到实际工程化实现的在线优化算法框架。FTRL 在处理带 𝐿1L1L_1 正则化的逻辑回归类模型时,效果非常出色:能够得到性能较好的稀疏解。

中文网络上,已有一些关于 FTRL 的介绍。比较详细和出名的是新浪微博的冯扬撰写的「在线最优化求解」。但在我看来,已有的关于 FTRL 的介绍,都或多或少有些值得调整和改进的地方。这促成了这篇文章。

阅读全文 »

各类优化方法总结

机器学习的优化方法多种多样, 但在大数据场景下, 使用最多的还是基于 SGD 的一系列方法. 在 Angel 中目前只实现了少量的最优化方法, 如下:

  • 基于随机梯度下降的方法
    • SDG: 这里指 mini-batch SGD (小批量随机梯度下降)
    • Momentum: 带动量的 SGD
    • AdaGrad: 带 Hessian 对角近似的 SGD
    • AdaDelta:
    • Adam: 带动量与对角 Hessian 近似的 SGD
  • 在线学习方法
    • FTRL: Follow The Regularized Leader, 一种在线学习方法
阅读全文 »

推荐系统架构


ffm+faiss 千万级别的 item 召回性能问题,使用阿里巴巴 深度树匹配模型(TDM)做聚类。

  • 基本概念
    • 推荐系统:推荐技术提供用户对某个目标(兴趣)的偏好程度预测能力,基于偏好预测排序输出用户喜好的目标(兴趣)集合。
    • 深度学习:基于深度神经网络结构的机器学习算法分支。
  • 数据结构与算法
    • :树是计算机科学中数据结构的经典类型,在数据组织上具有良好的效率。
    • BeamSearch 算法:一种启发式的贪心搜索方法。
    • Kmeans 聚类算法:一种基于向量量化的无监督聚类算法。
  • 语言基础
阅读全文 »

简介

本文假定读者已经阅读过 BERT 与 ERNIE 的论文。

ERNIE 掩蔽策略

ERNIE 针对无切分(unsegmented)的语言(如中文),提出了一种 MLM 的数据增强(数据增强)策略:

我们将一个短语或一个实体作为一个单元,通常由多个单词组成。在单词表示训练期间,同一单元中的所有单词都被屏蔽,而不是仅一个单词或字符被屏蔽。以这种方式,在训练过程中隐式地学习了短语和实体的先验知识。

阅读全文 »

简介

本文简要解析 BERT 的预训练辅助任务(Auxiliary Task)。

预训练辅助任务

BERT 通过两个辅助任务训练语言模型:Masked LM(MLM)与 Next Sentence Prediction(NSP)。

  • MLM:随机 mask 15% 的输入(token),模型需要通过 context 信息还原被 masked 的输入。
  • NSP:随机生成句子对,模型需要判断句子对是否连续(next sentence)。
阅读全文 »