基于卷积神经网络的安全视频异常检测系统及方法与流程

文档序号:21103167发布日期:2020-06-16 21:00阅读:526来源:国知局
基于卷积神经网络的安全视频异常检测系统及方法与流程

本发明涉及视频处理、加密视频数据处理、信息安全领域,尤其涉及一种基于卷积神经网络的安全视频异常检测系统及方法。



背景技术:

近年来,监控摄像机越来越多地被应用于犯罪取证、交通分析和婴儿护理监测等领域。据著名的市场研究机构researchandmarkets[1]预测,到2025年,全球视频监控市场规模将达到438亿美元,较2017年的183亿美元复合平均增长率为11.8%。随着监视摄像机的快速增长,全球监控摄像机据估计每天将会产生560千兆字节的海量视频数据[2]。由于具有丰富的时空信息,基于视频数据的各种研究逐渐得到重视。其中针对海量视频文件的异常行为检测近年引起了学术圈和企业界的极大兴趣[3,4]。视频异常检测的目的在于当检测到如自行车、手推车、轮椅等发生异常事件时自动报警,于此同时能从较长的视频序列中确定异常事件发生的时间窗口。在视频异常检测方面,大多数的传统方法通常聚焦于如何设计人工特征表示,以便更好地过滤出异常事件。然而,人工提取出的特征仅关注外观变化及动作线索,这种底层的特征,往往十分粗糙,无法获得良好的检测性能。

而基于卷积神经网络(cnn)的深度学习技术具有强大的特征学习能力,能够有效地避免人工提取特征方法的弊端,达到良好的视频异常检测效果。其中,自动编码网络(ae)在目标追踪和人脸对齐上有较好的表现力,常被用于捕获异常事件的时空线索[3]。另外,长短时记忆网络(lstm)这一分析时间事件的重要工具,可从时间的角度上解决空间运动异常的问题[5]。虽然利用cnn技术能够得到高性能的特征表示,但复杂的cnn模型训练需要高昂的计算成本和高硬件配置,这是资源受限的普通用户所难以承担的。此外,海量视频数据样本存储也给普通用户带来了巨大的挑战。解决上述问题的通用解决方案是利用云计算技术。然而,由于长距离通信容易导致数据丢失和传输延迟,因此改用边缘计算技术不失为更好的选择。利用边缘计算技术,大量的计算和存储任务可以转移到接近用户的互联网边缘,从而确保数据完整性和响应的及时性[6]。但是外包边缘计算服务器会导致用户失去对数据的控制,这将引起人们对数据隐私安全问题的担忧。同样的安全问题也存在于云计算技术中。为了解决数据隐私保护问题,同态加密技术已被尝试用于cnn模型训练。然而,其高计算成本和数据扩展的缺点无法在实际应用中得以推广。目前,这个领域仍然缺乏一种可行的方法,可以支持隐私保护的视频异常检测方案。

[1]“videosurveillancemarketto2025-globalanalysisandforecastsbyplatforms(hardwareandsoftware),”https://www.researchandmarkets.com/research/zn5s9z/globalvideo?w=5.

[2]l.tian,h.wang,y.zhou,andc.peng,“videobigdatainsmartcity:backgroundconstructionandoptimizationforsurveillancevideoprocessing,”futuregenerationcomputersystems,2018.

[3]y.zhao,b.deng,c.shen,y.liu,h.lu,andx.-s.hua,“spatiotemporalautoencoderforvideoanomalydetection,”inproceedingsofthe25thacminternationalconferenceonmultimedia.acm,2017,pp.1933–1941.

[4]k.pawarandv.attar,“deeplearningapproachesforvideo-basedanomalousactivitydetection,”worldwideweb,pp.1–31,2018.

[5]y.s.chongandy.h.tay,“abnormaleventdetectioninvideosusingspatiotemporalautoencoder,”ininternationalsymposiumonneuralnetworks.springer,2017,pp.189–196.

[6]z.yan,j.xue,andc.w.chen,“prius:hybridedgecloudandclientadaptationforhttpadaptivestreamingincellularnetworks,”ieeetransactionsoncircuitsandsystemsforvideotechnology,vol.27,no.1,pp.209–222,2017.

[7]z.ma,y.liu,x.liu,j.ma,andk.ren,“lightweightprivacypreservingensembleclassificationforfacerecognition,”ieeeinternetofthingsjournal,2019.

[8]d.beaver,“efficientmultipartyprotocolsusingcircuitrandomization,”inannualinternationalcryptologyconference.springer,1991,pp.420–432.



技术实现要素:

