雅虎开源首个色情图像检测深度学习解决方案

2020-02-15 20:46:59 来源: 陕西信息港

雅虎开源首个色情图像检测深度学习解决方案

自动识别一张对工作做来说并不适合/不保险的图像(Not Suitable/Safe For Work - NSFW)——包括暴力图像和成人图像——是研究者们几十年来一直在试图解决的重要问题。由于当下图像与用户生成的内容主宰了互联,过滤NSFW图像成为页应用和移动应用的一个重要组成部分。

随着计算机视觉、改进的训练数据和深度学习算法的发展,计算机现在能够以更高的精度来自动分类NSFW图像内容。

NSFW素材的定义是主观的,而识别这些图像的任务并非没有价值。此外,在某一语境下使人反感的东西却可以适合于另一语境。为此,我们下文所描述的模型只侧重于一种NSFW内容:色情图像。NSFW简笔图、漫画、文字、写实暴力图像或其他不当内容的识别解决方案不适用于此模型。

据我们目前所知,还没有用以识别NSFW图像的开源模型或算法。秉承合作精神并怀揣推进这一努力的希望,我们发布了自己的深度学习模型,它能让开发者使用一个NSFW检测分类器来进行实验,同时向我们提供反馈以改善分类器的性能。

我们的通用Caffe深度神经络模型(general purpose Caffe deep neural network model)以图像作为输入并输出一个概率(即一个介于0和1之间的数字),可用于检测和过滤NSFW图像。开发者可以针对具体使用情况来用这个概率过滤掉ROC曲线上低于某个适当阈值的图像,或用在搜索结果中进行图像排名。

▲卷积神经络架构和权衡

近年来,卷积神经络已经在图像分类问题中取得了巨大成功。自2012年以来,新的卷积神经络架构一直在不断改进标准ImageNet分类挑战的精度。一些主要突破包括了AlexNet(2012)、GoogLeNet、VGG(2013)和残差络(Residual Networks)(2015)。

这些络在运行时间、内存需求和准确性方面有不同的权衡。运行时间和内存需求的主要指标是:

Flops或连接——一个神经络中的连接数量决定了向前传播过程之中的计算操作数量,这与图像识别时的络运行时间成比例。

参数——一个神经络中的参数数量决定了加载络所需的内存量。

理想情况下,我们希望一个络拥有最少的flops和最少的参数

,而达到最大精度。

训练用于NSFW识别的深度络

我们使用一个包含正(即NSFW)图像和负(即SFW-suitable/safe for work)图像的数据集来训练模型。

由于数据属性的问题,我们没有发布训练图像或其他细节,但我们开源了可用于开发者独立进行分类的输出模型。

我们使用Caffe深度学习库(Caffe deep learning library)和CaffeOnSpark;后者是一个用于分布式学习的强大开源框架,令你可以在Hadoop和Spark模型训练集群中使用Caffe深度学习。

在训练过程中,图像被重新调整到256x256像素,水平翻转进行数据增强,并被随机裁剪为224x224像素,然后送入络。在训练残差络时,我们使用了ResNet论文中所描述的规模增大(scale augmentation)来避免过度拟合。我们评估各种架构来找到运行时间和精度之间的权衡。

MS_CTC——这种架构是由微软限制时间成本的那篇论文提出。它在卷积层和全连接层相结合的速度和精度方面秒杀了AlexNet。

Squeezenet——这种架构提出了fire模块——包含层挤压,然后扩大输入数据团。这有助于节省参数数量,使Imagenet的精度与AlexNet的一样好,尽管内存需求仅为6MB。

VGG——这种架构有13层卷积层和3层FC层。

GoogLeNet——GoogLeNet提出了Inception模块并拥有20个卷积层阶段。它还在中间层中使用hanging loss functions来解决深度络中的梯度递减问题。

ResNet——ResNet使用快捷连接来解决梯度递减问题。我们使用了作者所发布的50层的残差络。

ResNet-thin——该模型是使用我们的pynetbuilder工具生成,并复制了残差络论文中的50层络(每层过滤器的半数)。你可以在这里()找到更多有关如何生成和训练模型的细节。

深度模型首次在ImageNet 1000类数据集上进行预训练。我们将每个络的最后一层(FC1000)更换为2节点的全连接层。然后我们精调NSFW数据集中的权重。注意我们让与最后的FC层相乘的学习率是精调后的其他层的5倍。我们还调整了超参数(hyper parameters)(步长、基本学习率)以优化性能。

我们观察到,NSFW分类任务的模型性能与ImageNet分类任务中的预训练模型性能有关,所以如果我们有一个更好的预训练模型,它将有助于精调分类任务。下面的图表显示了我们所提出的NSFW评估的相对性能。请注意,图中的假正率(FPR)和一个固定的假负率(FNR)所针对的是我们的评估数据,在这里作说明用。要用该模型进行NSFW过滤的话,我们建议你们使用自己的数据来绘制ROC曲线并挑选一个合适的阈值。

我们发布了thin ResNet 50模型,因为它在准确度方面做了很好的折中,并且该模型在运行时间(CPU上运行时间 0.5秒)和内存(~ 23 MB)方面体量轻巧。请参阅我们的Git库来查看我们的模型指令和用法。我们鼓励开发者尝试将此模型用于NSFW过滤的情况。如有任何关于模型性能的问题或反馈,我们都会支持并尽快回复。

结果可以通过在你的数据集上精调模型来改进。如果你改善了性能或者训练了一个使用不同架构的NSFW模型,我们都鼓励那么为模型贡献出力或将链接分享到我们的描述页面。

开源地址:

宿松县人民医院预约挂号
国仁医院李秀华
NK免疫细胞如何治疗肾癌
肇庆专业治牛皮癣医院
西安哪所医院能治癫痫病
本文标签: