简述一个完整机器学习项目的流程(关于那些羞羞的不可描述的动作分析)
作者 | Unknown
译者 | czh912019784
编辑 | 查无此人
出品 | AI科技大本营
现在,机器学习已经应用在各行各业中,开发工程师队伍越发壮大,其中有一类工程师的工作内容在外行人眼里似乎更”丰富多彩“,那就是鉴黄师。现在我们看到的视频都是经过他们本人或他们研发的技术处理而来。就在大家致力从音、言、画等全方位鉴黄时,有一个逆风而上的团队,正在利用机器学习研究着一项非同一般的任务。
刚拿到这篇论文的时候,营长是拒绝的,毕竟原文作者都没有署名。目前就知道这项史无前例的工作是由德国一家公司 Very Intelligent Ecommerce Inc 委托进行的,并将研究和调研成果应用到项目 Autoblow AI 中,旨在使他们的成人智能玩具更加人性化。(关于这个项目大家可自行搜索了解更多... ...)
下面营长还是”竭尽所能“地为大家介绍一下这项羞羞的机器学习学术研究项目。研究人员通过分析并标记超过 108 小时的爱情动作视频,利用聚类分析发现了 16 种”典型“或”常见“的 blowjob(以下简称 bj)动作片段,以此设计和评估一个通过使用深度学习来生成完整全过程 bj 的系统。这个系统优于简单的马尔科夫链模型。虽然内容敏感,但,是真学术!(一本正经脸)欲知详情,下文继续为你分解。
数据集
我们将获取到的色(xue)情(xi)视频进行剪切,处理后仅包含 bj 的片段。然后手动对这些片段进行标注,并记录下嘴巴的位置信息序列,该位置记录为整数,其中1000和0分别表示尖端和基部。(向数据标注工程师献上我的膝盖)
为了便于研究,我们使用线性插值技术将视频和标注标准化为每秒16帧,最终把视频中剪切出来的1060个剪辑处理成6270467个标准化帧,这1060个剪辑由109个小时的视频中所得来。
动作分析
对 Autoblow AI的设定程序有一个基本的了解有助于分析此项研究。Autoblow AI有十种模式,每一种模式都代表着一系列的动作。上或下运动速度的不同就产生了不同的动作,其中速度可用电机来控制。两到三个不同的动作连续释放也可以创造出复杂的动作模式。图 1 给出了一个基于三种动作模式的分析例子:
图 1 基于三种不同模式而创造出的复杂模式示例
我们能够清楚地看到运动具有周期性以及随着时间的变化动作的状态情况,其中包括停顿和中断。基于上千个这类的片段,我们能够构建模型来识别数据集中常见或典型的动作。
k 均值聚类
我们首先使用k均值聚类算法来进行研究,该算法虽然存在很多缺点,但是它的运算速度快。
我们将每个视频分割成一个个一秒钟的窗口,按每个窗口的位置序列给出一组16维的向量。之后采用k均值来找到16个聚类。下图 2 和 3 给出了每一个类别位置序列的平均值,以及每一个类别中100个样本的具体位置序列。
图 2 16 种类别中嘴位置序列的平均值
图 3 每一类别上100个样本中嘴的具体位置序列
为了进一步验证我们的假设,我们使用了最近开发的一种被称为UMAP的降维技术来减少聚类的数量,以便能在二维和三维中对数据进行可视化。其结果如图 4 所示。
图 4 使用 UMAP 降维后数据的分布图
我们能从图中看到许多令人信服的结构。比如类别5和类别2的数据,它们分别代表着在顶部和底部附近进行活动,而图中这两类数据也是处在相互对立的点上。再比如类别1和5的数据,它们都代表着在顶部进行活动,图中这两类数据正好也是彼此相邻。我们还能从图中观察到一条介于两端点之间密集的线,这条线贯穿了所有表示低强度的动作(5,12,7,3,13,2)的数据点,这一结构也与现实中 bj时,从最高点到最低点来回活动相符。
这个图表值得我们去细细分析,在目前这些验证就足以让我们去相信数据之间是呈现出某种趋势的。这些数据能够为我们建立更加复杂的动作模型做支撑。
程序生成
如上所述,一个完整的 bj过程是由一系列的动作来组成的。在上一节中,我们已经确定了在一秒钟内发生的典型动作。下一步我们要做的是找到这些动作之间常见的演变顺序。
这个问题与自然语言中‘猜猜下一个词会是啥’的问题有颇多相似之处。以下漫画最能说明这个问题。
我们希望从上一节中构建出来的模块来组成一个典型的 bj过程。我们首先建立了一个以马尔可夫链为基线的简单模型,之后又设计了一个深度学习模型来作为替代,并定量比较了两种模型的优劣。
马尔可夫链模型
马尔可夫链背后的原理很简单:假设下一步的动作仅取决于当前的位置,而不是先前的动作。例如:假设我们刚刚完成了动作1;在此基础上,我们知道我们再次做动作1的概率为50%,30%的概率做动作2,15%的概率做动作3,等等。然后根据概率随机选择下一个动作来生成一个‘唯一’的动作顺序。
因此,我们先计算了一个模式由另一个模式引起的频率,并验证了此概率与直觉相符。之后采用这些概率生成唯一的动作顺序,并使用简单的移动平均进行平滑处理。结果如下图 5 所示。
图 5 一个由马尔可夫链模型生成的完整‘不可描述动作’ 过程
马尔可夫链的问题很明显,就是假设下一状态的概率仅取决于当前的状态。而事实上,下一状态的概率会取决于先前的许多状态。
另一个问题是在预测下一状态时,还需知道先前状态哪一个对下一状态影响最大。深度学习能够在“复杂又非显而易见相关性”的问题上大展身手。
Dense Neural Network (DNN) 模型
在本节中,我们设计了一个DNN架构,该架构能够基于先前的状态预测出下一步的状态。
本文中,使用了一个简单的两层体系结构,把最后的16种状态作为模型的输入,输出为范围在0到1之间的关于16种状态的概率值。用零矢量来表示“缺失”状态(如视频开始前的一小段)。通过纵向连接先前的状态向量来创建输入,以交叉熵作为损失函数,训练数据与测试数据的比值为8:2。
模型性能的好坏很大程度上取决于训练数据与测试数据的切分情况,为了解决这一随机误差带来的影响,我们重复了10次试验,每次都使用不同的随机种子来分割数据。下面我们将定性地分析一个由模型产生的动作演变顺序(如图 6 所示)。
图 6由 DNN 模型产生的一个完整 bj过程
模型比较
在本节中,我们将定量地分析这两种模型。定性地说,DNN模型具有更好的鲁棒性,因为它被锁定在单一状态下的可能性要小很多。对于预测来讲,首先要考虑的是预测的准确性。图 7 表示DNN在不同任务上的预测准确率。
图 7 DNN 在不同任务上的预测准确率
通过计算得到的马尔可夫链模型的准确率约为58.08%,略低于神经网络的平均精度。
为了证明结果的可信度,我们还引入了“相对错误”这一度量指标。下面给出一个小例子以便理解相对错误。当你在预测是否会下雨时,如果回答百分百下雨,但结果没下雨,那么你的预测就完全错误。但如果你预测百分之八十下雨,结果没下雨,那么意味着你只错了百分之八十。
根据这一思路,我们重新计算了两种模型的平均绝对误差,DNN模型的误差如图 8 所示,而马尔可夫链模型的误差计算结果为1.126。从这一结果也能表明DNN模型优于马尔可夫链模型。
图 8 DNN 模型在不同任务上的平均绝对误差
未来的研究
第一,我们相信程序生成能够被改善。DNN架构的替代方案包括循环神经网络、卷积神经网络和生成对抗网络。我们之后打算使用这些技术来改善动作演变顺序的真实性。当然,演变顺序得以物理硬件的限制为前提。
第二,我们认为类似的分析可以适用于其他情色行为,本文中以 bj 为主题,服务于Autoblow AI。
第三,我们希望能将研究扩展到图像识别和视频分类中去。现在我们已经开发出一个可用于识别静止帧中是否存在 bj行为的模型,并且正在研究更为复杂的视频分析问题。接下来研究的重点会着眼于如何将性玩具与色情内容实现同步。
原文链接:
autoblow/bjpaper/
--【完】--
2018 AI开发者大会
AI技术年度盛会即将开启!11月8-9日,来自Google、Amazon、微软、Facebook、LinkedIn、阿里巴巴、百度、腾讯、美团、京东、小米、字节跳动、滴滴、商汤、旷视、思必驰、第四范式、云知声等企业的技术大咖将带来工业界AI应用的最新思维。
如果你是某个AI技术领域的专业人才,或想寻求将AI技术整合至传统企业业务当中,扫码填写大会注册信息表,我们将从中挑选出20名相关性最高的幸运读者,送出单场分论坛入场券。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com