针对上述问题,本发明公开了一种隐私保护的基于卷积神经网络(cnn)的视频异常检测技术,该方案允许服务器在无法获取明文视频数据的前提条件下对用户上传的视频进行异常检测。本技术主要是针对利用云计算进行视频异常检测可能会导致安全威胁问题,即可能会造成上传的视频中隐私信息发生泄露。因此,本发明针对外包的视频提出了一套安全、轻量级的隐私保护视频异常检测方案(securead)。为了获得高效精准的检测性能,利用cnn来对视频进行特征提取;同时,为了实现对视频信息的隐私保护,设计了一系列的安全计算协议,以此来实现密文视频的安全模型训练和异常检测;此外,为了减缓用户与服务器之间信息传输的延迟性,将边缘计算技术引入到本方案框架中;最后,为了实现安全的用户访问控制管理,设计一种基于bloom过滤器的安全访问控制机制来设置用户访问权限且过滤不合法用户。

具体来说,该方案引入加性秘密分享技术设计出一套可用于cnn训练和视频异常检测的安全协议集。此外,本发明基于布隆滤波器(bloomfilter)设计了一种细粒度访问控制策略,可允许服务器在不知道用户属性情况下对用户的合法性进行认证。最后,在外包环境下,为了有效减少用户与服务器之间的交互响应时间,本发明引入边缘计算技术来提高系统的时效性。在上述的所有过程中,本发明均保证了不泄露原始视频有关隐私的信息和用户属性数据。该技术方案在确保原始视频中的相关信息隐私安全性的同时,实现了外包视频的安全异常检测,且降低了用户本地计算和通信成本。

以下是本发明的四大贡献,即:

(1)、支持隐私保护的视频异常检测。这项工作是通过外包视频获得具有隐私保护的视频异常检测的首次尝试。securead允许用户将视频文件上传到边缘计算服务器中以获得安全的视频异常检测服务。

(2)、设计安全的计算协议。利用加性秘密分享技术构建了包括异或计算、比较计算、最大值计算、指数计算和卷积计算在内的五项安全计算协议。允许服务器在密文数据上进行上述对应的计算,且计算过程中服务器无法获得相应明文信息。

(3)、构建安全用户访问控制机制。引入bloom过滤器技术允许服务器在不知道用户的属性信息情况下对用户访问权限的合法性进行认证。

(4)、提高响应速度。采用边缘计算技术替代云计算技术来设计一个新的视频异常检测框架。在这个框架里,用户和服务器在非交互方式下可实现高效地、低延迟的视频异常安全检测。

本发明具体采用以下技术方案:一种基于卷积神经网络的安全视频异常检测系统及方法,包括以下步骤:

一种基于卷积神经网络的安全视频异常检测系统,其特征在于,包括以下四方:内容所有者、边缘计算服务器、随机数提供者和授权用户;

所述内容所有者将每个密文视频帧和密文用户访问控制策略分割成两个随机秘密分享,并分别发送给两个边缘计算服务器进行存储;

所述边缘计算服务器用于执行cnn模型的训练,为授权用户提供异常检测,并验证授权用户的访问有效性;

所述随机数提供者分别为两台边缘计算服务器提供具有加性分享性质的随机数;所述随机数在边缘计算服务器中用于秘密分享协议和用户访问权限中的计算,以确保边缘计算服务器在计算过程中无法获知明文信息;

所述授权用户向边缘计算服务器发送密文请求并接收来自两台边缘计算服务器的密文检测结果;在接收到密文检测结果后,授权用户解密并确认明文异常事件。

优选地,所述随机数在边缘计算服务器中秘密分享协议和用户访问权限中的计算基于安全计算协议;所述安全计算协议基于:安全加法协议secadd和安全乘法协议secmul进行构建。

优选地,所述内容所有者将每个所述密文用户访问控制策略对应生成一个bloom过滤器b;所述授权用户属性信息生成对应个数的bloom过滤器q;所述边缘计算服务器在用户访问权限计算中通过调用安全乘法协议secmul对bloom过滤器b和bloom过滤器q进行计算。

优选地,所述cnn模型由安全cae网络和安全clstm网络共同构成;所述安全cae网络包括卷积层、反卷积层、池化层和非池化层;所述安全clstm网络由遗忘门、输入门和输出门构成;在计算过程中,加法运算通过安全加法协议secadd实现,乘法运算通过安全乘法协议secmul实现,指数运算通过安全自然指数计算协议secexp实现;倒数运算通过安全倒数计算协议secrec实现;卷积运算通过安全卷积计算协议seccon实现;sigmoid函数的计算通过安全sigmoid函数计算协议secsig实现;tanh(x)运算通过安全tanh(x)计算协议sectan实现;哈达玛乘积运算通过安全“ο”操作计算协议sechad实现。

以及根据以上基于卷积神经网络的安全视频异常检测系统的检测方法,其特征在于,包括以下步骤:

