近年來,深度神經網路在多種應用上取得了極大的成功,網路架構也變得越來越深。以卷積神經網路為例,從 1998 年 LeNet 的 5 層,發展到 2015 年產生了 152 層的 ResNet。
在網路架構變化的同時,包括物聯網在內的終端裝置數量也越來越多,有著急劇的增長。因為這些裝置直接連線感測器資料(攝像頭、麥克風、陀螺儀等),所以在終端裝置上部署機器學習具有極大的吸引力。
但現在看來,頂級的機器學習系統還無法滿足終端裝置的現狀:
1. 要麼把感測器資料輸入到雲端的大型神經網路模型;
2. 要麼直接在終端裝置上使用簡單的機器學習模型(如線性支援向量機)。前者有通訊成本、延遲的問題,後者會降低系統的準確率。
為了克服這些問題,自然而然地就想到了分散式計算方法。層級分散式計算架構包括雲、邊緣與終端裝置,這種架構有固有的優勢,例如支援中心調節與區域性決策,具有系統可擴充套件性,特別是對基於位置分佈的 IoT 裝置上的大規模智慧任務。
雖然業內也有一些分散式方法,但依然面臨多種挑戰,例如終端裝置儲存與能源有限、通訊成本等。那有沒有一種系統能夠訓練一個端到端模型,把模型在雲與終端裝置之間劃分開?
為了這個目標,作者們提出了在雲、邊緣以及終端裝置這樣的分散式計算層級上的分散式深度神經網路(DDNN)。論文內容摘要如下,具體細節請檢視論文原文。
論文:Distributed Deep Neural Networks over the Cloud, the Edge and End Devices
地址:https://arxiv.org/abs/1709.01921
摘要:我們提出了在分散式計算層級上的分散式深度神經網路(DDNNs),包含雲、邊緣裝置以及終端裝置。在能夠適應雲上的神經網路推理的同時,DDNN 也允許在邊緣、終端裝置上使用神經網路的淺層部分進行更快、本地化的推理。在可延展的分散式計算層級支援下,DDNN 能按比例擴大網路大小,且在區域跨度上進行擴充套件。由於其分散式特性,DDNN 增強了感測器融合、系統故障容錯、資料隱私。在 DDNN 的實現上,我們繪製了 DNN 在不同分散式計算層級上的部分。通過聯合訓練這些部位,我們最小化了裝置上的通訊和資源使用,最大化了在雲中使用的提取特徵的有效性。最終的系統內建了對自動感測器融合、故障容錯的支援。作為此概念的證實,我們演示了一個 DDNN 能夠利用感測器的多元性改進目標識別的準確率、減少通訊成本。在我們的實驗中,對比傳統的在雲中解除安裝原始感測器資料的方法,DDNN 能夠在終端裝置本地處理大部分感測器資料,同時取得高準確率,通訊成本能夠降低 20 倍。
圖 2:DDNN 架構的概覽。垂直線表示 DNN 通道,連線水平線(神經網路層)。(a) 是標準的深度神經網路(完全在雲端處理);(b)是引入了終端裝置和本地出口點(exit point),可能分類雲之前的樣本;(c)是(b)的擴充套件,增加了多個終端裝置,聚合在一起進行分類;(d) 和(e)是(b) 和(c)的擴充,增加了雲與終端裝置之間的邊緣層;(f)展示了邊緣也能像終端裝置一樣被分佈。