TW202018596A - 分散式網路運算系統、分散式網路運算方法以及非暫態電腦可讀取記錄媒體 - Google Patents
分散式網路運算系統、分散式網路運算方法以及非暫態電腦可讀取記錄媒體 Download PDFInfo
- Publication number
- TW202018596A TW202018596A TW107139946A TW107139946A TW202018596A TW 202018596 A TW202018596 A TW 202018596A TW 107139946 A TW107139946 A TW 107139946A TW 107139946 A TW107139946 A TW 107139946A TW 202018596 A TW202018596 A TW 202018596A
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- neural network
- target image
- computing
- model
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Abstract
本揭示文件提出一種分散式網路運算系統,包含複數個運算節點,該等運算節點包含至少一第一節點以及至少一第二節點。至少一第一節點擷取至少一第二節點的動態資源參數,以根據動態資源參數於預運算資源查找表查詢類神經網路分層訊息。至少一第一節點根據類神經網路分層訊息執行類神經網路運算模型,並產生第一特徵資料。至少一第一節點傳送第一特徵資訊至至少一第二節點。其中至少一第二節點根據該第一特徵資料執行類神經網路運算模型以分析該目標影像。當目標影像符合預定條件時,則判定已完成對目標影像之辨識。
Description
本揭示文件涉及一種網路系統與處理方法,且特別是有關於一種分散式網路系統與運用類神經網路之分散式網路運算方法。
在計算資源豐富的集中式雲端(cloud)環境下,執行深度學習類神經網路運算的技術越來越成熟。然而在分散式邊霧運算(edge/fog computing)環境下,可能將許多類神經網路運算分布於不同的運算節點(例如邊霧裝置)中進行運算。由這些運算節點間的網路介面與其下一個運算節點交換運算結果,共同來完成人工智慧的分析運算。
然而,不同運算節點擁有的資源不同(例如
運算資源、網路資源、儲存資源等),各運算節點被分配到的邏輯運算所耗用的資源亦不相同。此外,各運算節點會隨著前一個運算節點的處理結果,而影響所收到的資料量,導致每次收到的資料流量會動態改變,此也會影響是否要將處理結果輸出至下一個運算節點,以及把資料輸出至下一個運算節點所適宜採用之運算處理方式(例如快速處理但準確度較低,或處理速度不是最重要考量,但準確度必須達到某個程度)。據此,如何在整個運算節點所組成的網路環境中妥善運用資源,成為亟需解決的問題。
發明內容旨在提供本揭示內容的簡化摘要,以使閱讀者對本揭示內容具備基本的理解。此發明內容並非本揭示內容的完整概述,且其用意並非在指出本發明實施例的重要/關鍵元件或界定本發明的範圍。
根據本揭示文件之一實施例,揭示一種分散式網路運算系統,包含複數個運算節點。該等運算節點包含至少一第一節點以及至少一第二節點。至少一第一節點,用以接收目標影像。至少一第二節點通訊連接至少一第一節點,其中至少一第一節點執行類神經網路運算模型以分析目標影像,當至少一第一節點判斷目標影像不符合預定條件時,至少一第一節點用以:擷取至少一第二節點的動態資源參數;根據動態資源參數於預運
算資源查找表中查詢,以獲得對應之類神經網路分層訊息;根據類神經網路分層訊息執行類神經網路運算模型,並產生第一特徵資料;以及傳送第一特徵資料至至少一第二節點;其中至少一第二節點根據第一特徵資料執行類神經網路運算模型以分析目標影像,以及當至少一第二節點判斷目標影像符合預定條件時,則判定已完成對目標影像之辨識。
根據另一實施例,揭示一種分散式網路運算方法,適用於分散式網路中之複數個運算節點,其中該等運算節點包含至少一第一節點以及至少一第二節點,其中至少一第一節點用以接收一目標影像。至少一第二節點通訊連接至少一第一節點。分散式網路運算方法包含以下步驟:藉由至少一第一節點執行一類神經網路運算模型以分析目標影像;當目標影像分析結果不符合一預定條件時,由至少一第一節點擷取至少一第二節點的動態資源參數;根據動態資源參數於預運算資源查找表中查詢,以於預運算資源查找表中獲得對應之類神經網路分層訊息;根據類神經網路分層訊息執行類神經網路運算模型,並產生第一特徵資料;以及傳送第一特徵資料至至少一第二節點;其中由至少一第二節點根據第一特徵資料執行類神經網路運算模型以分析目標影像,以及當目標影像分析結果符合預定條件時,則判定已完成對目標影像之辨識。
根據另一實施例,揭示一種非暫態電腦可讀
取記錄媒體,儲存有複數個指令,該等指令經組態以由分散式網路中之複數個運算節點之複數個處理器所執行,其中該等運算節點包含至少一第一節點以及至少一第二節點,其中至少一第一節點用以接收目標影像。至少一第二節點通訊連接至少一第一節點,其中當該等指令由該等處理器所執行時,該等處理器執行複數操作,該等操作包含:藉由至少一第一節點執行類神經網路運算模型以分析目標影像;當目標影像不符合預定條件時,由至少一第一節點擷取至少一第二節點的動態資源參數;根據動態資源參數於預運算資源查找表查詢,以於預運算資源查找表中獲得對應之類神經網路分層訊息;根據類神經網路分層訊息產生第一特徵資料;以及傳送第一特徵資料至至少一第二節點;其中由至少一第二節點根據第一特徵資料執行類神經網路運算模型以分析目標影像,以及當至少一第二節點判斷目標影像符合預定條件時,則判定已完成對目標影像之辨識。
為讓本揭示內容之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附符號之說明如下:
100‧‧‧分散式網路運算系統
110‧‧‧第一節點
120-a、120-b‧‧‧第二節點
130‧‧‧第三節點
150‧‧‧預處理裝置
L1~L4‧‧‧連線
S210~S230、S310~S390‧‧‧步驟
以下詳細描述結合隨附圖式閱讀時,將有利於較佳地理解本揭示文件之態樣。應注意,根據說明上實務的需求,圖式中各特徵並不一定按比例繪製。實際上,出於論述清晰之目的,可能任意增加或減小各特徵之尺寸。
第1圖繪示根據本揭示文件一些實施例中一種分
散式網路運算系統之網路拓樸示意圖。
第2圖繪示根據本揭示文件一些實施例中關於預運算資源查找表之建立步驟流程示意圖。
第3圖繪示根據本揭示文件一些實施例中運用於第1圖之分散式網路運算系統之分散式網路運算方法的步驟流程圖。
以下揭示內容提供許多不同實施例或實例,以便實施本發明之不同特徵。下文描述元件及排列之特定實例以簡化本發明。當然,該等實例僅為示例性且並不欲為限制性。舉例而言,以下描述中在第二特徵上方或第二特徵上形成第一特徵可包括以直接接觸形成第一特徵及第二特徵的實施例,且亦可包括可在第一特徵與第二特徵之間形成額外特徵使得第一特徵及特徵可不處於直接接觸的實施例。另外,本發明可在各實例中重複元件符號及/或字母。此重複係出於簡明性及清晰之目的,且本身並不指示所論述之各實施例及/或配置之間的關係。
進一步地,為了便於描述,本文可使用空間相對性術語(諸如「之下」、「下方」、「較低」、「上方」、「較高」及類似者)來描述諸圖中所圖示一個元件或特徵與另一元件(或多個元件)或特徵(或多個特徵)之關係。除了諸圖所描繪之定向外,空間相對性術語意欲
包含使用或操作中裝置之不同定向。設備可經其他方式定向(旋轉90度或處於其他定向上)且因此可同樣解讀本文所使用之空間相對性描述詞。
請參照第1圖,其繪示根據本揭示文件一些實施例中一種分散式網路運算系統100之網路拓樸示意圖。分散式網路運算系統100包含複數個運算節點。如第1圖所示,該等運算節點包含至少一第一節點110、至少一第二節點120-a、第二節點120-b、以及至少一第三節點130。
第一節點110位於分散式網路運算系統100之第一階段。第二節點120-a、第二節點120-b位於分散式網路運算系統100之第二階段。第三節點130位於分散式網路運算系統100之第三階段。至少一第一節點110通訊連接第二節點120-a、第二節點120-b。至少一第二節點120-a、第二節點120-b通訊連接第三節點130。
在一實施例中,分散式網路運算系統100之第一階段運算、第二階段運算以及第三階段運算為在該等運算節點中,資料經過運算處理的階段順序。舉例來說,若資料(例如欲分析的影像)輸入至第一節點110,第一節點110先行運算處理後,輸出處理結果至第二節點120-a和/或第二節點120-b,以此類推,第二節點120-a和/或第二節點120-b與第三節點130依序接續運算處理。在一實施例中,第一節點110輸出到下一階段的是其部分類神經網路運算模型的運算結果(例如計算類神經
網路運算的第1至50層),第二節點120-a和/或第二節點120-b接收第一節點110已運算的層數的輸出結果(例如第50層),之後(例如從第51層開始到第152層)取代為自己的類神經網路運算模型之演算層數來計算即可,而不須重新運算完整的類神經網路(例如從第1層至152層)。因此,分散式網路運算系統100的複數個運算節點可以在大型的運算程序中分擔一部分運算,可以更有效率地運用與配置各個運算節點的資源。
在分散式網路運算系統100中,可根據實際需要而設置更多或更少的階段的運算節點。舉例來說,第一節點110為第一階段運算,第二節點120-a、第二節點120-b為第二階段運算,第三節點130為第三階段運算。若需要將運算程序分工得更精細,可以再從第三階段運算之後新增第四階段運算的第四節點(未繪示)、第五階段運算的節點(未繪示)等。本揭示文件不限於分散式網路運算系統100中複數個運算節點的及其階段數目。以上說明為本揭示文件之簡化摘要,特別是上述所稱運算節點,為邏輯概念上(logically)之節點,不一定是實體上(physically)分開的節點。舉例來說,一個實體的電腦上,可以有複數個虛擬機器(VM,Virtual Machine)。每一個虛擬機器各代表一個運算節點。一般而言,不同的虛擬機器會配置不同的記憶體、磁碟、作業系統等,因此,各虛擬機器的運作效能上也有所不同。
在分散式網路運算系統100中,係使用類神
經網路演算法(Neural Network Algorithm)來分析目標影像中的內容,因此各運算節點具有對應的運算階段。舉例來說,如第1圖所示,第一節點110執行第一階段運算,第一階段運算可以為類神經網路演算法中的粗項分析模型運算。第二節點120-a、第二節點120-b執行第二階段運算,第二階段運算可以為類神經網路演算法中的細項分析模型運算。第三節點130執行第三階段運算,第三階段運算可以為類神經網路演算法中的細細項分類模型運算,以此類推。
前述之粗項分類模型運算、細項分類模型運算、細細項分類模型運算等,係指在執行分散式運算之前,事先訓練來用於影像辨識的模型。在一實施例中,分析模型是透過類神經網路演算法與遷移學習(transfer learning)來達成類神經網路運算模型之訓練。舉例來說,選用深度殘差網路ResNet並使用例如10萬張影像來訓練可以用來辨識交通工具的影像(例如飛機、汽車、機車等)之類神經網路運算模型,而獲得粗項分析模型。接著,基於辨識交通工具影像之模型(粗項分析模型)之前面數個層數(例如1~N層)的資料,在指定層數之後(例如第N+1層)使用例如1萬張影像以及遷移學習,來訓練可以用來辨識汽車(例如轎車、休旅車、箱型車等)之模型(細項分析模型)。接著,基於細項分析模型之前面數個層數(例如N+1~M層)的資料,在指定層數之後(例如第M+1層)使用例如5千張影像來訓練可以用來辨識休旅車
廠牌的影像之模型(細細項分析模型)。以此類推,可依據實際操作或需求而訓練大於或小於三個階段,並且每個階段有對應的類神經網路演算法的分層數。如此,可以減少各階段模型在訓練時所需要的時間以及影像數。
如第1圖所示,預處理裝置150會分析並記錄各階段在運用於影像辨識時的準確度、預估所需之運算量以及所需之特徵資料傳輸量等資訊,如下表一之預運算資源查找表。在實際進行影像辨識時,第一節點110在接收到目標影像後,會依據粗項分類模型運算來分析目標影像,以判斷目標影像的內容是否符合預定條件。若目標影像分析結果不符合預定條件,則第一節點110需要產生第一特徵資料,並傳送至第二節點120-a或第二節點120-b,以供第二節點120-a或第二節點120-b續行影像辨識。舉例來說,若第一節點110運算至第X層並產生第一特徵資料,則代表第二節點120-a或第二節點120-b依據第一特徵資料續行運算的影像辨識準確度為95%,且第二節點120-a或第二節點120-b尚需要的運算量為1511M(mega-flops),以及第一節點110需傳輸至第二節點120的第一特徵資料量為392KB。其中第一特徵資料為第一節點110進行類神經網路運算之運算過程中間,其運算至第X層的產出(output)資料,以供第二節點120-a或第二節點120-b當作進行類神經網路運算之第X+1層的輸入(input)資料,以接續執行第二階段運算。
表一之預運算資源查找表為預處理裝置150在離線狀態(off-line)中訓練影像分析之類神經網路運算模型所獲得。分散式網路運算系統100之複數個運算節點可選擇性通訊連接預處理裝置150(例如在需要資料的時候才向預處理裝置150取得資料)。在複數個運算節點需要預運算資源查找表的資料的時候,向預處理裝置150請求即可。在一些實施例中,複數個運算節點可以各自儲存一份預運算資源查找表,而不須額外向預處理裝置150請求資料。
第2圖繪示根據本揭示文件一些實施例中關於預運算資源查找表之建立步驟流程示意圖。在一實施例中,由第1圖所示之預處理裝置150儲存預運算資源查找表。如第2圖所示,在步驟S210中,選定粗項分析所將採用之類神經網路(例如深度殘差網路ResNet)。在步驟S211中,以複數個第一階訓練影像執行類神經網路演算法之訓練,以建立類神經網路運算模型(影像辨識分析模型)之粗項分析模型。舉例來說,假設類神經網路共有152層(例如深度殘差網路resNet),粗項分析模型的處理
性質為分類是否為交通工具。
接著,在步驟S220中,選定細項分析所將採用之類神經網路(例如深度殘差網路ResNet)。接著,在步驟S221中,執行遷移學習演算法,以在粗項分析模型的基礎上以複數個第二階訓練影像,執行類神經網路演算法之訓練,以建立類神經網路運算模型(影像辨識分析模型)之一個或複數個細項分析模型。舉例來說,細項分析模型的處理性質為分類交通工具中的汽車的類別。以此類推,以上一階級的類神經網路運算模型來產生細細項分析模型等影像細節更多的模型。舉例來說,使用影像來訓練並建立細項分析之類神經網路運算模型時,依據對應於粗項分析模型之一層數X,再利用(re-use)粗項分析模型已建立之前述之層數X層,據以建立細項分析模型。在使用影像來訓練並建立細項分析之類神經網路運算模型時,依據對應於粗項分析模型之一層數Y,再利用(re-use)粗項分析模型已建立之前述之層數Y層,據以建立細項分析模型。使用影像來訓練並建立細項分析之類神經網路運算模型時,依據對應於粗項分析模型之一層數Z,再利用(re-use)粗項分析模型已建立之前述之層數Z層,據以建立細項分析模型,以此類推。而訓練出複數個細項分析之類神經網路運算模型。
在步驟S230中,以一個或複數個事先準備好的測試資料(例如交通工具中的汽車的影像),對於上該建立之一個或複數個細項分析模型進行測試,以預估其
將來在線上(on-line)在進行分析辨識時,所需的資源(例如尚需要之運算量、粗項分析類神經網路分析模型的X層之特徵值資料傳輸量)與分析辨識結果(例如所可以達到之精準度(precision rate)、所可以達到之查全率(recall rate)。接著,對於各層數所需資源和/或分析辨識結果,輸出預運算資源查找表。預運算資源查找表例如前述的表一所示。在一實施例中,預運算資源查找表儲存於第1圖之預處理裝置150。在另一實施例中,該細細項分析之預運算資源查找表可以從第一節點110隨著特徵資料來傳送給下一個節點。類似地,我們可以建立細細項分析(例如汽車中的休旅車)之一個或複數個類神經網路運算模型以及細細項分析所需之預運算資源查找表。在一實施例中,預運算資源查找表儲存於第1圖之預處理裝置150。在另一實施例中,預運算資源查找表可以從第二節點120-a或第二節點120-b隨著特徵資料來傳送給下一個節點130。
請參照第3圖,其繪示根據本揭示文件一些實施例中運用於第1圖之分散式網路運算系統100之分散式網路運算方法的步驟流程圖。在一實施例中,分散式網路運算系統100執行第3圖之分散式網路運算方法,來對至少一目標影像執行影像辨識,以判斷目標影像應屬於何種類別或是何種影像。
如第3圖所示,在步驟S310中,至少一第一節點110接收欲進行分析的目標影像。第一節點110對目
標影像執行類神經網路運算模型,例如粗項分析模型,以辨識目標影像的內容是否符合預定條件。舉例來說,以預定條件為汽車的車型是運動型休旅車(Sport Utility Vehicle,SUV)作為說明,當第一節點110僅能判斷目標影像的內容是屬於交通工具,則必須透過後續的第二節點120-a或第二節點120-b來更進一步辨識目標影像的內容是否為交通工具中的汽車和/或第三節點130來更進一步辨識目標影像的內容是否為汽車中的運動型休旅車。
當第一節點110僅能判斷目標影像的內容屬於交通工具時,則第一節點110必須將影像辨識的任務交給下一個節點。在一實施例中,第一節點110對後續的影像辨識任務有設定條件(例如第二節點120-a和/或第二節點120-b執行的影像辨識需要在一定的準確度以上,或者是準確度要求較低但需要較快完成類神經網路運算模型以獲得結果)。第一節點110會擷取至少一第二節點120-a和第二節點120-b的動態資源參數,並根據第二節點120-a和第二節點120-b的資源或處理能力等資訊,和/或前述的設定條件,來決定執行類神經網路演算法的階層數。舉例來說,如下表二所示,第一節點110取得第二節點120-a的當前處理器使用率為70%,代表第二節點120-a目前處於略為忙碌狀態。而第二節點120-b當前處理器的使用率只有40%,表示還可以接受更多工作。另一方面,第二節點120-a與第二節點120-b分別與第一節點110之連線(如第1圖所示之連線L1、連線L2、連線L3
與連線L4)中,第二節點120-b之網路介面的當前之網路效能,在連線L3只有10Mbps而連線,其網路效能較低,而第二節點-b之網路介面的當前之網路效能,在連線-L4有35Mbps,其網路效能較為充足。
接著,在步驟S320中,第一節點110根據動態資源參數,於預運算資源查找表中查詢,以於預運算資源查找表中獲得對應之類神經網路運算模型與類神經網路分層訊息。如上表一所示,由於第二節點120-b目前處於不忙碌狀態且其連線L4網路效能充足,因此第一節點110選擇執行至層數X,如此可獲致較高之準確度(95%),但會對應至較高的運算量(1511M),並產生較大的需傳輸至第二節點120-b之特徵資料量(392KB),並透過傳輸界面連線L4傳輸到第二節點120-b繼續作類神經網路之細項分析。
在一實施例中,第一節點110對於設定條件,在預運算資源查找表中查詢最適合該設定條件的運算資源。另一方面,第一節點110獲得運算資源之後,查詢至少一第二節點120-a和第二節點120-b的動態資源參數,從至少一第二節點120-a和第二節點120-b當中決定最適合執行的類神經網路運算模型的運算節點與網路連線介面。因此,第一節點110可從預運算資源查找表中獲得類神經網路運算模型與類神經網路分層訊息以及最適合執行的第二節點120-a或第二節點120-b與最適合執行的網路連線介面。
在一實施例中,第一節點110可使用以下計算方式,以動態資源參數的數值來對照預運算資源查找表中的參數,來獲得最適合的類神經網路運算模型與類神經網路分層訊息:根據預運算資源查找表中的傳輸量資訊(例如表一中的特徵資料傳輸量)以及動態資源參數的網路效能參數(例如表二中的當前網路效能),以計算第一參考值。舉例來說,計算傳輸量資訊除以網路效能,獲得第一參考值,並設定此參考值的權重(weighting)(例如為0.5)。
根據預運算資源查找表中的運算量資訊(例如表一中的預估尚需要之運算量)以及動態資源參數的處理器效能參數(例如處理器運算能力x(1-當前處理器使用率)),以計算第二參考值。舉例來說,計算運算量
資訊除以處理器效能參數,獲得第二參考值,並設定此參考值的權重(weighting)(例如為0.3)。
根據預運算資源查找表中的傳輸量資訊以及動態資源參數的儲存空間參數(例如表二中的當前儲存空間可用量),以計算第三參考值。舉例來說,計算傳輸量資訊除以當前可用儲存空間量參數,獲得第三參考值,並設定此參考值的權重(weighting)(例如為0.2)。
從預運算資源查找表中查尋準確度參數,獲得第四參考值,並設定此參考值必須至少大於一定門檻值(如85%)。
在滿足第四參考值大於一定門檻值之條件下,計算前述第一參數至第三參數加權後之總和,以決定最適合的第二節點-a或第二節點120-b以及其網路連線介面以及細項分析該使用之類神經網路運算模型以及該類神經網路運算模型之分層數(即,需要從第幾層接下去執行)。值得一提的是,前述第一參數至第三參數可先做正規化(normalization)處理,使得各參數的數值標準化後,再對此些參數進行加權。
接著,在步驟S330中,第一節點110以類神經網路來分析目標影像,並根據分層訊息產生第一特徵資料。在一實施例中,第一節點110執行粗項分析模型,粗項分析模型可以解析影像內容是否為交通工具。接著,第一節點110係依據類神經網路分層訊息所指示的層數,來輸出第一特徵資料。舉例來說,第一節點110對目
標影像執行粗項分析模型且輸出執行至類神經網路演算之第50層的產出(output)資料,作為第一特徵資料輸出。
在步驟S340中,第一節點110傳送第一特徵資料至至少一第二節點120-a或第二節點120-b,由第二節點120-a或第二節點120-b根據第一特徵資料執行類神經網路運算模型,以分析目標影像。在一實施例中,第二節點120-b執行細項分析模型之運算。細項分析模型可以解析影像內容是否為交通工具中的汽車。由於第二節點120-b已有第一特徵資料,第一特徵資料代表粗項分析模型的前面數層(例如1~50層)類神經網路運算的結果,因此第二節點120-b只需要以第一特徵資料為輸入(input)資料來接著繼續執行細項分析模型運算的後面層數(例如51層之後),而可節省執行類神經網路運算的運算量(即節省了第1層至第51層之運算量)。
接著,在步驟S350中,第二節點120-b判斷目標影像分析結果是否符合預定條件。若分析出來的目標影像的內容符合預定條件,則在步驟S352中,判定已完成目標影像之辨識程序。舉例來說,預定條件為汽車,且第二節點120-b辨識目標影像的結果為汽車,則完成影像辨識程序。
若目標影像的內容不符合預定條件時,則第二節點120-b需要將辨識目標影像的內容之任務交給下一個節點。在步驟S360中,第二節點120-b擷取至少一第
三節點130之動態資源參數,並根據所取得之動態資源參數來查詢預運算資源查找表,與於預算資源查找表中獲得對應之類神經網路運算模型與類神經網路分層訊息。
在步驟S370中,第二節點120-b根據類神經網路分層訊息來產生第二特徵資料。舉例來說,類神經網路分層訊息指示的層數為第100層,則第二節點120-b執行細項分析模型,並輸出第100層的產出(output)資料,作為第二特徵資料。接著,第二節點120-b傳送第二特徵資料至第三節點130。
在步驟S380中,第三節點130根據第二特徵資料執行類神經網路運算模型,以分析目標影像。在一實施例中,第三節點130執行細細項分析模型之運算。細細項分析模型可以解析影像內容是否為汽車中的哪一類車型(例如SUV、mini-VAN、Jeep、超跑等)。相似地,經過細項分析模型運算後,第二特徵資料為類神經網路運算模型在某個層數(例如100層)的輸出資料。因此第三節點130只需要以第二特徵資料來執行細細項分類模型運算的後面層數(例如101層之後),而可節省執行類神經網路運算的運算量(即節省了第1層至第100層之運算量)。
換言之,藉由第一特徵資料,使得第二節點120-b以第一節點110的類神經網路運算模型的前面部分層數的運算結果輸出之資料,而將類神經網路運算模型
的後面層數取代為第二節點120-b自己的類神經網路運算模型的後面層數資料,繼續進行運算,以及,藉由第二特徵資料,使得第三節點130取第二節點120-b的類神經網路運算模型的前面部分層數的運算結果輸出之資料,而將類神經網路的後面層數取代為第三節點130自己的資料,繼續進行運算。如此,可以根據每個階段的運算節點的當下狀況以及設定條件(例如準確度或運算量),來動態地決定下一階段的運算節點以及其網路連線介面以及該使用之類神經網路運算模型以及該類神經網路運算模型需要取代的類神經網路運算模型之層數。
在步驟S380中,第三節點130根據第二特徵資料執行類神經網路運算模型,以分析目標影像。
在步驟S390中,第三節點130判斷目標影像若符合預定條件,則判定已完成辨識目標影像之程序。舉例來說,以預定條件是吉普車為例,若第三節點130辨識目標影像的結果為吉普車,則完成目標影像之辨識程序。
在前述以動態資源參數的數值來對照預運算資源查找表中的參數,來獲得最適合的類神經網路分層訊息的步驟中,舉例來說,第一節點110根據動態資源參數與預運算資源查找表而決定出類神經網路分層訊息。由於本揭示文件的分散式網路運算方法是根據下一個節點(例如第二節點120-a和第二節點120-b)的情況來決定目前節點(例如第一節點110)要輸出的特徵資料,此
特徵資料對應類神經網路運算模型的層數,而影響下一個節點取代掉的運算層數(或者說是尚需運算的層數)。因此,若目前節點輸出的特徵資料帶有較多的層數,使下一個節點取代掉的層數較多(例如在總層數為100層,前一節點輸出第1~60層,則下一節點取代前面60層,即只需運算後面40層。若前一節點輸出第1~80層,則下一節點取代前面80層,即只需運算後面20層),因此下一個節點需執行的運算較少。然而,一般而言,由於下一個節點的類神經網路運算模型係沿用前一個節點的類神經網路運算模型的特徵資料來運算,由於前一類神經網路運算模型的影像辨識細節不如下一類神經網路運算模型的影像辨識細節,取代層數較多之影像辨識結果的準確度,會相較於取代層數較少之影像辨識結果的準確度為低,相對地,由於取代層數較多,而可降低辨識影像所需要的時間與需要用到的運算資源。如此一來,可依據實際的需求,決定要取代的層數多寡,例如需要較精準的影像辨識,則提升取代層數;需要快速地完成影像辨識,則降低取得層數。
在一實施例中,第3圖之分散式網路運算方法可運用於商場的廣告電視牆。舉例來說,在商場中設置攝影機(未繪示),並擷取周遭環境。由於攝影機可能會擷取到人類、寵物、貨櫃或其他物件,首先,先以第一階段的影像辨識來判斷目標影像中的內容是否為人類、寵物、貨櫃或其他物件,可以較為快速地完成,因
此可以很快地過濾目標影像是否為推播廣告的對象。若判斷為目標影像中的內容為人類,則繼續以第二階段的影像辨識來判斷目標影像中的內容為人類中的何種性別。在執行第二階段運算時,可依據第1圖之分散式網路運算系統100中的第二節點120-a和第二節點120-b之目前資源使用狀況來決定需要運算的層數。舉例來說,若判斷目標影像中的內容為男性,則完成目標影像之辨識(即確認男性,而男性非該商場目前設定之目標客群)。若判斷目標影像中的內容為女性,則繼續以第三階段的影像辨識來判斷目標影像中的內容為女性的何種年齡層。在執行第三階段運算時,可依據第1圖之分散式網路運算系統100中的第三節點130之目前資源使用狀況來決定需要運算的層數,詳細內容如前述。若判斷目標影像中的內容為女性的25~45年齡層,則目前站在商場的使用者符合推播廣告的對象,則在商場中的電視牆、揚聲器等電子器材發出廣告訊息。
綜上所述,本揭示文件之分散式網路運算系統100以及分散式網路運算方法,進一步考量網路中的下一節點的目前狀態,來決定執行的類神經網路的層數,藉以最佳化整體分散式網路運算系統100之資源使用。舉例來說,若下一節點的網路狀態不佳(例如佇列網路封包太多)但運算資源充裕(處理器沒有執行任務而處於空閒狀態),則目前節點可以依據預運算資源查找表選擇較會產出較小的特徵資料傳輸量的層數,即使這可能
會搭配較大的預估運算量。一來可以避免下一節點因為頻寬不足而遲遲接收不到完整的特徵資料,延容影像辨識程序,二來可以讓下一節點執行較多層數的運算,充分運用下一節點的運算資源。在另一範例中,亦可根據影像辨識的準確度來決定下一節點要執行運算的層數。因為一般而言取代的層數越大準確度會越低,若下一節點可以執行較多的運算量,則目前節點可以選擇輸出較低的層數的特徵值給下一節點來分析目標影像,反之亦然。如此,本揭示文件之分散式網路運算系統100及分散式網路運算方法可以依據運算的類神經網路之特性,提供彈性的分散式運算之運算資源之分配。
上文概述若干實施例之特徵,使得熟習此項技術者可更好地理解本發明之態樣。熟習此項技術者應瞭解,可輕易使用本發明作為設計或修改其他製程及結構的基礎,以便實施本文所介紹之實施例的相同目的及/或實現相同優勢。熟習此項技術者亦應認識到,此類等效結構並未脫離本發明之精神及範疇,且可在不脫離本發明之精神及範疇的情況下產生本文的各種變化、替代及更改。
100‧‧‧分散式網路運算系統
110‧‧‧第一節點
120-a、120-b‧‧‧第二節點
130‧‧‧第三節點
150‧‧‧預處理裝置
L1~L4‧‧‧連線
Claims (15)
- 一種分散式網路運算系統,包含複數個運算節點,其中該等運算節點包含:至少一第一節點,用以接收一目標影像;以及至少一第二節點,通訊連接該至少一第一節點,其中該至少一第一節點執行一類神經網路運算模型以分析該目標影像,當該至少一第一節點判斷該目標影像不符合一預定條件時,該至少一第一節點用以:擷取該至少一第二節點的一動態資源參數;根據該動態資源參數於一預運算資源查找表中查詢,以獲得對應之一類神經網路分層訊息;根據該類神經網路分層訊息產生一第一特徵資料;以及傳送該第一特徵資料至該至少一第二節點;其中該至少一第二節點根據該第一特徵資料執行該類神經網路運算模型以分析該目標影像,以及當該至少一第二節點判斷該目標影像符合該預定條件時,則判定已完成對該目標影像之辨識。
- 如請求項1所述之分散式網路運算系統,其中該等運算節點還包含至少一第三節點,通訊連接該至少一第二節點,該至少一第二節點判斷該目標影像不符合該預定條件時,該至少一第二節點用以:擷取該至少一第三節點的該動態資源參數; 根據該第三節點的該動態資源參數於該預運算資源查找表中查詢,以獲得對應之該類神經網路分層訊息;以及根據該類神經網路分層訊息產生一第二特徵資料。
- 如請求項2所述之分散式網路運算系統,其中該至少一第二節點傳送該第二特徵資料至該至少一第三節點,該至少一第三節點根據該第二特徵資料執行該類神經網路運算模型以分析該目標影像,當該目標影像符合該預定條件時,則該至少一第三節點判定已完成對該目標影像之辨識。
- 如請求項3所述之分散式網路運算系統,還包含一預處理裝置,該預處理裝置通訊連接於該等運算節點,該預處理裝置用以對複數個第一階訓練影像執行一類神經網路演算法(Neural Network Algorithm)之訓練,以建立該類神經網路運算模型之一粗項分析模型,以及執行一遷移學習(transfer learning),以在該粗項分析模型的基礎上,用以對複數個第二階訓練影像,執行一類神經網路演算法(Neural Network Algorithm)之訓練,以建立該類神經網路運算模型之一或複數個細項分析模型,其中該至少一第一節點執行該類神經網路運算模型的該粗項分析模型以辨識該目標影像,以及該 至少一第二節點執行該類神經網路運算模型的該細項分析模型以辨識該目標影像。
- 如請求項4所述之分散式網路運算系統,其中該類神經網路運算模型具有該類神經網路演算法的複數個層(Layer),該預處理裝置還用以:根據該動態資源參數,於該預運算資源查找表中查詢,以獲得對應至該動態資源參數之該分層訊息;以及提供該分層訊息所指示的該等層之一層數至該等運算節點,以供該等運算節點從該層數之後執行該模型運算之該細項分類模型,其中該預運算資源查找表包含一準確度資訊、一運算量資訊、一傳輸量資訊、以及召回率(recall rate)中至少一者。
- 如請求項5所述之分散式網路運算系統,其中該動態資源參數包含一網路效能參數、一處理器效能參數、一記憶體參數、一儲存空間參數中至少一者。
- 如請求項6所述之分散式網路運算系統,其中該等運算節點根據該傳輸量資訊以及該網路效能參數以計算一第一參考值、根據該運算量資訊以及該處理器效能參數以計算一第二參考值、根據該傳輸量資訊以及該儲存空間參數以計算一第三參考值,以及根據 該第一參考值、該第二參考值以及該第三參考值中之至少一者,以獲得該預運算資源查找表中之該分層訊息。
- 一種分散式網路運算方法,適用於一分散式網路中之複數個運算節點,其中該等運算節點包含至少一第一節點以及至少一第二節點,其中該至少一第一節點用以接收一目標影像,以及該至少一第二節點通訊連接該至少一第一節點,該分散式網路運算方法包含:藉由該至少一第一節點執行一類神經網路運算模型以分析該目標影像;當該目標影像不符合一預定條件時,由該至少一第一節點擷取該至少一第二節點的一動態資源參數;根據該動態資源參數於一預運算資源查找表中查詢,以於該預運算資源查找表中獲得對應之一分層訊息;根據該分層訊息產生一第一特徵資料;以及傳送該第一特徵資料至該至少一第二節點;其中由該至少一第二節點根據該第一特徵資料執行該類神經網路運算模型以分析該目標影像,以及當該目標影像符合該預定條件時,則判定已完成對該目標影像之辨識。
- 如請求項8所述之分散式網路運算方 法,其中該等運算節點還包含至少一第三節點,通訊連接該至少一第二節點,當該至少一第二節點判斷該目標影像不符合該預定條件時,該方法還包含:藉由該至少一第二節點擷取該至少一第三節點的該動態資源參數;根據該第三節點的該動態資源參數查詢該預運算資源查找表,以獲得對應之該分層訊息;以及根據該分層訊息產生一第二特徵資料。
- 如請求項9所述之分散式網路運算方法,還包含:傳送該第二特徵資料至該至少一第三節點;藉由該至少一第三節點根據該第二特徵資料執行該類神經網路運算模型以分析該目標影像;以及當該目標影像符合該預定條件時,則判定已完成對該目標影像之辨識。
- 如請求項10所述之分散式網路運算方法,還包含:對複數個第一階訓練影像執行一類神經網路演算法,以建立該類神經網路運算模型之一粗項分類模型;以及執行一遷移學習,以在該粗項分類模型的基礎上對複數個第二階訓練影像,執行一類神經網路演算法,以 建立該該類神經網路運算模型之一或複數個細項分類模型;其中由該至少一第一節點執行該類神經網路運算模型的該粗項分類模型以辨識該目標影像,以及由該至少一第二節點執行該類神經網路運算模型的該細項分類模型以辨識該目標影像。
- 如請求項11所述之分散式網路運算方法,其中該類神經網路運算模型具有該類神經網路演算法的複數個層(Layer),該方法還包含:根據該動態資源參數,於該預運算資源查找表中查詢,以獲得對應至該動態資源參數之該分層訊息;以及提供該分層訊息所指示的該等層之一層數至該等運算節點,以供該等運算節點從該層數之後執行該模型運算之該細項分類模型,其中該預運算資源查找表包含一準確度資訊、一運算量資訊、一傳輸量資訊、以及查全率中至少一者。
- 如請求項12所述之分散式網路運算方法,其中該動態資源參數包含一網路效能參數、一處理器效能參數、一記憶體參數、一儲存空間參數中至少一者。
- 如請求項13所述之分散式網路運算 方法,其中獲得對應之該分層訊息的步驟還包含:根據該傳輸量資訊以及該網路效能參數,計算一第一參考值;根據該運算量資訊以及該處理器效能參數,計算一第二參考值;根據該傳輸量資訊以及該儲存空間參數,計算一第三參考值;以及根據該第一參考值、該第二參考值以及該第三參考值中之至少一者,以獲得該預運算資源查找表中之該分層訊息。
- 一種非暫態電腦可讀取記錄媒體,儲存有複數個指令,該等指令經組態以由一分散式網路中之複數個運算節點之複數個處理器所執行,其中該等運算節點包含至少一第一節點以及至少一第二節點,其中該至少一第一節點用以接收一目標影像,以及該至少一第二節點通訊連接該至少一第一節點,其中當該等指令由該等處理器所執行時,該等處理器執行複數操作,該等操作包含:藉由該至少一第一節點執行一類神經網路運算模型以分析該目標影像;當該目標影像不符合一預定條件時,由該至少一第一節點擷取該至少一第二節點的一動態資源參數;根據該動態資源參數於一預運算資源查找表查詢, 以於該預運算資源查找表中獲得對應之一分層訊息;根據該分層訊息產生一第一特徵資料;以及傳送該第一特徵資料至該至少一第二節點;其中由該至少一第二節點根據該第一特徵資料執行該類神經網路運算模型以分析該目標影像,以及當該至少一第二節點判斷該目標影像符合該預定條件時,則判定已完成對該目標影像之辨識。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107139946A TW202018596A (zh) | 2018-11-09 | 2018-11-09 | 分散式網路運算系統、分散式網路運算方法以及非暫態電腦可讀取記錄媒體 |
CN201811437999.0A CN111178493A (zh) | 2018-11-09 | 2018-11-27 | 分散式网络运算系统、方法及非暂态计算机可读取记录媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107139946A TW202018596A (zh) | 2018-11-09 | 2018-11-09 | 分散式網路運算系統、分散式網路運算方法以及非暫態電腦可讀取記錄媒體 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202018596A true TW202018596A (zh) | 2020-05-16 |
Family
ID=70655317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107139946A TW202018596A (zh) | 2018-11-09 | 2018-11-09 | 分散式網路運算系統、分散式網路運算方法以及非暫態電腦可讀取記錄媒體 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111178493A (zh) |
TW (1) | TW202018596A (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982349B (zh) * | 2012-11-09 | 2016-12-07 | 深圳市捷顺科技实业股份有限公司 | 一种图像识别方法及装置 |
US20150242741A1 (en) * | 2014-02-21 | 2015-08-27 | Qualcomm Incorporated | In situ neural network co-processing |
CN106257424B (zh) * | 2016-06-16 | 2019-03-22 | 山东大学 | 一种基于kvm云平台的分布式数据库系统实现自动伸缩负载均衡的方法 |
US20180075347A1 (en) * | 2016-09-15 | 2018-03-15 | Microsoft Technology Licensing, Llc | Efficient training of neural networks |
US10409614B2 (en) * | 2017-04-24 | 2019-09-10 | Intel Corporation | Instructions having support for floating point and integer data types in the same register |
CN108255605B (zh) * | 2017-12-29 | 2020-12-04 | 北京邮电大学 | 一种基于神经网络的图像识别协同计算方法及系统 |
-
2018
- 2018-11-09 TW TW107139946A patent/TW202018596A/zh unknown
- 2018-11-27 CN CN201811437999.0A patent/CN111178493A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN111178493A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11741361B2 (en) | Machine learning-based network model building method and apparatus | |
US11907810B2 (en) | Concurrent optimization of machine learning model performance | |
US20160328644A1 (en) | Adaptive selection of artificial neural networks | |
US9875294B2 (en) | Method and apparatus for classifying object based on social networking service, and storage medium | |
CN105512679A (zh) | 一种基于极限学习机的零样本分类方法 | |
WO2018040387A1 (zh) | 基于支持向量数据描述的特征提取及分类方法及其系统 | |
KR20180048930A (ko) | 분류를 위한 강제된 희소성 | |
CN115186821B (zh) | 面向芯粒的神经网络推理开销估计方法及装置、电子设备 | |
US10732694B2 (en) | Power state control of a mobile device | |
US11568212B2 (en) | Techniques for understanding how trained neural networks operate | |
CN113496247A (zh) | 估计生成对抗网络的隐含似然 | |
WO2022227217A1 (zh) | 文本分类模型的训练方法、装置、设备及可读存储介质 | |
CN111860801A (zh) | 神经网络方法、神经网络系统和计算机可读介质 | |
US11556798B2 (en) | Optimizing machine learning model performance | |
TW202018596A (zh) | 分散式網路運算系統、分散式網路運算方法以及非暫態電腦可讀取記錄媒體 | |
JP2019028484A (ja) | 属性識別装置、属性識別モデル学習装置、方法、及びプログラム | |
CN116127400A (zh) | 基于异构计算的敏感数据识别系统、方法及存储介质 | |
CN116739649A (zh) | 一种用户响应潜力评估方法和装置 | |
WO2022249518A1 (ja) | 情報処理装置、情報処理方法、情報処理プログラム、及び学習モデル生成装置 | |
CN113887129A (zh) | 目标场景生成方法、装置、服务器和存储介质 | |
CN106331680A (zh) | 一种手机端2d转3d自适应云卸载方法和系统 | |
CN113949633A (zh) | 基于机器学习的5g网络切片容灾池资源管理方法及装置 | |
CN112860531A (zh) | 基于深度异构图神经网络的区块链广泛共识性能评测方法 | |
CN113850028B (zh) | 基于堆叠异构残差网络的换流阀冷却方式分类方法及装置 | |
US20220245469A1 (en) | Decision Making Using Integrated Machine Learning Models and Knowledge Graphs |