为了这个羞羞的机器学习项目,我差点成为“鉴黄师”

简介:

给男同学们一个机器学习,他们能研究所有他们能想到的问题。

当然,根据这本真实存在的畅销书,他们真的能想到的话题也不多

a9f199e6388480330c3b17f501efd5a715987bb2

开个玩笑,不过今天文摘菌确实要给大家介绍一个不太一样有点羞羞的机器学习项目,也就是嘿嘿嘿的时候,最加深感情的某种动作的分析,英文俗称“blowjob”或者“oral sex”。

8aa4a8d002aa9a4e9351aa2620f80b30cb36d492

尽管内容敏感,整体来看,这是个颇为学术的研究项目,由柏林一家公司Very Intelligent Ecommerce Inc所委托开启。这个项目的最终目的也很有趣,是为一项名为Autoblow AI的项目设计进行的调研工作。

关于这个项目Autoblow AI,读者可以自行谷歌... ...

在这个机器学习项目中,研究者研究包括108小时的色情视频的训练数据,并基于这些数据建立了一个模型(当然这也就意味着,研究者需要对这108个小时的视频进行详细标注)。

78182857d227b729c94281bb685217c387ddc82d

之后,模型对视频中的口情色内容分成了十六种不同的经典类型。模型的核心是采用深度学习在程序上生成仿真动作。经过验证,该模型的效果优于马尔科夫链。

据悉,用机器学习对这一类情色内容进行分析,属于前无古人的项目。分析结果为未来为未来的研究奠定了基础。

先把这份神奇的paper献上:

https://www.autoblow.com/bjpaper/

尽管整体研究颇为严谨,但基于项目的敏感性,此项目的作者选择保持匿名。仍然感兴趣的同学可以继续往下读,以下是这位研究者的论文,或者说一份研究自述

机器学习和大数据分析在数字世界中变得越来越重要。性产业也不例外。

例如:与过滤色情片完全相同的技术可以很容易地对其进行分类和标记。一些网站也使用类似Netflix的推荐系统推荐视频。这些只是人工智能的一些实际应用。

在这项工作中,对这个未经探索的项目进行研究,特别侧重于对男性的口情色动作分析是非常有勇气的。

该项目的具体操作过程为:

首先,量化了口情色动作中最“常见”或“典型”的动作,从而改善了Autoblow AI所使用的模式的真实性。具体来说,使用量化技术来识别16种“典型”或“常见”运动,从而构建更加复杂的运动模块。

其次,研究者使用以前的结果来研究运动的过程生成。设计一个基于深度学习的模型,用于从随机噪声中产生独特但真实的序列。然后将该模型与一个简单的马尔可夫链模型进行了定量比较,证明了设计的正确性。

最后,研究者讨论了未来的研究是可能的,在同一数据集的背景下,继续改进的奥托布洛人工智能和性玩具在总体上。

最后,在继续改进Autoblow AI和性玩具的背景下,将讨论如何使用相同数据集进行未来研究。

数据集

对AAA级色情视频进行分析时,只采用男性口情色部分。具体数据的标准,有审查员手工标记,然后使用自定义的用户界面记录口与***的距离。该位置记录为整数,其中1000表示轴的尖端,0表示基部。

a8d2c2cd94c9f821d2d2940803cf5ed624cc9e22

自定义的用户界面

为了分析,使用线性插值将视频和注释标准化为每秒16帧。最终将109小时的视频数据集处理成6270467个标准化帧。

动作分析

进行这种分析,有助于对Autoblow AI的编程方式有一个基本的了解。Autoblow AI有十种模式,每种模式代表一系列动作。

动作的不同只是上或者下运动的速度的不同。了解这些之后,对性产品的优化非常有帮助,因为速度的不同可以由为电机控制。

两个到三个不同的动作连续释放也可以创造复杂的动作模式。下面的图表描述了基于三动作模式的分析。

d6c5566fdc3169b9196ba7c9000fa4d13be8fc5b

可以清楚地看到运动具有周期性。也可以看到随着时间变化动作的状态,包括停顿和中断。基于上千个这样的片段,然后就可以建立机器学习模型从而识别出“常见”或“典型”的动作。

接下来,是验证时间。

K均值聚类算法

研究者开始了对K-均值算法的研究,也就是Lloyd’s算法。这个算法虽然有很多缺点,但是它运行速度也很快。

将每个视频分割成一秒的窗口,每个窗口的位置顺序给出一组16维向量。然后用K-均值找到16个聚类。产生的结果和每个集群的100个样本如下所示:

9c11d897d7b7b5a02dffaf187b12f1808c7ef18a