步骤s1:所述内容所有者将访问权限分割成两个随机的秘密分享,将原视频每帧随机分割为两个混淆部分,并分别传送至两个边缘计算服务器进行存储;所述随机数提供者分别为两台边缘计算服务器提供具有加性分享性质的随机数u和v;

步骤s2:两台所述边缘计算服务器根据随机数和安全计算协议对视频数据进行cnn训练,检测异常信息;

步骤s3:所述授权用户的属性信息被随机分为两个分享,在提出获取视频数据和异常检测结果请求时分别传送至两台边缘计算服务器中;

步骤s4:两台所述边缘计算服务器认证请求信息是否匹配,如匹配,则认定为合法用户,执行步骤s5:

步骤s5:两台所述边缘计算服务器分别对授权用户发送视频数据和异常检测结果,授权用户在本地对信息进行解密和重构。

优选地,所述安全计算协议基于:安全加法协议secadd和安全乘法协议secmul进行构建;所述安全加法协议secadd。

优选地,设允许定义n个属性{a1,a2,…,an},其中属性ai的值为则:

在步骤s1中,所述内容所有者定义访问权限p={p1,p2,…,pn}并采用bloom过滤器技术为每个访问策略生成一个bloom过滤器其中一组散列函数用于计算pi,对于pi的每个元素pi,s,所述内容所有者计算hi,t(pi,s)并设置为1,其中t∈[1,ki],表示访问策略pi的值个数,ki表示所包含哈希函数的数目;

将每个bloom过滤器分割成两个随机的秘密分享,并将它们发送到相应的边缘计算服务器;

在步骤s3中,设用户的属性值列表为其中并将转化为n个bloom过滤器每一个过滤器都有与相同的位长;在提出获取视频数据和异常检测结果请求时,被随机分为两个分享,分别发送给边缘计算服务器

在步骤s4中,所述边缘计算服务器通过直接调用安全乘法协议secmul计算bi,,j∧qi,j(),即计算(si,j,ti,j)=secmul(bi,j,qi,,j),其中bi,j∧qi,,j=si,j+ti,j;然后,边缘计算服务器分别计算并将各自计算结果发送给对方;使每个都能够计算它等于按与操作后的和;如果所有的ai(i∈[1,n])都等于k,则每个都确认当前用户的属性值与内容所有者所定义的访问控制策略p相匹配,为合法用户;若不匹配,则用户被判定为非法。

优选地,在步骤s2的cnn训练中,cnn模型由安全cae网络和安全clstm网络共同构成;所述安全cae网络包括卷积层、反卷积层、池化层和非池化层;所述安全clstm网络由遗忘门、输入门和输出门构成;

对于所述安全cae网络,在安全正向传播的过程中:

在卷积层中,根据计算出任意卷积层中每个神经元的值;其中,为第l层第m个特征图上位置为(i,j)的神经元激活值,ws,t(k,m,l)为在第l层第i通道(s,t)位置上的权值矩阵,“*”表示二维卷积操作,kl,sl,tl分别表示第l层中通道的数量、高度和滤波器深度,b(m,l)表示第l层第m个滤波器的总误差,f(·)为激活函数;其中,卷积运算通过执行安全卷积计算协议seccon实现;

所述安全cae网络采用sigmoid函数σ(x)=1/(1+e-x)作为激活函数,并通过安全sigmoid函数计算协议secsig实现计算;使所述边缘计算服务器在不了解任何明文信息情况下联合计算出卷积层中每个神经元的值,即:

其中“*”和“+”的操作分别由安全加法协议secadd和安全乘法协议secmul实现;

在池化层中,选择平均池化方法计算池化层中每一个神经元的值,由于平均池化的过程中仅包含了标量乘法与加法运算,因此通过安全加法协议secadd实现密文域下的平均池化操作:记第l层第m个通道中位置的神经元值为

其中池化滤波器的大小设定为n×n;所述边缘计算服务器独立通过重复调用secadd协议计算出相应的秘密分享;

在反卷积层中,其安全计算流程与卷积层一致;

在非池化层中,采用上采样操作;所述边缘计算服务器把第l层第m个通道(i+s,j+t)位置上神经元的值设置为其中第l层为非池化层,且s,t∈[1,n];

在安全反向传播的过程中:

采用梯度下降法来更新权重,不同的神经元依据总损失传播来的神经元误差进行权重更新:

为第l层中第i个特征图的误差矩阵;如果第l层是池化层且下一层为卷积层,则通过以下方程在边缘计算服务器中实现安全计算:

其中表示连接第l+1层的第j核的第i个特征图的权重矩阵,m为第l+1层的内核数;

如果第l层为卷积层且第l+1层为池化层,则对进行上采样操作;

在误差矩阵的基础上,权矩阵的修正方程为:

其中表示梯度,η为公开的学习率,为第l-1层的第i个特征图;

偏差的修正方程为:

