知物由学 | AI与黑产的攻守之道,详解攻击类文字图像的检测

news/2024/4/29 4:31:34/文章来源:https://blog.csdn.net/yidunmarket/article/details/126940139

导读:随着 OCR 系统识别能力的提升,专业对抗 OCR 的黑产也越来越多,这个过程中 AI 如何抵御黑产攻击类的文字图像?本文通过分享相似性特征训练的常见算法,并选择了其中一些有代表性的工作进行介绍,希望能给读者一些思路与方法。

文|邓芮 网易易盾高级计算机视觉算法工程师

一、背景

在互联网信息中,文字是重要的信息媒介,通过传递微信、电话号码等信息,黑产能够完成对广告、色情等引流。为了阻断这些垃圾信息的传播,在内容安全审核领域,OCR 文字识别系统是重要的一环,它通过对图像中文字内容进行自动识别,发现异常的文字,拦截过滤有害内容。

随着 OCR 系统识别能力的提升,专业对抗 OCR 的黑产也越来越多,典型的黑产会通过拆字、加遮挡、扭曲等方式,破坏图像特征,从而达到模型难以自动识别的目的。一旦他们造出来当前系统难以识别的文字,就会批量生成,进行刷量传播,在这个过程中,为了躲避系统追击,还常常伴随着恶意变种。另外我们也发现,同一种对抗攻击类型,会跨时间、跨客户的反复出现。

那么我们要如何来解决这个问题呢?考虑已有的方案,一个是更强的 OCR 识别系统,另一个是相似图片识别。前者的问题在于如果文字特征被严重破坏,OCR 系统就失去了识别的基础,也难以召回。而后者常用于图像整体的相似性识别,包括图像中人物、文字、背景等,当文字区域占比较小,背景更换时(如更换了不同的美女帅哥背景),整体图像相似度识别往往容易失效。

在这里插入图片描述
近期出现的一种攻击案例(攻击强度越来越大)

网易易盾算法团队在经过深入的问题分析和技术实践后,建立了一套以文字特征分析为核心的新一代垃圾图像识别服务,并在线上成功落地。这套服务包含图中文字属性分析、显著性区域特征提取、特征相似性比对分析等模块,对相似类型的变种(遮挡、压缩、旋转、背景变换等)具有良好的鲁棒性,结合易盾多因子识别能力,做到了垃圾图片的精准治理。上图中的垃圾图片变化多端,新服务经过少量样本迭代,对新型变种的机器召回率可达 95%+。

结合大规模无监督学习,易盾算法团队建立了多个高精度高召回的特征分析模型,实现了对特征相似性地精准判断。这篇文章主要分享相似性特征训练的常见算法, 并选择其中一些有代表性的工作进行介绍。

二、算法分享

相似性学习本质上是一个对比学习任务,通过模型学习一些不变形特征,将图片信息压缩到一个高维的特征空间。主要的学习方法有两类,自监督学习(Self-Supervised Learning )和度量学习(Deep Metric Learning)。前者的优势是能够利用大量的无标签数据,零标注成本,但是只能学”自己“,对变种的拒绝率高。而度量学习会学习一类物体的相似度,在图像检索领域有广泛应用,但是物体的类别需要人工进行标注,标注速度慢且成本较高。下面对两类方法分别进行介绍。

Moco 系列

Moco[1] 是一种流行的自监督学习算法,目标是通过自身的对比来学习一个泛化性强的预训练特征。

在 MoCo 之前,一种常见对比学习框架如下图(a)所示,是一种 end-to-end 的框架,这个框架相对简单,将一个样本的两种增强,一个作为 query,一个作为 key,都用同一个 encoder 进行编码,然后用 constrative loss 进行学习。然而在实际使用时,这种框架通常收敛较慢,同时由于 batchsize 受限于显卡的显存,最终收敛的效果也相对较差。

于是有了改进版本下图(b),这种方式维护了一个很大的 memory-bank 作为训练的负样本,memory-bank 存储了一系列之前 iteration 编码好的特征,通过采样可以直接用来做对比,同时 memory-bank 中的样本是不进行梯度传播的。memory-bank 的出现提高了对比学习的收敛速度和收敛效果,以至于在后期很多论文中都有使用这个模块。

