背景
- 在我司社交风控中发现黑产有以下行为:
- 使用同一张图片当作头像
- 使用同一类型图片当作头像
尤其是第二种黑产使用的图片,其中涂写的内容通过 OCR 很难识别。因此我们希望通过图片相似性去拦截到这些违规图片,并处置相应的账号。
- 图片示例:
技术方案
- 目标
- 识别使用同一张图片注册的账号
- 识别注册时使用与违规图片相似图片的账号
- 要实现上述目标,核心是要实现基于图片内容特征的以图搜图的功能。本系统核心是基于深度学习的方法,通过 ResNet 模型将图片转换为向量,利用 Milvus 构建图片向量库并进行相似向量检索。基本架构如下:
暂时无法在文档外展示此内容
- 利用示例图片,在图片黑名单向量库中检索到最相似的图片(如下),两张图片的欧式距离为 0.312。
ResNet 模型
-
简述
我们知道,越深的网络一般有越高等级的特征,拥有强大的表达能力。但是事实上,在实验中,随着网络的加深,导致梯度消失或者梯度爆炸,导致很深的网络无法训练。ResNet 提出残差学习的思想在一定程度上解决了这个问题,通过直接将输入信息绕道传到输出,保护信息的完整性,整个网络只需要学习输入、输出差别的那一部分,简化学习目标和难度。
-
残差学习
F(x)+x 构成的 block 称之为 Residual Block,如左图。多个类似的 Residual Block 串联构成 ResNet。在 ResNet 中会用到两种残差块,如右图。
-
网络结构
ResNet 有不同的网络层数,18-layer,34-layer,50-layer,101-layer,152-layer。他们都是由上述的残差模块堆叠在一起实现的。我们以 34 层为例,看一下 ResNet 网络结构。
Milvus
Milvus 于 2019 年开源,致力于存储、索引和管理由深度神经网络学习与其他机器学习模型生成的海量 Embedding 向量,专为向量查询与检索设计,支持针对 TB 级向量的增删改操作和近实时查询。Milvus 集成了 Faiss、NMSLIB、Annoy 等广泛应用的向量索引库,提供了一整套简单直观的 API,用户可以针对不同场景选择不同的索引类型。Milvus 系统架构如下:
总结
在黑产与风控的对抗中,黑产的退出只是暂时的,他们会不断试探风控的漏洞,随时出击。我们需要不断丰富我们的技术手段,通过AI模型,有监督和无监督相结合,持续完善我们的风控系统。对抗永不停息。