为了进一步验证假设,研究者使用了一种最近发展起来的数据降维技术,即UMA。可以使使数据在2维空间和3维空间中可视化。

a4bbc71156619764616aba8d9b1d358fd74375c2

注意类别5和2的数据,它们分别代表顶部和底部附近的小活动点,这些小活动位于相对的“点”。另外类别1和5(它们都代表顶部附近的动作)彼此相邻。在每一端的“点”之间也有一条密集的线,这条线似乎贯穿所有代表低强度动作(5,1,12,7,3,13,2)的数据点

可以花很多时间来分析这个图表,目前,这些验证足以让我们相信数据之间呈现某种趋势。因此可以使用这些数据建立更加复杂的动作模型。

程序生成

如上所述,一个完整的模式是从一系列的动作中创建的。研究者确定了在一秒钟内发生的典型动作。

因此,下一步是找到共同的运动顺序。

这个问题与自然语言问题的处理有很多相似之处,例如“你猜下一个词是什么意思”。下面的漫画最能说明这个问题。

55779a90c9b294505b06cd371aef3b19474a5328

因此,可以使用类似的技术。

首先建立一个基于马尔可夫链的简单模型作为基线。然后,研究者设计了一个深度学习模型作为替代方案,并对这两种模式进行了定量比较.

马尔可夫链模型

马尔可夫链背后的原理很简单:假设下一步要去的地方只取决于我们在哪里,而不是我们去过的地方。例如,假设我们刚刚做了运动,在此基础上,我们知道我们再次做这个运动的概率是50%,接下来我们做另一个动作的概率是30%,第三个动作的概率是15%,等等。然后,我们可以根据这些概率生成一个“唯一”序列,方法是根据概率随机选择下一个动作。

因此,采用此模型,需要计算一种模式由另一种模式引起的频率,验证概率与直觉是否一致。然后利用这些概率来生成唯一的序列,并使用简单的移动平均进行平滑处理。结果如下:

fdd16c470dfe7b8a60b7c330cd8d7f2a8aef0835

马尔可夫模型有自身的局限性,它的局限性也正是由于它的假设引起的。马尔可夫模型下的假设是,下一状态概率仅取决于当前状态。事实上,这个假设并不是非常灵活。

另一个问题是,简单的马尔科夫链模型需要了解前几个状态的“最优”数来执行预测。这往往与现实不想符。如果最后3个状态是A,B和C,也许在此之前发生的事情并不重要;但是如果它们是X,Y和Z然而情况就会不一样。

Dense Neural Network (DNN) Model

在这一部分中,设计了一种基于先前状态预测下一个状态的DNN结构。

使用一个简单的两层体系结构,把最后最后16个状态输入进去,输出范围在在0到1之间,共有16个概率发生。这些概率意味着下一个状态发生的几率。

所有状态都是独热编码,用零矢量表示“缺失”状态(例如,在视频开始之前)。通过纵向连接先前的状态向量来创建输入。在此项目中只训练80%的数据,因为剩下的20%数据要用于测试与比较。另外,使用交叉熵作为损失函数。

模型的性能取决于如何分割训练数据和测试数据;为了处理随机误差带来的影响,需要重复10次及更多次的实验,每次使用不同的随机种子来分割训练数据。这对于分析和比较是很重要的。

下面,研究者定性地说明了该模型从随机噪声产生的一个序列:

e9c7f2e0d4fb8a980a1cef06d2cdba612e5b542e

DNN Sequence

模型比较

定性地说,DNN模型鲁棒性更好,因为它被锁定在单一状态的可能性要小得多。

然而,通常,对于预测来说,首先要考虑的是准确性。

dba394b17c86fb37b64b9076a7ced5955d169c8d

比较:如果选择概率最高的下一个状态作为“预测”,那么马尔可夫模型的分类精度是多少?如果当前状态的最高概率是(P_S),那么当前状态为(S)时,平均精度显然也是(P_S)。然后,通过乘以该状态出现的频率(F_S)并对所有状态进行求和,得到总精度;或者,简洁地:[sum_{s=1}^{16}p_s *f_s]

这给出的准确率约为58.08%,略低于神经网络的平均精度,但还不能确定其中一个优于另一个。

然而,在这种情况下,分类的准确性是一个误导性的指标。实际上不是在构建真正的分类器,而是一个序列生成器。不期望以前的16个状态能唯一地识别每一个“下一个状态”,所以不期望很高的精确度。

在这个问题中,假设是:错误的方式都相同。这与实际目标不相符。因此,必须使用一个引入“相对错误”的度量。

