1. 程式人生 > >SenseGen: A Deep Learning Architecture for Synthetic Sensor Data Generation論文解讀

SenseGen: A Deep Learning Architecture for Synthetic Sensor Data Generation論文解讀

一、論文概述

SenseGen這篇論文是17年發表在PerCom Workshops上的一篇論文,來自加州大學洛杉磯分校(University of California at Los Aneles,UCLA)網路與嵌入式系統實驗室(Netoworked & Embedded Systems Laboratory,NESL),最早作者是放在arXiv上。SenseGen借鑑生成對抗網路的思想訓練生成器,進而生成逼真的感測器資料,但是由於生成器最頂層採用了通過高斯混合模型(Gaussian Mixture Model,GMM)構建的混合密度網路(Mixture Density Network,MDN),不能把判別網路的誤差反向傳播給生成網路,所以只能單獨訓練生成網路和判別網路。因此,SenseGen本質上只是單一的訓練一個生成模型來合成逼真的感測器資料,並不是傳統意義上的生成對抗網路模型。

整體而言,細究本文存在很多的細節性描述漏洞和不足,但在生成對抗網路廣泛應用於影象、視訊、文字的研究背景下,SenseGen在一定程度上可以說是初步開啟了探索生成對抗網路思想在感測器資料合成方面的研究。

 

二、研究背景

考慮到大資料分析的背景下的使用者隱私問題,通過SenseGen生成模型來合成逼真的感測器資料用來替代使用者的真實資料,合成的感測器資料能夠在保護使用者隱私的同時維持與真實資料相同的統計特性,進而保證資料分析的可用性質量。

眾所周知,評價合成感測器資料的生成模型的效能是比較困難的,主要原因有:(1)很難找到一種評價感測器資料生成效果、逼真度好壞的標準;(2)同時,還必須要避免生成模型對原始感測器資料的過擬合,避免其輸出對原始感測器資料的簡單記憶

 

三、方法

SenseGen的目的就是訓練一個能夠生成逼真且保持真實分佈特性的生成網路

(一)生成網路

3層LSTM + 2層全連線神經網路 + 1層MDN構建的,

核心在於最後一層混合密度網路(Mixture Density Network,MDN),是高斯混合分佈於神經網路的結合。

最後一個全連線神經網路的72維輸出被平均分為三個部分,每個部分的維度為24,

1~24:每個高斯分佈在混合分佈中的權重\pi,即24個高斯模型組成的混合分佈

25~48:每個高斯分佈的引數\mu

49~72:每個高斯分佈的引數\sigma

輸出結果的概率分佈表示為:pr(x_{x+1}|\pi_{t},\mu_{t},\sigma_{t})=\sum_{k=1}^{24}\pi_{t}^{k}(x_{1...t})*\mathcal{N}(x_{x+1};\mu_{t}^{k}(x_{1...t},\sigma_{t}^{k}(x_{1...t})))

預測值:x_{x+1}\sim pr(x_{x+1}|\pi_{t}(x_{1...t}),\mu_{t}(x_{1...t}),\sigma_{t}(x_{1...t}))

生成網路的訓練優化策略為:RMSProp

成本函式(cost function):\mathcal{F}^{\mathcal{G}}(\theta_{\mathcal{G}})=-\sum_{t=1}}^{T}\log{(pr(x_{x+1}|\pi_{t}(x_{1...t}),\mu_{t}(x_{1...t}),\sigma_{t}(x_{1...t})))}

(二)判別網路

為了能夠評估生成的感測器資料與真實感測器資料之間的相似度,構建了一個判別網路來區分生成資料和真實資料

1層LSTM + 1層全連線網路構建,如上圖所示

分別含有64個和16個單元

啟用函式:sigmoid

輸出值代表輸入資料來自真實資料的概率:D(x_{test})=Pr(x_{test}\in \mathcal{X}_{true}),即真實輸入資料的輸出結果目標為1,合成輸入資料的輸出結果目標為0。

每個mini-batch有m個樣本,每個樣本包含400個取樣點

判別網路的訓練目標為交叉熵損失:\mathcal{L}^{D}(\theta_{\mathcal{D}})=-\left(\sum_{i=1}^{m}\log{\mathcal{D}(\mathcal{X}_{true}^{(i)})}+\log(1-\mathcal{D}(\mathcal{X}_{gen}^{(i)}))\right)

 

四、實驗及效果

訓練階段生成網路負對數似然損失的(Negative Log likelihood cost,NLL )

判別網路鑑別真假資料的精度效果圖:

真實加速資料與SenseGen生成的加速度資料效果對比圖:

五、總結

SenseGen借鑑生成對抗網路的思想來訓練生成網絡合成逼真的感測器資料,但是並不是真正利用生成對抗網路的思想,(1)生成網路和判別網路單獨訓練,生成網路的訓練並不依賴於判別網路的誤差反向傳播;(2)生成網路直接學習原始感測器資料,而不是學習隨機噪聲分佈到真實資料分佈之間的對映關係。而且SenseGen文中很多描述與公開的原始碼之間對應不起來,細究論文一些內容也存在很多漏洞,但整體的思想還是可以借鑑用於感測器資料生成研究中。