為什么需要凈化傳感器數(shù)據(jù),它為何對系統(tǒng)設計的各個層面都有廣泛影響,。
傳感器是一條紐帶,,它將數(shù)字世界和物理世界迷人地連接在一起,。但是,要獲得有價值的可用數(shù)據(jù)并非易事,。實際上,,許多剛剛進入物聯(lián)網(wǎng)領域的設計人員都對傳感器數(shù)據(jù)的混亂沒有足夠的心理預期。
引導客戶相信,,他們看到的大量“錯誤”數(shù)據(jù)并不是因為傳感器本身出了故障,,成為物聯(lián)網(wǎng)運動傳感器公司MbientLab的日常工作。之所以數(shù)據(jù)錯誤,,是因為集成了這些傳感器的系統(tǒng)設計中缺少一些進行數(shù)據(jù)清理的關鍵步驟,。
“我每天都在應對這些抱怨,。”MbientLab首席執(zhí)行官Laura Kassovic在最近的一次演講中表示,。她同時還警告工程師,,必須正確理解通過機器學習訓練物聯(lián)網(wǎng)的難度?!岸嗄陙?,工具和硬件都取得了長足進步,但是,,對于數(shù)據(jù)處理的基本理解仍然沒有多少改進,。”
“我對用戶嘗試使用傳感器來解決問題,、研究復雜課題非常歡迎,,”Laura Kassovic表示?!斑@是一種勇敢的行為,,很有趣,思路很開放,,但是也很難,。很多人沒有使用正確的方法,未能解決實際問題,,就把失敗歸咎于我們的傳感器,,我對此感到很無奈。要知道,,傳感器不會撒謊,,它沒有任何偏見,傳感器的數(shù)據(jù)始終是正確的,。用戶濫用或誤解了傳感器數(shù)據(jù),,卻把鍋甩給了傳感器!”
實際上,,傳感器并非總是易于使用,,傳感器生成的所有數(shù)據(jù)也并非都很有價值。關鍵在于,,要搞清楚哪些數(shù)據(jù)有價值,,分離出這些數(shù)據(jù),,然后把其它垃圾數(shù)據(jù)丟棄掉,。
Synopsys公司董事長兼聯(lián)席首席執(zhí)行官Aart de Geus表示,“大多數(shù)傳感數(shù)據(jù)都不是系統(tǒng)價值的關鍵,。但是也有一些例外,,比如人造眼睛,。有一些可以歸類到人工智能設備的范疇,比如可以進行各種測量的手表,。這些測量數(shù)據(jù)能夠反映什么問題,?可以預測心臟病的發(fā)作嗎?如果可以,,這類數(shù)據(jù)的價值非常高,,你愿意為此付多少錢?如果它能在一分鐘之前提示你,,你可以給你的妻子寫下臨別遺言‘謝謝你,,我愛你’。如果你有一個小時的提前提示時間,,你可以打電話給急救中心,,如果有幾個小時,數(shù)據(jù)的價值和風險將會再次改變,?!?/p>
在各種應用中,數(shù)據(jù)以各種不同的形式出現(xiàn),,在某一個應用場景中被認為是干凈的數(shù)據(jù),,到另一個場景中可能還需要進行進一步的清理。有些數(shù)據(jù)的清理工作可以在本地完成,,而其它數(shù)據(jù)可以在數(shù)據(jù)中心里進行清理,。
“假如說你有一個面部識別應用,只允許某些授權(quán)員工進入這棟大樓,,”Geus說,。“你每個月都要更新邊緣設備中的AI網(wǎng)絡,,保證AI網(wǎng)絡可以識別所有面孔,。因為隨時都會有大量的人進入這棟樓,所以這個工作不輕松,。不過,,這個安全級別并不是太高,并不是所有數(shù)據(jù)都需要隨時更新,?!?/p>
而在其它一些應用中,數(shù)據(jù)需要實時進行清理,。最近就有一個現(xiàn)成的慘痛案例,。10月29日,印尼獅航一架波音MAX 8飛機墜毀,,所有機上人員全部遇難?,F(xiàn)在的調(diào)查可能正在朝著將傳感器定為罪魁禍首的方向前進,。恢復的黑匣子數(shù)據(jù)顯示,,在飛行過程中,,兩個迎角傳感器(AOA)數(shù)據(jù)不一致。顯然有一半數(shù)據(jù)都不正確,,這足以誤導這架飛機的防失速系統(tǒng),,使飛機轉(zhuǎn)頭向下,直至機毀人亡,。
判斷這次飛行事故中到底發(fā)生了什么,,現(xiàn)在還為時尚早?!翱赡懿粌H僅是一個傳感器的問題,,畢竟這個數(shù)據(jù)處理系統(tǒng)有很多環(huán)節(jié),”意法半導體戰(zhàn)略平臺和物聯(lián)網(wǎng)卓越中心主任Mahesh Chowdhary說,?!跋仁且粋€傳感部分,然后經(jīng)過一個連接部分,,最后到達計算部分,。有一些算法可以查看傳感器數(shù)據(jù)并確定飛機的方向。多個功能必須協(xié)調(diào)一致地同步工作,,以提供有關飛機方向的信息,。”
在傳感器提供的大量數(shù)據(jù)中,,并非所有數(shù)據(jù)都有用,,而且,即便是我們認為有價值的數(shù)據(jù)也可能被污染了,,或者不準確,。從看似簡單的物聯(lián)網(wǎng)系統(tǒng),到更復雜的安全關鍵系統(tǒng),,當傳感器系統(tǒng)設計失效時,,我們能單純地把數(shù)據(jù)-特別是被污染的臟數(shù)據(jù)-認定為罪魁禍首嗎?你怎么判斷傳感器壞了,,數(shù)據(jù)不對,?也許是算法的邏輯或者讀取數(shù)據(jù)的固件出了故障了呢?為了揀擇出真正的失效原因,,必須首先對什么是“臟數(shù)據(jù)”達成一致,。
“這是一個模棱兩可的領域。傳感器目前工作正常嗎,?嗯,,不好說,它沒有按照你想象的那樣工作,,那么,,是用戶造成的錯誤還是傳感器本身的故障?我發(fā)現(xiàn),,目前對于臟數(shù)據(jù)的定義是非常模糊的一個概念,。有時候,因為用戶系統(tǒng)存在缺陷,,如果您的傳感器工作正常的話,,用戶系統(tǒng)就沒法正常工作了?!盩T Electronics的產(chǎn)品線總監(jiān)Robert Pohlen說道,,這是一家設計傳感器并幫助客戶創(chuàng)建各種基于傳感器的系統(tǒng)的公司。
數(shù)據(jù)處理路徑
要搞清楚干凈數(shù)據(jù)和臟數(shù)據(jù)之間的區(qū)別,,很重要的一點是,,看看數(shù)據(jù)是如何從A點到達B點的。
概括來說,,傳感器的原始數(shù)據(jù)需要進行后端處理,。基礎傳感器將原始信號從一種形式的能量轉(zhuǎn)換成模擬信號或者數(shù)字信號,,可能需要施加外部電源,,也可能不需要。最初的原始轉(zhuǎn)換來源于現(xiàn)實世界的模擬信號:力,、熱,、光、磁,、聲音,。經(jīng)過傳感器轉(zhuǎn)換后,沿著傳感器內(nèi)部或者印刷電路板上的信號路徑繼續(xù)前行,,如果有需要,,模擬信號可以經(jīng)過調(diào)節(jié)、放大環(huán)節(jié)轉(zhuǎn)換成數(shù)字信號,。然后,,將數(shù)據(jù)發(fā)送到微處理器或者其它類型的計算單元中,通過算法進一步過濾噪聲,,并以應用所需要的方式提取相關信息,。
計算體系架構(gòu)剛剛開始著手研究怎么有效地進行這種數(shù)據(jù)處理,有些數(shù)據(jù)需要在邊緣設備上進行預處理,,其它數(shù)據(jù)則發(fā)送到更強大的服務器中進行清理,。
“邊緣計算將發(fā)揮巨大作用,,”Achronix總裁兼首席執(zhí)行官Robert Blake說?!盎A構(gòu)建模塊都有了,,我們現(xiàn)在需要弄清楚,怎么有效地移動任意格式的傳感器數(shù)據(jù),,數(shù)據(jù)移動過程中涉及的內(nèi)存層次結(jié)構(gòu)如何設計,,以使得可以實現(xiàn)最佳計算性能。一句話,,就是如何提高傳感器數(shù)據(jù)的計算效率,。”
圖1 一個傳感器的例子
有些操作需要基于那些用來鑒別一段時間內(nèi)趨勢的數(shù)據(jù)立即進行動作,,這類數(shù)據(jù)的提取非常關鍵,,此外,清除已經(jīng)喪失了價值的數(shù)據(jù)也很重要,??紤]到存在多種類型的這種數(shù)據(jù),而且有些情況下,,需要多種數(shù)據(jù)類型來建模物理世界或判斷某人是否應該立即進行醫(yī)療急救,,這種數(shù)據(jù)提取和清除工作更加艱難了。
數(shù)據(jù)也可能一開始是干凈的,,但是經(jīng)過更新或者病毒入侵后變臟了,。Rambus研究員Helena Handschuh說:“在全球范圍內(nèi),所有組件都需要盡可能安全,,因此您希望從硬件中建立信任,。組件安全啟動后,通信數(shù)據(jù)本身就已經(jīng)具備了某種程度的可信度,。但是,,有的系統(tǒng)也可能存在不安全的未知組件,這就需要對數(shù)據(jù)進行入侵檢測和軟件分析,,以查看數(shù)據(jù)和組件是否存在任何損壞,。在汽車中,我們希望檢測出那些給出異?;蚱婀謹?shù)據(jù)的部件,,這不僅是組件安全問題,還涉及到人身安全,?!?br/>
臟數(shù)據(jù)肯定要清理掉,但是它在哪里變臟的以及是如何變臟的,決定了下一步采取的行動,。是不是傳感器本身產(chǎn)生了臟數(shù)據(jù),,設計人員需要一開始就考慮到這一點?!敖鉀Q傳感器問題需要大量的專業(yè)知識,,”Kassovic說。 “它需要設計人員在硬件層面了解傳感器,,理解從傳感器中提取的數(shù)據(jù),具備軟件(算法)開發(fā)的經(jīng)驗,?!?/p>
例如,從數(shù)據(jù)理解層面上,,不要將加速度計的數(shù)據(jù)與GPS數(shù)據(jù)混淆,。“加速度計只測量身體的加速度,,”她說,。“大多數(shù)人都無法理解它為什么不能代替GPS,,GPS給出的是身體在空間的絕對位置,。每個應用都足夠獨特,需要一種獨特的方法來最可靠地提取正確的最終數(shù)據(jù),。很多用戶認為來自傳感器的數(shù)據(jù)應該與他們的大學教科書完全相同,,其實并非如此。
現(xiàn)實世界的傳感器數(shù)據(jù)并不完美,。當你打開你的物理,、工程或計算機科學教科書時,會看到書本里充滿了完美的運動曲線,。但是,,當您從現(xiàn)實世界中獲取數(shù)據(jù)時,實際曲線看起來會和書中的完美曲線有很大不同?,F(xiàn)實世界中充滿了噪音和錯誤,。”
每個應用都足夠獨特,,需要一種獨特的方法來最可靠地提取正確的最終數(shù)據(jù),。
理解數(shù)據(jù)
那么,對臟數(shù)據(jù)到底如何處理呢,?第一步是理解和解讀傳感器輸出的數(shù)據(jù),。傳感器數(shù)據(jù)的準確度往往是相對的,而不是絕對正確。現(xiàn)實世界中的傳感器讀取數(shù)據(jù)并非完美,。
傳感器制造商關注的是噪聲,、濾波器和算法這些基本問題,并給系統(tǒng)設計人員提供了相應的幫助性工具,。一些系統(tǒng)設計者和平臺供應商則站在系統(tǒng)用戶端的視角上,,關注的是填入其數(shù)據(jù)庫中的數(shù)據(jù)是否有效,它們提供了一個監(jiān)測工具來幫助鑒別數(shù)據(jù)是否出現(xiàn)錯誤,。
“我在模擬信號鏈路中發(fā)現(xiàn)了臟數(shù)據(jù),,數(shù)字鏈路的數(shù)據(jù)是干凈的,”TT Electronics的Pohlen說道,?!霸S多不同的源頭都會誘發(fā)噪聲。你可以在線束中拾取電噪聲,,性能變壞的元件也會產(chǎn)生電氣噪聲,。”
在Pohlen眼中,,由某種對實際感應機制的外部影響造成的噪聲不算是臟數(shù)據(jù),。“比如,,對于一個光傳感器,,如果有一個環(huán)境光源的話,不能因為它給出的數(shù)據(jù)不是你真正想要測量的,,就認為那是臟數(shù)據(jù),,因為不管是不是自然光源,它確實正確地測量了光強度,?!?/p>
未經(jīng)校準的傳感器通常會比校準過的傳感器產(chǎn)生更多臟數(shù)據(jù)?!拔覀兺ǔKf的臟數(shù)據(jù)基本上是指未經(jīng)校準的原始傳感器數(shù)據(jù),,以及信號上有很多噪聲的數(shù)據(jù)?!币夥ò雽w的Chowdhary說,。“除了使用某些現(xiàn)象機制感應信號的物理元件,,比如測量科里奧利加速度以檢測設備,、人或者手機的旋轉(zhuǎn),系統(tǒng)里還有信號調(diào)理單元,。這些信號調(diào)理模塊可以工作在不同條件下,,也可以在低功耗模式下工作,以盡量降低傳感器的電流消耗。但是,,如果工作在低功耗模式,,傳感器數(shù)據(jù)的噪聲就會增加,因為顯而易見的是,,用于信號調(diào)理的功耗越大,,數(shù)據(jù)就越干凈?!?/p>
“考慮到所有這些不同層面,,我們可以給臟數(shù)據(jù)下個定義,即未經(jīng)校準的傳感器輸出的數(shù)據(jù)以及受到噪聲影響的傳感器數(shù)據(jù),,無論噪聲來自于信號調(diào)理模塊還是外部干擾,,”Chowdhary說。 他將外部干擾(例如當磁力計受外部磁場影響時)也歸類到了臟數(shù)據(jù)中,。
即便是在同一批傳感器中,,不同傳感器也可能存在制造上的差異,。一旦被部署到應用現(xiàn)場,,傳感器就可能會損壞。比如,,地勤人員可能會損壞飛機的傳感器,,甚至包括至關重要的迎角傳感器。傳感器可能會老化,、性能變差,,所以需要定期重新校準。
可以站在企業(yè)的角度來理解數(shù)據(jù),?!霸诨趥鞲衅鞯脑O備網(wǎng)絡中,臟數(shù)據(jù)可能是由單個或者多個問題共同產(chǎn)生的,。問題可能來自于時間序列跳躍,、傳感器單元本身的測量有誤、日期/時間未及時校準,、傳感器之間的不恰當關聯(lián),、跨域數(shù)據(jù)點的不正確聚合等。也可能是僅僅因為產(chǎn)生的數(shù)據(jù)不符合業(yè)務目標,,不穩(wěn)定或者無法使用,,就被認為是臟數(shù)據(jù)?!盠iaison Technologies公司產(chǎn)品營銷總監(jiān)Pratikh表示,。這家公司幫助把可用數(shù)據(jù)放到一個平臺上,以供企業(yè)使用。
其它人也對臟數(shù)據(jù)給出了自己的具體定義,?!芭K數(shù)據(jù)是那些由您的設備按照正確的格式報告,但是在某種程度上無效的數(shù)據(jù),。我們甚至無法對這些數(shù)據(jù)做出解釋,,”物聯(lián)網(wǎng)系統(tǒng)集成商Bright Wolf的聯(lián)合創(chuàng)始人James Branigan說?!澳阃耆梢宰x取它,,但是你會發(fā)現(xiàn),某些數(shù)據(jù)實際上是完全無效的,?!?/p>
在智能物聯(lián)網(wǎng)和物聯(lián)網(wǎng)中,臟數(shù)據(jù)的風險在于它會污染公司的大數(shù)據(jù)庫,,引發(fā)其它危險行為,,而且也浪費錢?!芭K數(shù)據(jù)之所以會成為一個問題,,是因為在所有這些物聯(lián)網(wǎng)系統(tǒng)中,當你在數(shù)據(jù)中尋找價值,,在這些輸入的數(shù)據(jù)上進行某些程序化分析時,,你會把分析結(jié)果在部分程度上反饋到企業(yè)系統(tǒng)中,”Branigan說,?!皩@些數(shù)據(jù)處理分析并反饋后,會發(fā)生一些有趣的事情,。但是,,如果你把分析建立在糟糕的假設-臟數(shù)據(jù)-上,那么,,垃圾輸入必然導致垃圾輸出,。臟數(shù)據(jù)可能會給你帶來真正的傷害,因為這些實際上無效的數(shù)據(jù)會導致一些自動化操作被禁能,,從而產(chǎn)生實際的經(jīng)濟成本,。”
Branigan發(fā)現(xiàn)了三種臟數(shù)據(jù),?!暗谝环N來自傳感器的物理故障。它既無法檢測環(huán)境的變化,,也無法檢測自身的故障,,雖然它仍將向你提供格式良好的數(shù)據(jù),,但是這種數(shù)據(jù)完全是垃圾。第二種來自設備運行的固件的軟件錯誤,。即使是較新版本的固件也可能產(chǎn)生格式良好但完全錯誤的數(shù)據(jù),。第三種臟數(shù)據(jù)真正可惡,你需要對具體的機器操作非常了解,,才能理解如何解釋進來的數(shù)據(jù),。如果不了解這些,你會把錯誤的數(shù)據(jù)解釋為有效數(shù)據(jù),,但是系統(tǒng)其它部分卻會給出不同的解釋,。”
那么,,臟數(shù)據(jù)能否被洗白白呢,?
數(shù)據(jù)清洗工具
有許多工具可以幫助清洗數(shù)據(jù)?!艾F(xiàn)在已經(jīng)有了很多很棒的工具,,比如大受歡迎的Matlab、Labview和Python,。我們自己的MetaWear API可以在所有主要編碼語言下幫助實現(xiàn)數(shù)據(jù)過濾器,。我通常建議客戶們使用它們最熟悉的工具,而不是強行兜售我們自己的API,。Python是一個很棒的工具,,它有許多機器學習庫,,開源,、易用,而且有很好的文檔記錄,?!盡bientLab的Kassovic說。MbientLab還使用博世的FusionLab,,因為它們不僅自己提供傳感器,,還銷售提供博世的傳感器。
MEMS市場領導者博世傳感技術(shù)公司也會其傳感器提供驅(qū)動程序和庫,,幫助傳感器實現(xiàn)檢測,、解讀、監(jiān)控,、感知情境并預測意圖,,負責MEMS產(chǎn)品組合業(yè)務開發(fā)的Marcellino Gemelli寫道。意法半導體提供庫,、驅(qū)動程序和傳感器設置工具,,以及可幫助簡化設計的微控制器,。
尋找具備合適專業(yè)知識的專業(yè)人才并非易事?!澳悴荒芘梢幻浖こ處熑ジ晒碳こ處煹幕?。”Kassovic說,。
在企業(yè)的角度來看,,讓數(shù)據(jù)科學家參與清洗數(shù)據(jù)將花費太多的時間?!艾F(xiàn)在,,各種機器都在源源不斷地產(chǎn)生數(shù)據(jù),可能會產(chǎn)生比人類產(chǎn)生的臟數(shù)據(jù)還要復雜的新級別臟數(shù)據(jù),,這將成為臟數(shù)據(jù)清洗的重點對象,。”Branigan說,?!按髷?shù)據(jù)市場里有很多數(shù)據(jù)清洗工具,但是這些工具都以數(shù)據(jù)科學家為中心,。對于一個相對靜態(tài)的數(shù)據(jù)集,,數(shù)據(jù)科學家清洗它,分析它,,然后可以找到一些有趣的東西,。這種方式應對人類生成數(shù)據(jù)的速度確實很有效,但是很難甚至不可能應對機器生成數(shù)據(jù)的速度,。你最終需要一個自動化的系統(tǒng),,它從設備上獲得實時數(shù)據(jù),流水化地進行分析,,然后把分析結(jié)果輸出到企業(yè)的某個業(yè)務系統(tǒng)中,,以便自動化地執(zhí)行業(yè)務操作?!?/p>
傳感器轉(zhuǎn)向數(shù)字化可能會有所幫助,。“數(shù)字通信絕對有好處,。那些你從中獲取并收集優(yōu)質(zhì)數(shù)據(jù)的傳感器,,它的噪聲是不是因為模擬才產(chǎn)生的?我看到傳感器行業(yè)存在向數(shù)字化轉(zhuǎn)變的自然趨勢,,你可以在其中內(nèi)置一些錯誤檢查功能,。數(shù)字系統(tǒng)存在一定的噪聲區(qū)間,如果這些噪聲出現(xiàn)在數(shù)字電路通道中,,誰會在乎它呢,?因為數(shù)據(jù)要么是1,,要么是0,基本不可能出現(xiàn)數(shù)據(jù)反轉(zhuǎn),,你可以對數(shù)據(jù)傳輸加入校驗機制,,如果校驗失敗,你可以把數(shù)據(jù)丟掉,?!盤ohlen說。
“盡管原始數(shù)據(jù)可能被過濾,、補償,、糾正,但是在大部分情況下,,用戶的操作也有一定的限制,。”負責博世傳感器MEMS產(chǎn)品組合的業(yè)務開發(fā)的Marcello Gemelli在最近的一篇文章中指出,。
“克服這些挑戰(zhàn)的第一步是實施和集成適當?shù)那逑垂ぞ?,”Liaison Technologies的Parikh說?!斑@些清洗工具不僅處理數(shù)據(jù)質(zhì)量,,還要從項目的角度驗證數(shù)據(jù)源頭身份、可信度,、時間序列,。每個項目都有各自獨特的要求。項目實施者可以應用一些通用的技術(shù)手段,,但是必須做好準備,,根據(jù)需要進行大規(guī)模定制,以實現(xiàn)業(yè)務目標,?!?/p>
Liaison Technologies提供數(shù)據(jù)清洗,、過濾,、管理以及重復數(shù)據(jù)刪除檢測等業(yè)務?!拔覀兲峁┑囊粋€關鍵功能是追蹤數(shù)據(jù)的血統(tǒng),,即從數(shù)據(jù)原始源頭到清洗過的結(jié)構(gòu)化數(shù)據(jù)的鏈路跟蹤?!?/p>
對于安全關鍵系統(tǒng)而言,,冗余可能是一種優(yōu)秀且昂貴的解決方案。TT電子公司的Pohlen表示,,“每個人都希望達到更高的ASIL等級,,但他們是否一定要承諾提供更多感應能力,?同樣,ASIL等級也可以歸結(jié)為數(shù)據(jù)是否正確,,以及在后端如何解讀這些數(shù)據(jù),,除非您可以在傳感器中進行某種自診斷,否則最好的方法是冗余,?!?/p>