引入“相对错误”之后,对模型的比较有非常大的帮助。例如,你在试着预测是否下雨。如果你说你百分之百肯定明天会下雨,如果没有,那么是你预测错了。如果你说你80%肯定明天会下雨,但你还是错了;但你没有完全肯定地说错,因为至少你考虑到了你可能错了。从某种意义上说,你只错了80%。

bbf99013646968bf36590a855ef8852e6267488c

用同样的框架和前面的假设为马尔可夫模型计算这个度量。如果给定当前状态(S)下一个状态(I)的概率为(p_{is}),那么当前状态为(S)时选择该状态时的错误是(2*(1-p_{is})).如果(n_{is})是状态(I)跟随状态(S)的次数,那么,所有当前和下一个状态的总错误显然是:

\[ 2 * \frac{\sum_{s=1}^{16} \sum_{i=1}^{16} n_{is} * (1 - p_{is})}{\sum_{s=1}^{16} \sum_{i=1}^{16} n_{is}} \]

使用本文所使用的数据,计算所得为1.126。换句话说,平均而言,马尔可夫模型在所有类别中都有7.6个百分点的错误。

这看起来并不是很多,但它仍然是一个改进。因此,DNN模型有更少的错误率。

具体而言,由于DNN模型中的分类精度和平均绝对误差都是优越的,可以有把握地说它是一个更棒的模型。

未来的研究

最后,在继续改进Autoblow AI和性玩具的背景下,讨论使用相同数据集进行的未来研究。

第一:可以改进程序生成。简单的DNN架构的替代方案包括循环神经网络,卷积神经网络和生成对抗网络。打算研究更复杂的技术来改善序列的真实性。但是,这些需要与物理硬件的限制相平衡。

第二:研究者认为类似的分析可以适用于其他情色行为。

第三:希望将研究扩展到图像识别和视频分类。现在已经有了一种模型,可以用于识别静止帧中是否存在口情色行为,并且正在研究更复杂的视频分析问题。接下来的研究重点可以放到将性玩具与看不见的色情内容同步方面。

我们期待着继续探索这个未知又神秘的空间。


原文发布时间为:2018-10-28
本文作者:蒋宝尚、魏子敏
本文来自云栖社区合作伙伴“ 大数据文摘”,了解相关信息可以关注“ 大数据文摘”。
相关文章
|
1月前
|
机器学习/深度学习 人工智能 前端开发
机器学习PAI常见问题之web ui 项目启动后页面打不开如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
1月前
|
机器学习/深度学习 数据采集 监控
大模型开发:描述一个典型的机器学习项目流程。
机器学习项目涉及问题定义、数据收集、预处理、特征工程、模型选择、训练、评估、优化、部署和监控。每个阶段都是确保模型有效可靠的关键,需要细致操作。
20 0
|
3月前
|
TensorFlow 算法框架/工具 开发工具
使用 TensorFlow 构建机器学习项目:6~10(3)
使用 TensorFlow 构建机器学习项目:6~10(3)
23 0
|
4月前
|
机器学习/深度学习 数据可视化 数据挖掘
【机器学习实训项目】黑色星期五画像分析
【机器学习实训项目】黑色星期五画像分析
58 0
|
3月前
|
TensorFlow 算法框架/工具 Docker
使用 TensorFlow 构建机器学习项目:6~10(2)
使用 TensorFlow 构建机器学习项目:6~10(2)
45 0
|
3月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用 TensorFlow 构建机器学习项目:6~10(1)
使用 TensorFlow 构建机器学习项目:6~10
18 0
|
3月前
|
机器学习/深度学习 算法 TensorFlow
使用 TensorFlow 构建机器学习项目:1~5
使用 TensorFlow 构建机器学习项目:1~5
201 0
|
8月前
|
机器学习/深度学习 自然语言处理 算法
【机器学习实战项目】10分钟学会Python怎么用支持向量机SVM进行分类预测(三)
【机器学习实战项目】10分钟学会Python怎么用支持向量机SVM进行分类预测(三)
161 0
|
5月前
|
机器学习/深度学习 数据可视化 数据挖掘
【机器学习实训项目】黑色星期五画像分析
本项目旨在利用Jupyter编程来分析和呈现黑色星期五购物季的消费行为和趋势。通过对大量的购物数据进行统计和可视化分析,我们将揭示黑色星期五的消费者画像和购物模式。
71 0
|
8月前
|
机器学习/深度学习 存储 算法
【机器学习实战项目】10分钟学会Python怎么用LDA线性判别模型进行分类预测(五)
【机器学习实战项目】10分钟学会Python怎么用LDA线性判别模型进行分类预测(五)
148 0

热门文章

最新文章