JP2023157843A - コンピュータ実装方法、コンピュータプログラムおよびコンピュータシステム(動的なマスキングを用いたリソース制限のある連合学習) - Google Patents
コンピュータ実装方法、コンピュータプログラムおよびコンピュータシステム(動的なマスキングを用いたリソース制限のある連合学習) Download PDFInfo
- Publication number
- JP2023157843A JP2023157843A JP2023020196A JP2023020196A JP2023157843A JP 2023157843 A JP2023157843 A JP 2023157843A JP 2023020196 A JP2023020196 A JP 2023020196A JP 2023020196 A JP2023020196 A JP 2023020196A JP 2023157843 A JP2023157843 A JP 2023157843A
- Authority
- JP
- Japan
- Prior art keywords
- machine learning
- learning model
- server
- masked
- updated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000000873 masking effect Effects 0.000 title claims abstract description 32
- 238000004590 computer program Methods 0.000 title claims abstract description 24
- 238000010801 machine learning Methods 0.000 claims abstract description 211
- 238000012549 training Methods 0.000 claims abstract description 50
- 238000003860 storage Methods 0.000 claims description 33
- 230000004044 response Effects 0.000 claims description 19
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 9
- 238000013138 pruning Methods 0.000 abstract description 7
- 239000003795 chemical substances by application Substances 0.000 description 152
- 238000010586 diagram Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 244000141353 Prunus domestica Species 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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
- G06N3/098—Distributed learning, e.g. federated learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/043—Distributed expert systems; Blackboards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble 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
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】集中型のプルーニングプロセスは訓練データから独立しているので、モデル精度が低下する。【解決手段】動的なマスキングを用いたリソース制限のある連合学習のための、コンピュータ実装方法、コンピュータプログラム製品、およびコンピュータシステム。連合機械学習におけるサーバが、連合機械学習におけるそれぞれのエージェントのリソースを評価して、それぞれのエージェントによるモデル訓練の能力を判定する。サーバは上記能力に基づき、完全版機械学習モデルの重みをマスクして、マスクされた機械学習モデルを構築する。サーバは、マスクされた機械学習モデルを訓練するそれぞれのエージェントに、マスクされた機械学習モデルを配布する。サーバはそれぞれのエージェントから、マスクされた機械学習モデルの訓練によって取得された更新後の重みを受け取る。サーバは、更新後の重みに基づいて完全版機械学習モデルを更新する。【選択図】図1
Description
本発明は、米国陸軍研究所から授与されたN911NF-16-3-0001の下で政府の支援を受けて行われたものである。本発明に対して、政府は一定の権利を有する。
本発明は概して連合学習に関し、より詳細には、動的なマスキングを用いたリソース制限のある連合学習に関する。
連合学習は、特に、通信リソースの制限およびデータプライバシーの問題に関する懸念から、エージェントがそのローカルデータを融合サーバと共有しにくい場合に、複雑な学習プロセスを複数のエージェントに割り当てることを目的としている。しかしながら、ディープニューラルネットワーク(DNN)などの機械学習モデルには何億ものパラメータが含まれることがあり、リソース制約のあるエッジサーバでの訓練および推論をひどく困難にしている。
連合学習のモデルサイズを低減するのに、モデルプルーニング技法が活用されており、これによって、全てのエージェントが訓練プロセスに寄与できるようになる。しかしながら、連合学習における前述のモデルプルーニング作業は、通常の連合学習プロセスの前に、集中方式で融合サーバにより行われるものであり、一般に2つのカテゴリに分類できる。(1)サーバは、エージェントのいかなるローカルデータも用いずに、初期モデルを直接プルーニングする。(2)サーバは、エージェントのローカルデータの蓄積に基づいてモデルを訓練し、次いでこの予め訓練されたモデルをプルーニングする。そのような集中型のプルーニングプロセスは訓練データから独立しているので、モデル精度が低下する。あるいは、そのような集中型のプルーニングプロセスはエージェントのローカルデータを収集する必要があるので、エージェントのローカルデータのプライバシーにとって危険であり、連合学習の性質と矛盾する。
Ji et. al. Dynamic Sampling and Selective Masking for Communication-Efficient Federated Learning, IEEE Intelligent Systems, 2021
Jiら(Dynamic Sampling and Selective Masking for Communication-Efficient Federated Learning, IEEE Intelligent Systems, 2021)は、それぞれのローカルの訓練におけるモデルパラメータの重要性を考慮して、上位k個の選択的マスキングを提案している。モデルパラメータの割合に静的なマスキングレートが選択基準として与えられると、最大絶対差を持つモデルパラメータのみが、比例して連合集約およびモデル更新に選択される。Jiの開示では、選択的マスキング方法は静的なものであり、全てのエージェントにわたって同じである。Sundaresanら(米国特許公開第20220036194 A1号)は、パラメータのクラスを作成して、リソース制約のあるアプリケーションに適した効率的な人工知能または機械学習モデルを計算するための、スパース性抽出型フレームワークを開示している。スパース性抽出型フレームワークは同時に、計算重視の教師モデルから知識を抽出すると共に、単一パスの訓練において生徒モデルのプルーニングも行うことにより、訓練回数および調整回数を大幅に低減する。Sundaresanの開示では、連合学習設定におけるリソース制約が考慮されず、さらに、小規模のマスクされたモデルが異なるエージェントによって毎回更新されず、更新された小規模のマスクされたモデルをサーバでの大規模モデルの訓練に結びつけていない。
1つの態様では、動的なマスキングを用いたリソース制限のある連合学習のためのコンピュータ実装方法が提供される。本コンピュータ実装方法は、連合機械学習におけるサーバが、連合機械学習におけるそれぞれのエージェントのリソースを評価して、それぞれのエージェントによるモデル訓練の能力を判定する段階を含む。本コンピュータ実装方法はさらに、サーバが上記能力に基づき、完全版機械学習モデルの重みをマスクして、マスクされた機械学習モデルを構築する段階を含む。本コンピュータ実装方法はさらに、サーバが、マスクされた機械学習モデルを訓練するそれぞれのエージェントに、マスクされた機械学習モデルを配布する段階を含む。本コンピュータ実装方法はさらに、サーバがそれぞれのエージェントから、マスクされた機械学習モデルの訓練によって取得された更新後の重みを受け取る段階を含む。本コンピュータ実装方法はさらに、サーバが更新後の重みに基づいて完全版機械学習モデルを更新する段階を含む。
本コンピュータ実装方法はさらに、更新された完全版機械学習モデルが収束しているかどうかをサーバが判定する段階を含む。本コンピュータ実装方法はさらに、更新された完全版機械学習モデルが収束しているとの判定に応答して、リソースが変化しているかどうかをサーバが判定する段階を含む。
リソースが変化しているとの判定に応答して、本コンピュータ実装方法はさらに、サーバがリソースを再評価して、それぞれのエージェントによるモデル訓練の新たな能力を判定する段階を含む。本コンピュータ実装方法はさらに、サーバが現在の反復において新たな能力に基づき、更新された完全版機械学習モデルの重みをマスクして、新たなマスクされた機械学習モデルを構築する段階を含む。本コンピュータ実装方法はさらに、新たなマスクされた機械学習モデルを訓練して新たな更新後の重みを取得するために、サーバが新たなマスクされた機械学習モデルをそれぞれのエージェントに配布する段階を含む。本コンピュータ実装方法はさらに、サーバが新たな更新後の重みに基づいて、前の反復で更新された完全版機械学習モデルを更新する段階を含む。
リソースが変化していないとの判定に応答して、本コンピュータ実装方法はさらに、サーバが現在の反復において能力に基づき、更新された完全版機械学習モデルの重みをマスクして、新たなマスクされた機械学習モデルを構築する段階を含む。本コンピュータ実装方法はさらに、新たなマスクされた機械学習モデルを訓練して新たな更新後の重みを取得するために、サーバが新たなマスクされた機械学習モデルをそれぞれのエージェントに配布する段階を含む。本コンピュータ実装方法はさらに、サーバが新たな更新後の重みに基づいて、前の反復で更新された完全版機械学習モデルを更新する段階を含む。
別の態様では、動的なマスキングを用いたリソース制限のある連合学習のためのコンピュータプログラム製品が提供される。本コンピュータプログラム製品は、プログラム命令を具現化したコンピュータ可読記憶媒体を備え、プログラム命令は1つまたは複数のプロセッサにより実行可能である。プログラム命令は、連合機械学習におけるサーバが、連合機械学習におけるそれぞれのエージェントのリソースを評価して、それぞれのエージェントによるモデル訓練の能力を判定するように実行可能である。プログラム命令はさらに、サーバが上記能力に基づき、完全版機械学習モデルの重みをマスクして、マスクされた機械学習モデルを構築するように実行可能である。プログラム命令はさらに、サーバが、マスクされた機械学習モデルを訓練するそれぞれのエージェントに、マスクされた機械学習モデルを配布するように実行可能である。プログラム命令はさらに、サーバがそれぞれのエージェントから、マスクされた機械学習モデルの訓練によって取得された更新後の重みを受け取るように実行可能である。プログラム命令はさらに、サーバが新たな更新後の重みに基づいて、完全版機械学習モデルを更新するように実行可能である。
さらに別の態様では、動的なマスキングを用いたリソース制限のある連合学習のためのコンピュータシステムが提供される。本コンピュータシステムは、1つまたは複数のプロセッサと、1つまたは複数のコンピュータ可読有形ストレージデバイスと、1つまたは複数のプロセッサのうちの少なくとも1つによって実行するために1つまたは複数のコンピュータ可読有形ストレージデバイスのうちの少なくとも1つに格納されたプログラム命令とを備える。プログラム命令は、連合機械学習におけるサーバが、連合機械学習におけるそれぞれのエージェントのリソースを評価して、それぞれのエージェントによるモデル訓練の能力を判定する;サーバが上記能力に基づき、完全版機械学習モデルの重みをマスクして、マスクされた機械学習モデルを構築する;サーバが、マスクされた機械学習モデルを訓練するそれぞれのエージェントに、マスクされた機械学習モデルを配布する;サーバがそれぞれのエージェントから、マスクされた機械学習モデルの訓練によって取得された更新後の重みを受け取る;およびサーバが更新後の重みに基づいて完全版機械学習モデルを更新するように実行可能である。
コンピュータプログラム製品およびコンピュータシステムのために、プログラム命令はさらに、更新された完全版機械学習モデルが収束しているかどうかをサーバが判定する;および更新された完全版機械学習モデルが収束しているとの判定に応答して、リソースが変化しているかどうかをサーバが判定するように実行可能である。
コンピュータプログラム製品およびコンピュータシステムのために、プログラム命令はさらに、リソースが変化しているとの判定に応答して、サーバがリソースを再評価して、それぞれのエージェントによるモデル訓練の新たな能力を判定する;サーバが現在の反復において新たな能力に基づき、更新された完全版機械学習モデルの重みをマスクして、新たなマスクされた機械学習モデルを構築する;新たなマスクされた機械学習モデルを訓練して新たな更新後の重みを取得するために、サーバが新たなマスクされた機械学習モデルをそれぞれのエージェントに配布する;およびサーバが新たな更新後の重みに基づいて、前の反復で更新された完全版機械学習モデルを更新するように実行可能である。
コンピュータプログラム製品およびコンピュータシステムのために、プログラム命令はさらに、リソースが変化していないとの判定に応答して、サーバが現在の反復において上記能力に基づき、更新された完全版機械学習モデルの重みをマスクして、新たなマスクされた機械学習モデルを構築する;新たなマスクされた機械学習モデルを訓練して新たな更新後の重みを取得するために、サーバが新たなマスクされた機械学習モデルをそれぞれのエージェントに配布する;およびサーバが新たな更新後の重みに基づいて、前の反復で更新された完全版機械学習モデルを更新するように実行可能である。
これまでの開示に対する本コンピュータ実装方法、本コンピュータプログラム製品、および本コンピュータシステムの利点は以下のとおりである。連合機械学習におけるリソース制約がサーバによって考慮されており、完全版機械学習モデルの重みをマスクすることが、そのようなリソース制約に基づいており、マスクされた機械学習モデルがローカルの訓練データを用いてそれぞれのエージェントにより訓練され、更新後の重みがそれぞれのエージェントにより取得され、更新後の重みに基づいて完全版機械学習モデルが更新される。本コンピュータ実装方法、本コンピュータプログラム製品、および本コンピュータシステムを使用すると、マスクされた機械学習モデルを用いることにより、それぞれのエージェントの計算コストおよび通信コストが低減され、連合機械学習の全体的な効率および精度が維持される。
これまでの開示に対する本コンピュータ実装方法、本コンピュータプログラム製品、および本コンピュータシステムのさらなる利点は以下のとおりである。完全版機械学習モデルの重みをマスクして、マスクされた機械学習モデルを生成することが動的である。それぞれのエージェントによるモデル訓練の能力は、動的にモニタリングされて解析される。それぞれの反復では、新たなマスクされた機械学習モデルが、それぞれのエージェントによるモデル訓練の能力に基づいて作成される;新たなマスクされた機械学習モデルはサーバにより配布され、それぞれのエージェントにより訓練される;完全版機械学習モデルは更新後の重みに基づいて更新される。更新された完全版機械学習モデルが収束するまで、反復が継続される。
本発明の実施形態が、動的なマスキングを用いたリソース制約のあるエージェントのための、安全なモデルプルーニングおよび連合学習のシステムおよび方法を開示する。それぞれの反復では、完全版モデルの同じサイズおよび形状のバイナリマスクが生成され、開示されるシステムおよび方法では、どの重みをエージェントに送るべきかを判定する。それぞれの反復では、連合学習を通じて全てのエージェントが協力して、マスクされたモデルが更新される。
開示されるシステムおよび方法の基本的な考え方は、連合学習のプルーニングおよび訓練を自動的且つ動的な方式で協力して行うことであり、これにより、リソース制約のあるエージェントのデータを、融合サーバと共有することなく十分に利用できるようになる。
開示されるシステムおよび方法は、優れたモデル精度およびプライバシーの両方を達成できる。優れたモデル精度は、エージェントのローカルデータを十分に組み込むことで達成される。エージェントのローカルデータを共有する必要がないため、連合機械学習のプライバシーが達成される。本発明の実施形態では、マスクされたモデルを連合学習のそれぞれの反復で更新することにより、優れたモデル精度およびプライバシーの両方が、リソース制約のあるエージェントのために達成される。
図1は、本発明の1つの実施形態による、動的なマスキングを用いたリソース制限のある連合学習のシステム100を例示した系統図である。システム100は、連合学習設定にサーバ110を含む。システム100はさらに、連合学習設定にN個のエージェントを含み、図1に示すように、N個のエージェントには、エージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150が含まれる。システム100では、エージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150がリソース制約のあるエージェントである。エージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150のそれぞれは、ローカルの訓練データを持っている。サーバ110は、各エージェントにあるローカルの訓練データにアクセスすることなく、正確なプルーニングされたモデルを学習することを目的としている。
サーバ110は、あるコンピューティングデバイスに存在してよい。N個のエージェント(エージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150)はコンピューティングデバイスのそれぞれに存在してよく、例えば、エージェントはエッジデバイスおよびモバイルデバイスであってよい。コンピューティングデバイスとは、ユーザからの入力を受け取り、コンピュータプログラム命令を実行し、ネットワークを介して別のコンピューティングシステムと通信できる任意の電子デバイスでも、コンピューティングシステムでもよい。以後の段落では図3を参照して、コンピューティングデバイスホスティングサーバ110、またはエージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150のそれぞれについて、より詳細に説明する。
システム100は、サーバ110とN個のエージェント(エージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150)との間の通信をサポートする接続とプロトコルとの任意の組み合わせとすることができるネットワークで実現されてよい。例えば、ネットワークは、インターネットに接続されたデバイス間の通信をサポートするためのネットワークおよびゲートウェイの世界的規模の集合体を表すインターネットであってよく、ネットワークは、イントラネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、および無線ネットワークとして実現されてよい。システム100は、クラウド環境で実現されてよい。クラウド環境については、以後の段落で図4および図5を参照しながら説明する。
サーバ110は最初に、完全版機械学習モデル(例えば、ディープニューラルネットワーク)を構築し、完全版機械学習モデルの重み付けを開始する。重みの初期化は、例えば、ランダム初期化、分散スケーリング初期化などの様々な形式であってよい。
サーバ110は、エージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150のそれぞれのリソース(例えば、コンピューティング能力もしくは接続性またはその両方)を評価し、こうしてサーバ100は、エージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150のそれぞれによる連合機械学習におけるモデル訓練の能力を判定する。上記能力に基づいて、サーバ100は、完全版機械学習モデルの重みをマスクして、マスクされた機械学習モデル(またはスパース機械学習モデル)を構築する。サーバ100は、完全版機械学習モデルの予め決められた数の最小重みをマスクする。マスクされた機械学習モデルは、リソース制約のあるエージェントであるエージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150のために生成される。連合機械学習におけるリソース制約がサーバ100により考慮され、完全版機械学習モデルの重みをマスクすることは、そのようなリソース制約に基づいている。完全版機械学習モデルをマスクして、マスクされた機械学習モデルを生成することにより、サーバ110は、エージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150のそれぞれの計算コストおよび通信コストを低減し、同時に、連合機械学習の全体的な効率および精度が保証される。
サーバ110は、エージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150のそれぞれに、マスクされた機械学習モデルを配布する。エージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150のそれぞれは、通常の連合機械学習プロセスを開始する。エージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150のそれぞれは、そのローカルの訓練データまたはそのローカルの訓練データのサブセットを用いて、マスクされた機械学習モデル(またはスパース機械学習モデル)を訓練し、マスクされた機械学習モデルの更新後の重みを取得する。エージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150のそれぞれは、更新後の重みをサーバ110にアップロードする。
サーバ110は、更新後の重みを受け取ると、更新後の重みに基づいて完全版機械学習モデルを更新する。サーバ110は、完全版機械学習モデルを更新すると、更新された完全版機械学習モデルが収束しているかどうかを判定する。更新された完全版機械学習モデルが収束している場合、サーバ110は連合機械学習を完了する。更新された完全版機械学習モデルが収束していない場合、サーバ100は、動的なマスキングを用いて連合学習を反復することになる。エージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150のそれぞれのリソースが変化している条件下では、サーバ110が、連合機械学習におけるモデル訓練の能力を再評価し、更新された完全版機械学習モデルをマスクし、新たなマスクされた機械学習モデルを生成し、この新たなマスクされた機械学習モデルを別のサイクルのモデル訓練のためにエージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150に配布する。エージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150のそれぞれのリソースが変化していない条件下では、サーバ110が、更新された完全版機械学習モデルをマスクし、新たなマスクされた機械学習モデルを生成して、この新たなマスクされた機械学習モデルを別のサイクルのモデル訓練のためにエージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150に配布する。完全版機械学習モデルの重みをマスクして、マスクされた機械学習モデルを生成することは動的なものであり、言い換えれば、リソース制限のある連合学習は、完全版機械学習モデルまたは更新された完全版機械学習の重みを動的にマスクすることにより反復して行われる。
図2は、本発明の1つの実施形態による、動的なマスキングを用いたリソース制限のある連合学習の動作段階を示すフローチャートである。段階201では、連合機械学習におけるサーバ(例えば、図1に示すサーバ110)が、完全版機械学習モデルを構築して、完全版機械学習モデルの重み付けを開始する。
段階202では、サーバが連合機械学習におけるそれぞれのエージェントのリソースを評価して、それぞれのエージェント(図1に示すエージェント1 120、エージェント2 130、エージェント3 140、…、およびエージェントN 150など)によるモデル訓練の能力を判定する。それぞれのエージェントは、連合機械学習におけるリソース制約のあるエージェントである。モデル訓練の能力が、リソース制限のある連合機械学習の要素を制御している。
段階203では、それぞれのエージェントによるモデル訓練の能力に基づいて、サーバが完全版機械学習モデルの重みをマスクして、マスクされた機械学習モデルを構築する。サーバは、段階201で構築された完全版機械学習モデルの予め決められた数の最小重みをマスクする。段階203では、サーバが、リソース制約のあるエージェントのために、マスクされた機械学習モデルを生成する。それぞれのエージェントの計算コストおよび通信コストは、マスクされた機械学習モデルを連合機械学習に用いることで低減し、連合機械学習の全体的な効率および精度が維持される。
段階204では、サーバが、マスクされた機械学習モデルをそれぞれのエージェントに配布する。マスクされた機械学習モデルは、それぞれのエージェントでローカルの訓練データを用いて訓練するために、それぞれのエージェントに送られる。マスクされた機械学習モデルは、サーバとそれぞれのエージェントとの間の通信をサポートする接続とプロトコルとの任意の組み合わせとすることができるネットワークを通じて、それぞれのエージェントに配布される。
段階205では、それぞれのエージェントがローカルの訓練データを用いて、マスクされた機械学習モデルを訓練する。それぞれのエージェントは、マスクされた機械学習モデルをサーバから受け取ると、通常の連合機械学習プロセスを開始する。各エージェントは、そのローカルの訓練データまたはそのローカルの訓練データのサブセットを用いて、マスクされた機械学習モデル(またはスパース機械学習モデル)を訓練する。しかしながら、各エージェントは、そのローカルデータをサーバと共有しない。したがって、マスクされた機械学習モデルの訓練の高い精度が維持され、同時に、各エージェントのローカルデータのプライバシーが保護され得る。
段階206では、それぞれのエージェントが、マスクされた機械学習モデルの訓練によって、更新後の重みを取得する。段階207では、それぞれのエージェントが更新後の重みをサーバにアップロードする。それぞれのエージェントはアップグレードされた重みをサーバにアップロードするが、それぞれのエージェントはローカルデータをサーバと共有しないので、それぞれのエージェントのローカルデータのプライバシーが保護される。更新後の重みは、サーバとそれぞれのエージェントとの間の通信をサポートする接続とプロトコルとの任意の組み合わせとすることができるネットワークを通じて、サーバにアップロードされる。
段階208では、サーバが、それぞれのエージェントによりアップロードされた更新後の重みに基づいて完全版機械学習モデルを更新する。サーバは、マスクされた機械学習モデルの更新後の重みを受け取ると、完全版機械学習モデルを更新して、更新された完全版機械学習モデルを生成する。
段階209では、更新された完全版機械学習モデルが収束しているかどうかをサーバが判定する。更新された完全版機械学習モデルが収束しているとの判定に応答して(判断ブロック209のYES分岐)、サーバは、動的なマスキングを用いたリソース制限のある連合学習を完了する。更新された完全版機械学習モデルが収束していないとの判定に応答して(判断ブロック209のNO分岐)、サーバは段階210で、それぞれのエージェントのリソースが変化しているかどうかを判定する。
それぞれのエージェントのリソースが変化しているとの判定に応答して(判断ブロック210のYES分岐)、サーバは段階202を反復して、それぞれのエージェントのリソースを再評価し、それぞれのエージェントによるモデル訓練の新たな能力を判定する。次いで、現在の反復において、サーバは段階203~209を反復し、サーバは更新された完全版機械学習モデルの更新後の重みをマスクして、新たなマスクされた機械学習モデルを構築し、サーバは新たなマスクされた機械学習モデルをそれぞれのエージェントに配布し、それぞれのエージェントは新たなマスクされた機械学習モデルを訓練し、それぞれのエージェントは新たな更新後の重みを取得して、これをサーバにアップロードし、サーバは前の反復で更新された完全版機械学習モデルを更新し、サーバは現在の反復で更新された完全版機械学習モデルが収束しているかどうかを判定する。現在の反復で更新された完全版機械学習モデルが収束している場合、サーバは反復を完了する。それぞれのエージェントのリソースが変化していないとの判定に応答して(判断ブロック210のNO分岐)、サーバはリソースを再評価することなく段階203~209を反復する。
図3は、本発明の1つの実施形態による、コンピューティングデバイスまたはサーバ300の各コンポーネントを例示した図である。図3は、1つの実装例の例示を提供しているだけであり、いかなる限定も示唆するものではなく、異なる実施形態が実装されてもよいことを理解されたい。
図3を参照すると、コンピューティングデバイスまたはサーバ300は、プロセッサ320、メモリ310、および有形のストレージデバイス330を含む。図3では、コンピューティングデバイスまたはサーバ300の上述したコンポーネント間の通信が、数字390で示されている。メモリ310は、ROM(読み出し専用メモリ)311、RAM(ランダムアクセスメモリ)313、およびキャッシュ315を含む。1つまたは複数のオペレーティングシステム331および1つまたは複数のコンピュータプログラム333が、1つまたは複数のコンピュータ可読有形ストレージデバイス330に存在する。
コンピューティングデバイスまたはサーバ300はさらに、I/Oインタフェース350を含む。I/Oインタフェース350によって、コンピューティングデバイスまたはサーバ300に接続され得る外部デバイス360とのデータの入力および出力が可能になる。コンピューティングデバイスまたはサーバ300はさらに、コンピューティングデバイスまたはサーバ300とコンピュータネットワークとの間で通信するためのネットワークインタフェース340を含む。
本発明は、任意の可能性のある技術詳細レベルで統合化されたシステム、方法、もしくはコンピュータプログラム製品、またはその組み合わせであり得る。コンピュータプログラム製品は、プロセッサに本発明の各態様を実行させるためのコンピュータ可読プログラム命令を有する1つ(または複数)のコンピュータ可読記憶媒体を含み得る。
コンピュータ可読記憶媒体は、命令実行デバイスが用いるための命令を保持し格納できる有形のデバイスであってよい。コンピュータ可読記憶媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光学ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、または前述したデバイスの任意の好適な組み合わせであってよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、次のもの、すなわち、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能型読み出し専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピディスク、機械的に符号化されたデバイス(例えば、パンチカード、または命令を記録した溝内の隆起構造)、および前述した媒体の任意の好適な組み合わせが含まれる。コンピュータ可読記憶媒体は、本明細書では、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号などの一時的な信号それ自体であると解釈されるべきではない。
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされてもよく、ネットワーク(例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、もしくは無線ネットワーク、またはその組み合わせ)を介して、外部コンピュータまたは外部ストレージデバイスにダウンロードされてもよい。ネットワークには、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、もしくはエッジサーバ、またはその組み合わせが含まれてよい。各コンピューティング/処理デバイス内のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、このコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に格納するために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、または1つもしくは複数のプログラミング言語(Smalltalk(登録商標)またはC++などといったオブジェクト指向プログラミング言語、およびCプログラミング言語または同様のプログラミング言語といった手続き型プログラミング言語を含む)の任意の組み合わせで記述されたソースコードもしくはオブジェクトコードのいずれかであってもよい。コンピュータ可読プログラム命令は、ユーザのコンピュータで完全に実行してもよく、ユーザのコンピュータで部分的に実行してもよく、スタンドアロン型ソフトウェアパッケージとして、ユーザのコンピュータで部分的に且つリモートコンピュータで部分的に実行してもよく、リモートコンピュータまたはサーバで完全に実行してもよい。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを通じてユーザのコンピュータに接続されてもよく、この接続は(例えば、インターネットサービスプロバイダを使用してインターネットを通じて)外部コンピュータに行われてもよい。いくつかの実施形態では、例えば、プログラム可能型論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路が、本発明の各態様を行うために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行して、この電子回路を個別化してよい。
本発明の各態様は、本明細書において、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図もしくはブロック図またはその両方を参照して説明されている。フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方のブロックの組み合わせは、コンピュータ可読プログラム命令により実現され得ることが理解されるであろう。
これらのコンピュータ可読プログラム命令をコンピュータまたは他のプログラム可能型データ処理装置のプロセッサに提供して機械をもたらしてよく、これにより、コンピュータまたは他のプログラム可能型データ処理装置のプロセッサを介して実行される命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックに指定された機能/動作を実現するための手段をもたらすようになる。コンピュータ、プログラム可能型データ処理装置、もしくは他のデバイス、またはその組み合わせに特定の方式で機能するよう指示できるこれらのコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体に格納されてもよく、これにより、命令を格納したコンピュータ可読記憶媒体は、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックに指定された機能/動作の態様を実現する命令を含む製造品を含むようになる。
コンピュータ可読プログラム命令をコンピュータ、他のプログラム可能型データ処理装置、または他のデバイスに読み込んで、一連の動作段階がコンピュータ、他のプログラム可能型装置、または他のデバイスで行われるようにして、コンピュータ実装プロセスをもたらしてもよく、これにより、コンピュータ、他のプログラム可能型装置、または他のデバイス上で実行される命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックで指定された機能/動作を実現するようになる。
各図のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の、可能性のある実装例のアーキテクチャ、機能性、および動作を例示している。これに関して、フローチャートまたはブロック図の各ブロックは命令のモジュール、セグメント、または一部を表してよく、ここには指定された論理機能を実現する1つまたは複数の実行可能命令が含まれる。いくつかの代替的な実装例において、ブロックに記載されている機能は、図に記載されている順序から外れて生じてもよい。例えば、連続して示されている2つのブロックが、実際には、1つの段階として実現されても、同時に、実質的に同時に、部分的にもしくは全体的に時間重複する方式で実行されてもよく、各ブロックは、場合によっては、関係する機能に応じて逆の順序で実行されてもよい。ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方におけるブロックの組み合わせが、指定された機能もしくは動作を行うかまたは専用ハードウェアとコンピュータ命令との組み合わせを実行する専用ハードウェアベースのシステムによって実現され得ることにも留意されたい。
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載された教示の実現がクラウドコンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られている、または今後開発される任意の他の種類のコンピューティング環境と併せて実現される可能性がある。
クラウドコンピューティングは、最小限の管理労力またはサービスの提供者との最小限のやり取りで迅速なプロビジョニングおよびリリースが可能となる構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理能力、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの簡便なオンデマンドネットワークアクセスを可能にするためのサービス提供のモデルである。このクラウドモデルには、少なくとも5つの特徴、少なくとも3つのサービスモデル、および少なくとも4つの展開モデルが含まれ得る。
特徴については以下のとおりである。
オンデマンドセルフサービス:クラウド利用者は、サービスの提供者との人的なやり取りを必要とすることなく必要に応じて自動的に、サーバ時間およびネットワークストレージなどのコンピューティング機能を一方的にプロビジョニングできる。
幅広いネットワークアクセス:各機能がネットワークを介して利用可能であり、異種のシンククライアントプラットフォームまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的な仕組みを通じてアクセスされる。
リソースプーリング:提供者のコンピューティングリソースは、マルチテナントモデルを用いて複数の利用者にサービスを提供するためにプールされ、異なる物理リソースおよび仮想リソースが要求に従って動的に割り当てられ、また再び割り当てられる。概して利用者は、提供されたリソースの正確な位置を制御することも知ることもできないが、より高い抽象化レベル(例えば、国、州、またはデータセンタ)で位置を指定できる場合があるという点で、位置独立感がある。
スピーディな拡張性:各機能を迅速かつ弾力的に、場合によっては自動的に、プロビジョニングしてすぐにスケールアウトし、且つ迅速にリリースしてすぐにスケールインすることができる。利用者にとっては、プロビジョニングに利用可能な各機能は、無制限のように見えることが多く、量を問わずいつでも購入可能である。
計測可能なサービス:クラウドシステムは、サービスの種類(例えば、ストレージ、処理能力、帯域幅、および実利用中のユーザアカウント数)に適切な、ある抽象化レベルでの計測機能を活用することによって、リソース利用を自動的に制御し且つ最適化する。リソース使用量をモニタリングし、制御し、報告できるので、利用されるサービスの提供者および利用者の両方に透明性を提供できる。
サービスモデルについては以下のとおりである。
サービスとしてのソフトウェア(SaaS):利用者に提供される機能は、クラウドインフラストラクチャ上で動作する提供者のアプリケーションを用いることである。このアプリケーションには、ウェブブラウザ(例えば、ウェブベースの電子メール)などのシンクライアントインタフェースを通じて、様々なクライアントデバイスからアクセス可能である。利用者は、ネットワーク、サーバ、オペレーティングシステム、ストレージ、または個々のアプリケーション機能さえも含んだ、基礎となるクラウドインフラストラクチャを管理することも、制御することもない。ただし、限定されたユーザ固有のアプリケーション構成設定は例外となる場合がある。
サービスとしてのプラットフォーム(PaaS):利用者に提供される機能は、クラウドインフラストラクチャ上に、利用者が作成したまたは取得したアプリケーションを展開することであり、このアプリケーションは提供者がサポートするプログラミング言語およびツールを用いて作成されている。利用者は、ネットワーク、サーバ、オペレーティングシステム、またはストレージを含んだ基礎となるクラウドインフラストラクチャを管理することも、制御することもないが、展開されたアプリケーション、および場合によってはアプリケーションホスティング環境構成を制御する。
サービスとしてのインフラストラクチャ(IaaS):利用者に提供される機能は、処理能力、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースをプロビジョニングすることであり、利用者は、オペレーティングシステムおよびアプリケーションを含み得る任意のソフトウェアを展開し且つ動作させることが可能である。利用者は、基礎となるクラウドインフラストラクチャを管理することも、制御することもないが、オペレーティングシステム、ストレージ、展開されたアプリケーションを制御し、場合によっては選択したネットワーキングコンポーネント(例えば、ホストファイアウォール)の限定された制御を行う。
展開モデルについては以下のとおりである。
プライベートクラウド:このクラウドインフラストラクチャは、ある組織のためだけに運用される。これは、その組織または第三者によって管理されてよく、オンプレミスに存在してもオフプレミスに存在してもよい。
コミュニティクラウド:このクラウドインフラストラクチャは、複数の組織によって共有されており、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンス上の考慮事項)を有する特定のコミュニティをサポートする。これは、その組織または第三者により管理されてよく、オンプレミスに存在してもオフプレミスに存在してもよい。
パブリッククラウド:このクラウドインフラストラクチャは、一般大衆または大規模な業界団体に利用可能となっており、クラウドサービスを販売する組織によって所有されている。
ハイブリッドクラウド:このクラウドインフラストラクチャは、2つまたはそれより多くのクラウド(プライベート、コミュニティ、またはパブリック)の複合体であり、各クラウドは独自のエンティティのままであるが、標準化された技術または独自の技術によって共に結合されているため、データおよびアプリケーションの移植性(例えば、クラウド間の負荷分散を図るためのクラウドバースティング)が可能になる。
クラウドコンピューティング環境は、ステートレス性、低結合性、モジュール性、およびセマンティック相互運用性に重点を置いたサービス指向型である。クラウドコンピューティングの中核には、相互接続されたノードのネットワークを含むインフラストラクチャが存在する。
ここで図4を参照すると、例示的なクラウドコンピューティング環境50が描かれている。示されているように、クラウドコンピューティング環境50には、クラウド利用者により用いられるローカルのコンピューティングデバイス(例えば、モバイルデバイス54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、もしくは車載コンピュータシステム54N、またはその組み合わせ)の通信先となり得る1つまたは複数のクラウドコンピューティングノード10が含まれる。ノード10は、互いに通信してよい。これらのノードは、上記で説明したようなプライベートクラウド、コミュニティクラウド、パブリッククラウド、もしくは、ハイブリッドクラウド、または、その組み合わせといった1つまたは複数のネットワーク内で物理的にまたは仮想的にグループ化されてよい(不図示)。これにより、クラウドコンピューティング環境50は、サービスとしてインフラストラクチャ、プラットフォーム、もしくはソフトウェア、またはその組み合わせを提供することが可能になり、こうしたサービスのためにクラウド利用者がリソースをローカルのコンピューティングデバイス上に維持する必要はない。コンピューティングデバイス54A~54Nの種類は、例示のみを意図したものであり、コンピューティングノード10およびクラウドコンピューティング環境50は、任意の種類のネットワークもしくはネットワークアドレス指定可能な接続またはその両方を利用して(例えば、ウェブブラウザを用いて)、任意の種類のコンピュータ化されたデバイスと通信可能であることが理解される。
ここで図5を参照すると、クラウドコンピューティング環境50(図4)により提供される機能抽象化層一式が示されている。図5に示すコンポーネント、層、および機能は例示のみを意図したものであり、本発明の実施形態はそれらに限定されないことを予め理解されたい。描かれているように、以下の層および対応する機能が提供されている。
ハードウェアおよびソフトウェア層60には、ハードウェアコンポーネントおよびソフトウェアコンポーネントが含まれる。ハードウェアコンポーネントの例としては、メインフレーム61、RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、ストレージデバイス65、ならびにネットワークおよびネットワーキングコンポーネント66が挙げられる。いくつかの実施形態において、ソフトウェアコンポーネントには、ネットワークアプリケーションサーバソフトウェア67およびデータベースソフトウェア68が含まれる。
仮想化層70は抽象化層を提供し、そこから、仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティングシステム74、ならびに仮想クライアント75といった仮想エンティティの例が提供され得る。
1つの例では、管理層80が、後述される機能を提供し得る。リソースプロビジョニング81では、クラウドコンピューティング環境内でタスクを行うのに利用されるコンピューティングリソースおよび他のリソースの動的な調達を行う。計測および価格設定82では、クラウドコンピューティング環境内でリソースが利用されると、コストの追跡を行い、これらのリソースの消費に対して請求書作成またはインボイス作成を行う。一例において、これらのリソースには、アプリケーションソフトウェアライセンスが含まれることがある。セキュリティでは、クラウド利用者およびタスクの資格情報確認、ならびにデータおよび他のリソースの保護を行う。ユーザポータル83では、利用者およびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84では、必要なサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を行う。サービスレベルアグリーメント(SLA)の計画および履行85では、将来的な必要性が予想されるクラウドコンピューティングリソースの事前調整およびその調達をSLAに従って行う。
ワークロード層90は、クラウドコンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロードおよび機能の例としては、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育の提供93、データ分析処理94、トランザクション処理95、および機能96が挙げられる。本発明における機能96とは、動的なマスキングを用いたリソース制限のある連合学習の機能性である。
Claims (18)
- 動的なマスキングを用いたリソース制限のある連合学習のためのコンピュータ実装方法であって、前記コンピュータ実装方法が、
連合機械学習におけるサーバが、前記連合機械学習におけるそれぞれのエージェントのリソースを評価して、前記それぞれのエージェントによるモデル訓練の能力を判定する段階;
前記サーバが前記能力に基づき、完全版機械学習モデルの重みをマスクして、マスクされた機械学習モデルを構築する段階;
前記サーバが、前記マスクされた機械学習モデルを訓練する前記それぞれのエージェントに前記マスクされた機械学習モデルを配布する段階;
前記サーバが前記それぞれのエージェントから、前記マスクされた機械学習モデルの訓練によって取得された更新後の重みを受け取る段階;および
前記サーバが前記更新後の重みに基づいて前記完全版機械学習モデルを更新する段階
を備える、コンピュータ実装方法。 - 更新された完全版機械学習モデルが収束しているかどうかを前記サーバが判定する段階;および
前記更新された完全版機械学習モデルが収束しているとの判定に応答して、前記リソースが変化しているかどうかを前記サーバが判定する段階
をさらに備える請求項1に記載のコンピュータ実装方法。 - 前記リソースが変化しているとの判定に応答して、前記サーバが前記リソースを再評価して、前記それぞれのエージェントによる前記モデル訓練の新たな能力を判定する段階;
前記サーバが現在の反復において前記新たな能力に基づき、前記更新された完全版機械学習モデルの重みをマスクして、新たなマスクされた機械学習モデルを構築する段階;
前記新たなマスクされた機械学習モデルを訓練して新たな更新後の重みを取得するために、前記サーバが前記新たなマスクされた機械学習モデルを前記それぞれのエージェントに配布する段階;および
前記サーバが前記新たな更新後の重みに基づいて、前の反復で更新された完全版機械学習モデルを更新する段階
をさらに備える、請求項2に記載のコンピュータ実装方法。 - 前記リソースが変化していないとの判定に応答して、前記サーバが現在の反復において前記能力に基づき、前記更新された完全版機械学習モデルの重みをマスクして、新たなマスクされた機械学習モデルを構築する段階;
前記新たなマスクされた機械学習モデルを訓練して新たな更新後の重みを取得するために、前記サーバが前記新たなマスクされた機械学習モデルを前記それぞれのエージェントに配布する段階;および
前記サーバが前記新たな更新後の重みに基づいて、前の反復で更新された完全版機械学習モデルを更新する段階
をさらに備える、請求項2に記載のコンピュータ実装方法。 - 前記サーバが前記完全版機械学習モデルを構築する段階;および
前記サーバが前記完全版機械学習モデルの前記重み付けを開始する段階
をさらに備える、請求項1から4のいずれか一項に記載のコンピュータ実装方法。 - 前記それぞれのエージェントがローカルの訓練データを用いて、前記マスクされた機械学習モデルを訓練する段階;
前記それぞれのエージェントが前記更新後の重みを取得する段階;および
前記それぞれのエージェントが前記更新後の重みを前記サーバにアップロードする段階
をさらに備える、請求項1から4のいずれか一項に記載のコンピュータ実装方法。 - 動的なマスキングを用いたリソース制限のある連合学習のためのコンピュータプログラムであって、プロセッサに、
連合機械学習におけるサーバが、前記連合機械学習におけるそれぞれのエージェントのリソースを評価して、前記それぞれのエージェントによるモデル訓練の能力を判定する手順;
前記サーバが前記能力に基づき、完全版機械学習モデルの重みをマスクして、マスクされた機械学習モデルを構築する手順;
前記サーバが、前記マスクされた機械学習モデルを訓練する前記それぞれのエージェントに前記マスクされた機械学習モデルを配布する手順;
前記サーバが前記それぞれのエージェントから、前記マスクされた機械学習モデルの訓練によって取得された更新後の重みを受け取る手順;および
前記サーバが前記更新後の重みに基づいて前記完全版機械学習モデルを更新する手順
を実行させるためのコンピュータプログラム。 - 前記プロセッサに、
更新された完全版機械学習モデルが収束しているかどうかを前記サーバが判定する手順;および
前記更新された完全版機械学習モデルが収束しているとの判定に応答して、前記リソースが変化しているかどうかを前記サーバが判定する手順
をさらに実行させる、請求項7に記載のコンピュータプログラム。 - 前記プロセッサに、
前記リソースが変化しているとの判定に応答して、前記サーバが前記リソースを再評価して、前記それぞれのエージェントによる前記モデル訓練の新たな能力を判定する手順;
前記サーバが現在の反復において前記新たな能力に基づき、前記更新された完全版機械学習モデルの重みをマスクして、新たなマスクされた機械学習モデルを構築する手順;
前記新たなマスクされた機械学習モデルを訓練して新たな更新後の重みを取得するために、前記サーバが前記新たなマスクされた機械学習モデルを前記それぞれのエージェントに配布する手順;および
前記サーバが前記新たな更新後の重みに基づいて、前の反復で更新された完全版機械学習モデルを更新する手順
をさらに実行させる、請求項8に記載のコンピュータプログラム。 - 前記プロセッサに、
前記リソースが変化していないとの判定に応答して、前記サーバが現在の反復において前記能力に基づき、前記更新された完全版機械学習モデルの重みをマスクして、新たなマスクされた機械学習モデルを構築する手順;
前記新たなマスクされた機械学習モデルを訓練して新たな更新後の重みを取得するために、前記サーバが前記新たなマスクされた機械学習モデルを前記それぞれのエージェントに配布する手順;および
前記サーバが前記新たな更新後の重みに基づいて、前の反復で更新された完全版機械学習モデルを更新する手順
をさらに実行させる、請求項8に記載のコンピュータプログラム。 - 前記プロセッサに、
前記サーバが前記完全版機械学習モデルを構築する手順;および
前記サーバが前記完全版機械学習モデルの前記重み付けを開始する手順
をさらに実行させる、請求項7から10のいずれか一項に記載のコンピュータプログラム。 - 前記プロセッサに、
前記それぞれのエージェントがローカルの訓練データを用いて、前記マスクされた機械学習モデルを訓練する手順;
前記それぞれのエージェントが前記更新後の重みを取得する手順;および
前記それぞれのエージェントが前記更新後の重みを前記サーバにアップロードする手順
をさらに実行させる、請求項7から10のいずれか一項に記載のコンピュータプログラム。 - 動的なマスキングを用いたリソース制限のある連合学習のためのコンピュータシステムであって、前記コンピュータシステムが、1つまたは複数のプロセッサ、1つまたは複数のコンピュータ可読有形ストレージデバイス、および前記1つまたは複数のプロセッサのうちの少なくとも1つによる実行のために前記1つまたは複数のコンピュータ可読有形ストレージデバイスのうちの少なくとも1つに格納されたプログラム命令を備え、前記プログラム命令が、
連合機械学習におけるサーバが、前記連合機械学習におけるそれぞれのエージェントのリソースを評価して、前記それぞれのエージェントによるモデル訓練の能力を判定する;
前記サーバが前記能力に基づき、完全版機械学習モデルの重みをマスクして、マスクされた機械学習モデルを構築する;
前記サーバが、前記マスクされた機械学習モデルを訓練する前記それぞれのエージェントに前記マスクされた機械学習モデルを配布する;
前記サーバが前記それぞれのエージェントから、前記マスクされた機械学習モデルの訓練によって取得された更新後の重みを受け取る;および
前記サーバが前記更新後の重みに基づいて前記完全版機械学習モデルを更新する
ように実行可能である、コンピュータシステム。 - 更新された完全版機械学習モデルが収束しているかどうかを前記サーバが判定する;および
前記更新された完全版機械学習モデルが収束しているとの判定に応答して、前記リソースが変化しているかどうかを前記サーバが判定する
ように実行可能なプログラム命令をさらに備える、請求項13に記載のコンピュータシステム。 - 前記リソースが変化しているとの判定に応答して、前記サーバが前記リソースを再評価して、前記それぞれのエージェントによる前記モデル訓練の新たな能力を判定する;
前記サーバが現在の反復において前記新たな能力に基づき、前記更新された完全版機械学習モデルの重みをマスクして、新たなマスクされた機械学習モデルを構築する;
前記新たなマスクされた機械学習モデルを訓練して新たな更新後の重みを取得するために、前記サーバが前記新たなマスクされた機械学習モデルを前記それぞれのエージェントに配布する;および
前記サーバが前記新たな更新後の重みに基づいて、前の反復で更新された完全版機械学習モデルを更新する
ように実行可能なプログラム命令をさらに備える、請求項14に記載のコンピュータシステム。 - 前記リソースが変化していないとの判定に応答して、前記サーバが現在の反復において前記能力に基づき、前記更新された完全版機械学習モデルの重みをマスクして、新たなマスクされた機械学習モデルを構築する;
前記新たなマスクされた機械学習モデルを訓練して新たな更新後の重みを取得するために、前記サーバが前記新たなマスクされた機械学習モデルを前記それぞれのエージェントに配布する;および
前記サーバが前記新たな更新後の重みに基づいて、前の反復で更新された完全版機械学習モデルを更新する
ように実行可能なプログラム命令をさらに備える、請求項14に記載のコンピュータシステム。 - 前記サーバが前記完全版機械学習モデルを構築する;および
前記サーバが前記完全版機械学習モデルの前記重み付けを開始する
ように実行可能なプログラム命令をさらに備える、請求項13から16のいずれか一項に記載のコンピュータシステム。 - 前記それぞれのエージェントがローカルの訓練データを用いて、前記マスクされた機械学習モデルを訓練する;
前記それぞれのエージェントが前記更新後の重みを取得する;および
前記それぞれのエージェントが前記更新後の重みを前記サーバにアップロードする
ように実行可能なプログラム命令をさらに備える、請求項13から16のいずれか一項に記載のコンピュータシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/659,181 | 2022-04-14 | ||
US17/659,181 US20230334346A1 (en) | 2022-04-14 | 2022-04-14 | Resource-limited federated learning using dynamic masking |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023157843A true JP2023157843A (ja) | 2023-10-26 |
Family
ID=88308044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023020196A Pending JP2023157843A (ja) | 2022-04-14 | 2023-02-13 | コンピュータ実装方法、コンピュータプログラムおよびコンピュータシステム(動的なマスキングを用いたリソース制限のある連合学習) |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230334346A1 (ja) |
JP (1) | JP2023157843A (ja) |
CN (1) | CN116911401A (ja) |
-
2022
- 2022-04-14 US US17/659,181 patent/US20230334346A1/en active Pending
-
2023
- 2023-02-13 JP JP2023020196A patent/JP2023157843A/ja active Pending
- 2023-02-13 CN CN202310118521.6A patent/CN116911401A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230334346A1 (en) | 2023-10-19 |
CN116911401A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180205616A1 (en) | Intelligent orchestration and flexible scale using containers for application deployment and elastic service | |
JP7398474B2 (ja) | ディープ・フォレスト・モデルの開発および訓練 | |
US11989237B2 (en) | Natural language interaction with automated machine learning systems | |
JP2023520384A (ja) | 連合学習におけるパラメータ共有 | |
CN114930296A (zh) | 基于不同计算范式内的计算出的计算引力的分布式计算工作负载 | |
US10671928B2 (en) | Adaptive analytical modeling tool | |
US20200302350A1 (en) | Natural language processing based business domain modeling | |
US11842260B2 (en) | Incremental and decentralized model pruning in federated machine learning | |
JP2023544904A (ja) | 機械学習パイプラインの分散型リソースアウェアトレーニング | |
JP7361121B2 (ja) | デュアル・ネットワークと共に訓練された主ネットワークを介した多目的タスクの実行 | |
US11514340B2 (en) | Machine learning for technical tool selection | |
US10635579B2 (en) | Optimizing tree pruning for decision trees | |
WO2023077989A1 (en) | Incremental machine learning for a parametric machine learning model | |
US20230306118A1 (en) | Federated Generative Models for Website Assessment | |
CN116263813A (zh) | 通过降维提高分类和回归树性能 | |
US20230021563A1 (en) | Federated data standardization using data privacy techniques | |
JP2023157843A (ja) | コンピュータ実装方法、コンピュータプログラムおよびコンピュータシステム(動的なマスキングを用いたリソース制限のある連合学習) | |
US20220083876A1 (en) | Shiftleft topology construction and information augmentation using machine learning | |
CN117716373A (zh) | 基于期望的度量值提供机器学习模型 | |
JP2023550445A (ja) | データアナリティクスにおけるデータアクセスポリシの自動調整 | |
US20180359310A1 (en) | Shadow agent projection in multiple places to reduce agent movement over nodes in distributed agent-based simulation | |
US20230110975A1 (en) | Recommending model contributions based on federated learning lineage | |
US20230394112A1 (en) | Graph-based semi-supervised generation of files | |
US20230334720A1 (en) | What-if scenario based and generative adversarial network generated design adaptation | |
US11335076B1 (en) | Virtual reality-based device configuration |