而 MoCo 与前两种方法的差异,在于提出了动量编码器(momentum encoder)和一个动态的字典队列,如图(c)所示。key 特征通过动量编码器后存储到一个字典队列中,而动量编码器是一个单独的编码器,它通过动量更新保持了特征的一致性,也就是相较于 memory-bank 的方法,MoCo 中动态字典特征更稳定和具有一致性,效果也会更好,实验中也证明了这一点,同等队列尺寸下,MoCo 比 memory bank 效果好 2.6% 以上。
在这里插入图片描述

SwAV

SwAV[2],全称 Swapping Assignments between multiple Views of the same image,即通过交换不同视图中的标签分配来完成自监督式学习,是独立于 MoCo 和 SimCLR[3] 这种基于 pairwise 对比的一种新颖的自监督学习方式。结合文章中提出的 MultiCrop 的数据增强方式,达到了当时最好的结果。
在这里插入图片描述
左:基于 pairwise 对比的自监督学习方式。右:SwAW 学习方式

SwAV 中学习的标签来自于聚类,它维护了一个有 K 个 prototype 的向量组,这 K 个 prototype 向量可以看做是数据的中心(参考 kmeans 的中心),样本经过 encoder 编码后,再计算与这 K 个中心的距离,就可以得到一个 soft 编码,作为这个样本的标签。在训练时,一个样本通过数据增强变成两个增强后的样本,再经过编码器分别获得自己的标签,再把自己的标签给对方,即完成了一次交换的过程,交换后的标签可以用 KL-Loss 来进行学习。
在这里插入图片描述

我们知道,模型学习的效果跟标签质量有很大的关系,标签质量越高,模型能学习得越好。那么 SwAV 中是如何获取高质量的 prototype 的呢?答案是 Online Cluster, SwAV 中的 prototype 也是不断训练的,始终代表着模型在当前 dataset 上的中心向量。一般来说,求 dataset 的中心向量,常规的是离线使用 Kmeans 算法(OfflineTraining),在整个 dataset 上进行计算,这种思路走下去类似于 DeepClusterV2[4]。而 SwAV 则是使用一个队列维护了少量样本队列,然后通过 Sinkhorn 算法强制将队里中的样本均匀地分配到每个中心上,这个优化过程可以表示为,给定一个特征队列 Z=[z1, z2,…zb], 将它们映射到 prototypesC=[c1, c2, …ck],这个映射关系可以表示为一个矩阵 Q=[q1, q2,…,qb], Q 的优化目标是特征和 prototype 的相似性最大,这个过程用 sinkhorn 算法来求迭代近似解,就是下面的公式。因为特征队列 Z 的长度不大,通常为几千,所以整个求解过程也很快,训练的额外开销相对较小。
在这里插入图片描述

实验结果,SwAW 跟有监督训练的效果已经非常接近,优于 SimCLR 类的对比方法。另外,在标签分配的方法上,其实 SwAV 的 OnlineTraining 跟 DeepClusterV2 的 OfflineTraining 是差不多的,结果都非常好,双双印证了这种标签交换方法的有效性。
在这里插入图片描述

MultiSimilarity-Loss

在深度度量学习(Deep Metric Learning)中,有一系列的 pairwise 的 Loss 被提出,如 contrastive loss,triplet loss 等,在 MultiSimilarity Loss 这篇文章中提出了一个统一的框架去解释这些 Loss,文中称为GPW(General Pair Weighting),将这些 Loss 统一成对 Pair 相似性进行加权的问题,在这个框架下,作者进而提出了 3 种形式的 similarity,即 self-similarity、positive-relative-similarity 和 negative-relative-similarity,其中第一种是自相似性,只与自身有关,而后两种属于相对相似性,与其他样本相关。而 Multi-Similarity 就是同时考虑了这 3 种相似性的 Loss。

那么这 3 种相似性究竟是什么呢?用一张图来总结。
在这里插入图片描述
表:不同 Loss 中包含的相似性。之前的方法都只包含部分相似性。

MultiSimilarLoss 的多种相似性不仅体现在 Loss 上,还体现在对训练样本的挖掘上。通过迭代去挖掘(Mining)和加权(Weighting),不断挑选出信息量高的 pair 进行训练,达到了非常好的效果。Mining 的过程是根据两个原则挑选出最优信息量的正负样本对。Weighting 是根据相似性赋予不同的样本对不同的权重。
在这里插入图片描述
MS Loss 的最终表达形式:
在这里插入图片描述

三、总结

大规模相似性特征的训练离不开自监督学习,自监督学习能以较低的成本学习到一个效果优越特征模型。但仅靠自监督学习也让模型局限在自我(self)的世界里,潜在地降低模型的泛化性,反应到线上实际应用中,会存在召回率低的问题。如何解决这个问题又是另一个新的课题,目前易盾探索了一条结合主动标注和度量学习的算法方案,逐步引导模型学习潜在的邻近关系,并取得了一定的效果。未来易盾会持续跟进业界和学界的最新方法,为这类对抗垃圾治理提供更多的解决方案。

参考资料

[1] MoCo: Momentum Contrast for Unsupervised Visual Representation Learning
[2] Unsupervised Learning of Visual Features by Contrasting Cluster Assignments
[3] A Simple Framework for Contrastive Learning of Visual Representations
[4] Multi-Similarity Loss with General Pair Weightingfor Deep Metric Learning

作者简介:邓芮,网易易盾高级计算机视觉算法工程师,负责 OCR 和音视频算法在内容安全领域的研发和落地。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_10305.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库干货 | 防止重复记录的发生

许多数据库管理员(DBA)需要至少花费一段时间来尝试从数据库表中识别和删除重复记录。如果一开始多注意防止重复插入,那么识别和删除重复记录所花费的大部分时间都可以用于其他工作上。原则上,这并不难做到。但是,实际上…

Windows环境下Hadoop的安装和配置

Windows环境下Hadoop的安装和配置Windows环境下Hadoop的安装和配置平台及版本安装 Java1.8,并配置环境变量安装Hadoop2.7.3Hadoop核心配置文件启动Hadoop服务Windows环境下Hadoop的安装和配置 平台及版本 Windows10JDK1.8.0_192Hadoop2.7.3 安装 Java1.8&#xf…

Java Math

本博客具体总结了java中的api Math中部分函数使用方法: 取绝对值 Modifier and TypeMethod and Descriptionstatic doubleabs(double a) 返回一个 double值的绝对值。static floatabs(float a) 返回一个 float值的绝对值。static intabs(int a) 返回一个值的绝对值…

卜算法学习笔记-02-分而治之算法02

数组中的逆序对计数 算法分析 所谓逆序对&#xff0c;是指数组中的两个元素 A[i]A[i]A[i] 和 A[j]A[j]A[j]&#xff0c;其下标 i<ji < ji<j&#xff0c;但是考察元素的值&#xff0c;却有 A[i]>A[j]A[i] > A[j]A[i]>A[j]。 输入&#xff1a;一个包含 nnn 个…

vue项目实战-完成路由组件的搭建

vue项目实战-完成路由组件的搭建 1.安装vue-router npm i vue-router --save分析结构可知&#xff0c;路由组件有四个&#xff1a;Home、Search、Login、Register 2.创建路由组件文件夹pages以及各路由组件 3.配置路由 项目中配置路由一般配置在router文件夹中&#xff0c;…

工业智能网关BL110应用之八十一: 实现西门子S7-400 PLC 接入亚马逊云平台

LAN 接口的配置COM口采集西门子S7-400 PLC的配置 工业智能网关BL110一共有一 个LAN 接口&#xff0c;一个WAN接口&#xff0c;可以通过LAN 接口采集数据&#xff0c;通过WAN接口接入局域网&#xff0c;设置过程不一样&#xff0c;WAN接口可以自动获取IP以及相关以太网设置。 …

硅光电子器件模拟:“RSoft光电器件设计仿真技术与应用”

RSoft光子器件工具包括业界最广泛的模拟器和优化器&#xff0c;一款非常优秀的设计仿真软件&#xff0c;能够帮助用户轻松的设计光学元件、纳米级光学结构&#xff0c;同时也可以模拟无源或有源的光电子器等。RSoft具有高度精确的算法能快速建立虚拟样机&#xff0c;同时降低了…

FPGA 20个例程篇:15.VGA显示八种颜色的彩条

第六章 图像显示处理&#xff0c;经典再现 15.VGA显示八种颜色的彩条 图像和视频处理可以说是FPGA中又一个经典地应用&#xff0c;使用FPGA做图像处理最核心的优势就在于&#xff1a;FPGA能进行实时流水线运算&#xff0c;从而达到更高的实时性&#xff0c;围绕着图像处理又有…

【VUE】process.env,require,vite.config.js等问题的解决

一、简介 这个系列是想将自己做过的Cesium项目整理回顾&#xff0c;同时也希望能给看到的文章的朋友一点帮助。大部分内容规划都是简单的功能应用&#xff0c;后面可能会选我自己感兴趣的功能做分享。 本文主要介绍工程的技术选型&#xff0c;环境搭建和代码的简单实现。首先…