其中(u,v)表示第l层中的第j个特征图的神经元坐标。

优选地,对于所述安全clstm网络,遗忘门、输入门和输出门的功能通过下述公式实现:

ft=σ(wf*[ht-1,xt,ct-1]+bf),

it=σ(wi*[ht-1,xt,ct-1]+bi),

c’t=tanh(wc*[ht-1,xt]+bc),

ot=σ(wo*[ht-1,xt,ct-1]+bo),

其中变量it,ot,ct,ht分别表示t时刻的输入、输出、神经元状态和隐藏状态,wξ(ξ∈{f,i,c,o})表示误差的权重矩阵,bξ(ξ∈{f,i,c,o})表示误差,表示哈达玛乘积运算;其中,加法运算通过安全加法协议secadd实现,乘法运算通过安全乘法协议secmul实现,tanh(x)运算通过安全tanh(x)计算协议sectan实现;哈达玛乘积运算通过安全操作计算协议sechad实现;

在安全正向传播的过程中:输入门中的计算任务包含遗忘门和输出门中出现的所有操作;

在安全反向传播的过程中:在时间t下的总损失e表示为隐藏单元ht的函数,ht的误差等于e的偏导数利用链式法则,获得:

基于等价于:

对ft,it,c′t进行相同处理,获得:

其中ot,ft,it,c′t由反向传播得到;通过所述安全计算协议,边缘计算服务器对混淆部分根据上式求出所有总损失关于权重和误差的偏导数:

其中t为时间步长,表示函数tanh(x)的偏导数,即横杠表示相应方程中tanh函数的输入;

通过相同的方法,所述边缘计算服务器安全地计算获得其中μ∈{f,i,o};

通过使用与所述安全cae网络相同的更新方程,安全地更新权值和误差。

优选地,在步骤s5中,重构之后的明文域中,采用指标s评估视频帧x出现异常的概率,其计算如下:

e(x)=∥x-fw(x)∥2;

其中fw(·)表示使用训练后的模型权重w进行重构操作,e(x)表示原始帧x与重构后的帧fw(x)之间的重构误差;∥·∥2表示欧式距离;

若e(x)越大,则s(x)越低,说明视频帧x有较高的异常概率;相反,s(x)相对高的帧被判定为正常;

在步骤s2中,通过所述安全计算协议边缘计算服务器通过下式进行异常评估:

其中,secmin表示最小值安全计算协议,secsqr为用于计算正数平方根的安全计算协议。

本发明及其优选方案提出了新的基于卷积神经网络的安全视频异常检测系统的架构,所构建的一系列安全新颖的计算协议可允许边缘计算服务器训练cnn模型和评估视频异常事件。该技术把用户访问权限安全验证问题转化为bloom过滤器元素归属判定,可提供查询用户的合法性安全确认服务。同时,保证了服务器不泄露原始视频有关隐私的信息和用户属性数据。该技术方案在确保原始视频中的相关信息隐私安全性的同时,实现了外包视频的安全异常检测,且降低了用户本地计算和通信成本。

附图说明

图1是本发明实施例系统(securead)基础结构示意图;

图2是本发明实施例方法(securead)总体流程示意图;

图3是本发明实施例cae的流程框架示意图;

图4是本发明实施例clstm的流程框架示意图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

如图1所示,对于securead的基础结构设计,根据其执行要素,本实施例在边缘计算环境中提出了一个安全的视频异常检测架构系统方案,它主要包含四方:内容所有者、边缘计算服务器、随机数提供者和授权用户。

其具体包含的功能如下:

(1)、内容所有者首先将每个密文视频帧和密文用户访问控制策略分割成两个随机秘密分享,并分别发给两台边缘计算服务器进行存储。

(2)、边缘计算服务器主要负责cnn模型的训练,为授权用户提供异常检测,同时验证授权用户的访问有效性。

(3)、随机数提供者分别为两台边缘计算服务器提供一些具有加性分享性质的随机数。这些随机数在边缘计算服务器中将参与到秘密分享协议和用户访问权限中的相关计算,以确保边缘计算服务器在计算过程中无法获知明文信息。

(4)、授权用户向边缘计算服务器发送密文请求并接收来自两台边缘计算服务器的密文检测结果。在接收到密文检测结果后,授权用户能够解密并确认明文异常事件。此外,拥有足够权限的用户也可以自行上传视频分享以获取检测结果,在此种情况下,内容所有者和授权用户为同一用户。

如图2所示,以上系统架构的具体运行基于以下步骤:

步骤s1:内容所有者将访问权限分割成两个随机的秘密分享,将原视频每帧随机分割为两个混淆部分,并分别传送至两个边缘计算服务器进行存储;随机数提供者分别为两台边缘计算服务器提供具有加性分享性质的随机数u和v;

步骤s2:两台边缘计算服务器根据随机数和安全计算协议对视频数据进行cnn训练,检测异常信息;

步骤s3:授权用户的属性信息被随机分为两个分享,在提出获取视频数据和异常检测结果请求时分别传送至两台边缘计算服务器中;

步骤s4:两台边缘计算服务器认证请求信息是否匹配,如匹配,则认定为合法用户,执行步骤s5:

步骤s5:两台边缘计算服务器分别对授权用户发送视频数据和异常检测结果,授权用户在本地对信息进行解密和重构。

具体地,假设边缘计算服务器为诚实且好奇的,本实施例设计的securead框架可以通过加密外包视频实现视频异常检测任务。接下来本实施例将基本框架和流程步骤的基础上进一步阐述该方案具体的实施细节。特别之处体现如下:

(1)、密钥规则:对于视频文件,本实施例将原视频每帧随机分割为两个混淆部分(也称为随机分享),在该过程中并不引入加密密钥。此外,被用于cnn训练和视频异常检测的安全计算协议也未牵涉到密钥问题,仅用到随机数提供者所提供的随机数。因此,在本发明方案中,并未引入密钥,而是利用加性秘密分享技术来实现加解密过程。

(2)、安全计算协议构建:众所周知,加性秘密分享技术允许通过累加所有参与者所接收到的原始秘密分享(可视为接收者的隐私数据)来重构出原始秘密信息。利用这种加性同态性,在本实施例的securead方案中构建了一系列安全计算协议来解决cnn模型训练和视频异常检测过程中所牵涉到所有的计算函数。需注意的是:本实施例构建的安全协议是以2个边缘计算服务器所接收到的秘密分享作为输入隐私数据,并且所有协议均以安全加法协议(secadd)和安全乘法协议(secmul)为基石。其中,secadd协议目的是实现安全地计算秘密数字u和v的和,即f(u,v)=u+v。详细来说,两个边缘计算服务器分别拥有隐私数据u,v的秘密分享u1,v1和u2,v2,且u=u1+u2,v=v1+v2。显然,无需交互情况下可各自计算出f1=u1+v1和f2=u2+v2。当一个授权用户接收到f1和f2,通过累加f1和f2就可求出原始数字u,v的和[7]。比起secadd协议,secmul相对比较复杂,它利用beaver技巧[8]引入随机数提供者来协助实现安全乘法,即以秘密数字u和v为输入,输出满足f1+f2=u·v的f1和f2。具体来说,随机数提供者首先产生两个随机数a和b,且满足c=a·b。然后,分别把a,b,c分割成两个秘密分享,即a=a1+a2,b=b1+b2,c=c1+c2,并把ai,bi,ci发送给随后计算si=ui-ai和ti=vi-bi并相互发送计算结果给对方。最后,各自计算协议输出,即f1=s·b1+t·a1+s·t+c1,f2=s·b2+t·a2+c2。显然,u·v通过f1+f2即可被安全计算出。

在这两个基础的安全计算协议上,本实施例构建了安全异或计算协议、安全比较计算协议、安全最大值计算协议、安全倒数计算协议、安全自然指数计算协议以及安全卷积计算协议。具体协议如下:

(2-1)安全异或计算协议(secxor):

对任意隐私数字u,v∈{0,1},由可知z2上的异或操作实际为有限域上加法及乘法的线性组合。为此,本实施例可以通过调用secadd协议和secmul协议来实现u和v间的安全异或计算。具体来说,假设两个边缘计算服务器各自拥有隐私分享ui和vi(i∈{1,2}),且一同参与计算(g1,g2)=secmul(u1,u2,v1,v2),其中u=u1+u2,v=v1+v2。接着计算并输出fi=secadd(secadd(ui,vi),-2gi)。从而,通过求f1+f2就可安全地计算出为了简化表述,本实施例将该协议记为secxor(u,v)。

(2-2)安全比较协议(seccom):

为实现与上的加性秘密分享技术相兼容的两个隐私数字的比较运算的安全方案,本实施例构建了一个实用的安全比较协议seccom。具体来说,本实施例将比较运算转化为了对d=u-v的计算。对于有符号整数,其符号由其最高有效位(msb)表示。对于非整数x,可以通过将其编码为整数,其中κ为小数部分的长度。因此,下面将着重阐述seccom协议中如何对d·10κ进行安全的msb提取。

首先,生成个随机位并根据二进制补码计算接着将r分割成两个随机秘密分享a1和a2,其中r=a1+a2。同理,生成秘密共享然后将ai和发送给注意,这一步可以在离线情况下执行,且其次,每一个使用secadd协议在本地计算d=u-v的分享di=ui-vi,并将di转换为接着,计算di-ai并传输给另一台边缘计算服务器。这里,有一个公有数字s=d-r及隐私分享第三,边缘计算服务器通过基于和“∧”运算协同计算出s和r的和d,其中显然,通过调用secxor协议和secmul协议,本实施例可以安全地实现对带符号整数的xor和and运算。其期望结果为即为数字u-v的msb。若u≥v,则否则

(2-3)安全最大值计算协议(secmax):

假设有n个隐私数字,secmax协议目的是确保每个边缘计算服务器能够从这些数字中找到最大值,在执行此协议期间,包括最大值在内的n个数字对任何边缘计算服务器都是保密的。为了保护隐私,本实施例推广了基于两个数字的seccom协议来计算n(n>2)个数字的最大值。一种寻找最大值的简单方法是使用前面描述的seccom协议将当前最大值与下一个相邻数进行重复比较。显然,这种方法需要n-1轮才能达到最大,即时间复杂度为o(n)。为了最大限度地提高搜索速度,secmax借鉴了二叉搜索树技术,但不同的是,本实施例构建的二叉树t是自下而上的,而不是自上而下的。在secmax中,seccom协议执行在t的每一层上相邻的一对数字,由于对的独立性,将并行技术集成到t中,可以将寻找最大值的时间复杂度从o(n)降到o(log2n)。经此构建后,t的根节点即为n个数的最大值。

(2-4)安全倒数计算协议(secrec)与安全自然指数计算协议(secexp):

安全倒数计算协议(secrec)的核心思想是利用newton-raphson法找到一个尽可能逼近且基于加法和乘法的表达式,从而能利用secadd和secmul计算协议实现隐私保护下倒数计算。其中newton-raphson法的关键之处在于构建函数然后通过迭代计算方程实现逐步逼近f(x)的根,其中f′(·)是f(·)的导数。由于该迭代式只涉及到乘法与减法计算,因此本实施例可以利用secadd和secmul协议来实现在密文域中迭代计算的近似值,且近似误差大小可通过调用seccom协议来控制。具体来说,假设边缘计算服务器拥有隐私数字u的秘密分享ui,其中ui(i∈{1,2})是一个随机数,且满足u1+u2=u。secrec协议的实现细节如下:

步骤一:随机数提供者选择一个随机正数r,并将其分割成两个随机分享r1和r2,且满足r=r1+r2。接着,将r1和r2分别发送到

步骤二:接受到ri后,首先计算si=ui+ri,并将si的值发送给对方。然后,在本地通过下述方程计算初始估计值x0:

其中且当r>0时显然满足x0∈(0,2/u)条件。

给定x0,联合或独自为每个迭代过程执行相应的计算操作。下面本实施例将阐述第k+1次迭代过程。

首先,一同计算

接着,独自计算

然后,利用secmul协议一同计算

其中然后,利用secadd协议计算xk+1和xk间的误差。

进而,通过使用seccom协议计算(xk+1-xk)的误差限ε。当seccom(xk+1-xk,ε)=1时,当前迭代终止,且输出否则,输入xk+1,进行下一次迭代。

安全自然指数计算协议(secexp)核心思想在于首先找到ex的一个多项式近似,然后利用上述的一些安全计算协议来实现ex的安全计算。下面简要介绍secexp协议。

在数学中,ex可以利用麦克劳林级数来计算,其计算方程为:

显然,上式只涉及到加法与乘法操作。与secrec协议的构建类似,本实施例也利用secadd协议和secmul协议来迭代计算ex。在实际应用中,对无穷级数求和是不可行的。因此。本实施例只使用有限的多项式来近似计算在给定误差限下的ex值。具体来说,假设拥有隐私数字u的秘密分享ui,其中ui(i∈{1,2})是一个随机数,且满足u1+u2=u。secexp协议的实现细节如下:

步骤一:选择一个随机正数u,并将其分割成两个随机分享ui(i∈{1,2}),使其满足u1+u2=u。接着将u1和u2分别发送给

步骤二:接受到ui后,在本地通过下述方程计算初始估计值α0:

其中

通过secadd协议和secmul协议,2台边缘计算服务器协同/单独地为每个迭代过程执行相应地计算操作。下面本实施例将阐述第k+1次迭代过程。

首先,一同计算其中接着,计算

其中

然后通过使用seccom协议计算βk+1的误差限。当seccom(βk+1,ε)=1时,当前迭代终止,且输出否则,进行下一次迭代。

在securead中,secrec协议和secexp协议都是构建安全激活函数的必要协议。给定一个隐私数字u,secrec协议的目标是输出f1和f2,使其满足f1+f2≈1/u,而secexp协议使得f1和f2满足f1+f2≈eu,同时不泄露与u相关的任何明文信息。

(2-5)安全卷积计算协议(seccon):

在卷积神经网络cnn中,卷积计算仅涉及到点乘和加法运算。给定两个大小为m×m的隐私矩阵a和b,seccon协议将输出f1和f2使得其满足f1+f2=a*b,其中a和b以元素为单位进行随机分割成秘密分享并分配给相应的详细步骤如下:

