TWI777262B - 機器學習系統及機器學習方法 - Google Patents
機器學習系統及機器學習方法 Download PDFInfo
- Publication number
- TWI777262B TWI777262B TW109134256A TW109134256A TWI777262B TW I777262 B TWI777262 B TW I777262B TW 109134256 A TW109134256 A TW 109134256A TW 109134256 A TW109134256 A TW 109134256A TW I777262 B TWI777262 B TW I777262B
- Authority
- TW
- Taiwan
- Prior art keywords
- central
- training
- central device
- training result
- client
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Feedback Control In General (AREA)
- Numerical Control (AREA)
Abstract
一種機器學習系統,包含一中央裝置和多個客戶端裝置。多個客戶端裝置分別自中央裝置接收一中央模型,且包含第一及第二客戶端裝置。第一及第二客戶端裝置分別儲存第一及第二參數集,並分別根據第一及第二參數集對接收到的中央模型進行訓練以產生第一及第二訓練結果。在中央裝置已接收到對應第一客戶端裝置的一第m回合訓練的第一訓練結果而未接收到對應第二客戶端的第n回合訓練的第二訓練結果的情況下,當m-n不大於一閾值,中央裝置以對應第m回合訓練的第一訓練結果而不以對應第n回合訓練的第二訓練結果更新中央模型。
Description
本案係有關於一種機器學習系統及機器學習方法,且特別是有關於一種聯邦式的機器學習系統及機器學習方法。
近年來,受到各國重視資料隱私權的影響,需要將訓練數據集中在一台機器或數據中心之傳統的機器學習方法,面臨了數據蒐集的挑戰,使得可以在各自設備中訓練模型的聯邦學習(federated learning)逐漸成為趨勢。
然而,在聯邦學習的訓練過程中,各個客戶端裝置的設備規格良莠不齊,容易產生網絡延宕及客戶端中途退出等問題,進而造成訓練速度及穩定度降低等負面影響。
為了解決上述問題,本揭露的一種態樣係關於一種機器學習系統,包含一中央裝置和多個客戶端裝置。中央裝置用以儲存一中央模型,且用以一或多次更新中央模型。多個客戶端裝置用以通訊耦接中央裝置以接收中央模型,且包含一第一客戶端裝置及一第二客戶端裝置。第一客戶端裝置儲存一第一參數集,且用以根據第一參數集對接收到的中央模型進行訓練以產生一第一訓練結果。第二客戶端裝置儲存一第二參數集,且用以根據第二參數集對接收到的中央模型進行訓練以產生一第二訓練結果。其中當中央裝置接收到第一客戶端裝置的對應一第m回合訓練的第一訓練結果而未接收到第二客戶端裝置的對應一第n回合訓練的第二訓練結果的情況下,當m-n不大於一閾值,中央裝置以對應第m回合訓練的第一訓練結果更新中央模型,而不以對應第n回合訓練的第二訓練結果更新中央模型,m和n為正整數且m大於n。
本揭露的另一種態樣係關於一種機器學習系統,包含一中央裝置和多個客戶端裝置。中央裝置用以儲存並多次更新一中央模型。多個客戶端裝置用以通訊耦接中央裝置以接收中央模型,其中被選擇客戶端裝置每一者用以根據多個參數集中對應一者,對接收到的該中央模型進行訓練以產生一訓練結果。其中中央裝置儲存有分別對應該些客戶端裝置的多個回合值,當中央裝置接收到客戶端裝置的其中之一的訓練結果時,中央裝置更新回合值中的對應一者。其中於一第i次更新中,當回合值中最大者和最小者的差值不大於一閾值且中央裝置未接收到對應於回合值中最小者的客戶端裝置中的一者傳送的訓練結果時,中央裝置依據第i次更新中已接收到的訓練結果更新中央模型,其中i為正整數。
本揭露的另一種態樣係關於一種機器學習方法,包含以下步驟。藉由一中央裝置傳送一中央模型至多個客戶端裝置,其中中央裝置用於儲存並一或多次更新中央模型。多客戶端裝置中每一者根據對應的一參數集訓練中央模型以產生一訓練結果,其中中央裝置儲存有分別對應多個客戶端裝置的多個回合值,當中央裝置接收到多個被選擇個客戶端裝置的其中之一的訓練結果時,中央裝置更新多個回合值中的對應一者。於一第i次更新中,當該中央裝置未接收到對應於該些回合值中最小者的該些客戶端裝置中的一者傳送的該訓練結果且該些回合值中最大者與最小者的差值不大於該閾值時,該中央裝置根據該第i次更新中已接收到的訓練結果更新該中央模型,其中i為正整數。
本文所使用的所有詞彙具有其通常的意涵。上述之詞彙在普遍常用之字典中之定義,在本說明書的內容中包含任一於此討論的詞彙之使用例子僅為示例,不應限制到本揭露內容之範圍與意涵。同樣地,本揭露亦不僅以於此說明書所示出的各種實施例為限。
關於本文中所使用之「耦接」或「連接」,均可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,亦可指二或多個元件相互操作或動作。
本案說明書和圖式中使用的元件編號和訊號編號中的索引1~k,只是為了方便指稱個別的元件和訊號,並非有意將前述元件和訊號的數量侷限在特定數目。在本案說明書和圖式中,若使用某一元件編號或訊號編號時沒有指明該元件編號或訊號編號的索引,則代表該元件編號或訊號編號是指稱所屬元件群組或訊號群組中不特定的任一元件或訊號。例如,元件編號1201指稱的對象是客戶端裝置1201,而元件編號120指稱的對象則是客戶端裝置1201~120k中不特定的任意客戶端裝置。
請參照第1圖,第1圖為根據本揭露一些實施例所繪示的機器學習系統100的示意圖。如第1圖所示,機器學習系統100包含一中央裝置110以及客戶端裝置1201~120k。中央裝置110經由網際網路或其他網路分別通訊耦接至客戶端裝置1201~120k。
在一些實施例中,中央裝置110包含中央儲存單元STR,其中中央儲存單元STR用以儲存客戶端清單111,且客戶端清單111用於記錄當前連線至中央裝置110的客戶端裝置1201~120k。當有額外的客戶端裝置120新增連線至中央裝置110或是既有的客戶端裝置120與中央裝置110解除連線時,中央裝置110會對應地於客戶端清單111當中新增或移除此客戶端裝置120對應的識別符(identification,簡稱ID)。
在一些實施例中,中央儲存單元STR更用以儲存一工作清單112。中央裝置110可以自客戶端清單111中選擇部分或全部的客戶端裝置120,並將這些被選擇的客戶端裝置120的識別符與權重值記錄於工作清單112,以利用這些被選擇的客戶端裝置120進行預定回合(例如:30個回合)訓練,並在每次訓練中產生用於傳送至中央裝置110的訓練結果122。實作上,訓練結果122 可以是模型、函數、參數等各種形式可用於更新中央裝置110之中央模型CM的資訊呈現。亦即,中央裝置110會利用工作清單112中的客戶端裝置120進行聯邦式機器學習(federated machine learning)。舉例而言,在客戶端裝置1201~120k連線至中央裝置110並被建立至客戶端清單111中後,中央裝置110可以自客戶端清單111中選擇客戶端裝置1201、1202及1203參與訓練,並建立包含分別對應於客戶端裝置1201、1202及1203的識別符ID1~ID3與權重群組WG的工作清單112。在一些實施例中,中央裝置110根據客戶端裝置1201~120k所包含的參數集1211~121k和資源使用情況等條件,從客戶端清單111選擇進入工作清單112的客戶端裝置120。需要注意的是,為簡化說明,工作清單112中包含的被選擇客戶端裝置120及其數量僅為示例性實施例,本揭露並不以此為限。
在一些實施例中,中央裝置110亦可以不經選擇而將所有連線的客戶端裝置1201~120k納入工作清單112,以利用當前所有連線的客戶端裝置1201~120k進行後續流程及作動。
在一些實施例中,工作清單112中的每個識別符ID進一步對應於一回合值及一時間戳記。舉例而言,如第1圖所示,客戶端裝置1201對應於識別符ID1,且識別符ID1對應於回合值r1以及時間戳記t1,客戶端裝置1202對應於識別符ID2,且識別符ID2對應於回合值r2以及時間戳記t2,以此類推。在一些實施例中,權重群組WG包含對應於各個識別符ID的權重值。舉例而言,當工作清單112中包含分別對應於識別符ID1~ID3的三個客戶端裝置時,權重群組WG可以包含分別對應識別符ID1~ID3的三個權重值w1~w3。亦即,中央裝置110可以為被選入工作清單112的每個客戶端裝置120設置一權重值。在一些實施例中,回合值r1~r3和時間戳記t1~t3皆為正整數。在另一些實施例中,權重群組WG中的權重值w1~w3的總和為100%。
在一些實施例中,中央儲存單元STR更用以儲存一中央模型CM。在當中央裝置110將工作清單112建立完成後,於每一訓練時期(training epoch)中央裝置110可以將中央模型CM傳送至欲執行聯邦式機器學習的客戶端裝置120(即:工作清單112中的所有客戶端裝置120),並藉由這些客戶端裝置120利用各自包含的參數集121對接收到的中央模型CM進行訓練,以產生複數訓練回合(training round)的訓練結果122。詳細而言,客戶端裝置1201在接收到中央模型CM後,會利用參數集1211對中央模型CM進行訓練,以產生訓練結果1221;類似地,客戶端裝置1202在接收到中央模型CM後,會利用參數集1212對中央模型CM進行訓練,以產生訓練結果1222,以此類推,客戶端裝置1203在接收到中央模型CM後,會利用參數集1213對中央模型CM進行訓練,以產生訓練結果1223。需要注意的是,客戶端裝置120可以利用參數集121對中央模型CM進行機器學習、深度學習等不同的運算或訓練,本揭露並不以此為限。另外,未被選入工作清單112的客戶端裝置120(例如客戶端裝置1204~120k)不會參與中央模型CM之訓練,因而也不會回傳訓練結果給中央裝置110。
在一些實施例中,受到參數集121之數量或大小以及硬體設備等因素影響,客戶端裝置120的訓練速度會有所不同,傳送訓練結果122的時間點也會有所不同。因此,在一些實施例中,中央裝置110可以在收到至少部份的訓練結果122後,即利用接收到的訓練結果122更新儲存在中央裝置110中的中央模型CM以提升訓練效率。換句話說,中央裝置110可以在每次收到來自工作清單112中任一客戶端裝置120傳送的訓練結果122時,即對儲存在中央裝置110中的中央模型CM進行一次更新,亦可以在收到一預定數量的訓練結果122後,才對儲存在中央裝置110中的中央模型CM進行一次更新。
此時,可以在中央裝置110中設定一個閾值(例如:10),此閾值用於限制工作清單112中的客戶端裝置120彼此之間的訓練回合差異上限,以避免客戶端裝置120彼此之間的訓練回合差異過大,進而避免中央裝置110中的中央模型CM受特定的客戶端裝置120影響過大而造成不準確的更新結果。其中,訓練回合差異係指回合值(訓練次數)的差。
舉例而言,在中央裝置110對中央模型CM進行某次更新的過程中,若客戶端裝置1201已完成第r1回合訓練並將對應於第r1回合訓練的訓練結果1221傳送至中央裝置110,但中央裝置110經過一固定時間長度尚未接收到客戶端裝置1202對應第r2回合訓練的訓練結果1222的情況下,工作清單112中會記錄分別對應於客戶端裝置1201和1202的回合值r1和r2-1。此時,若回合值為r1和r2-1分別為各識別符ID中回合值最高和最低者,且若回合值r1和r2-1的差值不大於上述閾值,則中央裝置110可不必等待客戶端裝置1202傳送對應第r2回合訓練的訓練結果1222,而可以直接利用於該次更新的過程中已經接收到的訓練結果122更新中央模型CM。
相對地,在上述情況中,若回合值r1和r2-1分別為各識別符ID中回合值最高和最低者,且若回合值r1和r2-1的差值大於上述閾值,則中央裝置110需等待客戶端裝置1202傳送對應第r2回合訓練的訓練結果1222,再一併利用訓練結果1222以及該次更新的過程中所接收到的其他訓練結果122對中央模型CM進行更新。
總而言之,上述具有回合值r1的客戶端裝置1201為工作清單中進行最多回合訓練者,且上述具有回合值r2-1的客戶端裝置1202為工作清單中進行最少回合訓練者。藉由在中央裝置110中設定閾值可避免中央模型CM之訓練過程受客戶端裝置1201(亦即進行最多回合訓練者)影響過大。
在一些實施例中,當中央裝置110更新中央模型CM時,可以將匯集的一或多個訓練結果122直接平均,以依據平均結果產生更新後的中央模型CM。在一些實施例中,中央裝置110亦可將匯集的一或多個訓練結果122進行加權平均,例如將訓練結果1221、1222及1223分別乘上對應的權重值(例如:w1=20%、w2=30%、w3=50%),以依據平均結果產生更新後的中央模型CM。
在一些實施例中,當中央裝置110僅利用對應於識別符ID1之訓練結果1221更新中央模型CM時,可以將訓練結果1221乘上20%/(20%),以產生更新後的中央模型CM。亦即,如前所述,當中央裝置110為了提升訓練效率而欲僅根據部分識別符ID對應的訓練結果122更新中央模型CM時,中央裝置110可僅以這些識別符ID所對應的部分權重值進行加權平均,以在該次更新中以調整後的加權平均算式對中央模型CM進行更新。
在一些實施例中,在中央裝置110產生更新後的中央模型CM之後,會將更新後的中央模型CM傳送至工作清單112中所有的客戶端裝置120,以使客戶端裝置120利用各自的參數集121訓練新接收到的中央模型CM。前述流程可重複多次直至工作清單112中的所有客戶端裝置120各自完成預定回合訓練。舉例而言,在前述中央裝置110未等待客戶端裝置1202之訓練結果1222即更新中央模型CM的情況下,中央裝置110仍會將更新後的中央模型CM傳送至工作清單112中的所有客戶端裝置1201、1202及1203,以令客戶端裝置1201、1202及1203訓練更新後的中央模型CM。
在一些實施例中,時間戳記t1~t3為浮動的數值,用以計算各個客戶端裝置120於一回合訓練中已經使用的時間。在一些實施例中,當時間戳記t1~t3的一或多者大於一預設時間值時,中央裝置110自工作清單中移除識別符ID1~ID3中對應的一或多者。在一些實施例中,識別符ID1~ID3各自可對應於相同或不同的預設時間值。
舉例而言,當識別符ID1對應的預設時間值為15秒時,對應於識別符ID1的時間戳記t1會依序以「1、2、3…」的方式計數並跳動。若是對應於識別符ID1的客戶端裝置1201未於時間戳記t1跳動至大於15之前傳送訓練結果1221至中央裝置110,則中央裝置110會判斷客戶端裝置1201異常(例如:連線異常),而需自工作清單112中移除識別符ID1,並不再接收對應於識別符ID1的訓練結果1221。藉由此容錯處理,中央裝置110可避免聯邦式機器學習過程因客戶端裝置120斷線而中斷,因而加強了學習過程的效能與穩定度。
在一些實施例中,當有識別符ID於工作清單112中被移除時,中央裝置110會對工作清單112中的權重群組WG進行調整。在一些實施例中,可以將對應於被移除識別符ID的權重值設置為0,或是將對應於被移除識別符ID的權重值自權重群組WG中移除,並更新其餘的權重值,使對應於保留在工作清單112中的識別符ID的權重值總和保持為100%。
舉例而言,在一些實施例中,當對應於識別符ID1的客戶端裝置1201的時間戳記大於一預設時間值,而被中央裝置110自工作清單112中移除對應的識別符ID1時,可以將工作清單112中剩餘的識別符ID2和ID3所分別對應的權重值w2和w3,由原本的30%和50%依比例調整為
和
,並直接移除對應於被移除的識別符ID1的權重值w1,或將權重值w1 設置為0。在其他實施例中,亦可依據實際需求調整剩餘的識別符ID2和ID3所對應的權重值w2和w3,而不以上述實施例為限。
在一些實施例中,中央裝置110會在建立工作清單112後,以工作清單112中包含的客戶端裝置1201、1202及1203的識別符ID1~ID3、回合值r1~r3、參數集1211、1212及1213、訓練結果1221、1222及1223等資訊,建立一關聯程序,並將關聯程序儲存在中央裝置110的中央儲存單元STR中以形成一程序池(process pool)。亦即,中央裝置110會以程序池記錄中央裝置110每次更新其中央模型CM的過程中所關聯的客戶端裝置120的相關資訊。在一些實施例中,當對應於識別符ID1的客戶端裝置1201的時間戳記大於一預設時間值,而被中央裝置110自工作清單112中移除對應的識別符ID1時,中央裝置110亦可相應地移除儲存在程序池中的識別符ID1、回合值r1、參數集1211、訓練結果1221等對應於客戶端裝置1201的部分或全部相關資訊。
在其他實施例中,中央裝置110亦可在其他客戶端裝置120進行訓練並產生訓練結果122的同時,自客戶端清單111中選取額外的客戶端裝置120,以新增至工作清單122中。此時,工作清單122會包含有對應被新增的客戶端裝置120的識別符、回合值及時間戳記,其運作方式與其前述類似,為簡化說明,於此不再進行贅述。
請參照第2圖。第2圖為根據本揭露一些實施例所繪示的機器學習方法200的流程圖。機器學習方法200適用於機器學習系統100。如第2圖所示,機器學習方法200包含步驟S210、S220、S230、S240、S250、S260。
在步驟S210中,如第1圖所示,藉由中央裝置110自客戶端清單111中的客戶端裝置1201~120k選擇一或多個客戶端裝置120(例如客戶端裝置1201、1202及1203)進入工作清單112,以作為被選擇客戶端裝置。在一些實施例中,工作清單112還包含各個被選擇客戶端裝置對應的權重值(例如權重值w1、w2及w3)。
在步驟S220中,藉由中央裝置110傳送中央模型CM至被選擇客戶端裝置,其中中央裝置110用於儲存並一或多次更新中央模型CM。
在步驟S230中,被選擇客戶端裝置每一者根據參數集(例如參數集1221、1222及1223)中對應一者訓練接收到的中央模型CM,以產生一訓練結果。其中上述對應的參數集係分別儲存在被選擇客戶端裝置中。
在步驟S240中,當該中央裝置110接收到上述被選擇客戶端裝置的其中之一所傳送的訓練結果時,中央裝置110更新儲存在中央裝置110中分別對應該些被選擇客戶端裝置的複數個回合值(例如回合值r1、r2及r3)中的對應一者。
在步驟S250中,於中央裝置110對其中央模型CM的一第i次更新中,當中央裝置110未接收到對應於回合值中最小者的客戶端裝置120傳送的訓練結果時,判斷回合值中最大者與最小者的差值是否大於一閾值。
在步驟S260中,當中央裝置110在步驟S260中判斷回合值中最大者與最小者的差值不大於閾值時,中央裝置110根據第i次更新中已接收到的訓練結果更新中央模型CM,其中i為正整數。在一些實施例中,中央裝置110可以將已接收到的訓練結果直接平均以更新中央模型CM。在一些實施例中,中央裝置110亦可根據對應於各被選擇客戶端裝置的權重值,對已接收到的訓練結果122進行加權平均,以更新中央模型。
在一些實施例中,機器學習方法200更包含步驟S270。當中央裝置110在步驟S250中判斷回合值中最大者與最小者的差值大於閾值時,中央裝置110執行步驟S270,以等待對應於回合值中最小者的客戶端裝置120傳送的訓練結果。在步驟S270結束後,中央裝置110會執行步驟S260。在一些實施例中,在等待回合值中最小者的客戶端裝置傳送的訓練結果的期間,中央裝置可以更接收其餘裝置所傳送的訓練結果。
在一些實施例中,機器學習方法200更包含將中央裝置初始化,並將複數個客戶端裝置連線至中央裝置,以建立客戶端清單。
在一些實施例中,在機器學習方法200的步驟S210和S270之間,中央裝置110會根據被選擇客戶端裝置的識別符(例如識別符ID1~ID3)、回合值、參數集、訓練結果(例如訓練結果1221、1222及1213)等資訊,建立一關聯程序,並將關聯程序儲存在中央裝置110的中央儲存單元STR中以形成一程序池。亦即,中央裝置110會以程序池記錄中央裝置110每次更新其中央模型CM的過程中所關聯的客戶端裝置120的相關資訊。在一些實施例中,識別符用於記錄被選擇客戶端裝置的身分,回合值用於記錄被選擇客戶端裝置進行訓練並產生訓練結果的次數,參數集用於記錄被選擇客戶端裝置產生訓練結果的資料來源,訓練結果則用於經中央裝置110匯集以更新中央模型CM。
在一些實施例中,在執行步驟S250至步驟S270的期間,機器學習方法200可以平行(或多次)執行步驟S240,以繼續接收來自被選擇客戶端裝置其中之一所傳送的訓練結果。
在一些實施例中,機器學習方法200會在完成步驟S270後,回到步驟S210或步驟S220,以重複進行上述流程。
第3圖為根據本揭露一實施例所繪示如第2圖所示之步驟S210的細節步驟流程圖。在一些實施例中,步驟S210更包含步驟S211~S213。在步驟S211中,中央裝置會檢查對應於各個被選擇客戶端裝置的時間戳記,該時間戳記係用於計算被選擇客戶端裝置進行各回合訓練所使用的時間。在步驟S212中,中央裝置110判斷對應於各被選擇客戶端裝置的時間戳記(例如時間戳記t1~t3)是否大於一預設時間值,以即時確認被選擇客戶端裝置是否有網路斷線等異常情形。在一些實施例中,當中央裝置110會判斷被選擇客戶端裝置中時間戳記大於預設時間值的一者為異常客戶端裝置,且中央裝置110會接著進入步驟S213。在步驟S213中,中央裝置110自工作清單中112移除對應於異常客戶端裝置的識別符及其相關資訊,使時間戳記大於預設時間值的異常客戶端裝置不再接收中央模型CM,亦不再傳送更新的訓練結果至中央裝置110。
在一些實施例中,步驟S210更包含步驟S214。在步驟S214中,中央裝置110更新對應於工作清單中112剩餘的各個客戶端裝置120的權重值。詳細而言,當被選擇客戶端裝置原本具有之權重值的總合為100%。如被選擇客戶端裝置中一者被移出工作清單112時,需相應地調整工作清單112中剩餘的各個被選擇客戶端裝置120的權重值,以使剩餘的各個被選擇客戶端裝置120的權重值總和為100%。
綜上所述,本揭露提供的機器學習系統100和機器學習方法200,藉由控制各個客戶端裝置的回合數差異,使各個客戶端裝置可以在不大於閾值的回合差之下,非同步地產生訓練結果,以降低各個客戶端裝置間相互等待造成的時間浪費,且減輕各個客戶端裝置間因回合值差異過大而影響中央模型的準確率之問題。再者,藉由計算各個客戶端裝置進行各回合訓練的時間,並在時間戳記大於預設值時將對應的客戶端裝置自工作清單內移除,可以避免當有客戶端裝置出現異常或中斷時影響整體的學習過程進行。此外,藉由使各客戶端裝置對應於相同或不同的權重值,可以調整各客戶端裝置所產生訓練結果對於中央模型的影響程度。
雖然本案已以實施方式揭露如上,然其並非限定本案,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。
100:機器學習系統
110:中央裝置
111:客戶端清單
112:工作清單
STR:中央儲存單元
ID1~ID3:識別符
r1~r3:回合值
t1~t3:時間戳記
WG:權重群組
w1~w3:權重值
CM:中央模型
1201~120k:客戶端裝置
1211~121k:參數集
1221、1222、1223:訓練結果
200:機器學習方法
S210、S220、S230、S240、S250、S260、S270、S211、S212、S213、S214:步驟
第1圖為根據本揭露一些實施例所繪示的機器學習系統的示意圖。
第2圖為根據本揭露一些實施例所繪示的機器學習方法的步驟流程圖。
第3圖為根據本揭露一實施例所繪示如第2圖所示之步驟S210的細節步驟流程圖。
100:機器學習系統
110:中央裝置
111:客戶端清單
112:工作清單
STR:中央儲存單元
ID1~ID3:識別符
r1~r3:回合值
t1~t3:時間戳記
WG:權重群組
w1~w3:權重值
CM:中央模型
1201~120k:客戶端裝置
1211~121k:參數集
1221、1222、1223:訓練結果
Claims (15)
- 一種機器學習系統,包含:一中央裝置,用以儲存一中央模型,且用以一或多次更新該中央模型;以及複數個客戶端裝置,用以通訊耦接該中央裝置以接收該中央模型,該些客戶端裝置包含:一第一客戶端裝置,儲存一第一參數集,且用以根據該第一參數集對接收到的該中央模型進行訓練以產生一第一訓練結果;以及一第二客戶端裝置,儲存一第二參數集,且用以根據該第二參數集對接收到的該中央模型進行訓練以產生一第二訓練結果;其中當該中央裝置接收到該第一客戶端裝置對應一第m回合訓練的該第一訓練結果而未接收到該第二客戶端裝置對應一第n回合訓練的該第二訓練結果的情況下,當m-n不大於一閾值,該中央裝置以對應該第m回合訓練的該第一訓練結果更新該中央模型,而不以對應該第n回合訓練的該第二訓練結果更新該中央模型,m和n為正整數且m大於n。
- 如請求項1所述之機器學習系統,其中在該中央裝置已接收到對應該第一客戶端的該第m回合訓練的該第一訓練結果而未接收到對應該第二客戶端的該第n回合訓練的該第二訓練結果的情況下,當m-n大於該閾值時, 該中央裝置等待並接收對應該第n回合訓練的該第二訓練結果,以依據對應該第m回合訓練的該第一訓練結果以及對應該第n回合訓練的該第二訓練結果更新該中央模型。
- 如請求項1所述之機器學習系統,其中該第一客戶端裝置為該些客戶端裝置中進行最多回合訓練者,且該第二客戶端裝置為該些客戶端裝置中進行最少回合訓練者。
- 如請求項1所述之機器學習系統,其中該中央裝置更根據該第一訓練結果、該第一客戶端裝置所對應的一第一權重值、該第二訓練結果和該第二客戶端裝置所對應的一第二權重值進行加權計算,以更新該中央模型。
- 如請求項1所述之機器學習系統,其中該中央裝置包含一中央儲存單元,該中央儲存單元用以儲存至少一預設時間值以及分別對應該些客戶端裝置的複數個識別符(ID),其中當該中央裝置超過該至少一預設時間值中的對應一者未接收到該第一訓練結果時,該中央裝置移除該些識別符中對應該第一客戶端裝置者以得到更新後的該些識別符,並不再接收該第一訓練結果。
- 如請求項5所述之機器學習系統,其中,該 些客戶端裝置各自依據複數個參數集中的對應一者訓練各自的該中央模型以產生複數個訓練結果,該些參數集包含該第一參數集和該第二參數集,該複數個訓練結果包含該第一訓練結果和該第二訓練結果,其中該中央儲存單元還用於儲存對應該些識別符的一權重群組,其中該中央裝置依據該權重群組對該些訓練結果進行加權平均以更新該中央裝置的該中央模型,其中當該中央裝置超過該至少一預設時間值中的對應一者未接收到該第一訓練結果時,該中央裝置依據更新後的該些識別符更新該權重群組包含的每個權重值。
- 一種機器學習系統,包含:一中央裝置,用以儲存並一或多次更新一中央模型;以及複數個客戶端裝置,用以通訊耦接該中央裝置以接收該中央模型,其中該些客戶端裝置每一者用以根據複數個參數集中對應一者,對接收到的該中央模型進行訓練以產生一訓練結果;其中該中央裝置儲存有分別對應該些客戶端裝置的複數個回合值,當該中央裝置接收到該些客戶端裝置的其中之一的該訓練結果時,該中央裝置更新該些回合值中的對應一者,其中於該中央裝置對該中央模型的一第i次更新中,當該些回合值中最大者和最小者的差值不大於一閾值且該中 央裝置未接收到對應於該些回合值中最小者的該些客戶端裝置中的一者傳送的該訓練結果時,該中央裝置依據該第i次更新中已接收到的訓練結果更新該中央模型,其中i為正整數。
- 如請求項7所述之機器學習系統,其中於該第i次更新中,當該些回合值中最大者和最小者的差值大於該閾值時,該中央裝置用以等待並接收對應於該些回合值中最小者的該些客戶端裝置中的該一者傳送的該訓練結果,以依據對應該些回合值中最小者的該些客戶端裝置中的該一者傳送的該訓練結果以及該第i次更新中已接收到的其餘訓練結果更新該中央模型。
- 如請求項7所述之機器學習系統,其中該些客戶端裝置中一第一客戶端裝置用以於每回合訓練產生一第一訓練結果,該中央裝置包含一中央儲存單元,該中央儲存單元用以儲存至少一預設時間值以及分別對應該些客戶端裝置的複數個識別符(ID),其中當該中央裝置超過該至少一預設時間值中的對應一者未接收到該第一訓練結果時,該中央裝置移除該些識別符中對應該第一客戶端裝置者以得到更新後的該些識別符,且不再接收該第一訓練結果。
- 如請求項9所述之機器學習系統,其中該中 央儲存單元用於儲存對應該些識別符的一權重群組,該中央裝置用於依據該權重群組對該第i次更新中已接收到的訓練結果進行加權平均以更新該中央裝置的該中央模型,其中當該中央裝置超過該預設時間值中的對應一者未接收到該第一訓練結果時,該中央裝置依據更新後的該些識別符更新該權重群組包含的每個權重值。
- 一種機器學習方法,包含:藉由一中央裝置傳送一中央模型至複數個客戶端裝置,其中該中央裝置用於儲存並一或多次更新該中央模型;該些客戶端裝置每一者根據對應的一參數集訓練該中央模型以產生一訓練結果;當該中央裝置接收到該些客戶端裝置的其中之一的該訓練結果時,該中央裝置更新儲存在該中央裝置中分別對應該些客戶端裝置的複數個回合值中的對應一者;於該中央裝置對該中央模型的一第i次更新中,當該中央裝置未接收到對應於該些回合值中最小者的該些客戶端裝置中的一者傳送的該訓練結果且該些回合值中最大者與最小者的差值不大於一閾值時,該中央裝置根據該第i次更新中已接收到的訓練結果更新該中央模型,其中i為正整數。
- 如請求項11所述之機器學習方法,其中於該第i次更新中,當該些回合值中最大者與最小者的差值 大於該閾值時,該中央裝置用以等待並接收對應於該些回合值中最小者的該些客戶端裝置中的該一者傳送的該訓練結果,以依據該些回合值中最小者的該些客戶端裝置中的該一者傳送的該訓練結果以及該第i次更新中已接收到的其餘訓練結果更新該中央模型。
- 如請求項11所述之機器學習方法,其中該中央裝置根據該第i次更新中已接收到的訓練結果更新該中央模型包含:該中央裝置依據對應該些客戶端的複數個權重值,對該第i次更新中已接收到的訓練結果進行加權平均,以更新該中央模型。
- 如請求項11所述之機器學習方法,其中該中央裝置儲存有分別對應該些客戶端裝置的至少一預設時間值以及分別對應該些客戶端裝置的複數個識別符,且該機器學習方法更包含:當該中央裝置超過該至少一預設時間值中的對應一者未接收到該些客戶端裝置中的一第一客戶端裝置於每回合訓練產生的一第一訓練結果時,自該中央裝置中移除該些識別符中對應該第一客戶端裝置的一者以得到更新後的該些識別符,並移除該些回合值中的對應第一客戶端裝置的一者,且不再接收該第一訓練結果。
- 如請求項14所述之機器學習方法,更包含:當該中央裝置超過該至少一預設時間值中的對應一者未接收到該第一客戶端裝置的該第一訓練結果時,該中央裝置依據更新後的該些識別符更新一權重群組包含的每個權重值。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109134256A TWI777262B (zh) | 2020-09-30 | 2020-09-30 | 機器學習系統及機器學習方法 |
US17/093,591 US20220101195A1 (en) | 2020-09-30 | 2020-11-09 | Machine learning system and machine learning method |
GB2018211.9A GB2599739A (en) | 2020-09-30 | 2020-11-19 | Machine learning system and machine learning method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109134256A TWI777262B (zh) | 2020-09-30 | 2020-09-30 | 機器學習系統及機器學習方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202215311A TW202215311A (zh) | 2022-04-16 |
TWI777262B true TWI777262B (zh) | 2022-09-11 |
Family
ID=74046728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109134256A TWI777262B (zh) | 2020-09-30 | 2020-09-30 | 機器學習系統及機器學習方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220101195A1 (zh) |
GB (1) | GB2599739A (zh) |
TW (1) | TWI777262B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130290223A1 (en) * | 2012-04-27 | 2013-10-31 | Yahoo! Inc. | Method and system for distributed machine learning |
CN104714852A (zh) * | 2015-03-17 | 2015-06-17 | 华中科技大学 | 一种适用于分布式机器学习的参数同步优化方法及其系统 |
TW201740319A (zh) * | 2016-01-29 | 2017-11-16 | 雅虎控股股份有限公司 | 用於分散式深度機器學習之方法與系統 |
CN108446770A (zh) * | 2017-02-16 | 2018-08-24 | 中国科学院上海高等研究院 | 一种基于采样的分布式机器学习慢节点处理系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107025205B (zh) * | 2016-01-30 | 2021-06-22 | 华为技术有限公司 | 一种分布式系统中的训练模型的方法及设备 |
TWI620075B (zh) * | 2016-11-23 | 2018-04-01 | 財團法人資訊工業策進會 | 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法 |
US11593634B2 (en) * | 2018-06-19 | 2023-02-28 | Adobe Inc. | Asynchronously training machine learning models across client devices for adaptive intelligence |
CN112396070A (zh) * | 2019-08-13 | 2021-02-23 | 中兴通讯股份有限公司 | 一种模型训练方法、装置和系统,以及预测方法和装置 |
-
2020
- 2020-09-30 TW TW109134256A patent/TWI777262B/zh active
- 2020-11-09 US US17/093,591 patent/US20220101195A1/en active Pending
- 2020-11-19 GB GB2018211.9A patent/GB2599739A/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130290223A1 (en) * | 2012-04-27 | 2013-10-31 | Yahoo! Inc. | Method and system for distributed machine learning |
CN104714852A (zh) * | 2015-03-17 | 2015-06-17 | 华中科技大学 | 一种适用于分布式机器学习的参数同步优化方法及其系统 |
TW201740319A (zh) * | 2016-01-29 | 2017-11-16 | 雅虎控股股份有限公司 | 用於分散式深度機器學習之方法與系統 |
CN108446770A (zh) * | 2017-02-16 | 2018-08-24 | 中国科学院上海高等研究院 | 一种基于采样的分布式机器学习慢节点处理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
GB2599739A (en) | 2022-04-13 |
TW202215311A (zh) | 2022-04-16 |
US20220101195A1 (en) | 2022-03-31 |
GB202018211D0 (en) | 2021-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021115480A1 (zh) | 联邦学习方法、装置、设备和存储介质 | |
CN110610242B (zh) | 一种联邦学习中参与者权重的设置方法及装置 | |
WO2019127924A1 (zh) | 样本权重分配方法、模型训练方法、电子设备及存储介质 | |
CN110598870A (zh) | 一种联邦学习方法及装置 | |
CN111708640A (zh) | 一种面向边缘计算的联邦学习方法和系统 | |
WO2015103964A1 (en) | Method, apparatus, and device for determining target user | |
CN103841169B (zh) | 远程复制方法和设备 | |
CN106575251B (zh) | 流数据的推测数据处理 | |
CN112100928B (zh) | 一种基于温度改善锂离子电池性能的方法和装置 | |
CN113723619B (zh) | 一种基于训练阶段感知策略的联邦学习训练方法 | |
CN112232891B (zh) | 一种基于大数据分析的客户匹配方法和装置 | |
KR20220058606A (ko) | 자원 관리 플랫폼에 기반하는 태스크 분배 방법 및 시스템 | |
TWI777262B (zh) | 機器學習系統及機器學習方法 | |
CN116957106A (zh) | 一种基于动态注意力机制的联邦学习模型训练方法 | |
CN117392483A (zh) | 基于增强学习的相册分类模型训练加速方法、系统及介质 | |
CN104243473B (zh) | 一种数据传输的方法以及装置 | |
CN111510327B (zh) | 用于共同训练模型的训练参与端的网络连接方法、装置、系统和服务器 | |
CN116361271B (zh) | 一种区块链数据修改迁移方法、电子设备及存储介质 | |
CN109558909B (zh) | 基于数据分布的机器深度学习方法 | |
KR20180119392A (ko) | 프로토콜 모델 생성 장치 및 모델링 방법 | |
CN111695701A (zh) | 基于联邦学习实现数据集构建处理的系统及其构建生成方法 | |
CN115190027B (zh) | 一种基于网络数字孪生体的自然故障生存性评估方法 | |
CN108476245B (zh) | 建立端口连接的方法及端口芯片 | |
CN104394599B (zh) | 一种应用于m2m网络的csma/ca协议的设计方法 | |
CN107743077A (zh) | 一种评估信息‑物理融合系统网络性能的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |