Title

Zhang Y, Pan P, Zheng Y, et al. Visual search at alibaba[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. ACM, 2018: 993-1001.

Summary

这是alibaba拍立淘团队的一篇论文,介绍了拍立淘的实现方法。 总的来说,提供了大的实现方向,但是很多细节都没有介绍。

  1. 当图片类别多且细的场景下,往往应该先进行类别分类,会大大提高后面的出来性能(模型和搜索的融合,提高了精度)
  2. 图片的特征学习,往往图片背景复杂的时候,并且query与gallery之间有较大的gap,我们希望将query的图片复杂背景进行消除,就涉及到了关键物体检测,而分段的检测在特征提取会耗费大量时间,并且需要标注样本,故论文中提出了检测和特征学习结合的网络框架。
  3. 二进制倒排索引+汉明距离是一种快速的粗粒度检索方式
  4. 在re-ranking的时候要考虑到特定的业务场景,来制定re-ranking的标准
  5. 大规模的系统,单机无法支撑大量的数据存储以及高并发的请求。这时候就涉及到了分布式架构,自然就会有多片,多备份等技术。

Research Objective

建立一个健壮地大型商业视觉搜索引擎

Problem Statement

Alibaba拍立淘搜索系统的实现

Challenges

  1. Heterogeneous images matching (query与gallery之间存在语义和视觉的gap)
  2. Billions of data with fne-grained categories (大量且不断增长的细粒度类别图像数据)
  3. Huge expense for maintaining training data (模型所需训练数据的收集)
  4. Improving the user engagement (商业应用的必要)

Methods

  1. 模型和搜索融合的分类方法

    • GoogleNet V1 + softmax loss 分类模型得到类别标签 [模型]
    • 网络输出的feature在2亿图片集中进行搜索,取top30的图片类别进行加权 [搜索]

    最终结果是模型得出的标签与搜索得出的标签进行加权

  2. 检测特征学习联合的深度模型(通过挖掘用户点击行为)

    • 整体结构
      Visual search at alibaba阅读笔记

    通过整体结构图,可以看出此部分模型涉及到一下关键知识点:检测 特征学习 三元组 难样本挖掘

    • 结构细分支
      Visual search at alibaba阅读笔记

    检测分支和特征学习分支相结合,在检测分支涉及到一个问题就是图像掩码即M是不可微的,无法进行反向学习求导。进而使用sigmoid函数来近似代替。

    • 三元组样本挖掘(用户点击数据)
      Visual search at alibaba阅读笔记

    original triplet loss :

    [L2(f(q),f(q+))L2(f(q),f(q))+σ]+ [L_2(f(q),f(q^+))-L_2(f(q),f(q^-))+\sigma]_+

    selected hard positive and negative :

    positive:

    q+{dclickdist(dclick,q)ε} q^+\in \begin{Bmatrix}d^{click}|dist(d^{click},q)\leq \varepsilon \end{Bmatrix}

    negative:

    q{dnonclickmin(dist(dnonclick,q),dist(dnonclick,dclick))γ} q^-\in \begin{Bmatrix}d^{nonclick}|min(dist(d^{nonclick},q),dist(d^{nonclick},d^{click}))\geq \gamma \end{Bmatrix}

    improved triplet loss :

    loss=1QqQ1NqqNq[L2(f(q),f(q+))L2(f(q),f(q))+σ]+ loss = \frac{1}{|Q|}\sum_{q \in Q} \frac{1}{|N_q|}\sum_{q^-\in N_q}[L_2(f(q),f(q^+))-L_2(f(q),f(q^-))+\sigma]_+
    Q={qq,L2(f(q),f(q+))L2(f(q),f(q))+σ>0} Q = \begin{Bmatrix}q|\exist q^-,L_2(f(q),f(q^+))-L_2(f(q),f(q^-))+\sigma > 0\end{Bmatrix}
    Nq={qL2(f(q),f(q+))L2(f(q),f(q))+σ>0} N_q = \begin{Bmatrix}q^-|L_2(f(q),f(q^+))-L_2(f(q),f(q^-))+\sigma > 0\end{Bmatrix}

    triplet level -> query level (减少噪声query的影响,并且平衡数据,克服用户和商家图片直接的gap)

  3. 设计了在扩大索引不影响recall和precision的二进制索引

    图像ID作为key,二值化的CNN特征作为value,建立了改进地二值倒排索引。

  4. 高效可扩展的end to end系统架构

    系统结构图:
    Visual search at alibaba阅读笔记
    Multi-shards:

    多台多片的策略,每片上存储的都是一个子集。当一个query请求的时候,每片的node都会在自己的子集上查找,并返回top k的结果,最后将每片的结果merge在排序。[保证了性能和召回]

    Multi-replications:

    多复制机制,如果Q个请求,会将其分为R个part,每个part有Q/R个请求,降低了压力。[保证了QPS]

    coarse flter

    二进制倒排索引 + hamming distance

    re-ranking

    在粗粒度搜索后进行进一步重排序

    大量的特征信息,通过GDBTLogisic regression来得到一个[0,1]的分数。 [用户的CTR和CVR]

Evaluation

精度:

  • 模型和搜索融合的类别分类方法比单一模型方法有效
  • 添加了检测分支的网络模型提取的特征,在搜索下得到更好的结果
  • 结果图
    Visual search at alibaba阅读笔记

时间:

分类 30ms / 特征提取 40ms /粗粒度搜索结果 10-20ms (1200items) / re-ranking 5ms (top60)

Conclusion

在alibaba这种商业场景下,提供了一个整体图片搜索方案,高效且实用。

Supplement

  1. 分类标签加权的权重确定方式
  2. mask函数被sigmoid近似的实现
  3. 二值化网络特征的方式

Reference

Visual Search at Alibaba

相关文章:

  • 2021-06-28
  • 2021-12-15
  • 2021-10-11
  • 2021-11-19
  • 2021-11-14
  • 2021-10-18
  • 2021-04-07
  • 2022-12-23
猜你喜欢
  • 2021-12-20
  • 2021-08-12
  • 2021-08-09
  • 2022-01-08
  • 2021-11-02
  • 2021-06-22
  • 2021-05-02
相关资源
相似解决方案