步骤一:为了协助secmul协议,本实施例将设定在系统空余时间内完成一些随机数生成和传输工作。此外,为了获得更好安全性,对a和b的不同位置的元素可选择不同的随机数。

步骤二:联合对位于a和b的相同位置的元素执行secmul协议,然后对secmul协议的输出执行secadd计算协议。

(3)、访问权限构建:假设本实施例securead包含n个属性{a1,a2,…,an},其中属性ai的值为如图2步骤①所示,在内容所有者注册系统后,它首先需要定义一个访问控制策略p={p1,p2,…,pn}仅允许具有相匹配属性的用户能使用其预先训练好的cnn模型进行视频异常检测操作。随后,内容所有者采用bloom过滤器技术为每个访问策略生成一个bloom过滤器其中一组散列函数用于计算pi。更具体地说,对于pi的每个元素pi,s,内容所有者计算hi,t(pi,s)并设置为1,其中t∈[1,ki]。据此,内容所有者可获得一组对应于其定义访问控制策略的bloom过滤器。

接着,内容所有者将每个bloom过滤器分割成两个随机的秘密分享,并将它们发送到相应的边缘计算服务器。设用户的属性值列表为其中同样地,转化为n个bloom过滤器每一个过滤器都有与相同的位长。同时,被随机分为两个分享,分别发送给当接收到用户身份验证请求时,通过直接调用secmul计算bi,j∧qi,j(),即计算(si,j,ti,j)=secmul(bi,j,qi,j),其中bi,j∧qi,j=si,j+ti,j。然后,分别计算并将各自计算结果发送给对方。这一步意味着每个都可以知道它等于按与操作后的和。如果所有的ai(i∈[1,n])都等于k,那么每个都可以确认当前用户的属性值与内容所有者所定义的访问控制策略p相匹配,是合法用户;若不匹配,用户将被判定为非法。

(4)、cnn模型构建:本方案中构建的cnn模型由安全ae网络和安全lstm网络共同构成。众所周知,无论是ae网络还是lstm网络,其主要组成部分均为正向传播与反向传播。因此,下面将从正向与反向传播两方面对ae和lstm网络的模型安全构建进行阐述。

(4-1)、安全cae网络

如图3所示,cae通常包含卷积层、反卷积层、池化层和非池化层。前两者出现在编码阶段,后两者出现在解码阶段。

1.安全正向传播

在卷积层中,根据可计算出任意卷积层中每个神经元的值。其中,为第l层第m个特征图上位置为(i,j)的神经元激活值,ws,t(k,m,l)为在第l层第i通道(s,t)位置上的权值矩阵,“*”表示二维卷积操作,kl,sl,tl分别表示第l层中通道的数量、高度和滤波器深度,b(m,l)表示第l层第m个滤波器的总误差,f(·)为激活函数。其中,卷积运算可以通过执行所提出的seccon协议来实现。在本实施例的框架cae中,sigmoid函数σ(x)=1/(1+e-x)作为激活函数。显然,该函数只包含三项基本运算,即指数运算、加法运算和倒数运算。因此,本实施例可以结合secexp、secadd、和secrec三项安全计算协议来实现sigmoid的安全计算。具体如下:

步骤一:运行secexp协议输出fi,使得f1+f2=e-x

步骤二:计算g1=1+f1,设定g2=f2,其中g=g1+g2=1+e-x。如此,利用secrec协议可直接计算(h1,h2)=secrec(g)。

基于以上步骤,sigmoid函数σ(x)=1/(1+e-x)可以通过直接计算h1和h2的和得到。为了简化表示,本实施例将安全sigmoid函数的计算协议命名为secsig。由secsig协议可知,在不了解任何明文信息情况下能够联合计算出卷积层中每个神经元的值,即

其中“*”和“+”操作分别由安全计算协议seccon和secadd实现。

在池化层中,本实施例选择平均池化方法来计算该池化层中每一个神经元的值。而平均池化的过程中仅包含了标量乘法与加法运算。通过secadd安全计算协议,很容易可以实现密文域下的平均池化操作。记第l层第m个通道中位置的神经元值为其可计算为

其中池化滤波器的大小设定为n×n。显然,可独立通过重复调用secadd协议计算出相应的秘密分享。

在反卷积层中,由于反卷积实质上就是卷积的逆操作,因此其安全计算流程与卷积层一致。

在非池化层中,本实施例采用上采样操作。在该层中,边缘计算服务器只需要把第l层第m通道的(i+s,j+t)位置上神经元的值设置为其中第l层为非池化层,且s,t∈[1,n]。

2.安全反向传播

安全反向传播通常使用梯度下降法来更新权重,不同的神经元依据总损失传播来的神经元误差来进行权重更新。接下来,本实施例将重点阐述实现安全权重更新的过程。

为第l层中第i个特征图的误差矩阵。如果第l层是池化层且下一层为卷积层,可通过以下方程在边缘计算服务器中实现安全计算:

其中表示连接第l+1层的第j核的第i个特征图的权重矩阵,m为第l+1层的内核数。如果第l层为卷积层且第l+1层为池化层,本实施例只需对进行上采样操作。在误差矩阵的基础上,本实施例可以利用所提出的安全计算协议推导出权矩阵的修正方程:

其中表示梯度,η为公开的学习率,为第l-1层的第i个特征图。

同时,本实施例可以推导出偏差的修正方程:

其中(u,v)表示第l层中的第j个特征图的神经元坐标。

(4-2)、安全clstm网络

如图4所示,clstm网络主要由遗忘门、输入门和输出门构成。这些门的功能可以通过下述公式来实现:

ft=σ(wf*[ht-1,xt,ct-1]+bf),(18)

it=σ(wi*[ht-1,xt,ct-1]+bi),(19)

c′t=tanh(wc*[ht-1,xt]+bc),(20)

ot=σ(wo*[ht-1,xt,ct-1]+bo),(22)

其中变量it,ot,ct,ht分别表示t时刻的输入、输出、神经元状态和隐藏状态,wξ(ξ∈{f,i,c,o})表示误差的权重矩阵,bξ(ξ∈{f,i,c,o})表示误差,表示哈达玛乘积运算。公式(18)是为了遗忘门设计的,它抛弃了一些琐碎信息。公式(19)和公式(20)可以实现从当前的输入数据中选择新的有用信息。公式(21)可以将新旧信息结合起来更新当前神经元状态ct。公式(19)、(20)、(21)为输入门,公式(22)和(23)为输出门,它们将学习到的信息输出到clstm中的神经元。

除了上述公式(20)和公式(23)外,其他所有的公式都可以采用所提出的安全计算协议进行安全计算。而对于上述公式(20)和公式(23),关键要实现安全计算tanh(x)。由于tanh(x)=2σ(2x)-1,利用secsig协议,本实施例可以实现tanh(x)的安全版本,将其记作sectan(x)。

1.安全正向传播

输入门中的计算任务包含遗忘门和输出门中出现的所有操作。为了简单起见,本实施例仅以输入门为例来说明如何使用加性秘密分享技术来实现安全计算。

首先,协同决定哪个是输入数据。具体来说,给定时间t,分别计算

在下一步中,将创建一个新的候选c′t,以决定将输入数据中的哪些信息添加到当前状态。为了安全地实现它,需要生成

基于上述步骤,共同创建当前状态ct的安全更新,即

其中哈达玛乘积运算可由两个输入矩阵的对应元素乘法来实现。因此,通过调用secmul协议,可以对密文数据进行操作。这里将操作的安全协议记为sechad。

类似地,边缘计算服务器也能够实现在没有明文数据的情况下完成与遗忘门和输出门相关的所有计算任务。

2.安全反向传播

在clstm中,在时间t下的总损失e可以表示为隐藏单元ht的函数。因此,ht的误差是可获得的,其中等于e的偏导数利用链式法则,本实施例可以获得:

基于可得上式等价于

对ft,it,c′t进行相同处理,可以获得

其中ot,ft,it,c′t可由反向传播得到。

通过sechad、secadd、secmul和seccon协议,本实施例可以让边缘计算服务器对混淆分享根据上述方程(29)-(32)进行相关计算。因此,边缘计算服务器可以在密文数据上求出所有总损失关于权重和误差的偏导数:

其中t为时间步长,表示函数tanh(x)的偏导数,即横杠表示相应方程中tanh函数的输入。

同样地,可以安全地计算其中μ∈{f,i,o}。最后,通过使用与cae相同的更新方程,可以安全地更新权值和误差。

(5)、安全异常评估:

在明文域中,当模型训练完后,本实施例可用指标s来评估视频帧x出现异常的概率,其计算如下:

e(x)=∥x-fw(x)∥2,(37)

其中fw(·)表示使用训练后的模型权重w进行重构操作,e(x)表示原始帧x与重构后的帧fw(x)之间的重构误差。∥·∥2表示欧式距离。

若e(x)越大,则s(x)越低,说明视频帧x有较高的异常概率。相反,s(x)较高的帧总是被判定为正常。由于异常指标s相关公式(36)和(37)只涉及简单的基本操作,因此它们很容易被修改为以下的安全版本,即

其中secmin表示最小值安全计算协议,该协议可通过secmax协议的逆操作得到。。与secrec协议类似,secsqr协议可通过newton-raphson迭代法得到,其中只需把secrec协议中的来替代。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1