Spring Security(一)- SpringSecurity 框架简介

文章目录一、SpringSecurity 框架简介1. 概要2. Spring Security 与 Shiro 对比2.1 Spring Security2.2 SpringSecurity特点2.3 Shiro2.4 Shiro特点2.5 小结3. SpringSecurity项目模块和依赖二、SpringSecurity 入门案例1. 添加相关依赖2. 运行项目3. 权限管理中的相关概念&…

大字节数组和 MemoryStream 的替代方案

发表于2019 年 12 月 9 日 在 .NET 中,处理二进制数据时通常使用字节数组;例如,在方法之间传递文件的内容、编码/解码文本、从套接字读取数据等。这些数组可能会变得非常大(最大为兆字节),OutOfMemoryException如果运行时无法运行,最终可能会导致被抛出分配足够大的内存…

redis数据结构基本语法

Redis Study 学到技巧 快捷键 ctrl [ typora很好用&#xff0c;有个问题就是换行会自动跟上面的格式&#xff0c;按删除键也无效 ctrl [就会把前面的格式给稀释掉。 经验 有关typora上传博客园图片缩放的问题,办法就是在typora中粘贴图片以后发现缩放没有效果&#xf…

Windows中使用SMB共享文件夹

SMB共享文件夹 简单步骤:打开【控制面板】 打开【启动或关闭windows功能】 打开【SMB1.0/CIFS 文件共享支持】 重启电脑 到磁盘中选择需要共享的文件夹 选中文件夹【属性】-> 【共享】->【共享】->添加【Everyone】用户 -> 权限【读取/写入】->确定共享 打开【…

那么我们应该如何优化Youtube的视频呢?

除了ins&#xff0c;Facebook&#xff0c;Twitter这类日常发帖分享型的社交网站外&#xff0c;还有其他的视频类网站也可以用于跨境电商的营销推广。作为视频类的社媒网站&#xff0c;YouTube可以说是全球第一大视频类社媒营销网站&#xff0c;在拓展视频内容的同时&#xff0c…

第3章 Kafka架构深入

3.1 Kafka工作流程及文件存储机制 Kafka中消息是以topic进行分类的&#xff0c;生产者生产消息&#xff0c;消费者消费消息&#xff0c;都是面向topic的。 topic是逻辑上的概念&#xff0c;而partition是物理上的概念&#xff0c;每个partition对应于一个log文件&#xff0c;该…

java线程池

目录 一、浅谈对线程池的理解 二、线程池常用类和接口 三、线程池的核心参数 四、线程池的状态 五、线程池的执行流程 六、常见的线程池 FixedThreadPool&#xff1a;线程数固定的线程池 CachedThreadPool&#xff1a;可缓存线程池&#xff0c;线程数根据任务动态调整的…

肯德尔(Kendall)相关系数概述及计算例

目录 1. 何谓相关&#xff08;correlation&#xff09;? 2. 肯德尔相关 3. 肯德尔相关的假设 4. 计算公式及代码示例 4.1 Tau-a 4.2 Tau-b 1. 何谓相关&#xff08;correlation&#xff09;? 相关是指一种双变量分析&#xff08;bi-variate analysis&#xff…

不知道数字化转型有什么意义?实现数字化转型价值都有哪些路径

近些年来&#xff0c;随着人工智能、云计算、大数据、物联网、区块链等新一代前沿技术的普及应用&#xff0c;社会的方方面面都有了信息化、数字化的身影&#xff0c;并通过相关技术、理念、应用创造了从未体验过的数字化社会&#xff0c;对整个社会形式进行了一次深层次的转型…

JVM原理及优化_垃圾回收器

文章目录JVM原理及调优_垃圾回收器什么是垃圾收集器&#xff1f;垃圾回收器详解SerialParNewParallel ScavengeSerial OldParallnel oldCMSG1JVM原理及调优_垃圾回收器 什么是垃圾收集器&#xff1f; 垃圾收集器是垃圾回收算法&#xff08;引用计数法、标记清除法、标记整理法…

PLM是什么?为什么要上PLM?有什么好处?

PLM是什么&#xff1f;或许早在五年前还有这个疑问&#xff0c;但如今已成为行业竞争的必需品。 PLM即对产品从创建、使用到最终报废&#xff0c;是一种对全生命周期产品数据信息进行管理的理念&#xff1b;是一种应用于在单一地点的企业内部、分散在多个地点的企业内部&#…