楊 帆, 吳浩宇, 郭雅婷, 董迪昊
(陜西科技大學(xué) 電子信息與人工智能學(xué)院, 陜西 西安 710021)
基于圖像的火災(zāi)檢測可分為火焰檢測,與煙霧檢測.其中火焰檢測由于特征明顯,信號易被檢測,因此早期檢測技術(shù)多從火焰顏色特征出發(fā).Han等[1]使用基于高斯混合模型的背景減法運(yùn)動檢測結(jié)合RGB與HSV多顏色特征規(guī)則檢測視頻序列中的火焰像素.Wang等[2]提出一種兩階段檢測方法,先通過幀差法與顏色閾值得到類火顏色運(yùn)動區(qū)域,再對目標(biāo)區(qū)域進(jìn)行時(shí)空分塊[3]提取內(nèi)部特征,并使用SVM進(jìn)行分類測試.在此基礎(chǔ)上,Khalil等[4]提出一種基于RGB與CIE顏色模型的火災(zāi)檢測方法,該方法將運(yùn)動檢測與目標(biāo)追蹤結(jié)合,與現(xiàn)有火焰檢測模型相比使用了更少的參數(shù)達(dá)到了相同的精度.羅小權(quán)等[5]改進(jìn)了YOLOV3網(wǎng)絡(luò)結(jié)構(gòu)與損失函數(shù),使火災(zāi)檢測模型具有較好的準(zhǔn)確率表現(xiàn)時(shí),擁有更好的實(shí)時(shí)性.但上述火災(zāi)檢測算法忽視了火災(zāi)早期煙霧特征,雖然精度方面更高,但無法提前預(yù)見火情.
與僅使用火焰特征檢測相比,使用煙霧特征識別通常更早發(fā)現(xiàn)火情.Luo等[6]提出一種基于前景提取的煙霧檢測方法,根據(jù)煙霧顏色通道信息與運(yùn)動特征標(biāo)記疑似區(qū)域.使用卷積神經(jīng)網(wǎng)絡(luò)對圖像進(jìn)行訓(xùn)練與分類.在此基礎(chǔ)上,林高華[7]提出一種基于動態(tài)紋理的區(qū)域煙霧探測算法,但其訓(xùn)練數(shù)據(jù)為合成煙霧視頻,與火災(zāi)現(xiàn)場仍有差別.徐高[8]提出一種基于深度域適應(yīng)與顯著性檢測的煙霧檢測方法,得到一種具有較優(yōu)分割精度的模型.但這種方法性能受限于訓(xùn)練數(shù)據(jù),面對多源數(shù)據(jù)集混合訓(xùn)練時(shí)模型效果較差.
雖然深度學(xué)習(xí)在火災(zāi)檢測領(lǐng)域取得了較好效果,但由于火災(zāi)的偶然性和特殊性,目前基于機(jī)器學(xué)習(xí)的火災(zāi)檢測系統(tǒng)面臨依賴訓(xùn)練集,缺乏高質(zhì)量樣本等困難.而很多火災(zāi)數(shù)據(jù)分布于諸如銀行、消防局、林業(yè)部門等具有隱私屬性的區(qū)域中,受隱私安全限制無法提供.如果將這些區(qū)域分散的樣本有效利用,能極大的提升火災(zāi)檢測系統(tǒng)在面向不同時(shí)空[9]、不同圖像質(zhì)量、不同干擾條件下的模型魯棒性.聯(lián)邦學(xué)習(xí)[10]技術(shù)為火災(zāi)樣本匱乏的挑戰(zhàn)提供了思路,它是一種具有隱私保護(hù)屬性的分布式機(jī)器學(xué)習(xí).聯(lián)邦學(xué)習(xí)可以在用戶不上傳本地?cái)?shù)據(jù)的情況下,聯(lián)合訓(xùn)練模型,解決了用戶對上傳數(shù)據(jù)安全性的需要.因此使用聯(lián)邦學(xué)習(xí)算法訓(xùn)練火災(zāi)煙霧檢測模型,可以在保護(hù)隱私的前提下有效利用各個企業(yè)單位攝像頭所拍攝到的樣本,與合成火災(zāi)煙霧樣本相比,真實(shí)樣本環(huán)境復(fù)雜、干擾差異性大且更貼合實(shí)際火情,能更有效的提升識別模型的泛化性與通用性,解決傳統(tǒng)訓(xùn)練中樣本數(shù)據(jù)集單一的問題.
因此,本文提出一種基于殘差神經(jīng)網(wǎng)絡(luò)[11]的聯(lián)邦學(xué)習(xí)的火災(zāi)視頻檢測算法.本文利用聯(lián)邦學(xué)習(xí)破除數(shù)據(jù)孤島的特性,為企業(yè)單位提供數(shù)據(jù)隱私保障,從而多方收集邊緣火災(zāi)樣本,解決火災(zāi)樣本匱乏的困難.并通過秘密共享與加密技術(shù)保護(hù)用戶上傳的模型參數(shù),提高了聯(lián)邦學(xué)習(xí)通信過程中的安全性.
聯(lián)邦學(xué)習(xí)是一種通過隱私保護(hù)手段聚合多方訓(xùn)練信息,共同構(gòu)建全局模型的一種分布式機(jī)器學(xué)習(xí)[10].與傳統(tǒng)的中心化機(jī)器學(xué)習(xí)相比,聯(lián)邦學(xué)習(xí)的特點(diǎn)是數(shù)據(jù)不離開本地,降低了隱私泄露的風(fēng)險(xiǎn).
根據(jù)數(shù)據(jù)擁有者的數(shù)據(jù)特征空間和樣本空間重疊關(guān)系不同,聯(lián)邦學(xué)習(xí)可以分為以下三種類型:橫向聯(lián)邦學(xué)習(xí),縱向聯(lián)邦學(xué)習(xí),遷移聯(lián)邦學(xué)習(xí).其中橫向聯(lián)邦學(xué)習(xí)適用于參與方數(shù)據(jù)特征重疊較多的情況.火災(zāi)圖像檢測背景下參與方提供的樣本主要包含火災(zāi)樣本、煙霧樣本、干擾樣本,此類樣本數(shù)據(jù)特征相近,但由于參與方的不同,樣本空間重疊較少.因此本文選用的聯(lián)邦學(xué)習(xí)框架為橫向聯(lián)邦學(xué)習(xí)算法(聯(lián)邦平均算法)[12],其框架結(jié)構(gòu)如圖1所示.
聯(lián)邦平均算法中,具有相同數(shù)據(jù)結(jié)構(gòu)的K個參與方協(xié)同訓(xùn)練綜合模型,訓(xùn)練過程通常分為4步:
步驟1參與方在本地計(jì)算模型梯度,使用安全技術(shù)對梯度信息進(jìn)行隱藏,將隱藏后的結(jié)果發(fā)送給服務(wù)器.
步驟2服務(wù)器接受到各個參與方發(fā)送的梯度后,通過安全聚合操作聚合梯度.
步驟3服務(wù)器將聚合的結(jié)果加密后返還給各個參與方.
步驟4各個參與方使用收到的服務(wù)器聚合后的梯度進(jìn)行本地模型更新,并重復(fù)上述步驟.
高級加密標(biāo)準(zhǔn)(AES,Advanced Encryption Standard)是一種對稱加密算法,其加密和解密過程使用相同的密鑰,加密流程如圖2所示.
圖2 AES加密流程
AES加密會將明文分為長度相等的數(shù)據(jù)組,遍歷加密直至加密整個明文.AES規(guī)定明文長度為128的倍數(shù),若明文長度不符合要求,需要填充空白位.AES的密鑰長度可以為128位、192位或256位.AES的密鑰長度越長,則安全性更高,相對應(yīng)的算法開銷也會更大.由于聯(lián)邦學(xué)習(xí)具有在移動場景中部署的優(yōu)勢,考慮到移動端計(jì)算能力存在差異,本文默認(rèn)使用128位AES加密.
1.3.1 秘密共享
秘密共享(Secret Sharing)可以將一份秘密在群體中合理分配,使全體群成員共同分享秘密[13].秘密分享可以分為秘密拆分與秘密重構(gòu)兩個階段.
秘密拆分:秘密拆分指借助一個算法將原始秘密S拆分為n份秘密值(s1,…,sn)并將它們分別分發(fā)給n個用戶.
秘密重構(gòu):秘密重構(gòu)指從n個用戶中選取任意t(t≤n)個秘密值,借助一個算法,將t個秘密值作為輸入,輸出原始秘密.對于任意個小于t的輸入都無法還原秘密值.t也被稱為門限值,這種秘密共享方案也被稱作(t,n)門限秘密共享.本文基于中國剩余定理構(gòu)建了一種(t,n)門限秘密共享方案.
1.3.2 中國剩余定理
中國剩余定理是一種求解一次同余式組的方法,是數(shù)論中的一個重要定理.
假設(shè)整數(shù)(m1,…,mn)兩兩互素,則對于任意的整數(shù)(a1,…,an)存在方程組:
(1)
(2)
本文提出一種基于聯(lián)邦學(xué)習(xí)的火災(zāi)檢測算法,針對真實(shí)火災(zāi)樣本缺少的問題,給出一種解決途徑.為了解決聯(lián)邦學(xué)習(xí)中可能存在的數(shù)據(jù)安全問題,在聯(lián)邦學(xué)習(xí)的基礎(chǔ)上,使用AES加密技術(shù)保護(hù)用戶參數(shù)上傳過程.考慮到面向移動網(wǎng)絡(luò)環(huán)境的聯(lián)邦學(xué)習(xí)存在通信環(huán)境差,節(jié)點(diǎn)連接不穩(wěn)定的情況,使用門限秘密共享方案,將AES密鑰作為原始秘密拆分并分發(fā)給各個參與節(jié)點(diǎn).由于門限秘密共享方案的特殊性,即使存在小部分?jǐn)?shù)量的掉線用戶,服務(wù)器仍可通過算法還原秘密,為聯(lián)邦學(xué)習(xí)系統(tǒng)提供了面對不穩(wěn)定通信環(huán)境的魯棒性.
本文采用聯(lián)邦平均算法作為服務(wù)器聚合算法,圖3展示了基于聯(lián)邦學(xué)習(xí)的火災(zāi)檢測網(wǎng)絡(luò)結(jié)構(gòu),整個聯(lián)邦學(xué)習(xí)過程可分為用戶本地訓(xùn)練與服務(wù)器聚合兩部分.
算法將在2.2節(jié)詳細(xì)描述,此處簡要介紹聯(lián)邦學(xué)習(xí)中本地模型的訓(xùn)練與聯(lián)邦模型的聚合規(guī)則.在聯(lián)邦學(xué)習(xí)的開始階段,服務(wù)器初始化全局模型w0(包含模型信息、迭代輪次、超參數(shù)等配置信息)并分發(fā)至所有參與訓(xùn)練的用戶節(jié)點(diǎn).本地節(jié)點(diǎn)通過本地?cái)?shù)據(jù)集x與梯度下降法迭代訓(xùn)練本地模型wi,當(dāng)達(dá)到足夠的迭代次數(shù)后將本地模型wi發(fā)送至服務(wù)器.當(dāng)服務(wù)器收到所有本地節(jié)點(diǎn)發(fā)送的本地參數(shù)wi時(shí),將所有節(jié)點(diǎn)的wi平均聚合,并將聚合后的新全局模型wt+1(假設(shè)當(dāng)前在第t輪)發(fā)送給各個節(jié)點(diǎn).至此一輪全局訓(xùn)練結(jié)束,下輪全局訓(xùn)練開始時(shí),各個節(jié)點(diǎn)通過新全局模型wt+1開始本地訓(xùn)練.
圖3 基于橫向聯(lián)邦學(xué)習(xí)的火災(zāi)煙霧檢測流程
橫向聯(lián)邦平均算法中,計(jì)算量由3個關(guān)鍵參數(shù)控制:每輪本地迭代次數(shù)K、聯(lián)邦學(xué)習(xí)全局輪數(shù)T、客戶端更新所采用的mini-batch大小b.當(dāng)K、T、b取值越大時(shí),通常可以獲得更好的模型泛化能力與識別精度,但也會付出更多的時(shí)間開銷.
聯(lián)邦學(xué)習(xí)中通常會使用同態(tài)加密[14]與差分隱私[15]方法保護(hù)用戶的隱私數(shù)據(jù),然而同態(tài)加密[14]開銷較高,會對面向移動設(shè)備的聯(lián)邦環(huán)境造成過大的計(jì)算負(fù)擔(dān),差分隱私[15]又對訓(xùn)練精度存在一定影響.因此本文提出一種結(jié)合AES加密、RSA加密與秘密共享[13]算法的安全方案,與基于同態(tài)加密或差分隱私的聯(lián)邦學(xué)習(xí)方案相比,具有低計(jì)算開銷、根據(jù)安全需要靈活調(diào)控加密復(fù)雜度、無精度損失等特點(diǎn),并且基于秘密共享算法門限的特殊性,具有一定對掉線用戶的魯棒性,一定程度上為聯(lián)邦學(xué)習(xí)中通信環(huán)境差[12]的問題提出了解決思路.另外,基于移動端計(jì)算能力考慮,本文實(shí)驗(yàn)中選用1 024位RSA加密,128位AES加密,在有更高安全需求[16]的實(shí)際應(yīng)用場景中,可以通過增加AES密鑰長度提升密文混淆程度.
本文中安全方案的系統(tǒng)框架如圖4所示,整個方案包含3個角色:可信第三方、本地節(jié)點(diǎn)群、服務(wù)器.其中可信第三方負(fù)責(zé)生成與拆分密鑰,客戶端使用可信第三方的密鑰加密編碼后的訓(xùn)練結(jié)果.當(dāng)發(fā)送結(jié)果的節(jié)點(diǎn)數(shù)滿足要求時(shí),服務(wù)器才可以還原密鑰,解密節(jié)點(diǎn)訓(xùn)練結(jié)果并聚合.
圖4 基于秘密共享的聯(lián)邦學(xué)習(xí)火災(zāi)檢測算法
在本算法中,我們默認(rèn)節(jié)點(diǎn)與服務(wù)器均為誠實(shí)但好奇的.方案中所有公鑰pki、pks公開,而所有私鑰ski、sks均秘密保存.基于秘密共享的聯(lián)邦學(xué)習(xí)火災(zāi)檢測算法可分為以下若干步驟:
(1) 系統(tǒng)初始化
①輸入:參與節(jié)點(diǎn)總數(shù)N,每輪參與節(jié)點(diǎn)數(shù)M,全局迭代輪數(shù)T,本地迭代輪數(shù)K,樣本x,初始化模型w0,訓(xùn)練函數(shù)f(.);AES密鑰長度lAES,RSA密鑰長度lRSA,門限值t.
②基于RSA算法的服務(wù)器公私鑰生成:首先服務(wù)器隨機(jī)選擇大素?cái)?shù)p,q并計(jì)算公共模數(shù),其中ms=p×q的二進(jìn)制位數(shù)等于lRSA.根據(jù)素?cái)?shù)p,q,模數(shù)ms計(jì)算歐拉數(shù)r=φ(ms)=φ(p)×φ(q)=(p-1)×(q-1).其次,服務(wù)器選擇一個整數(shù)es滿足es 參與節(jié)點(diǎn)i以相同的方法生成節(jié)點(diǎn)公鑰pki(mi,ei)與節(jié)點(diǎn)私鑰ski(mi,di),并廣播節(jié)點(diǎn)公鑰pki,保存私鑰ski. (2) 可信第三方生成并分發(fā)密鑰 ①主密鑰生成:可信第三方根據(jù)密鑰長度lAES,使用AES密鑰生成函數(shù)生成主密鑰k=KeyGen(lAES). ②主密鑰拆分:可信第三方隨機(jī)選擇n個互素整數(shù)a1,a2,…,an作為模數(shù),根據(jù)主密鑰k,計(jì)算式(3) bi=k(modai) (3) 則(bi,ai)為節(jié)點(diǎn)i的秘密份額,在下文中統(tǒng)一以si表示. ③秘密份額與主密鑰的加密分發(fā):可信第三方使用系統(tǒng)初始化過程中產(chǎn)生的服務(wù)器公鑰pks加密每個秘密份額si,通過式(4)得到秘密份額密文Ci. Ci=(si)es(modms) (4) 可信第三方使用節(jié)點(diǎn)公鑰pki加密主密鑰k,通過式(5)得到主密鑰密文Cki并將結(jié)果Ci,Cki分發(fā)至對應(yīng)節(jié)點(diǎn)i. Cki=(k)ei(modmi) (5) (3)本地節(jié)點(diǎn)訓(xùn)練模型并加密模型參數(shù) (6) k=(Cki)di(modmi) (7) (4)服務(wù)器還原明文并聚合全局模型 si=(Cs)ds(modms) (8) ②主密鑰重構(gòu):若秘密份額si數(shù)目滿足(t,n)門限,則通過秘密重構(gòu)算法,根據(jù)t個以上秘密份額si恢復(fù)本輪主密鑰k,否則本輪重構(gòu)失敗(多于t個節(jié)點(diǎn)退出),進(jìn)入下輪全局迭代.秘密重構(gòu)算法步驟如下:首先任選t個秘密份額st={si+1,…,si+t},根據(jù)模數(shù)ai+1通過式(5)計(jì)算模數(shù)乘積N1. N1=ai+1×ai+2×…×ai+t (9) 根據(jù)式(3)可以得到模數(shù)方程組形如式(10). (10) 根據(jù)模數(shù)方程組(10)與模數(shù)乘積N1,計(jì)算式(11),可得到主密鑰k. (11) (12) 服務(wù)器將聚合后的全局模型wt+1分發(fā)至全部N個節(jié)點(diǎn),至此一輪全局訓(xùn)練結(jié)束. 本研究實(shí)驗(yàn)環(huán)境為Win10 64位操作系統(tǒng),內(nèi)存為16 GB,CPU為AMD Ryzen 5600X,GPU為NVIDIA GeForce 3070 8G,在Python3.8編程環(huán)境下實(shí)現(xiàn).本節(jié)將從聯(lián)邦學(xué)習(xí)與中心化學(xué)習(xí)性能對比、安全方案的時(shí)間開銷、火災(zāi)檢測算法性能對比三方面進(jìn)行分析,以驗(yàn)證聯(lián)邦學(xué)習(xí)的有效性與本文安全方案的低開銷性. 為驗(yàn)證本算法的有效性,實(shí)驗(yàn)所用數(shù)據(jù)集來自英國杜倫大學(xué)提供的火災(zāi)公開數(shù)據(jù)集Collections (durham.ac.uk)[17].該數(shù)據(jù)集總樣本為46 997張,其中37 802張用作訓(xùn)練數(shù)據(jù)集,4 536張用于驗(yàn)證數(shù)據(jù)集,4 659張作為測試數(shù)據(jù)集.數(shù)據(jù)集包含室內(nèi)、室外、開闊空間多種環(huán)境,干擾物包含水霧、云朵、警示牌等.數(shù)據(jù)集劃分采用留出法劃分,表1為實(shí)驗(yàn)數(shù)據(jù)集分類細(xì)則. 表1 火災(zāi)檢測數(shù)據(jù)集各類樣本數(shù)量統(tǒng)計(jì) 本實(shí)驗(yàn)是為了測試聯(lián)邦學(xué)習(xí)與傳統(tǒng)中心化機(jī)器學(xué)習(xí)在相同數(shù)據(jù)集的條件下,經(jīng)過20輪訓(xùn)練得到的識別精度差異.該實(shí)驗(yàn)中,采用的神經(jīng)網(wǎng)絡(luò)均為殘差神經(jīng)網(wǎng)絡(luò)ResNet-18,局部迭代次數(shù)為3次, batch-size設(shè)置為32,學(xué)習(xí)率為0.001.聯(lián)邦學(xué)習(xí)設(shè)置中,本地節(jié)點(diǎn)數(shù)量為10個,每輪選擇任意6個節(jié)點(diǎn)的訓(xùn)練數(shù)據(jù)進(jìn)行聚合.實(shí)驗(yàn)結(jié)果如圖5、圖6所示. 圖5 聯(lián)邦學(xué)習(xí)與中心化學(xué)習(xí)準(zhǔn)確率對比 圖6 聯(lián)邦學(xué)習(xí)與中心化學(xué)習(xí)損失值對比 由圖5可知,聯(lián)邦學(xué)習(xí)與中心化機(jī)器學(xué)習(xí)在火災(zāi)檢測數(shù)據(jù)集上最終表現(xiàn)差異較小,然而隨著本地節(jié)點(diǎn)數(shù)的增多,聯(lián)邦學(xué)習(xí)較中心化學(xué)習(xí)有更高的效率.模型達(dá)到80%識別精度時(shí),本地節(jié)點(diǎn)數(shù)為6和3的聯(lián)邦學(xué)習(xí)分別需要7輪和11輪,局部迭代次數(shù)為3次和1次的中心化學(xué)習(xí)分別需要13輪和16輪.由圖6可知,聯(lián)邦學(xué)習(xí)與中心化學(xué)習(xí)對比,擁有更快的損失收斂速度.因此使用基于聯(lián)邦學(xué)習(xí)的火災(zāi)檢測算法在相同數(shù)據(jù)集條件下,提高了網(wǎng)絡(luò)收斂速度,降低了訓(xùn)練時(shí)間成本,并且得到與中心化訓(xùn)練一致的訓(xùn)練效果. 圖7為全局迭代次數(shù)為10輪的條件下,使用本地?cái)?shù)據(jù)集進(jìn)行中心化學(xué)習(xí)的模型識別率與10個節(jié)點(diǎn)使用各自數(shù)據(jù)集進(jìn)行聯(lián)邦學(xué)習(xí)的模型識別率對比.可以得到使用聯(lián)邦學(xué)習(xí)訓(xùn)練得到的模型具有更高的識別率,并且隨著參與節(jié)點(diǎn)數(shù)目的增多,準(zhǔn)確率有明顯的提升.相較之下,使用本地單一數(shù)據(jù)集的中心化訓(xùn)練無法很好學(xué)習(xí)數(shù)據(jù)全局分布特征,模型的泛化性與通用性較差.因此在火災(zāi)識別場景下,與中心化學(xué)習(xí)相比,使用聯(lián)邦學(xué)習(xí)能較好的提升模型訓(xùn)練效果.并且,隨著參與節(jié)點(diǎn)總數(shù)與每輪參與節(jié)點(diǎn)數(shù)量的增加,聯(lián)邦模型的性能也會提升,但會增加每輪的訓(xùn)練時(shí)間,增加的訓(xùn)練時(shí)間取決于參與節(jié)點(diǎn)中最后完成局部迭代的節(jié)點(diǎn)時(shí)間. 圖7 聯(lián)邦學(xué)習(xí)與中心化學(xué)習(xí)預(yù)測性能對比 本實(shí)驗(yàn)對比了本方案與同態(tài)加密的時(shí)間開銷.實(shí)驗(yàn)設(shè)置本地模型迭代次數(shù)為3次,本地節(jié)點(diǎn)數(shù)量為10個,每輪任意選擇6個節(jié)點(diǎn),總共經(jīng)過20輪全局訓(xùn)練.AES密鑰長度為128位. 表2為每組實(shí)驗(yàn)中神經(jīng)網(wǎng)絡(luò)超參數(shù)的設(shè)置.相同條件下,不同加密方案的聯(lián)邦學(xué)習(xí)的時(shí)間開銷如表3所示.本文采用的同態(tài)加密方案為基于Paillier半同態(tài)加密提出的一種聯(lián)邦學(xué)習(xí)框架[14]. 表2 安全性能實(shí)驗(yàn)超參數(shù)設(shè)置(*表示對照變量) 表3 聯(lián)邦學(xué)習(xí)各個安全方案時(shí)間開銷(單位:秒) 圖8基于表3數(shù)據(jù)繪制,折線圖部分為隨著表2超參數(shù)的調(diào)整,時(shí)間開銷的變化趨勢. 本文中設(shè)計(jì)的安全方案與不使用安全方案的聯(lián)邦學(xué)習(xí)時(shí)間開銷接近,根據(jù)表3中時(shí)間開銷數(shù)據(jù)計(jì)算得到加密開銷(1-(無安全方案÷本文方案))不超過1%,遠(yuǎn)低于基于同態(tài)加密[14]的聯(lián)邦學(xué)習(xí).另外可以看出,同態(tài)加密所需計(jì)算開銷隨著神經(jīng)網(wǎng)絡(luò)計(jì)算開銷增長而增長.因此在計(jì)算昂貴的移動端設(shè)備采用此種方案能在保障安全性的同時(shí)盡量少的消耗運(yùn)算資源. 圖8 聯(lián)邦學(xué)習(xí)安全方案時(shí)間花費(fèi)對比 本實(shí)驗(yàn)對近年來其他火災(zāi)檢測算法的效率進(jìn)行對比.實(shí)驗(yàn)共選取3種不同火災(zāi)檢測算法,包括圖像分割法[1]、動態(tài)特征法[4]與改進(jìn)YOLOV3[5]. 本實(shí)驗(yàn)關(guān)于火災(zāi)檢測的性能分析采用文獻(xiàn)[18]的評價(jià)標(biāo)準(zhǔn),包含準(zhǔn)確率(ACC)、正確率(TPR)、誤報(bào)率(FPR)評價(jià),其表示如式(13)、(14)、(15): (13) (14) (15) 式(13)~(15)中:N為火災(zāi)總樣本數(shù),TP為正確檢測的火災(zāi)樣本數(shù),TN為正確檢測的無火災(zāi)樣本數(shù),F(xiàn)P為被錯誤檢測的無火災(zāi)樣本數(shù),F(xiàn)N為被錯誤檢測的火災(zāi)樣本數(shù). 本實(shí)驗(yàn)聯(lián)邦學(xué)習(xí)全局迭代輪次設(shè)置為50輪,聯(lián)邦學(xué)習(xí)與中心化學(xué)習(xí)本地迭代輪次均為6次.batch-size設(shè)置為32,學(xué)習(xí)率被設(shè)定為前5輪從0.01線性下降至0.001,并在5輪后保持0.001. 表4為實(shí)驗(yàn)結(jié)果及性能對比.根據(jù)表4可以得到:本文算法誤報(bào)率低至3.41%,較其他算法誤報(bào)率更低,且與圖像分割[1]和動態(tài)特征[4]方法相比精度更高.在訓(xùn)練集上得到過擬合程度更低的表現(xiàn),因此具有模型泛化性強(qiáng)的額外優(yōu)勢,對于實(shí)際情況中復(fù)雜的火災(zāi)場景具有重要意義.根據(jù)表4得到,本文算法的識別準(zhǔn)確率90.21%與正確率88.72%高于圖像分割[1]與動態(tài)特征檢測[4]方法,與改進(jìn)YOLOV3[5]方法相比,準(zhǔn)確率與其相近,正確率更高且錯誤率更低.并且,與文獻(xiàn)[1]、文獻(xiàn)[4]、文獻(xiàn)[5]所用的中心化訓(xùn)練相比,本文所用的分布式訓(xùn)練方式可以更有效的收集邊緣信息.因此,本文提出的基于聯(lián)邦學(xué)習(xí)的火災(zāi)檢測算法具有綜合效果更好的優(yōu)點(diǎn). 表4 火災(zāi)檢測方案對比 為了解決火災(zāi)檢測背景下,傳統(tǒng)機(jī)器學(xué)習(xí)缺乏訓(xùn)練樣本,模型泛化能力弱的問題.給出一種基于聯(lián)邦學(xué)習(xí)的火災(zāi)檢測算法,通過多方節(jié)點(diǎn)使用自有數(shù)據(jù)集協(xié)作訓(xùn)練,提高了火災(zāi)檢測模型的收斂速率與模型的泛化能力.在30輪全局迭代后,本算法準(zhǔn)確率可以達(dá)到90.21%,正確率達(dá)到88.72%,誤報(bào)率低至3.41%.使用基于門限秘密共享的安全方案,加密所需的時(shí)間開銷僅為總時(shí)間的1%,用戶可根據(jù)隱私需求靈活調(diào)整密鑰長度.基于聯(lián)邦學(xué)習(xí)的火災(zāi)檢測算法在面向移動端的訓(xùn)練場景下能較好收集邊緣信息,并提高模型整體的識別精度與泛化能力.3 實(shí)驗(yàn)結(jié)果與分析
3.1 實(shí)驗(yàn)數(shù)據(jù)集
3.2 聯(lián)邦學(xué)習(xí)實(shí)驗(yàn)結(jié)果與性能對比
3.3 聯(lián)邦學(xué)習(xí)安全方案性能對比
3.4 火災(zāi)檢測算法性能對比
4 結(jié)論