KR20240125045A - 통신 방법 및 장치 - Google Patents
통신 방법 및 장치 Download PDFInfo
- Publication number
- KR20240125045A KR20240125045A KR1020247025273A KR20247025273A KR20240125045A KR 20240125045 A KR20240125045 A KR 20240125045A KR 1020247025273 A KR1020247025273 A KR 1020247025273A KR 20247025273 A KR20247025273 A KR 20247025273A KR 20240125045 A KR20240125045 A KR 20240125045A
- Authority
- KR
- South Korea
- Prior art keywords
- subnode
- model
- federated learning
- learning model
- subnodes
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 188
- 238000000034 method Methods 0.000 title claims abstract description 123
- 238000012360 testing method Methods 0.000 claims description 166
- 238000004590 computer program Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 description 106
- 238000012549 training Methods 0.000 description 79
- 238000013473 artificial intelligence Methods 0.000 description 52
- 238000013461 design Methods 0.000 description 47
- 238000013528 artificial neural network Methods 0.000 description 39
- 230000011664 signaling Effects 0.000 description 37
- 238000007726 management method Methods 0.000 description 28
- 210000002569 neuron Anatomy 0.000 description 27
- 238000012545 processing Methods 0.000 description 26
- 238000013507 mapping Methods 0.000 description 23
- 238000010801 machine learning Methods 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000009826 distribution Methods 0.000 description 9
- 238000013527 convolutional neural network Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 230000002787 reinforcement Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 238000012706 support-vector machine Methods 0.000 description 5
- 210000004027 cell Anatomy 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000007637 random forest analysis Methods 0.000 description 4
- 230000001976 improved effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000011056 performance test Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008093 supporting effect Effects 0.000 description 3
- 238000013526 transfer learning Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 210000005013 brain tissue Anatomy 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- 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
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/06—Testing, supervising or monitoring using simulated traffic
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer And Data Communications (AREA)
- Error Detection And Correction (AREA)
- Mobile Radio Communication Systems (AREA)
- Complex Calculations (AREA)
Abstract
본 개시는 연합 학습 모델의 성능을 개선하기 위한 통신 방법 및 장치를 제공한다. 방법은, i번째 제1 정보 부분을 획득― i번째 제1 정보 부분은 복수의 서브노드 각각의 i번째 로컬 모델을 나타내고, i는 양의 정수임 ―하는 단계; k번째 서브노드의 i번째 연합 학습 모델을 i번째 제1 정보 부분 및 k번째 서브노드의 i번째 연합 학습 모델의 유형에 기초하여 결정― k는 1부터 K까지의 임의의 양의 정수이고, K는 복수의 서브노드의 수량이며; 그리고 i가 1보다 큰 경우, k번째 서브노드의 i번째 연합 학습 모델의 유형은 k번째 서브노드의 (i-1)번째 연합 학습 모델의 유형 또는 성능에 기초하여 결정됨 ―하는 단계; 및 i번째 제2 정보 부분을 송신― i번째 제2 정보 부분은 복수의 서브노드 각각의 i번째 연합 학습 모델을 나타냄 ―하는 단계를 포함한다.
Description
관련 출원에 대한 상호 참조
본 출원은, 전문이 본 명세서에 참조로 포함되는, "COMMUNICATION METHOD AND APPARATUS"라는 명칭으로 2021년 12월 29일자로 중국 특허청에 출원된 중국 특허 출원 번호 제202111642343.4호에 대한 우선권을 주장한다.
기술분야
본 개시는 통신 기술 분야에 관한 것으로, 특히 통신 방법 및 장치에 관한 것이다.
무선 통신 네트워크, 예를 들어 이동 통신 네트워크에서는, 네트워크에 의해 지원되는 서비스가 점점 다양해지고 있으며, 따라서, 충족해야 할 요구 사항도 점점 다양해지고 있다. 예를 들어, 네트워크는 초고속, 초저 레이턴시, 및/또는 초대형 연결을 지원해야 한다. 이러한 특성은 네트워크 계획, 네트워크 구성, 및/또는 자원 스케줄링을 더욱 복잡하게 만든다. 또한, 네트워크 기능이 더욱 강력해지고, 예를 들어 점점 더 높은 스펙트럼을 지원하고 고차의 다중 입력 다중 출력(multiple-input multiple-output, MIMO) 기술, 빔포밍, 및/또는 빔 관리와 같은 새로운 기술을 지원하기 때문에, 네트워크 에너지 절약이 인기 있는 연구 주제가 된다. 이러한 새로운 요구 사항, 시나리오, 및 특징은 네트워크 계획, 운영 및 유지 보수와, 효율적인 운영에 전례 없는 과제를 안겨준다. 이러한 과제를 해결하기 위해, 무선 통신 네트워크에 인공 지능 기술을 도입하여 네트워크 지능을 구현할 수 있다. 이를 바탕으로, 네트워크에서 인공 지능을 효과적으로 구현하는 방법은 연구할 가치가 있는 문제이다.
본 개시는 연합 학습 모델의 성능을 개선하기 위한 통신 방법 및 장치를 제공한다.
제1 양태에 따르면, 본 개시는 통신 방법을 제공하고, 통신 방법은: i번째 제1 정보 부분을 획득― i번째 제1 정보 부분은 복수의 서브노드 각각의 i번째 로컬 모델을 나타내고, i는 양의 정수임 ―하는 단계; k번째 서브노드의 i번째 연합 학습 모델을 i번째 제1 정보 부분 및 k번째 서브노드의 i번째 연합 학습 모델의 유형에 기초하여 결정― k는 1부터 K까지의 임의의 양의 정수이고, K는 복수의 서브노드의 수량이며; 그리고 i가 1보다 큰 경우, k번째 서브노드의 i번째 연합 학습 모델의 유형은 k번째 서브노드의 (i-1)번째 연합 학습 모델의 유형 또는 성능에 기초하여 결정됨 ―하는 단계; 및 i번째 제2 정보 부분을 송신― i번째 제2 정보 부분은 복수의 서브노드 각각의 i번째 연합 학습 모델을 나타냄 ―하는 단계를 포함한다.
이 설계에서는, 과거 연합 학습 모델의 성능 또는 유형이 고려되고, 연합 학습 모델에 참여하는 서브노드에 대해 각각의 연합 학습 모델을 별도로 결정하여 개인화된 연합 학습을 구현한다. 이는 연합 학습 모델의 성능을 개선하는 데 도움이 된다.
가능한 설계에서, k번째 서브노드의 i번째 연합 학습 모델은 복수의 서브노드 중 k번째 서브노드 이외의 적어도 하나의 서브노드의 i번째 연합 학습 모델과 동일하거나 상이하다. 이러한 설계를 사용하여, 서브노드의 데이터 분포가 일치될 수 있으며, 다른 서브노드와는 데이터 분포가 크게 다른 서브노드에 대해 상이한 모델을 제공하여 개인화된 연합 학습을 구현한다.
가능한 설계에서, k번째 서브노드의 i번째 연합 학습 모델의 유형은 다음과 같은 방식으로 결정될 수 있으며, 즉, k번째 서브노드로부터 제1 테스트 결과를 획득― 제1 테스트 결과는 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 나타내고, i는 1보다 큼 ―하고; 제1 테스트 결과에 기초하여 k번째 서브노드의 i번째 연합 학습 모델의 유형을 결정하는 방식으로 결정될 수 있다. 이 설계에서, 서브노드의 과거 연합 학습 모델의 성능을 참조하여 서브노드에 대한 현재 연합 학습 모델의 유형을 결정하여, 서브노드의 데이터 분포와 일치하는 연합 학습 모델을 훈련하는 데 도움을 준다.
다른 가능한 설계에서, k번째 서브노드의 i번째 연합 학습 모델의 유형은 다음과 같은 방식으로 결정될 수 있으며, 즉, 제1 모델을 나타내는 정보를 k번째 순서의 서브노드에 송신― 제1 모델은 (i-1)번째 제1 정보 부분 및 복수의 서브노드 각각의 (i-1)번째 로컬 모델에 대응하는 가중치에 기초하여 결정되고, i는 1보다 큼 ―하고; k번째 서브노드로부터 제2 테스트 결과를 획득― 제2 테스트 결과는 제1 모델의 성능을 나타내거나, 또는 제2 테스트 결과는 제1 모델의 성능 및 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 나타냄 ―하고; 제2 테스트 결과에 기초하여 k번째 서브노드의 i번째 연합 학습 모델의 유형을 결정하는 방식으로 결정될 수 있다. 이 설계에서, 제1 모델, 즉, 글로벌 유형의 과거 연합 학습 모델을 참조하여 현재 연합 학습 모델의 유형을 결정하여, 서브노드의 데이터 분포와 일치하는 연합 학습 모델의 훈련하는 데 도움을 준다.
가능한 설계에서, i번째 제1 정보 부분 및 k번째 서브노드의 i번째 연합 학습 모델의 유형에 기초하여 k번째 서브노드의 i번째 연합 학습 모델을 결정하는 단계는: k번째 서브노드의 i번째 연합 학습 모델의 유형이 제1 값에 대응하는 경우, k번째 서브노드의 i번째 연합 학습 모델을 i번째 제1 정보 부분 및 복수의 서브노드 각각의 i번째 로컬 모델에 대응하는 가중치에 기초하여 결정하는 단계; 또는 k번째 서브노드의 i번째 연합 학습 모델의 유형이 제2 값에 대응하는 경우, k번째 서브노드의 i번째 연합 학습 모델을 i번째 제1 정보 부분, 및 k번째 서브노드의 i번째 로컬 모델과 복수의 서브노드 각각의 i번째 로컬 모델 사이의 유사성에 기초하여 결정하는 단계를 포함한다. 이 설계에서, 상이한 유형의 연합 학습 모델에 대해 상이한 모델 계산 방식을 사용하여 관련 서브노드의 연합 학습 모델을 결정함으로써, 연합 학습 모델의 성능을 개선할 수 있다.
가능한 설계에서, 복수의 서브노드는 제1 서브노드 그룹 및 제2 서브노드 그룹을 포함하고, 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델은 동일하고, 제2 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델은 서로 다르며 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델과 다르고; i번째 제2 정보 부분을 송신하는 단계는, 제1 표시 정보를 브로드캐스트 또는 멀티캐스트 방식으로 제1 서브노드 그룹에 송신― 제1 표시 정보는 제1 서브노드 그룹의 각 서브노드의 i번째 연합 학습 모델을 나타냄 ―하는 단계; 및 제2 표시 정보를 유니캐스트 방식으로 제2 서브노드 그룹의 p번째 서브노드에 송신― 제2 표시 정보는 p번째 서브노드의 i번째 연합 학습 모델을 나타내고, p는 1부터 P까지의 임의의 양의 정수이고, P는 제2 서브노드 그룹에 포함된 서브노드의 수량임 ―하는 단계를 포함한다.
다른 가능한 설계에서, i번째 연합 학습 모델은 제1 파라미터 정보 부분과 제2 파라미터 정보 부분으로 표현되고, 복수의 서브노드 모두의 i번째 연합 학습 모델의 제1 파라미터 정보 부분은 동일하고; 복수의 서브노드는 제1 서브노드 그룹 및 제2 서브노드 그룹을 포함하고, 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분은 동일하고, 제2 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분은 서로 다르며 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분과 다르고;
i번째 제2 정보 부분을 송신하는 단계는: i번째 연합 학습 모델의 제1 파라미터 정보 부분을 브로드캐스트 또는 멀티캐스트 방식으로 복수의 서브노드에 송신하는 단계; 제1 서브노드 그룹의 각 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분을 브로드캐스트 또는 멀티캐스트 방식으로 제1 서브노드 그룹에 송신하는 단계; 및 p번째 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분을 유니캐스트 방식으로 제2 서브노드 그룹의 p번째 서브노드에 송신― p는 1부터 P까지의 임의의 양의 정수이고, P는 제2 서브노드 그룹에 포함된 서브노드의 수량임 ―하는 단계를 포함한다.
i번째 제2 정보 부분을 송신하는 전술한 설계에서, 2개 이상의 서브노드에 대응하는 동일한 정보를 브로드캐스트 또는 멀티캐스트 방식으로 송신함으로써, i번째 제2 정보 부분을 송신하기 위한 자원을 절약할 수 있다.
가능한 설계에서, 방법은: 제2 모델을 나타내는 정보를 복수의 서브노드에 송신― 제2 모델을 나타내는 정보는 복수의 서브노드 각각에 의해 제1 로컬 모델을 결정하는 데 사용됨 ―하는 단계를 더 포함한다.
제2 양태에 따르면, 본 개시는 통신 방법을 제공하고, 통신 방법은: k번째 서브노드의 i번째 로컬 모델을 나타내는 정보를 송신― k는 1부터 K까지의 임의의 양의 정수이고, K는 연합 학습에 참여하는 복수의 서브노드의 수량이고, i는 양의 정수임 ―하는 단계; 및 k번째 서브노드의 i번째 연합 학습 모델을 나타내는 정보를 획득― k번째 서브노드의 i번째 연합 학습 모델은 i번째 제1 정보 부분 및 k번째 서브노드의 i번째 연합 학습 모델의 유형에 기초하여 결정됨 ―하는 단계를 포함한다. i번째 제1 정보 부분은 복수의 서브노드 각각의 i번째 로컬 모델을 나타내는 정보를 포함하고; i가 1보다 큰 경우, k번째 서브노드의 i번째 연합 학습 모델의 유형은 k번째 서브노드의 (i-1)번째 연합 학습 모델의 유형 또는 성능에 기초하여 결정된다.
가능한 설계에서, k번째 서브노드의 i번째 연합 학습 모델은 복수의 서브노드 중 k번째 서브노드 이외의 적어도 하나의 서브노드의 i번째 연합 학습 모델과 동일하거나 상이하다.
가능한 설계에서, 방법은: 제1 테스트 결과를 송신― 제1 테스트 결과는 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 나타내고, i는 1보다 크고, k번째 서브노드의 i번째 연합 학습 모델의 유형은 제1 테스트 결과에 기초하여 결정됨 ―하는 단계를 더 포함한다.
가능한 설계에서, 방법은: 제1 모델을 나타내는 정보를 획득― 제1 모델은 (i-1)번째 제1 정보 부분 및 복수의 서브노드 각각의 (i-1)번째 로컬 모델에 대응하는 가중치에 기초하여 결정되고, i는 1보다 큼 ―하는 단계; 및 제2 테스트 결과를 송신― 제2 테스트 결과는 제1 모델의 성능을 나타내거나, 또는 제2 테스트 결과는 제1 모델의 성능 및 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 나타내고, k번째 서브노드의 i번째 연합 학습 모델의 유형은 제2 테스트 결과에 기초하여 결정됨 ―하는 단계를 더 포함한다.
가능한 설계에서, k번째 서브노드의 i번째 연합 학습 모델의 유형이 제1 값에 대응하는 경우, k번째 서브노드의 i번째 연합 학습 모델은 i번째 제1 정보 부분 및 복수의 서브노드 각각의 i번째 로컬 모델에 대응하는 가중치에 기초하여 결정되거나; 또는 k번째 서브노드의 i번째 연합 학습 모델의 유형이 제2 값에 대응하는 경우, k번째 서브노드의 i번째 연합 학습 모델은 i번째 제1 정보 부분 및 k번째 서브노드의 i번째 로컬 모델과 복수의 서브노드 각각의 i번째 로컬 모델 사이의 유사성에 기초하여 결정된다.
가능한 설계에서, 방법은: 제2 모델을 나타내는 정보를 획득하는 단계; 및 제2 모델을 나타내는 정보에 기초하여 k번째 서브노드의 제1 로컬 모델을 결정하는 단계를 더 포함한다.
제3 양태에 따르면, 본 개시는 통신 장치를 제공한다. 통신 장치는 중앙 노드일 수 있거나, 또는 중앙 노드의 장치일 수 있거나, 또는 중앙 노드와 함께 사용될 수 있는 장치일 수 있다. 설계에서, 통신 장치는 제1 양태에 따른 방법/동작/단계/행위에 일대일 대응하는 모듈을 포함할 수 있다. 모듈은 하드웨어 회로, 소프트웨어, 또는 하드웨어 회로와 소프트웨어의 조합으로 구현될 수 있다. 설계에서, 통신 장치는 처리 모듈과 통신 모듈을 포함할 수 있다.
예에서, 통신 모듈은 i번째 제1 정보 부분을 획득― i번째 제1 정보 부분은 복수의 서브노드 각각의 i번째 로컬 모델을 나타내고, i는 양의 정수임 ―하도록 구성된다.
처리 모듈은 i번째 제1 정보 부분 및 k번째 서브노드의 i번째 연합 학습 모델의 유형에 기초하여 k번째 서브노드의 i번째 연합 학습 모델을 결정― k는 1부터 K까지의 임의의 양의 정수이고, K는 복수의 서브노드의 수량임 ―하도록 구성되고; i가 1보다 큰 경우, k번째 서브노드의 i번째 연합 학습 모델의 유형은 k번째 서브노드의 (i-1)번째 연합 학습 모델의 유형 또는 성능에 기초하여 결정된다.
통신 모듈은 i번째 제2 정보 부분을 송신― i번째 제2 정보 부분은 복수의 서브노드 각각의 i번째 연합 학습 모델을 나타냄 ―하도록 더 구성된다.
가능한 설계에서, k번째 서브노드의 i번째 연합 학습 모델은 복수의 서브노드 중 k번째 서브노드 이외의 적어도 하나의 서브노드의 i번째 연합 학습 모델과 동일하거나 상이하다.
가능한 설계에서, 통신 모듈은 k번째 서브노드로부터 제1 테스트 결과를 획득― 제1 테스트 결과는 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 나타내고, i는 1보다 큼 ―하도록 더 구성되고; 처리 모듈은 제1 테스트 결과에 기초하여 k번째 서브노드의 i번째 연합 학습 모델의 유형을 결정하도록 더 구성된다.
다른 가능한 설계에서, 통신 모듈은 제1 모델을 나타내는 정보를 k번째 순서의 서브노드에 송신― 제1 모델은 (i-1)번째 제1 정보 부분 및 복수의 서브노드 각각의 (i-1)번째 로컬 모델에 대응하는 가중치에 기초하여 결정되고, i는 1보다 큼 ―하도록 더 구성된다. 통신 모듈은 k번째 서브노드로부터 제2 테스트 결과를 획득― 제2 테스트 결과는 제1 모델의 성능을 나타내거나, 또는 제2 테스트 결과는 제1 모델의 성능 및 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 나타냄 ―하도록 더 구성된다. 처리 모듈은 제2 테스트 결과에 기초하여 k번째 서브노드의 i번째 연합 학습 모델의 유형을 결정하도록 더 구성된다.
가능한 설계에서, 처리 모듈은 k번째 서브노드의 i번째 연합 학습 모델의 유형이 제1 값에 대응하는 경우, i번째 제1 정보 부분 및 복수의 서브노드 각각의 i번째 로컬 모델에 대응하는 가중치에 기초하여 k번째 서브노드의 i번째 연합 학습 모델을 결정하거나; 또는 k번째 서브노드의 i번째 연합 학습 모델의 유형이 제2 값에 대응하는 경우, i번째 제1 정보 부분, 및 k번째 서브노드의 i번째 로컬 모델과 복수의 서브노드 각각의 i번째 로컬 모델 사이의 유사성에 기초하여 k번째 서브노드의 i번째 연합 학습 모델을 결정하도록 더 구성된다.
가능한 설계에서, 복수의 서브노드는 제1 서브노드 그룹 및 제2 서브노드 그룹을 포함하고, 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델은 동일하고, 제2 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델은 서로 다르며 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델과 다르다. 통신 모듈은 제1 표시 정보를 브로드캐스트 또는 멀티캐스트 방식으로 제1 서브노드 그룹에 송신― 제1 표시 정보는 제1 서브노드 그룹의 각 서브노드의 i번째 연합 학습 모델을 나타냄 ―하고; 제2 표시 정보를 유니캐스트 방식으로 제2 서브노드 그룹의 p번째 서브노드에 송신― 제2 표시 정보는 p번째 서브노드의 i번째 연합 학습 모델을 나타내고, p는 1부터 P까지의 임의의 양의 정수이고, P는 제2 서브노드 그룹에 포함된 서브노드의 수량임 ―하도록 더 구성된다.
다른 가능한 설계에서, i번째 연합 학습 모델은 제1 파라미터 정보 부분과 제2 파라미터 정보 부분으로 표현되고, 복수의 서브노드 모두의 i번째 연합 학습 모델의 제1 파라미터 정보 부분은 동일하고; 복수의 서브노드는 제1 서브노드 그룹 및 제2 서브노드 그룹을 포함하고, 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분은 동일하고, 제2 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분은 서로 다르며 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분과 다르고;
통신 모듈은 i번째 연합 학습 모델의 제1 파라미터 정보 부분을 브로드캐스트 또는 멀티캐스트 방식으로 복수의 서브노드에 송신하고; 제1 서브노드 그룹의 각 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분을 브로드캐스트 또는 멀티캐스트 방식으로 제1 서브노드 그룹에 송신하고; p번째 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분을 유니캐스트 방식으로 제2 서브노드 그룹의 p번째 서브노드에 송신― p는 1부터 P까지의 임의의 양의 정수이고, P는 제2 서브노드 그룹에 포함된 서브노드의 수량임 ―하도록 더 구성된다.
가능한 설계에서, 통신 모듈은 제2 모델을 나타내는 정보를 복수의 서브노드에 송신― 제2 모델을 나타내는 정보는 복수의 서브노드 각각에 의해 제1 로컬 모델을 결정하는 데 사용됨 ―하도록 더 구성된다.
제4 양태에 따르면, 본 개시는 통신 장치를 제공한다. 통신 장치는 k번째 서브노드일 수 있거나, 또는 k번째 서브노드의 장치일 수 있거나, 또는 k번째 서브노드와 함께 사용될 수 있는 장치일 수 있다. 설계에서, 통신 장치는 제1 양태에 따른 방법/동작/단계/행위에 일대일 대응하는 모듈을 포함할 수 있다. 모듈은 하드웨어 회로, 소프트웨어, 또는 하드웨어 회로와 소프트웨어의 조합으로 구현될 수 있다. 설계에서, 통신 장치는 처리 모듈과 통신 모듈을 포함할 수 있다.
예에서, 처리 모듈은 통신 모듈을 사용하여, k번째 서브노드의 i번째 로컬 모델을 나타내는 정보를 송신― k는 1부터 K까지의 임의의 양의 정수이고, K는 연합 학습에 참여하는 복수의 서브노드의 수량이고, i는 양의 정수임 ―하도록 구성되고; 통신 모듈은 k번째 서브노드의 i번째 연합 학습 모델을 나타내는 정보를 획득― k번째 서브노드의 i번째 연합 학습 모델은 i번째 제1 정보 부분 및 k번째 서브노드의 i번째 연합 학습 모델의 유형에 기초하여 결정됨 ―하도록 더 구성된다. i번째 제1 정보 부분은 복수의 서브노드 각각의 i번째 로컬 모델을 나타내는 정보를 포함하고; i가 1보다 큰 경우, k번째 서브노드의 i번째 연합 학습 모델의 유형은 k번째 서브노드의 (i-1)번째 연합 학습 모델의 유형 또는 성능에 기초하여 결정된다.
가능한 설계에서, k번째 서브노드의 i번째 연합 학습 모델은 복수의 서브노드 중 k번째 서브노드 이외의 적어도 하나의 서브노드의 i번째 연합 학습 모델과 동일하거나 상이하다.
가능한 설계에서, 처리 모듈은 통신 모듈을 사용하여 제1 테스트 결과를 송신― 제1 테스트 결과는 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 나타내고, i는 1보다 크고, k번째 서브노드의 i번째 연합 학습 모델의 유형은 제1 테스트 결과에 기초하여 결정됨 ―하도록 더 구성된다.
가능한 설계에서, 통신 모듈은 제1 모델을 나타내는 정보를 획득― 제1 모델은 (i-1)번째 제1 정보 부분 및 복수의 서브노드 각각의 (i-1)번째 로컬 모델에 대응하는 가중치에 기초하여 결정되고, i는 1보다 큼 ―하도록 더 구성되고; 처리 모듈은 통신 모듈을 사용하여 제2 테스트 결과를 송신― 제2 테스트 결과는 제1 모델의 성능을 나타내거나, 또는 제2 테스트 결과는 제1 모델의 성능 및 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 나타내고, k번째 서브노드의 i번째 연합 학습 모델의 유형은 제2 테스트 결과에 기초하여 결정됨 ―하도록 더 구성된다.
k번째 서브노드의 i번째 연합 학습 모델의 유형에 대한 내용 설명에 대해서는, 제2 양태를 참조한다. 본 명세서에서는 자세한 내용을 다시 설명하지 않는다.
가능한 설계에서, 통신 모듈은 제2 모델을 나타내는 정보를 획득하도록 더 구성되고; 처리 모듈은 제2 모델을 나타내는 정보에 기초하여 k번째 서브노드의 제1 로컬 모델을 결정하도록 더 구성된다.
제1 양태 내지 제4 양태 중 어느 하나의 가능한 설계에서, 1≤i≤I이고, I는 양의 정수이고, k번째 서브노드의 I번째 연합 학습 모델은 모델 수렴 조건을 충족하며, i가 1보다 큰 경우, k번째 서브노드의 i번째 로컬 모델은 k번째 서브노드의 (i-1)번째 연합 학습 모델에 기초하여 결정된다.
제5 양태에 따르면, 본 개시는 통신 장치를 제공한다. 통신 장치는 제1 양태에 따른 방법을 구현하도록 구성된 프로세서를 포함한다. 통신 장치는 명령어 및 데이터를 저장하도록 구성된 메모리를 더 포함할 수 있다. 메모리는 프로세서에 결합된다. 메모리에 저장된 명령어를 실행할 때, 프로세서는 제1 양태에 따른 방법을 구현할 수 있다. 통신 장치는 통신 인터페이스를 더 포함할 수 있다. 통신 인터페이스는 장치에 의해 다른 디바이스와 통신하는 데 사용된다. 예를 들어, 통신 인터페이스는 트랜시버, 회로, 버스, 모듈, 핀, 또는 다른 유형의 통신 인터페이스일 수 있다. 가능한 디바이스에서, 통신 장치는:
프로그램 명령어를 저장하도록 구성된 메모리; 및
통신 인터페이스를 통해 i번째 제1 정보 부분을 획득― i번째 제1 정보 부분은 복수의 서브노드 각각의 i번째 로컬 모델을 나타내고, i는 양의 정수임 ―하도록 구성된 프로세서를 포함하고,
프로세서는 i번째 제1 정보 부분 및 k번째 서브노드의 i번째 연합 학습 모델의 유형에 기초하여 k번째 서브노드의 i번째 연합 학습 모델을 결정― k는 1부터 K까지의 임의의 양의 정수이고, K는 복수의 서브노드의 수량임 ―하도록 더 구성되고; i가 1보다 큰 경우, k번째 서브노드의 i번째 연합 학습 모델의 유형은 k번째 서브노드의 (i-1)번째 연합 학습 모델의 유형 또는 성능에 기초하여 결정되고;
프로세서는 통신 인터페이스를 통해 i번째 제2 정보 부분을 송신― i번째 제2 정보 부분은 복수의 서브노드 각각의 i번째 연합 학습 모델을 나타냄 ―하도록 더 구성된다.
제6 양태에 따르면, 본 개시는 통신 장치를 제공한다. 통신 장치는 제2 양태에 따른 방법을 구현하도록 구성된 프로세서를 포함한다. 통신 장치는 명령어 및 데이터를 저장하도록 구성된 메모리를 더 포함할 수 있다. 메모리는 프로세서에 결합된다. 메모리에 저장된 명령어를 실행할 때, 프로세서는 제2 양태에 따른 방법을 구현할 수 있다. 통신 장치는 통신 인터페이스를 더 포함할 수 있다. 통신 인터페이스는 장치에 의해 다른 디바이스와 통신하는 데 사용된다. 예를 들어, 통신 인터페이스는 트랜시버, 회로, 버스, 모듈, 핀, 또는 다른 유형의 통신 인터페이스일 수 있다. 가능한 디바이스에서, 통신 장치는:
프로그램 명령어를 저장하도록 구성된 메모리; 및
k번째 서브노드의 i번째 로컬 모델을 나타내는 정보를 통신 인터페이스를 통해 송신― k는 1부터 K까지의 임의의 양의 정수이고, K는 연합 학습에 참여하는 복수의 서브노드의 수량이고, i는 양의 정수임 ―하도록 구성된 프로세서를 포함하고,
프로세서는 통신 인터페이스를 통해, k번째 서브노드의 i번째 연합 학습 모델을 나타내는 정보를 획득하도록 더 구성되고, k번째 서브노드의 i번째 연합 학습 모델은 i번째 제1 정보 부분 및 k번째 서브노드의 i번째 연합 학습 모델의 유형에 기초하여 결정된다. i번째 제1 정보 부분은 복수의 서브노드 각각의 i번째 로컬 모델을 나타내는 정보를 포함하고; i가 1보다 큰 경우, k번째 서브노드의 i번째 연합 학습 모델의 유형은 k번째 서브노드의 (i-1)번째 연합 학습 모델의 유형 또는 성능에 기초하여 결정된다.
제7 양태에 따르면, 본 개시는 제3 양태 또는 제5 양태에 따른 통신 장치, 및 제4 양태 또는 제6 양태에 따른 통신 장치를 포함하는 통신 시스템을 제공한다.
제8 양태에 따르면, 본 개시는 컴퓨터 프로그램을 더 제공한다. 컴퓨터 프로그램이 컴퓨터에서 실행될 때, 컴퓨터는 제1 양태 또는 제2 양태에 따른 방법을 수행할 수 있게 된다.
제9 양태에 따르면, 본 개시는 명령어를 포함하는 컴퓨터 프로그램 제품을 더 제공한다. 명령어가 컴퓨터에서 실행될 때, 컴퓨터는 제1 양태 또는 제2 양태에 따른 방법을 수행할 수 있게 된다.
제10 양태에 따르면, 본 개시는 컴퓨터 판독 가능 저장 매체를 더 제공하고, 컴퓨터 판독 가능 저장 매체는 컴퓨터 프로그램 또는 명령어를 저장하고, 컴퓨터 프로그램 또는 명령어가 컴퓨터에서 실행될 때, 컴퓨터는 제1 양태 또는 제2 양태에 따른 방법을 수행할 수 있게 된다.
제11 양태에 따르면, 본 개시는 칩을 더 제공한다. 칩은 메모리에 저장된 컴퓨터 프로그램을 판독하여, 제1 양태 또는 제2 양태에 따른 방법을 수행하도록 구성된다.
제12 양태에 따르면, 본 개시는 칩 시스템을 더 제공한다. 칩 시스템은 제1 양태 또는 제2 양태에 따른 방법을 구현함에 있어서 컴퓨터 장치를 지원하도록 구성된 프로세서를 포함한다. 가능한 설계에서, 칩 시스템은 메모리를 더 포함하고, 메모리는 컴퓨터 장치에 필요한 프로그램 및 데이터를 저장하도록 구성된다. 칩 시스템은 칩을 포함할 수 있거나, 또는 칩 및 다른 개별 디바이스를 포함할 수 있다.
도 1a는 통신 시스템의 구조의 도면이다.
도 1b는 통신 시스템의 구조의 도면이다.
도 2a는 뉴런 구조의 도면이다.
도 2b는 신경망의 계층 관계의 도면이다.
도 3a는 본 개시에 따른 통신 방법에 대응하는 네트워크 구조의 도면이다.
도 3b는 본 개시에 따른 통신 방법에 대응하는 네트워크 구조의 도면이다.
도 4a는 관련 연합 학습 기술의 노드 상호작용의 도면이다.
도 4b는 본 개시에 따른 연합 학습 모델을 훈련하기 위한 노드 상호작용의 도면이다.
도 5는 본 개시에 따른 통신 방법의 개략적인 흐름도이다.
도 6은 모델 구조 분할의 도면이다.
도 7은 본 개시에 따른 통신 방법의 개략적인 흐름도이다.
도 8a는 본 개시에 따른 모델 유형을 결정하기 위한 방법의 개략적인 흐름도이다.
도 8b는 본 개시에 따른 모델 유형을 결정하기 위한 방법의 개략적인 흐름도이다.
도 9는 본 개시에 따른 통신 방법의 개략적인 흐름도이다.
도 10a는 본 개시에 따른 모델 유형을 결정하기 위한 방법의 개략적인 흐름도이다.
도 10b는 본 개시에 따른 모델 유형을 결정하기 위한 방법의 개략적인 흐름도이다.
도 11은 본 개시에 따른 통신 방법의 개략적인 흐름도이다.
도 12는 본 개시에 따른 통신 장치의 구조의 도면이다.
도 13은 본 개시에 따른 통신 장치의 구조의 도면이다.
도 1b는 통신 시스템의 구조의 도면이다.
도 2a는 뉴런 구조의 도면이다.
도 2b는 신경망의 계층 관계의 도면이다.
도 3a는 본 개시에 따른 통신 방법에 대응하는 네트워크 구조의 도면이다.
도 3b는 본 개시에 따른 통신 방법에 대응하는 네트워크 구조의 도면이다.
도 4a는 관련 연합 학습 기술의 노드 상호작용의 도면이다.
도 4b는 본 개시에 따른 연합 학습 모델을 훈련하기 위한 노드 상호작용의 도면이다.
도 5는 본 개시에 따른 통신 방법의 개략적인 흐름도이다.
도 6은 모델 구조 분할의 도면이다.
도 7은 본 개시에 따른 통신 방법의 개략적인 흐름도이다.
도 8a는 본 개시에 따른 모델 유형을 결정하기 위한 방법의 개략적인 흐름도이다.
도 8b는 본 개시에 따른 모델 유형을 결정하기 위한 방법의 개략적인 흐름도이다.
도 9는 본 개시에 따른 통신 방법의 개략적인 흐름도이다.
도 10a는 본 개시에 따른 모델 유형을 결정하기 위한 방법의 개략적인 흐름도이다.
도 10b는 본 개시에 따른 모델 유형을 결정하기 위한 방법의 개략적인 흐름도이다.
도 11은 본 개시에 따른 통신 방법의 개략적인 흐름도이다.
도 12는 본 개시에 따른 통신 장치의 구조의 도면이다.
도 13은 본 개시에 따른 통신 장치의 구조의 도면이다.
본 개시의 목적, 기술적 해결책, 및 이점을 보다 명확하게 하기 위해, 이하에서는 첨부 도면을 참조하여 본 개시를 더욱 상세히 설명한다.
본 개시에서 이하의 "적어도 하나"는 하나 이상을 나타낸다. "복수"는 2개 또는 2개 초과를 의미한다. "및/또는"이라는 용어는 연관된 대상을 설명하기 위한 연관 관계를 설명하고, 세 가지 관계가 존재할 수 있음을 나타낸다. 예를 들어, A 및/또는 B는 다음 세 가지 경우를 나타낼 수 있다: A만 존재, A와 B 모두 존재, 및 B만 존재. 문자 "/"는 일반적으로 연관된 대상 사이의 "또는" 관계를 나타낸다. 또한, 본 개시에서 "제1" 및 "제2"와 같은 용어가 대상을 설명하기 위해 사용될 수 있지만, 이들 대상은 이러한 용어에 의해 제한되어서는 안 된다는 점을 이해해야 한다. 이러한 용어는 대상을 서로 구별하는 데에만 사용된다.
본 개시의 다음 설명에서 언급된 "포함하는", "갖는"이라는 용어 및 임의의 다른 그 변형은 비배타적 포함을 포괄하도록 의도된다. 예를 들어, 일련의 단계 또는 유닛을 포함하는 프로세스, 방법, 시스템, 제품, 또는 디바이스는 나열된 단계 또는 유닛으로 제한되지 않고, 나열되지 않은 다른 단계 또는 유닛을 선택적으로 더 포함하거나, 또는 프로세스, 방법, 제품, 또는 디바이스의 다른 고유한 단계 또는 유닛을 선택적으로 더 포함한다. 본 개시에서, "예" 또는 "예를 들어"와 같은 용어는 예, 예시, 또는 설명을 제공하는 것을 나타내는 데 사용된다는 점에 유의해야 한다. 본 개시에서 "예" 또는 "예를 들어"로 설명된 임의의 방법 또는 설계 방식은 다른 방법 또는 설계 방식보다 더 바람직하거나 더 많은 이점을 갖는 것으로 설명되어서는 안 된다. 정확히 말하면, "예", "예를 들어" 등과 같은 용어를 사용하는 것은 관련된 개념을 특정한 방식으로 제시하려는 의도이다.
본 개시에서 제공되는 기술은 다양한 통신 시스템에 적용될 수 있다. 예를 들어, 통신 시스템은 3세대(3rd generation, 3G) 통신 시스템(예를 들어, 범용 이동 통신 시스템(universal mobile telecommunications system, UMTS)), 4세대(4th generation, 4G) 통신 시스템(예를 들어, 롱 텀 에볼루션(long term evolution, LTE) 시스템), 5세대(5th generation, 5G) 통신 시스템, 와이맥스(worldwide interoperability for microwave access, WiMAX) 또는 무선 근거리 통신망(wireless local area network, WLAN) 시스템, 또는 복수의 시스템을 통합하는 시스템, 또는 미래 통신 시스템, 예를 들어 6G 통신 시스템일 수 있다. 5G 통신 시스템은 뉴 라디오(new radio, NR) 시스템이라고도 지칭될 수 있다.
통신 시스템의 네트워크 요소는 다른 네트워크 요소에 신호를 송신할 수 있거나 또는 다른 네트워크 요소로부터 신호를 수신할 수 있다. 신호는 정보, 구성 정보, 데이터 등을 포함할 수 있다. 네트워크 요소는 또한 엔티티, 네트워크 엔티티, 디바이스, 통신 디바이스, 통신 모듈, 노드, 통신 노드 등으로도 지칭될 수 있다. 본 개시에서, 네트워크 요소를 설명을 위한 예로 사용한다. 예를 들어, 통신 시스템은 적어도 하나의 단말 디바이스 및 적어도 하나의 액세스 네트워크 디바이스를 포함할 수 있다. 구성 정보의 송신 네트워크 요소는 액세스 네트워크 디바이스일 수 있으며, 구성 정보의 수신 네트워크 요소는 단말 디바이스일 수 있다. 또한, 통신 시스템이 복수의 단말 디바이스를 포함하는 경우, 복수의 단말 디바이스는 또한 서로에게 신호를 송신할 수 있으며, 즉, 구성 정보의 송신 네트워크 요소와 구성 정보의 수신 네트워크 요소 양자 모두가 단말 디바이스일 수 있다는 점을 이해할 수 있다.
도 1a는 통신 시스템을 도시한다. 예를 들어, 통신 시스템은 액세스 네트워크 디바이스(110)와 2개의 단말 디바이스, 즉, 단말 디바이스(120) 및 단말 디바이스(130)를 포함한다. 단말 디바이스(120) 및 단말 디바이스(130) 중 적어도 하나는 업링크 데이터를 액세스 네트워크 디바이스(110)에 송신할 수 있으며, 액세스 네트워크 디바이스(110)는 업링크 데이터를 수신할 수 있다. 액세스 네트워크 디바이스는 다운링크 데이터를 단말 디바이스(120) 및 단말 디바이스(130) 중 적어도 하나에 송신할 수 있다.
이하에서는, 도 1a의 단말 디바이스와 액세스 네트워크 디바이스에 대해 상세히 설명한다.
(1) 액세스 네트워크 디바이스
액세스 네트워크 디바이스는 기지국(base station, BS)일 수 있으며, 액세스 네트워크 디바이스는 네트워크 디바이스, 액세스 노드(access node, AN), 또는 무선 액세스 노드(radio access node, RAN)라고도 지칭될 수 있다. 액세스 네트워크 디바이스는 코어 네트워크(예를 들어, LTE 코어 네트워크 또는 5G 코어 네트워크)에 연결될 수 있으며, 액세스 네트워크 디바이스는 단말 디바이스에 무선 액세스 서비스를 제공할 수 있다. 예를 들어, 액세스 네트워크 디바이스는 기지국, 5G의 차세대 NodeB(generation NodeB, gNB), 개방형 무선 액세스 네트워크(open radio access network, O-RAN)의 액세스 네트워크 디바이스, 진화된 NodeB(evolved NodeB, eNB), 무선 네트워크 제어기(radio network controller, RNC), NodeB(NodeB, NB), 기지국 제어기(base station controller, BSC), 송수신 기지국(base transceiver station, BTS), 홈 기지국(예를 들어, home evolved NodeB, 또는 home NodeB, HNB), 베이스밴드 유닛(base band unit, BBU), 송수신 지점(transmission reception point, TRP), 전송 지점(transmission point, TP), 및/또는 모바일 스위칭 센터 중 적어도 하나를 포함하지만, 이들로 제한되는 것은 아니다. 대안적으로, 액세스 네트워크 디바이스는 중앙 유닛(central unit, CU), 분산 유닛(distributed unit, DU), 중앙 유닛 제어 평면(CU control plane, CU-CP) 노드, 또는 중앙 유닛 사용자 평면(CU user plane, CU-UP) 노드일 수 있다. 대안적으로, 액세스 네트워크 디바이스는 중계국, 액세스 포인트, 차량 탑재 디바이스, 웨어러블 디바이스, 미래 진화형 공중 육상 이동 네트워크(public land mobile network, PLMN)에서의 액세스 네트워크 디바이스 등일 수 있다.
본 개시에서, 액세스 네트워크 디바이스의 기능을 구현하도록 구성된 통신 장치는 액세스 네트워크 디바이스일 수 있거나, 또는 액세스 네트워크 디바이스의 일부 기능을 갖는 네트워크 디바이스일 수 있거나, 또는 기능을 구현하는 데 있어서 액세스 네트워크 디바이스를 지원할 수 있는 장치, 예를 들어 칩 시스템, 하드웨어 회로, 소프트웨어 모듈, 또는 하드웨어 회로와 소프트웨어 모듈일 수 있다. 장치는 액세스 네트워크 디바이스에 설치될 수 있다. 본 개시에서, 액세스 네트워크 디바이스의 기능을 구현하도록 구성된 통신 장치가 액세스 네트워크 디바이스인 예를 설명에 사용한다.
(2) 단말 디바이스
단말 디바이스는 단말, 사용자 장비(user equipment, UE), 이동국(mobile station, MS), 이동 단말(mobile terminal, MT) 등으로도 지칭되며, 사용자에게 음성 및/또는 데이터 연결을 제공하는 디바이스이다. 단말 디바이스는 액세스 네트워크 디바이스를 통해 하나 이상의 코어 네트워크와 통신할 수 있다. 단말 디바이스는 무선 접속 기능이 있는 핸드헬드 디바이스, 또는 무선 모뎀에 연결된 다른 처리 디바이스, 차량 탑재형 디바이스 등을 포함한다. 대안적으로, 단말 디바이스는 휴대용, 포켓 사이즈, 핸드헬드, 컴퓨터 내장형, 또는 차량 탑재형 이동 장치일 수 있다. 일부 단말 디바이스의 예는: 개인 통신 서비스(personal communication service, PCS) 전화기, 코드리스 전화기, 세션 개시 프로토콜(session initiation protocol, SIP) 전화기, 무선 로컬 루프(wireless local loop, WLL) 스테이션, 개인용 디지털 단말(personal digital assistant, PDA), 무선 네트워크 카메라, 휴대폰(mobile phone), 태블릿 컴퓨터, 노트북 컴퓨터, 팜탑 컴퓨터, 모바일 인터넷 디바이스(mobile internet device, MID), 웨어러블 디바이스, 예를 들어 스마트워치, 가상 현실(virtual reality, VR) 디바이스, 증강 현실(augmented reality, AR) 디바이스, 및 산업 제어(industrial control)에서의 무선 단말, 차량 인터넷 시스템의 단말, 자율 주행(self driving)에서의 무선 단말, 스마트 그리드(smart grid)에서의 무선 단말, 교통 안전(transportation safety)에서의 무선 단말, 스마트 시티(smart city)에서의 무선 단말, 예를 들어 스마트 급유기, 고속 열차의 단말 디바이스, 또는 스마트 홈(smart home)에서의 무선 단말, 예를 들어 스마트 스테레오, 스마트 커피 머신, 또는 스마트 프린터이다.
본 개시에서, 단말 디바이스의 기능을 구현하도록 구성된 통신 장치는 단말 디바이스일 수 있거나, 또는 단말의 일부 기능을 갖는 단말 디바이스일 수 있거나, 또는 기능을 구현하는 데 있어서 단말 디바이스를 지원할 수 있는 장치, 예를 들어 칩 시스템일 수 있다. 장치는 단말 디바이스에 설치될 수 있다. 본 개시에서, 칩 시스템은 칩을 포함할 수 있거나, 또는 칩 및 다른 개별 디바이스를 포함할 수 있다. 본 개시에서 제공되는 기술적 해결책에서, 단말 디바이스의 기능을 구현하도록 구성된 통신 장치가 단말 디바이스 또는 UE인 예를 설명에 사용한다.
(3) 액세스 네트워크 디바이스와 단말 디바이스 사이의 프로토콜 계층 구조
액세스 네트워크 디바이스와 단말 디바이스 사이의 통신은 지정된 프로토콜 계층 구조를 따른다. 프로토콜 계층 구조는 제어 평면 프로토콜 계층 구조 및 사용자 평면 프로토콜 계층 구조를 포함할 수 있다. 예를 들어, 제어 평면 프로토콜 계층 구조는 무선 자원 제어(radio resource control, RRC) 계층, 패킷 데이터 수렴 프로토콜(packet data convergence protocol, PDCP) 계층, 무선 링크 제어(radio link control, RLC) 계층, 매체 액세스 제어(media access control, MAC) 계층, 및 물리 계층과 같은 프로토콜 계층의 기능을 포함할 수 있다. 예를 들어, 사용자 평면 프로토콜 계층 구조는 PDCP 계층, RLC 계층, MAC 계층, 및 물리 계층과 같은 프로토콜 계층의 기능을 포함할 수 있다. 가능한 구현에서, 서비스 데이터 적응 프로토콜(service data adaptation protocol, SDAP) 계층이 PDCP 계층 위에 더 포함될 수 있다.
선택적으로, 액세스 네트워크 디바이스와 단말 사이의 프로토콜 계층 구조는 AI 기능과 관련된 데이터를 전송하는 데 사용되는 인공 지능(artificial intelligence, AI) 계층을 더 포함할 수 있다.
액세스 네트워크 디바이스와 단말 디바이스 사이의 데이터 전송을 예로 사용한다. 데이터는 사용자 평면 프로토콜 계층, 예를 들어 SDAP 계층, PDCP 계층, RLC 계층, MAC 계층, 및 물리 계층을 통해 전송되어야 한다. SDAP 계층, PDCP 계층, RLC 계층, MAC 계층, 및 물리 계층은 총칭하여 액세스 계층(access stratum)이라고도 지칭될 수 있다. 데이터 전송 방향에는 전송 방향 또는 수신 방향이 포함되기 때문에, 각 계층은 전송 부분과 수신 부분으로 더 구분된다. 다운링크 데이터 전송이 예로 사용된다. PDCP 계층은, 상위 계층으로부터 데이터를 획득한 후, 데이터를 RLC 계층과 MAC 계층에 전송하고, MAC 계층이 전송 블록을 생성하고 나서, 물리 계층을 통해 무선 전송이 수행된다. 데이터는 각 계층에서 캡슐화된다. 예를 들어, 계층이 해당 계층의 상위 계층으로부터 수신한 데이터는 계층의 서비스 데이터 단위(service data unit, SDU)로 고려되고, 계층에 의해 프로토콜 데이터 단위(protocol data unit, PDU)로 캡슐화되며, 그 후, 다음 계층으로 전송된다.
예를 들어, 단말 디바이스는 애플리케이션 계층과 비액세스 계층을 더 가질 수 있다. 애플리케이션 계층은 단말 디바이스에 설치된 애플리케이션에 대한 서비스를 제공하기 위해 사용될 수 있다. 예를 들어, 단말 디바이스가 수신한 다운링크 데이터는 물리 계층으로부터 애플리케이션 계층으로 순차적으로 전송될 수 있으며, 그 후, 애플리케이션 계층에 의해 애플리케이션에 제공된다. 다른 예로, 애플리케이션 계층은 애플리케이션이 생성한 데이터를 획득하고, 데이터를 순차적으로 물리 계층에 전송하고, 데이터를 다른 통신 장치에 송신할 수 있다. 비액세스 계층은 사용자 데이터를 전달하도록 구성될 수 있다. 예를 들어, 비액세스 계층은 애플리케이션 계층으로부터 수신한 업링크 데이터를 SDAP 계층에 전달하거나, 또는 SDAP 계층으로부터 수신한 다운링크 데이터를 애플리케이션 계층에 전달한다.
(4) 액세스 네트워크 디바이스의 구조
액세스 네트워크 디바이스는 중앙 유닛(central Unit, CU) 및 분산 유닛(Distributed Unit, DU)을 포함할 수 있다. 복수의 DU는 하나의 CU에 의해 중앙 집중 방식으로 제어될 수 있다. 예를 들어, CU와 DU 사이의 인터페이스는 F1 인터페이스라고 지칭될 수 있다. 제어 평면(control plane, CP) 인터페이스는 F1-C일 수 있으며, 사용자 평면(user plane, UP) 인터페이스는 F1-U일 수 있다. CU와 DU는 무선 네트워크의 프로토콜 계층에 기초하여 구분될 수 있다. 예를 들어, CU에는 PDCP 계층 및 PDCP 계층보다 상위의 프로토콜 계층의 기능이 설정되고, DU에는 PDCP 계층보다 하위의 프로토콜 계층(예를 들어, RLC 계층 및 MAC 계층)의 기능이 설정된다. 다른 예로, PDCP 계층보다 상위의 프로토콜 계층의 기능이 CU에 설정되고, PDCP 계층 및 PDCP 계층보다 하위의 프로토콜 계층의 기능이 DU에 설정된다.
프로토콜 계층에 기초한 CU와 DU의 처리 기능 구분은 예일 뿐이며, 다른 구분이 있을 수 있다는 것을 이해할 수 있다. 예를 들어, CU 또는 DU는 더 많은 프로토콜 계층을 갖는 기능으로 구분될 수 있다. 다른 예로, CU 또는 DU는 프로토콜 계층을 갖는 일부 처리 기능으로 더 구분될 수 있다. 설계에서, RLC 계층의 일부 기능과 RLC 계층보다 상위의 프로토콜 계층의 기능이 CU에 설정되고, RLC 계층의 나머지 기능과 RLC 계층보다 하위의 프로토콜 계층의 기능이 DU에 설정된다. 다른 설계에서, CU 또는 DU의 기능의 구분은 서비스 유형 또는 다른 시스템 요구 사항에 기초하여 대안적으로 수행될 수 있다. 예를 들어, 레이턴시에 기초하여 구분이 수행될 수 있다. 처리 시간이 레이턴시 요구 사항을 충족해야 하는 기능이 DU에 설정되고, 처리 시간이 레이턴시 요구 사항을 충족할 필요가 없는 기능이 CU에 설정된다. 다른 설계에서, CU는 대안적으로 코어 네트워크의 하나 이상의 기능을 가질 수 있다. 예를 들어, CU는 중앙 집중식 관리를 용이하게 하기 위해 네트워크 측에 배치될 수 있다. 다른 설계에서, DU의 무선 유닛(radio unit, RU)이 원격으로 배치된다. RU는 무선 주파수 기능을 갖는다.
선택적으로, DU와 RU는 물리 계층(physical layer, PHY)에서 구별될 수 있다. 예를 들어, DU는 PHY 계층의 상위 계층 기능을 구현할 수 있으며, RU는 PHY 계층의 하위 계층 기능을 구현할 수 있다. PHY 계층의 기능은, 송신에 사용되는 경우, 순환 중복 검사(cyclic redundancy check, CRC) 코드 추가, 채널 코딩, 속도 매칭, 스크램블링, 변조, 계층 맵핑, 프리코딩, 자원 맵핑, 물리적 안테나 맵핑 및/또는 무선 주파수 송신 기능을 포함할 수 있다. PHY 계층의 기능은, 수신에 사용되는 경우, CRC, 채널 디코딩, 속도 디매칭, 디스크램블링, 복조, 계층 디맵핑, 채널 검출, 자원 디맵핑, 물리적 안테나 디맵핑, 및/또는 무선 주파수 수신 기능을 포함할 수 있다. PHY 계층의 상위 계층 기능은 PHY 계층의 일부 기능을 포함할 수 있다. 예를 들어, 일부 기능은 MAC 계층에 더 가깝다. PHY 계층의 하위 계층 기능은 PHY 계층의 일부 다른 기능을 포함할 수 있다. 예를 들어, 기능의 일부는 무선 주파수 기능에 더 가깝다. 예를 들어, PHY 계층의 상위 계층 기능은 CRC 코드 첨부, 채널 코딩, 속도 매칭, 스크램블링, 변조, 및 계층 맵핑을 포함할 수 있으며, PHY 계층의 하위 계층 기능은 프리코딩, 자원 맵핑, 물리적 안테나 맵핑, 및 무선 주파수 송신 기능을 포함할 수 있다. 대안적으로, PHY 계층의 상위 계층 기능은 CRC 코드 첨부, 채널 코딩, 속도 매칭, 스크램블링, 변조, 계층 맵핑, 및 프리코딩을 포함할 수 있다. PHY 계층의 하위 계층 기능은 자원 맵핑, 물리적 안테나 맵핑, 및 무선 주파수 송신 기능을 포함할 수 있다.
예를 들어, CU의 기능은 하나의 엔티티에 의해 구현될 수 있거나, 또는 상이한 엔티티에 의해 구현될 수 있다. 예를 들어, CU의 기능이 더 구분될 수 있으며, 즉, 제어 평면과 사용자 평면이 분리되고 서로 다른 엔티티, 즉, 제어 평면 CU 엔티티(즉, CU-CP 엔티티)와 사용자 평면 CU 엔티티(즉, CU-UP 엔티티)에 의해 구현된다. CU-CP 엔티티와 CU-UP 엔티티는 DU에 결합되어 액세스 네트워크 디바이스의 기능을 공동으로 완성할 수 있다.
전술한 네트워크 아키텍처에서는, CU에 의해 생성된 시그널링이 DU를 통해 단말 디바이스에 송신될 수 있거나, 또는 단말 디바이스에 의해 생성된 시그널링이 DU를 통해 CU에 송신될 수 있다. 예를 들어, RRC 계층 또는 PDCP 계층에서의 시그널링은 최종적으로 물리 계층에서의 시그널링으로 처리되고 단말 디바이스에 송신되거나, 또는 물리 계층으로부터 수신된 시그널링으로부터 변환된다. 이러한 아키텍처에 기초하여, RRC 계층이나 PDCP 계층에서의 시그널링은 DU를 통해 송신되는 것으로 고려될 수 있거나, 또는 DU 및 RU를 통해 송신되는 것으로 고려될 수 있다.
선택적으로, DU, CU, CU-CP, CU-UP, 및 RU 중 어느 하나는 소프트웨어 모듈, 하드웨어 구조, 또는 소프트웨어 모듈과 하드웨어 구조의 조합일 수 있다는 것으로 제한되지 않는다. 상이한 엔티티가 상이한 형태로 존재할 수 있으며, 이는 제한되지 않는다. 예를 들어, DU, CU, CU-CP, 및 CU-UP는 소프트웨어 모듈이고, RU는 하드웨어 구조이다. 이러한 모듈과 이러한 모듈에 의해 수행되는 방법도 본 개시의 보호 범위에 속한다.
도 1a에 도시된 통신 시스템의 디바이스의 수량 및 유형은 단지 예일 뿐이며, 본 개시는 이에 제한되지 않는다는 것을 이해해야 한다. 실제 응용에서, 통신 시스템은 더 많은 단말 디바이스와 더 많은 액세스 네트워크 디바이스를 더 포함할 수 있고, 다른 네트워크 요소를 더 포함할 수 있으며, 예를 들어, 네트워크 관리, 코어 네트워크 디바이스, 및/또는 인공 지능 기능을 구현하도록 구성된 네트워크 요소를 포함할 수 있다. 네트워크 관리는 운영자의 네트워크 운영에 대한 실제 요구 사항에 기초하여 네트워크 관리 작업을 세 가지 유형, 즉, 운영(Operation), 관리(Administration), 및 유지 보수(Maintenance)로 분류할 수 있다. 네트워크 관리는 운영, 관리, 및 유지 보수(operation administration and maintenance, OAM) 네트워크 요소라고도 지칭될 수 있으며, 간단하게 OAM으로 지칭된다. 운영은 주로 네트워크 및 서비스에서 수행되는 일상적인 작업, 예를 들어 분석, 예측, 계획, 및 구성을 완료한다. 유지 보수는 주로 네트워크 및 서비스에서 수행되는 일상적인 운영 활동, 예를 들어 테스트 및 장애 관리이다. 네트워크 관리는 네트워크 실행 상태를 검출하고, 네트워크 연결 및 성능을 최적화하고, 네트워크 안정성을 개선하고, 네트워크 유지 보수 비용을 절감할 수 있다.
본 개시에서 제공되는 방법은 액세스 네트워크 디바이스와 단말 디바이스 사이의 통신에 적용될 수 있거나, 또는 다른 통신 디바이스 사이의 통신, 예를 들어 무선 백홀 링크에서의 매크로 기지국과 마이크로 기지국 사이의 통신, 예를 들어 사이드링크(sidelink, SL)에서의 두 단말 디바이스 사이의 통신에 적용될 수 있다. 이는 제한되지 않는다.
본 개시에서 제공된 방법은 인공 지능(artificial Intelligence, AI)에 관한 것이다. AI는 다양한 가능한 기술을 사용하여, 예를 들어 기계 학습(machine learning, ML) 기술을 사용하여 구현될 수 있다. 본 개시에서, 통신 시스템은 인공 지능 기능을 구현하는 네트워크 요소를 또한 포함할 수 있다. 예를 들어, 통신 시스템의 기존 네트워크 요소에 AI 기능(예를 들어, AI 모듈 또는 AI 엔티티)을 구성하여 AI 관련 동작을 구현할 수 있다. 예를 들어, 5G 뉴 라디오(new radio, NR) 시스템에서, 기존 네트워크 요소는 액세스 네트워크 디바이스(예를 들어, gNodeB), 단말 디바이스, 코어 네트워크 디바이스, 네트워크 관리 등일 수 있다. 대안적으로, AI 관련 동작을 수행하기 위해 통신 시스템에 독립적인 네트워크 요소가 도입될 수 있다. 독립적인 네트워크 요소는 AI 네트워크 요소, AI 노드 등으로 지칭될 수 있다. 본 개시에서는 이 이름이 제한되지 않는다. 이 경우, AI 관련 동작을 수행하는 네트워크 요소는 내장 AI 기능을 갖는 네트워크 요소(예를 들어, AI 모듈 또는 AI 엔티티)이다. AI 관련 동작은 AI 기능이라고도 지칭될 수 있다. AI 기능에 대한 자세한 내용에 대해서는, 다음 설명을 참조한다. AI 네트워크 요소는 통신 시스템에서 액세스 네트워크 디바이스에 직접 연결될 수 있거나, 또는 제3자 네트워크 요소를 사용하여 액세스 네트워크 디바이스에 간접적으로 연결될 수 있다. 제3자 네트워크 요소는 인증 관리 기능(authentication management function, AMF) 네트워크 요소 또는 사용자 평면 기능(user plane function, UPF) 네트워크 요소와 같은 코어 네트워크 요소일 수 있다. 예를 들어, 도 1b에 도시된 바와 같이, AI 네트워크 요소(140)가 도 1a에 도시된 통신 시스템에 도입된다.
이해의 편의를 위해, 이하에서는 A1 내지 A4를 참조하여 본 개시에서 AI의 일부 용어를 설명한다. 설명은 본 개시를 제한하려는 의도가 아니라는 것을 이해할 수 있다.
A1: AI 모델
AI 모델은 AI 기능의 특정 구현이다. AI 모델은 모델의 입력과 출력 사이의 맵핑 관계를 나타내며, 차원의 입력을 차원의 출력에 맵핑하는 기능 모델일 수 있다. AI 모델은 신경망일 수 있거나 또는 의사결정 트리 또는 서포트 벡터 기계와 같은 다른 기계 학습 모델일 수 있다. 본 개시에서, AI 모델은 간단히 모델이라고 지칭될 수 있다. 본 개시에서, AI 기능은 데이터 수집(훈련 데이터 및/또는 추론 데이터 수집), 데이터 전처리, 모델 훈련(또는 모델 학습이라고도 지칭됨), 모델 정보 공개(모델 정보 구성), 모델 추론, 또는 추론 결과 공개 중 적어도 하나를 포함할 수 있다. 추론은 예측이라고도 지칭될 수 있다. 본 개시에서, AI 모델은 간단히 모델이라고 지칭될 수 있다.
A2: 기계 학습
기계 학습은 인공 지능을 구현하기 위한 중요한 기술 방식이다. 예를 들어, 기계 학습은 원시 데이터에서 모델 또는 규칙을 학습할 수 있다. 기계 학습은 지도 학습, 비지도 학습, 및 강화 학습으로 분류된다.
지도 학습의 경우, 수집된 샘플(또는 샘플 값이라고 지칭됨)과 샘플 라벨에 기초하여, 기계 학습 알고리즘을 사용하여 샘플과 샘플 라벨 사이의 맵핑 관계가 학습되고, 학습된 맵핑 관계는 기계 학습 모델을 사용하여 표현된다. 기계 학습 모델을 훈련하는 프로세스는 맵핑 관계를 학습하는 프로세스이다. 예를 들어, 신호 검출에서, 샘플은 노이즈를 포함하는 수신 신호이고, 샘플 라벨은 수신 신호에 대응하는 실제 성상점이다. 기계 학습은 훈련을 통해 샘플과 샘플 라벨 사이의 맵핑 관계를 학습할 것으로 기대한다. 훈련 중에, 모델 출력(즉, 예측값)과 샘플 라벨 사이의 오차를 계산하여 모델 파라미터를 최적화한다. 맵핑 관계가 학습되면, 학습된 맵핑 관계를 사용하여 각각의 새로운 샘플의 샘플 라벨을 예측할 수 있다. 지도 학습을 통해 학습된 맵핑 관계는 선형 맵핑 및 비선형 맵핑을 포함할 수 있다. 기계 학습의 작업은 샘플 라벨의 유형에 기초하여 분류 작업과 회귀 작업으로 분류될 수 있다.
비지도 학습의 경우, 수집된 샘플에만 기초하여 알고리즘을 사용하여 샘플의 내부 패턴을 자율적으로 탐색한다. 비지도 학습에서는, (자가 인코더 및 적대적 생성 네트워크와 같은) 알고리즘 유형이 샘플을 지도 신호로 사용할 수 있다. 모델은 샘플에서 샘플로의 맵핑 관계를 학습한다. 훈련 중에, 모델의 예측값과 샘플 사이의 오차를 계산하여 모델 파라미터를 최적화하고, 그에 따라 자가 지도 학습이 구현된다. 자가 지도 학습은 신호 압축 및 압축 해제 복구의 응용 시나리오에서 사용될 수 있다.
강화 학습은 환경과 상호작용하여 문제를 해결하는 전략을 학습하는 알고리즘 유형이다. 강화 학습은 지도 학습 및 비지도 학습과 다르며, 특정 샘플 라벨이 없다. 알고리즘은 환경에 의해 피드백되는 보상 신호를 획득하기 위해 환경과 상호 작용해야 하며, 더 큰 보상 신호 값을 획득하기 위해 의사결정 행위를 조절해야 한다. 예를 들어, 다운링크 전력 제어에서는, 강화 학습 모델이 무선 네트워크에 의해 피드백되는 전체 시스템 처리량에 기초하여 각 단말의 다운링크 전송 전력을 조절하여, 더 높은 시스템 처리량을 획득할 것으로 기대한다. 강화 학습의 목표는 또한 환경 상태와 최적의 의사결정 행위 사이의 맵핑 관계를 학습하는 것이다. 강화 학습의 훈련은 환경과의 반복적인 상호작용을 통해 구현된다.
A3: 신경망
신경망은 AI 또는 기계 학습 기술의 특정 구현이다. 일반 근사 정리에 따르면, 신경망은 이론적으로 임의의 연속 함수를 근사화할 수 있으므로, 신경망은 임의의 맵핑을 학습하는 능력을 갖는다. 종래의 통신 시스템은 풍부한 전문 지식을 바탕으로 통신 모듈을 설계해야 한다. 그러나, 신경망 기반 심층 학습 통신 시스템은 대량의 데이터 세트에서 자동으로 암시적 패턴 구조를 발견하고, 데이터 사이의 맵핑 관계를 설정하고, 종래의 모델링 방법보다 더 우수한 성능을 획득할 수 있다.
신경망의 아이디어는 뇌 조직의 뉴런 구조에서 비롯되었다. 예를 들어, 각 뉴런은 뉴런의 입력 값에 대해 가중 합산 연산을 수행하고, 활성화 함수를 통해 연산 결과를 출력한다. 도 2a는 뉴런 구조의 도면이다. 뉴런의 입력은 x = [x0, x1, ..., xn]이고, 입력에 대응하는 가중치는 w = [w, w1, ..., wn]이라고 가정하고, 여기서 wi는 xi의 가중치이고, xi에 대한 가중을 수행하는 데 사용된다. 예를 들어, 가중치에 기초하여 입력 값을 가중 합산을 수행하는 오프셋은 b이다. 활성화 함수에는 복수의 형태가 있을 수 있다. 뉴런의 활성화 함수는 y = f(z) = max(0,z)이고, 뉴런의 출력은 라고 가정한다. 다른 예로, 뉴런의 활성화 함수가 y = f(z) = z이면, 뉴런의 출력은 이다. b는 소수, 정수(예를 들어, 0, 양의 정수, 또는 음의 정수), 또는 복소수와 같은 임의의 가능한 값일 수 있다. 신경망에 있는 서로 다른 뉴런의 활성화 기능은 동일할 수 있거나 또는 상이할 수 있다.
신경망은 일반적으로 복수의 계층을 포함하며, 각 계층은 하나 이상의 뉴런을 포함할 수 있다. 신경망의 깊이 및/또는 폭을 증가시킴으로써, 신경망의 표현 능력이나 함수 부합 능력이 개선될 수 있으며, 복잡한 시스템에 더욱 강력한 정보 추출 및 추상 모델링 능력이 제공된다. 신경망의 깊이는 신경망에 포함된 계층의 수량일 수 있으며, 각 계층에 포함된 뉴런의 수량은 계층의 폭이라고 지칭될 수 있다. 구현에서, 신경망은 입력 계층과 출력 계층을 포함한다. 신경망의 입력 계층은 수신된 입력 정보에 대해 뉴런 처리를 수행하고, 처리 결과를 출력 계층에 전달하며, 출력 계층은 신경망의 출력 결과를 획득한다. 다른 구현에서, 신경망은 입력 계층, 히든 계층, 및 출력 계층을 포함한다. 신경망의 입력 계층은 수신된 입력 정보에 대해 뉴런 처리를 수행하고, 처리 결과를 중간 히든 계층에 전달한다. 히든 계층은 수신된 처리 결과에 대한 계산을 수행하여 계산 결과를 획득한다. 히든 계층은 계산 결과를 출력 계층 또는 인접한 히든 계층에 전달하고, 최종적으로 출력 계층은 신경망의 출력 결과를 획득한다. 하나의 신경망은 하나의 히든 계층을 포함할 수 있거나, 또는 순차적으로 연결된 복수의 히든 계층을 포함할 수 있다. 이는 제한되지 않는다.
전술한 바와 같이, 각 뉴런은 뉴런의 입력 값에 대한 가중 합산 연산을 수행하고, 비선형 함수에 따라 가중 합산 결과가 생성되어 출력된다. 신경망의 뉴런의 가중 합산 연산의 가중치 및 비선형 함수를 신경망의 파라미터라고 지칭한다. 예를 들어, 뉴런의 비선형 함수는 max{0, x}이고, 뉴런에 의해 수행된 연산 의 파라미터 가중치는 w = [w, w1, ..., wn]이고, 가중 합산의 오프셋은 b이다. 신경망의 모든 뉴런의 파라미터는 신경망의 파라미터를 형성한다.
본 개시에서의 신경망은, 예를 들어 심층 신경망(deep neural network, DNN)이다. DNN은 일반적으로 복수의 히든 계층을 갖고 있으며, DNN의 각 뉴런에 대응하는 가중치가 DNN의 모델 파라미터이다. DNN은 지도 학습 전략 또는 비지도 학습 전략을 사용하여 모델 파라미터를 최적화할 수 있다. DNN은, 네트워크 구성 방식에 기초하여, 피드포워드 신경망(feedforward neural network, FNN), 컨볼루션 신경망(convolutional neural network, CNN), 및 순환 신경망(recurrent neural network, RNN)을 포함할 수 있다. FNN이 예로서 사용된다. 도 2b는 신경망 구조를 도시한다. FNN의 특징은 인접한 계층에서 뉴런이 2개씩 완전히 연결되어 있다는 점이다.
CNN은 그리드형 구조를 갖는 데이터를 처리하는 데 적용될 수 있다. 그리드형 구조를 갖는 데이터는 시계열 데이터(시간축 이산 샘플링), 이미지 데이터(2차원 이산 샘플링) 등을 포함할 수 있다. CNN의 컨볼루션 계층은 한번에 모든 입력 정보를 사용하여 컨볼루션 연산을 수행하지 않는다. 대신, 고정된 크기의 하나 이상의 윈도우가 설정되고, 각 윈도우를 사용하여 입력 정보의 일부를 캡처하여 컨볼루션 연산을 수행한다. 이러한 설계는 모델 파라미터의 계산량을 크게 감소시킬 수 있다. 구체적으로, 고정된 크기의 하나 이상의 윈도우 중 어느 하나에 대해 컨볼루션 연산을 수행하는 것은 윈도우의 계수(예를 들어, 가중 계수) 및 윈도우에 의해 캡처된 일부 입력 정보에 대해 승산 연산을 수행하고 나서, 가산 연산을 수행하는 것으로 이해될 수 있다. 컨볼루션 연산 후, 윈도우에 대응하는 출력 정보를 획득할 수 있다. 상이한 윈도우의 계수는 독립적으로 구성될 수 있다. 예를 들어, 상이한 윈도우에 대해 상이한 계수를 구성할 수 있으므로, CNN이 입력 데이터의 특징을 더 잘 추출할 수 있다. 윈도우의 계수는 컨볼루션 커널을 포함할 수 있다. 선택적으로, 상이한 윈도우에서 캡처된 일부 입력 정보의 유형은 상이할 수 있다. 예를 들어, 동일한 2차 이미지 속 인물과 사물은 상이한 유형의 정보로 이해될 수 있다. 크기가 고정된 2개의 윈도우에서, 하나의 윈도우는 이미지 속 인물을 캡처할 수 있으며, 다른 윈도우는 이미지 속 사물을 캡처할 수 있다. RNN은 피드백 시계열 정보를 사용하는 DNN 네트워크이다. RNN의 입력에는 현재 순간의 새로운 입력 값 및 이전 순간의 RNN의 출력 값의 일부가 포함되며, 이전 순간의 출력 값은 활성화 함수 및 이전 순간의 입력에 의해 결정될 수 있다. RNN은 시간 상관관계를 갖는 시퀀스 특징을 획득하는 데 적합하며, 음성 인식과 채널 인코딩 및 디코딩과 같은 응용 시나리오에 적합하다.
또한, 신경망의 훈련 프로세스에서, 손실 함수가 정의될 수 있다. 손실 함수는 신경망의 출력 값과 이상적인 목표 값 사이의 차이 또는 차이 값을 설명하며, 본 개시에서는 손실 함수의 특정 형태를 제한하지 않는다. 신경망의 훈련 프로세스는 손실 함수의 값이 임계값보다 더 작도록, 또는 손실 함수의 값이 목표 요구 사항을 충족하도록, 신경망의 파라미터가 조절되는 프로세스이다. 신경망의 파라미터가 조절된다. 예를 들어, 다음 파라미터 중 적어도 하나, 즉, 신경망의 계층의 수량, 신경망의 폭, 뉴런의 가중치, 또는 뉴런의 활성화 함수의 파라미터 중 적어도 하나가 조절된다.
A4: 연합 학습(federated learning, FL)
연합 학습은 기계 학습 프레임워크이다. 프레임워크에서, 노드는 데이터를 교환할 필요가 없지만, 훈련 중에 획득한 중간 결과가 전송되고, 예를 들어 모델의 파라미터 또는 기울기는 모델에 대한 정보를 나타낼 수 있다. 즉, 연합 학습을 사용하여 기계 학습을 모델링할 수 있고, 즉, AI 모델을 훈련하여 사용자 프라이버시 보호 및 데이터 보안 요구 사항을 충족할 수 있다. 분산형 기계 학습 패러다임인 연합 학습은 데이터 사일로 문제를 효과적으로 해결할 수 있다. 연합 학습에 참여하는 노드는 데이터 공유 없이 공동 모델링을 수행할 수 있다. 이는 기술적으로 데이터 사일로를 깨고 AI 협업을 구현한다.
일반적으로, 모든 참여 당사자의 상이한 데이터 소스 분포에 따라, 연합 학습은 세 가지 유형, 즉, 수평 연합 학습, 수직 연합 학습, 및 연합 전이 학습으로 분류될 수 있다. 수평 연합 학습은, 복수의 데이터 세트(대안적으로 샘플 세트로 이해될 수 있음)의 사용자 특징이 많이 겹치지만 사용자는 거의 겹치지 않는 경우, 데이터 세트는 수평으로(즉, 사용자 차원에서) 분할되고, 모델은 동일한 사용자 특징을 갖지만 사용자가 불완전하게 동일한 일부 데이터에 기초하여 훈련된다는 것을 의미한다. 수직 연합 학습은, 복수의 데이터 세트의 사용자가 많이 겹치지만 사용자 특징은 거의 겹치지 않는 경우, 데이터 세트는 수직으로(즉, 특징 차원에서) 분할되고, 모델은 동일한 사용자를 갖지만 사용자 특징이 불완전하게 동일한 일부 데이터에 기초하여 훈련된다는 것을 의미한다. 연합 전이 학습은, 복수의 데이터 세트의 사용자 및 사용자 특징이 거의 겹치지 않는 경우, 데이터가 분할되는 것이 아니라, 데이터 또는 샘플 라벨이 부족한 경우를 극복하기 위해 전이 학습이 사용된다는 것을 의미한다.
본 개시는 구체적으로 무선 네트워크에서의 연합 학습의 적용에 관한 것이다. 무선 네트워크에서는, 모델 훈련에 필요한 데이터가 복수의 노드에 분산되어 있고, 데이터가 노드의 프라이버시 정보와 관련되는 경우가 있으며, 이러한 경우는 직접적인 데이터 전송에 적합하지 않다. 이 경우, 복수의 노드가 연합 학습에 참여할 수 있게 하기 위해 연합 학습 기술이 사용될 수 있다.
가능한 설계에서는, 복수의 노드가 로컬 모델을 훈련하고, 복수의 노드에 의해 훈련된 로컬 모델의 파라미터 정보를 중앙 노드에 송신한다. 중앙 노드는 복수의 노드의 로컬 모델 파라미터에 기초하여 연합 학습 모델을 계산(또는 훈련)하고, 연합 학습 모델을 복수의 노드에 송신할 수 있다. 복수의 노드는 계속해서 로컬 모델을 업데이트하고 로컬 모델의 파라미터 정보를 중앙 노드에 송신한다. 이러한 방식으로, 수렴이 발생할 때까지 반복이 수행된다. 도 3a는 예를 들어 중앙 노드 및 연합 학습에 참여하는 세 개의 서브노드, 즉, 서브노드 1, 서브노드 2, 및 서브노드 3을 포함하는 통신 아키텍처를 도시한다. 서브노드 1, 서브노드 2, 및 서브노드 3은 별도로 훈련 데이터를 수집하고, 서브노드 1, 서브노드 2, 및 서브노드 3의 로컬 모델을 훈련하고, 로컬 모델의 파라미터 정보를 중앙 노드에 송신할 수 있다. 중앙 노드는 연합 학습 모델을 훈련할 수 있다.
다른 가능한 설계에서는, 복수의 노드가 로컬 모델을 훈련하고, 복수의 노드에 의해 훈련된 로컬 모델의 파라미터 정보를 중앙 노드에 송신한다. 중앙 노드는 복수의 노드의 로컬 모델 파라미터를 AI 모델 관리 노드로 전달할 수 있다. AI 모델 관리 노드는 복수의 노드의 로컬 모델 파라미터에 기초하여 연합 학습 모델을 계산(또는 훈련)하고, 연합 학습 모델을 복수의 노드에 송신한다. 복수의 노드는 계속해서 로컬 모델을 업데이트하고, 로컬 모델의 파라미터 정보는 중앙 노드를 통해 AI 모델 관리 노드에 송신된다. 이러한 방식으로, 수렴이 발생할 때까지 반복이 수행된다. 이 경우, 중앙 노드는 AI 모델 관리 노드와 연합 학습에 참여하는 노드 사이의 중계 역할을 한다. 도 3b는 예를 들어 AI 모델 관리 노드, 중앙 노드, 및 연합 학습에 참여하는 세 개의 서브노드, 즉, 서브노드 1, 서브노드 2, 및 서브노드 3을 포함하는 통신 아키텍처를 도시한다. 서브노드 1, 서브노드 2, 및 서브노드 3은 별도로 훈련 데이터를 수집하고, 서브노드 1, 서브노드 2, 및 서브노드 3의 로컬 모델을 훈련하고, 로컬 모델의 파라미터 정보를 중앙 노드에 송신할 수 있다. 중앙 노드는 연합 학습에 참여하는 노드로부터 로컬 모델의 파라미터 정보를 AI 모델 관리 노드에 전달할 수 있고, AI 모델 관리 노드는 연합 학습 모델에 대한 훈련/업데이트 작업을 수행하고, 연합 학습 모델의 파라미터 정보를 중앙 노드에 송신한다. 그 후, 중앙 노드는 연합 학습 모델의 파라미터 정보를 대응 서브노드 1, 서브노드 2, 및 서브노드 3에 전달한다.
중앙 노드는 연합 학습 모델을 훈련하도록 구성된 노드이고, 중앙 노드는 다른 이름으로 대체될 수 있다고 이해될 수 있다. 중앙 노드와 다르게, 연합 학습에 참여하고 로컬 모델을 훈련할 수 있는 전술한 복수의 노드는 복수의 서브노드, 복수의 분산 노드, 또는 다른 이름으로 지칭될 수도 있다. 본 개시는 이름을 제한하지 않는다. 본 개시는 중앙 노드가 연합 학습 모델을 훈련하고 서브노드가 로컬 모델을 훈련하는 예를 사용하여 아래에서 설명된다.
구체적으로, 연합 학습에 참여하는 복수의 노드는 중앙 노드에 액세스하여, 중앙 노드와 통신할 수 있다. 예를 들어, 도 3a/도 3b의 중앙 노드가 액세스 네트워크 디바이스일 수 있으며, 연합 학습에 참여하는 노드, 즉, 서브노드 1, 서브노드 2, 및 서브노드 3이 단말 디바이스일 수 있거나; 또는 중앙 노드가 코어 네트워크 디바이스일 수 있으며, 서브노드 1, 서브노드 2, 및 서브노드 3이 액세스 네트워크 디바이스일 수 있다. 중앙 노드, 서브노드 1, 서브노드 2, 및 서브노드 3은 모두 AI 기능을 갖는 AI 네트워크 요소/모듈일 수 있다. 도 3b의 AI 모델 관리 노드는 독립적인 AI 네트워크 요소 또는 AI 기능을 갖는 모듈일 수 있다.
예를 들어, 위치 설정에 있어서, 단말 디바이스는 지리적 위치를 포함하는 데이터를 수집할 수 있다. 그러나, 단일 단말 디바이스로 수집된 데이터는 단순하며 실제 데이터의 가능한 모든 분포를 횡단할 수는 없다. 또한, 단일 단말 디바이스는 소량의 데이터를 수신한다. 단일 단말 디바이스에서 수집한 데이터에만 기초하여, 성능 요구 사항을 충족하는 모델을 훈련하기 어려운 경우이다. 그러나, 복수의 단말 디바이스가 액세스 네트워크 디바이스 또는 코어 네트워크 디바이스, 예를 들어 위치 관리 기능(location management function, LMF) 네트워크 요소에 데이터를 송신하는 경우, 액세스 네트워크 디바이스 또는 LMF 네트워크 요소가 모델을 훈련한다. 액세스 네트워크 디바이스 또는 LMF 네트워크 요소로 데이터를 송신하는 것은 단말 디바이스의 지리적 위치가 프라이버시와 관련되어 있기 때문에 단말 디바이스의 프라이버시 유출을 초래하고, 단말 디바이스에 의해 액세스 네트워크 디바이스 또는 LMF 네트워크 요소에 데이터를 송신하는 오버헤드가 높다. 이 경우, 연합 학습 기술이 사용될 수 있다. 예를 들어, 복수의 단말 디바이스가 연합 학습에 참여한다. 각각의 단말 디바이스는 각각의 데이터에 기초하여 로컬 모델을 훈련하고 나서, 로컬 모델의 파라미터 정보를 액세스 네트워크 디바이스 또는 LMF 네트워크 요소에 송신할 수 있다. 액세스 네트워크 디바이스 또는 LMF 네트워크 요소는 연합 학습 모델을 훈련하고, 연합 학습 모델을 복수의 단말 디바이스에 송신한다. 복수의 단말 디바이스는 계속해서 로컬 모델을 업데이트하고, 로컬 모델의 파라미터 정보를 액세스 네트워크 디바이스 또는 LMF 네트워크 요소에 송신한다. 이러한 방식으로, 수렴이 발생할 때까지 반복이 수행된다.
관련 기술에서는, 중앙 노드가 매번 하나의 연합 학습 모델만을 훈련하며, 즉, 매번 복수의 서브노드에 송신되는 연합 학습 모델은 동일하다. 이하에서는 글로벌 모델과 동일한 연합 학습 모델을 기록하고, 관련 기술을 상세히 설명한다. 무선 통신 시나리오에서는, 상이한 단말 디바이스가 동일한 유형의 데이터에 대해 분산 훈련을 수행해야 하며, 수평 연합 학습이 적합하다. 수평 연합 학습의 주요 절차는 다음과 같다:
S1: 중앙 노드는 글로벌 모델을 복수의 서브노드에 전달한다. 복수의 서브노드 각각은 로컬 데이터(즉, 노드가 획득한 샘플)와 글로벌 모델에 기초하여 로컬 모델을 훈련할 수 있다. 전술한 위치 설정에서, 중앙 노드는 기지국 또는 LMF일 수 있으며, 복수의 서브노드 중 한 서브노드는 단말 디바이스일 수 있다.
S2: 복수의 서브노드 각각은 로컬 데이터를 사용하여 로컬 모델을 훈련하고, 로컬 모델의 파라미터를 중앙 노드에 업로드하며, 중앙 노드는 각 서브노드의 로컬 모델의 파라미터를 취합하여 글로벌 모델 파라미터를 업데이트하고, 즉, S1에서 글로벌 모델에 대한 업데이트 훈련을 수행한다.
모델이 수렴할 때까지 상기의 두 단계를 반복한다.
도 4a에 도시된 바와 같이, 복수의 서브노드가 서브노드 1, 서브노드 2, 및 서브노드 3을 포함하는 예가 사용된다. 먼저, 중앙 노드는 서브노드 1, 서브노드 2, 및 서브노드 3 각각에 초기 모델을 송신한다. 서브노드 1은 서브노드 1의 로컬 데이터(즉, 도 4a의 데이터 1)에 기초하여 초기 모델에 대한 업데이트 훈련을 수행하여, 로컬 모델 M1을 획득한다. 서브노드 2는 서브노드 2의 로컬 데이터(즉, 도 4a의 데이터 2)에 기초하여 초기 모델에 대한 업데이트 훈련을 수행하여, 로컬 모델 M2를 획득한다. 서브노드 3은 서브노드 3의 로컬 데이터(즉, 도 4a의 데이터 3)에 기초하여 초기 모델에 대한 업데이트 훈련을 수행하여, 로컬 모델 M3을 획득한다. 서브노드 1, 2, 및 3은 서브노드 1, 2, 및 3의 로컬 모델의 파라미터를 중앙 노드에 송신하고, 중앙 노드는 서브노드의 로컬 모델에 대한 가중을 수행하여 글로벌 모델 M0 = α1M1 + α2M2 + α3M3을 획득하고, 여기서 αi는 복수의 서브노드의 전체 로컬 데이터량에 대한 복수의 서브노드 중 i번째 서브노드의 로컬 데이터량의 비율이고, Mi는 복수의 서브노드 중 i번째 서브노드의 로컬 모델을 나타내거나, i번째 서브노드의 로컬 모델의 파라미터로 이해될 수 있다. i의 값은 1, 2, 또는 3이다. 그 후, 중앙 노드는 각 서브노드에 M0을 송신하고, 각 서브노드는 수신된 글로벌 모델에 기초하여 계속해서 로컬 훈련을 수행하고 나서, 훈련된 로컬 모델의 파라미터를 중앙 노드에 업로드한다. 이러한 방식으로, 모델이 수렴할 때까지 반복이 수행된다.
실제 응용에서는, 전술한 서브노드의 로컬 데이터 사이에 분포 차이가 있다. 예를 들어, 실내 위치 설정에서는, 상이한 단말 디바이스가 상이한 지역에 오랫동안 또는 자주 위치된다. 이 경우, 전술한 관련 기술을 사용하면, 복수의 서브노드가 동일한 글로벌 모델을 사용하여 로컬 모델에 대한 업데이트 훈련을 수행하게 된다. 다른 서브노드와 데이터 분포가 크게 다른 서브노드의 경우, 로컬 모델의 성능이 좋지 않고, 연합 학습 모델의 성능이 저하된다.
이에 기초하여, 본 개시는 연합 학습 모델의 성능을 개선하기 위한 통신 방법을 제공한다. 본 개시에서는, 중앙 노드가 연합 학습에 참여하는 복수의 서브노드의 로컬 모델의 파라미터 정보에 기초하여 연합 학습 모델을 훈련하는 경우, 중앙 노드는 상이한 서브노드에 대응하는 연합 학습 모델을 개인화하여, 복수의 서브노드가 연합 학습 모델의 성능을 개선하기 위해 동일한 글로벌 모델을 사용하여 로컬 모델에 대한 업데이트 훈련을 수행하는 것이 방지될 수 있도록 한다.
도 4b에 도시된 바와 같이, 복수의 서브노드가 서브노드 1, 서브노드 2, 및 서브노드 3을 포함하는 예가 사용된다. 먼저, 중앙 노드는 서브노드 1, 서브노드 2, 및 서브노드 3 각각에 초기 모델을 송신한다. 서브노드 1은 서브노드 1의 로컬 데이터(즉, 도 4b의 데이터 1)에 기초하여 초기 모델에 대한 업데이트 훈련을 수행하여, 로컬 모델 M1을 획득한다. 서브노드 2는 서브노드 2의 로컬 데이터(즉, 도 4b의 데이터 2)에 기초하여 초기 모델에 대한 업데이트 훈련을 수행하여, 로컬 모델 M2를 획득한다. 서브노드 3은 서브노드 3의 로컬 데이터(즉, 도 4b의 데이터 3)에 기초하여 초기 모델에 대한 업데이트 훈련을 수행하여, 로컬 모델 M3을 획득한다. 서브노드 1, 2, 및 3은 서브노드 1, 2, 및 3의 로컬 모델의 파라미터를 중앙 노드에 송신한다. 본 개시에서, 중앙 노드는 복수의 서브노드 중 적어도 2개에 대해 동일한 글로벌 모델을 훈련할 수 있으며, 나머지 서브노드에 대응하는 연합 학습 모델, 예를 들어 개인화된 모델이라고 지칭될 수 있는 모델을 훈련할 수 있다. 대안적으로, 중앙 노드는 복수의 서브노드 각각에 대해 개인화된 모델을 훈련할 수 있다. 예로서, 도 4b는 중앙 노드가 서브노드 1, 2, 및 3에 대해 별도로 개인화된 모델을 훈련하는 것을 도시한다. 서브노드 1, 2, 및 3은 서브노드 1, 2, 및 3의 로컬 모델의 파라미터를 중앙 노드에 송신한다. 중앙 노드는 상이한 서브노드에 대해 상이한 가중을 사용하고, 서브노드의 로컬 모델에 대한 가중을 수행하여 서브노드의 개인화된 모델, 예를 들어 k번째 순서의 서브노드의 개인화된 모델 Pk = β1kM1 + β2kM2 + β3kM3을 획득하고, 여기서 k의 값은 1, 2, 또는 3이고, 상이한 Pk는 상이한 β1k, β2k, 및 β3k에 대응한다. 그 후, 중앙 노드는 대응하는 개인화된 모델을 각 서브노드에 나타내고, 예를 들어 P1을 서브노드 1에 송신하고, P2를 서브노드 2에 송신하고, P3을 서브노드 3에 송신한다. 각 서브노드는 수신된 연합 학습 모델에 기초하여 로컬 훈련을 계속 수행하고 나서, 훈련된 로컬 모델의 파라미터를 중앙 노드에 업로드한다. 이러한 방식으로, 모델이 수렴할 때까지 반복이 수행된다.
이하에서는 첨부 도면을 참조하여 본 개시에 제공된 통신 방법을 더욱 상세히 설명한다.
도 5는 통신 방법을 도시한다. 방법은 주로 다음과 같은 절차를 포함한다.
S501: 중앙 노드는 연합 학습에 참여하는 복수의 서브노드에 제2 모델을 나타내는 정보를 송신한다.
예를 들어, 도 5는 연합 학습에 참여하는 세 개의 서브노드, 즉, 서브노드 1, 서브노드 2, 및 서브노드 3을 도시한다. 중앙 노드와 서브노드에 대한 예에 대해서는, 전술한 도 3a의 설명을 참조한다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다.
제2 모델을 나타내는 정보는 복수의 서브노드 각각에 의해 각 서브노드의 제1 로컬 모델을 결정하는 데 사용된다. 제2 모델은 초기 모델로도 이해될 수 있다. 예를 들어, 제2 모델을 나타내는 정보는 제2 모델일 수 있거나 또는 제2 모델의 파라미터 정보일 수 있다. 제2 모델의 파라미터 정보는 제2 모델을 나타낼 수 있다. 제2 모델의 파라미터 정보는 다음 파라미터, 즉, 제2 모델의 구조 유형, 제2 모델의 구조 파라미터, 및 제2 모델의 모델 파라미터 중 하나 이상을 나타낼 수 있다. 이하에서는 설명을 위해 중앙 노드가 제2 모델의 파라미터 정보를 송신하는 예를 사용한다.
제2 모델의 파라미터 정보에 대한 몇 가지 예는 다음과 같다:
제2 모델의 구조 유형으로서, 예를 들어 CNN 모델, RNN 모델, 트랜스포머 모델, 랜덤 포레스트, 또는 서포트 벡터 기계;
제2 모델의 구조 파라미터로서, 구체적으로 상이한 구조 유형의 모델은 상이한 구조 파라미터에 대응할 수 있으며, 예를 들어 제2 모델이 CNN 모델인 경우, 제2 모델의 구조 파라미터는 CNN의 컨볼루션 계층의 수량, 각 컨볼루션 계층의 채널의 수량 및 컨볼루션 커널의 크기, 완전히 연결된 계층의 수량, 및/또는 뉴런의 수량을 포함할 수 있으며; 제2 모델이 RNN 모델인 경우, 제2 모델의 구조 파라미터는 RNN의 신경망 계층의 수량 및 구조의 각 계층의 각 상태에 대한 계산 방식을 포함할 수 있으며, 여기서 상태는 망각 게이트, 입력 게이트, 출력 게이트, 업데이트 게이트, 암시적 상태 등일 수 있으며; 제2 모델이 트랜스포머 모델인 경우, 제2 모델의 구조 파라미터는 트랜스포머 모델의 인코더 및 디코더의 수량과, 각 인코더 및 디코더의 내부 요소에 대한 계산 방식을 포함할 수 있고, 여기서 내부 요소는 쿼리 벡터, 키 벡터, 값 벡터 등일 수 있으며; 제2 모델이 랜덤 포레스트인 경우, 제2 모델의 구조 파라미터는 랜덤 포레스트의 트리의 수량 및 깊이를 포함할 수 있거나; 또는 제2 모델이 서포트 벡터 기계인 경우, 제2 모델의 구조 파라미터는 서포트 벡터 기계의 커널 함수의 유형 등을 포함할 수 있음; 및
제2 모델을 구성하는 것에 관한 파라미터로 이해될 수 있는 제2 모델의 모델 파라미터로서, 예를 들어 신경망의 각 뉴런에 대응하는 가중치 및 오프셋, 랜덤 포레스트의 각 노드에 대응하는 결정 기준 및 임계값, 및 서포트 벡터 기계에서 대응하는 가중치 및 오프셋.
선택적으로, 일부 선택적 모델 구조가 프로토콜에서 지정될 수 있다. 모델 구조에는 구조 유형과 구조 파라미터가 포함된다. 제2 모델의 파라미터 정보는 전술한 프로토콜에서 지정된 모델 구조에 속하는 제2 모델의 구조 유형 및 구조 파라미터를 나타내는 정보를 포함하고, 모델 파라미터를 나타내는 정보를 더 포함한다. 대안적으로, 모델 구조가 프로토콜에서 지정될 수 있다. 이 경우, 제2 모델의 파라미터 정보는 제2 모델의 모델 파라미터만을 나타내고, 연합 학습에 참여하는 노드는 프로토콜에 따라 제2 모델의 구조 유형 및 구조 파라미터를 결정할 수 있다. 대안적으로, 모델 구조와 모델 파라미터의 조합을 프로토콜에서 지정할 수 있고, 중앙 노드는 제2 모델의 파라미터 정보에 프로토콜에서 지정된 모델 구조와 모델 파라미터의 조합에 대한 표시 정보를 포함할 수 있다. 또한, 제2 모델의 구조 유형 및 구조 파라미터는 프로토콜에서 직접 지정될 수도 있음을 이해할 수 있다. 이 경우, 중앙 노드는 제2 모델의 파라미터 정보를 송신할 필요가 없을 수도 있다. 달리 말해서, 이 경우에는, S501을 수행할 필요가 없다. S501은 선택적인 단계이다.
구체적으로, 중앙 노드는 미리 구성된 자원에 기초하여 제2 모델의 파라미터 정보를 복수의 서브노드에 송신할 수 있다. 예를 들어, 중앙 노드 또는 전술한 복수의 서브노드는 중앙 노드가 송신한 모델(예를 들어, 제2 모델)의 파라미터 정보를 구성할 수 있거나; 또는 다른 연합 학습 관리 노드(예를 들어, 제3자 네트워크 요소 또는 독립적인 AI 네트워크 요소)는 중앙 노드 및 복수의 서브노드에 대해, 중앙 노드에 의해 모델의 파라미터 정보를 송신하기 위한 자원을 구성한다. 예를 들어, 중앙 노드는 액세스 네트워크 디바이스이고, 복수의 서브노드는 단말 디바이스이다. 중앙 노드에 의해 제2 모델을 송신하기 위해 사용되는 자원은 다운링크 자원일 수 있다. 다운링크 자원은 구체적으로 제어 채널 자원, 예를 들어 물리 다운링크 제어 채널(physical downlink control channel, PDCCH) 자원일 수 있거나, 또는 다운링크 자원은 데이터 채널 자원, 예를 들어 물리 다운링크 공유 채널(physical downlink share channel, PDSCH) 자원일 수 있다. 구체적으로, 자원은 시간 도메인 자원, 예를 들어 슬롯 또는 심볼, 및 주파수 도메인 자원, 예를 들어 주파수 도메인 자원 블록 번호, 서브밴드 번호, 서브밴드 번호, 주파수 호핑 파라미터, 변조 및 코딩 방식, 및 다른 파라미터를 포함하는 시간-주파수 자원으로 이해될 수 있다.
구체적으로, 중앙 노드는 제2 모델의 파라미터 정보를 브로드캐스트 또는 멀티캐스트 방식으로 송신할 수 있다. 예를 들어, 중앙 노드는 전술한 복수의 서브노드가 위치되는 셀에 대해 브로드캐스트 방식으로 제2 모델의 파라미터 정보를 송신할 수 있다. 복수의 서브노드는 동일한 셀에 위치할 수 있거나, 또는 복수의 서브노드는 상이한 셀에 위치될 수 있는 것으로 이해될 수 있다. 복수의 서브노드가 위치되는 셀에서 연합 학습에 참여하지 않는 다른 노드도 중앙 노드에 의해 브로드캐스팅된 정보를 수신할 수 있다. 다른 예로, 중앙 노드는 연합 학습에 참여하는 복수의 서브노드를 하나의 그룹으로 고려할 수 있으며, 동일한 그룹 내의 복수의 서브노드는 동일한 그룹 번호에 대응한다. 중앙 노드는 동일한 자원에 기초하여 그룹 내의 복수의 서브노드에 제2 모델의 파라미터 정보를 멀티캐스트 방식으로 송신한다. 다른 예로, 중앙 노드는 복수의 서브노드를 그룹화할 수 있으며, 예를 들어 모든 서브노드의 연산 능력에 기초하여 서브노드를 그룹화할 수 있고, 동일한 그룹 내의 서브노드의 연산 능력은 유사하다. 상이한 그룹은 상응하게 상이한 그룹 번호로 구성된다. 중앙 노드는 상이한 그룹에 대해 상이한 자원을 구성하여, 그룹에 대응하는 자원을 기초로 그룹 내의 서브노드에 제2 모델의 파라미터 정보 및 그룹의 그룹 번호를 멀티캐스트 방식으로 송신할 수 있다.
또한, 선택적으로, 중앙 노드는 각 서브노드에 의해 로컬 모델을 훈련하기 위한 훈련 파라미터를 복수의 서브노드에 더 나타낼 수 있다. 훈련 파라미터는 로컬 모델의 훈련을 위해 서브노드에 의해 요구되는 반복의 수량, 학습률, 손실 함수, 및 배치 크기(Batch_Size) 중 하나 이상을 포함할 수 있다. 서브노드는 훈련 파라미터에 기초하여 로컬 모델을 훈련할 수 있다.
S502: 다음 단계 S21 내지 S24를 I회 반복하고, 여기서 I는 연합 학습 모델을 훈련하기 위한 반복 횟수를 나타내며, I는 양의 정수이다.
S21: 복수의 서브노드 각각은 로컬 모델을 훈련한다.
구체적으로, 각 서브노드는 중앙 노드가 송신한 모델의 파라미터 정보에 기초하여 로컬 모델을 훈련할 수 있다. 서브노드에 의해 로컬 모델을 훈련하는 데 사용된 훈련 데이터에는 서브노드에 의해 수집된 로컬 데이터가 포함된다. 선택적으로, 모든 서브노드에 의해 훈련된 로컬 모델의 구조 유형 및 구조 파라미터는 동일하다. 예를 들어, 각 서브노드가 S501에서 설명된 제2 모델을 나타내는 정보를 가장 최근에 수신한 경우, 각 서브노드는 수집된 로컬 데이터 및 제2 모델을 나타내는 정보에 기초하여 제1차(또는 제1이라고 지칭됨) 로컬 모델 훈련을 수행할 수 있다. 또한, 선택적으로, 서브노드에 의해 로컬 모델을 훈련하는 데 사용되는 훈련 데이터는 라벨 데이터를 더 포함할 수 있다.
각 서브노드는 다양한 애플리케이션 시나리오에 대한 로컬 모델의 훈련 데이터를 결정할 수 있다.
예를 들어, 위치 설정 시나리오에서, 서브노드에 의해 수집된 로컬 데이터는 채널 응답을 입력으로 사용하고 위치 좌표를 출력으로 사용하는, 로컬 모델을 훈련하기 위한 채널 응답일 수 있다. 서브노드는 채널 응답에 대응하는 라벨 데이터, 즉, 위치 좌표를 더 획득할 수 있다. 선택적으로, 서브노드는 도착 시간 차이를 기초로 위치 설정 방법을 사용하여 위치 좌표를 획득할 수 있다. 예를 들어, 서브노드는 단말 디바이스이고, 중앙 노드는 LMF이다. 단말 디바이스는 복수의 액세스 네트워크 디바이스로부터 위치 기준 신호(positioning reference signal, PRS)를 수신한다. 단말 디바이스는 상이한 액세스 네트워크 디바이스에 의해 송신된 PRS의 도착 시간 차이를 측정하고, 전술한 도착 시간 차이를 LMF에 피드백한다. LMF는 도착 시간 차이에 기초하여, 상이한 액세스 네트워크 디바이스로부터 단말 디바이스까지의 거리 차이를 추론하고, 단말 디바이스의 위치를 더 결정할 수 있다. 그 후, LMF는 시그널링을 사용하여 단말 디바이스의 위치를 단말 디바이스에 피드백하고, 단말 디바이스는 해당 위치를 로컬 데이터에 대응하는 라벨 데이터로 사용할 수 있다. 선택적으로, 액세스 네트워크 디바이스는 PRS를 반복적으로 송신할 수 있으며, LMF는 짧은 시간 내에 단말 디바이스의 위치를 반복적으로 계산한다. 짧은 시간 내에 계산을 통해 획득된 단말 디바이스의 복수의 위치가 안정적인 경우(즉, 복수의 위치 사이의 차이가 작고, 예를 들어 지정된 임계값보다 더 작은 경우), 테스트 위치 설정 정밀도가 높다는 것을 나타낼 수 있다. LMF는 시그널링을 사용하여 단말 디바이스의 안정적인 위치를 UE에 피드백하고, UE는 해당 위치를 로컬 데이터의 라벨로 사용한다. 이는 로컬 모델의 성능을 개선할 수 있다.
예를 들어, 빔 관리 시나리오에서, 서브노드는 액세스 네트워크 디바이스일 수 있고, 중앙 노드는 액세스 네트워크 디바이스에 의해 액세스될 수 있는 디바이스, 예를 들어 독립적인 AI 네트워크 요소, 또는 다른 액세스 네트워크 디바이스의 액세스를 허용하는 수렴 액세스 네트워크 디바이스일 수 있다. 서브노드에 의해 수집될 수 있는 로컬 데이터는 채널 측정값(예를 들어, 수신 신호의 에너지 또는 품질)일 수 있으며, 적은 수량의 채널 측정값을 입력으로 사용하고 최적 빔의 인덱스를 출력으로 사용하는 기계 학습 모델이 훈련되고, 여기서 최적 빔의 인덱스는 로컬 데이터에 대응하는 라벨 데이터이다. 선택적으로, 서브노드(즉, 액세스 네트워크 디바이스)는 가능한 모든 빔(또는 빔 방향이라고도 지칭됨)을 사용하여 서브노드에 액세스하는 단말 디바이스에 신호를 하나씩 송신하고, 단말 디바이스의 피드백에 기초하여 최적 빔의 인덱스를 결정할 수 있다. 예를 들어, 단말 디바이스는 최고의 수신 신호 품질에 대응하는 빔을 결정할 수 있으며, 해당 빔은 (성능) 최적 빔이라고 표시될 수 있다. 최적 빔의 인덱스는 서브노드에 피드백된다. 또한, 서브노드에 의해 수집된 채널 측정값은 단말 디바이스로부터 획득될 수도 있다. 예를 들어, 단말 디바이스는 최적 빔의 인덱스를 피드백할 때, 적은 수량의 채널 측정값을 추가로 피드백할 수 있다.
각 서브노드는 수집된 로컬 데이터, 응용 시나리오, 또는 로컬 모델의 구조 유형에 기초하여, 로컬 모델을 훈련하는 데 사용되는 손실 함수를 결정할 수 있다. 예를 들어, 분류 문제, 예를 들어 가시선(line of sight, LOS)/비시선(non-line of sight, NLOS) 인식에서, 교차 엔트로피 함수를 손실 함수로 사용할 수 있으며, 그리고 회귀 문제, 예를 들어 채널 추정에서, 평균 제곱 오차(mean squared Error, MSE) 또는 평균 절대 오차(mean absolute error, MAE)가 손실 함수로 사용될 수 있다.
S22: 복수의 서브노드 각각은 로컬 모델을 나타내는 정보를 중앙 노드에 송신한다.
로컬 모델을 나타내는 정보는 로컬 모델일 수 있거나, 또는 로컬 모델의 파라미터 정보일 수 있다. 이하에서는 설명을 위해 서브노드가 로컬 모델의 파라미터 정보를 송신하는 예를 사용한다. 예를 들어, 도 5는 S22를 도시한다: 서브노드 1, 서브노드 2, 및 서브노드 3은 로컬 모델의 파라미터 정보를 별도로 중앙 노드에 송신한다.
구체적으로, 로컬 모델의 파라미터 정보는 다음 내용을 참조하여 이해될 수 있다:
선택적 구현에서, I회 중 어느 한 회 동안 서브노드에 의해 로컬 모델이 훈련된 후, 서브노드에 의해 송신된 로컬 모델의 파라미터 정보는 로컬 모델의 모델 파라미터를 포함할 수 있다.
예를 들어, 서브노드는 로컬 모델을 훈련한 후 매번, 현재 훈련을 통해 획득된 로컬 모델의 모든 모델 파라미터 조합을 벡터로서 중앙 노드에 송신한다. 로컬 모델에는 총 G개의 모델 파라미터가 있다고 가정한다. 서브노드는 로컬 모델을 훈련한 후 매번, 현재 훈련을 통해 획득된 로컬 모델의 G개의 모델 파라미터의 조합을 벡터로서 중앙 노드에 송신할 수 있다. 예를 들어, 복수의 서브노드 중 k번째 서브노드에 의해 보고된 로컬 모델의 파라미터 정보는 Mk = [mk1, mk2, ..., mkG]로 표시될 수 있으며, 여기서 mkj는 k번째 서브노드의 로컬 모델의 j번째 모델 파라미터를 나타내고, 는 양의 정수이며, 1≤j≤G이고, k는 1부터 K까지의 양의 정수이고, K는 복수의 서브노드의 수량이다. 전술한 k번째 서브노드는 k번째 순서의 서브노드라고도 설명될 수 있으며, 복수의 서브노드 중 어느 하나를 나타낸다. 본 개시의 이하에서의 j, G, k, 및 K의 정의에 대해서는, 이해를 위해 이 예를 참조한다. 이하에서는 자세한 내용을 설명하지 않는다.
예를 들어, 서브노드는 로컬 모델을 훈련한 후 매번, 현재 훈련을 통해 획득된 로컬 모델의 모든 모델 파라미터를 복수의 조합으로 구분하고, 각 조합을 벡터로서 사용하고, 복수의 조합에 대응하는 벡터를 중앙 노드에 송신한다. 선택적으로, 구분을 통해 획득된 복수의 조합은 로컬 모델의 구조에 기초하여 결정될 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 로컬 모델은 글로벌 계층 및 개인화된 계층으로 구분될 수 있다. 구분을 통해 획득된 복수의 조합은 글로벌 계층의 모델 파라미터 및 개인화된 계층의 모델 파라미터를 포함한다. 본 개시에서는 이를 제한하지 않는다.
다른 선택적 구현에서, I회 중 첫 번째 회 동안 서브노드에 의해 로컬 모델이 훈련된 후, 서브노드에 의해 송신된 로컬 모델의 파라미터 정보는 로컬 모델의 모델 파라미터를 포함할 수 있다. I회 중 두 번째 회부터 I번째 회까지 중 어느 한 회 동안 서브노드에 의해 로컬 모델이 훈련된 후, 서브노드에 의해 송신된 로컬 모델의 파라미터 정보는 이번에 훈련된 로컬 모델의 파라미터 정보와 지난번에 훈련된 로컬 모델의 파라미터 정보 사이의 차이를 포함할 수 있다. 차이는 또한 이번에 훈련된 로컬 모델의 모델 파라미터의 기울기로서 설명될 수 있거나, 또는 간단히 이번에 훈련된 로컬 모델의 기울기라고 지칭될 수 있다.
예를 들어, 로컬 모델에 G개의 파라미터가 있다고 가정한다. 서브노드가 첫 번째 회 동안 로컬 모델을 훈련한 후, 서브노드는 현재 훈련을 통해 획득된 로컬 모델의 G개의 파라미터의 조합을 벡터로서 중앙 노드에 송신할 수 있다. 자세한 내용에 대해서는, 전술한 선택적 구현을 참조한다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다. 서브노드가 두 번째 회부터 I번째 회까지 중 어느 한 회 동안 로컬 모델을 훈련한 후, 서브노드는 현재 훈련을 통해 획득되는 로컬 모델의 G개의 파라미터와 이전 훈련을 통해 획득된 로컬 모델의 G개의 파라미터 사이의 차이 세트, 즉, 각 파라미터의 기울기를 벡터로서 중앙 노드에 송신할 수 있다. 예를 들어, 두 번째 회부터 I번째 회까지의 각각에서, 복수의 서브노드 중 k번째 서브노드에 의해 보고된 로컬 모델의 파라미터 정보는 ΔMk = [Δmk1, Δmk2, ..., ΔmkG]로 표시될 수 있고, 여기서 ΔMk,j는 이번에 k번째 서브노드에 의해 훈련된 로컬 모델의 번째 파라미터와 지난번에 훈련된 로컬 모델의 번째 파라미터 사이의 차이를 나타내거나, 또는 ΔMk,j는 이번에 k번째 서브노드에 의해 훈련된 로컬 모델의 번째 파라미터의 기울기를 나타내는 것으로 이해될 수 있다. 는 양의 정수이고, 1≤j≤G이다.
예를 들어, 서브노드는 로컬 모델을 훈련한 후 매번, 현재 훈련을 통해 획득된 로컬 모델의 기울기를 복수의 조합으로 구분하고, 각 조합을 벡터로서 사용하고, 복수의 조합에 대응하는 벡터를 중앙 노드에 송신한다. 선택적으로, 구분을 통해 획득된 복수의 조합은 로컬 모델의 구조에 기초하여 결정될 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 로컬 모델은 글로벌 계층 및 개인화된 계층로 구분된다. 구분을 통해 획득된 복수의 조합은 글로벌 계층의 기울기 및 개인화된 계층의 기울기를 포함한다. 본 개시에서는 이를 제한하지 않는다.
선택적으로, 서브노드는 중앙 노드의 표시에 기초하여, 로컬 모델의 파라미터 정보가 전술한 모델 파라미터, 모델 파라미터의 기울기, 다른 정보 등을 포함하는 것으로 결정할 수 있다. 선택적으로, 중앙 노드는 서브노드가 로컬 모델의 파라미터 정보를 복수의 조합으로 구분하고 복수의 조합을 중앙 노드에 보고하는 경우, 상이한 조합에서 파라미터 유형이 상이할 수 있음을 추가로 나타내거나 사전 합의할 수 있다. 본 명세서의 파라미터 유형은 모델 파라미터 또는 모델 파라미터의 기울기일 수 있다. 대안적으로, 복수의 조합 중 일부 조합의 파라미터 유형이 모델 파라미터로 설정될 수 있고, 다른 조합의 파라미터 유형이 기울기로 설정될 수 있다. 구체적으로, 실제 응용을 참조하여 구성이 수행될 수 있으며, 본 개시에서는 이를 제한하지 않는다.
또한, 서브노드에 의해 송신된 로컬 모델의 파라미터 정보는 보조 정보를 더 포함할 수 있으며, 여기서 보조 정보는 서브노드에 의해 수집된 로컬 데이터의 샘플의 수량 및/또는 로컬 모델의 파라미터 정보의 파라미터 유형을 나타낸다.
구체적으로, 서브노드는 미리 구성된 자원에 기초하여 로컬 모델의 파라미터 정보를 중앙 노드에 송신할 수 있다. 예를 들어, 서브노드는 미리 구성된 자원을 사용하여 로컬 모델의 파라미터 정보를 송신할 수 있다. 중앙 노드는 복수의 서브노드에 대해, 서브노드에 의해 로컬 모델의 파라미터 정보를 송신하기 위한 자원을 구성할 수 있거나, 또는 다른 연합 학습 관리 노드(예를 들어, 제3자 네트워크 요소 또는 독립적인 AI 네트워크 요소)는 중앙 노드 및 복수의 서브노드에 대해, 서브노드에 의해 로컬 모델의 파라미터 정보를 송신하기 위한 자원을 구성할 수 있다. 예를 들어, 중앙 노드는 액세스 네트워크 디바이스이고, 복수의 서브노드는 단말 디바이스이다. 서브노드에 의해 로컬 모델의 파라미터 정보를 송신하는 데 사용되는 자원은 업링크 자원일 수 있다. 업링크 자원은 구체적으로 제어 채널 자원, 예를 들어 물리 업링크 제어 채널(physical uplink control channel, PUCCH) 자원일 수 있거나, 또는 업링크 자원은 데이터 채널 자원, 예를 들어 물리 업링크 공유 채널(physical uplink share channel, PUSCH) 자원일 수 있다. 구체적으로, 자원은 시간 도메인 자원, 예를 들어 슬롯 또는 심볼, 및 주파수 도메인 자원, 예를 들어 주파수 도메인 자원 블록 번호, 서브밴드 번호, 서브밴드 번호, 주파수 호핑 파라미터, 변조 및 코딩 방식, 및 다른 파라미터를 포함하는 시간-주파수 자원으로 이해될 수 있다.
선택적으로, 서브노드가 로컬 모델의 파라미터 정보를 복수의 조합으로 구분하고 복수의 조합을 중앙 노드에 보고하는 경우, 상이한 조합에서 로컬 모델의 파라미터 정보를 보고하기 위해 점유되는 자원이 상이할 수 있거나, 또는 복수의 조합에서, 일부 조합의 파라미터 정보와 다른 조합의 파라미터 정보를 보고하기 위해 점유되는 자원은 서로 다르다. 구체적으로, 실제 응용을 참조하여 구성이 수행될 수 있으며, 본 개시에서는 이를 제한하지 않는다.
S23: 중앙 노드는 각 서브노드의 로컬 모델을 나타내는 정보에 기초하여 연합 학습 모델을 훈련한다.
구체적으로는, 전술한 I회 중 i번째 회가 예로서 사용된다. 중앙 노드는 i번째 제1 정보 부분을 획득할 수 있으며, i번째 제1 정보 부분은 복수의 서브노드 각각의 i번째 로컬 모델을 나타낸다. 구체적으로, i번째 제1 정보 부분은 복수의 서브노드 각각에 의해 송신되는, i번째 로컬 모델을 나타내는 정보를 포함할 수 있다.
구체적으로, k번째 서브노드는 복수의 서브노드 중 어느 하나를 나타내고, 중앙 노드는 i번째 제1 정보 부분 및 k번째 서브노드의 연합 학습 모델의 유형에 기초하여 k번째 서브노드의 i번째 연합 학습 모델을 훈련할 수 있다. 1≤i≤I이고, i는 양의 정수이다. 도 5에서, k번째 서브노드는 서브노드 1, 서브노드 2, 또는 서브노드 3일 수 있다.
이하에서는 먼저 k번째 서브노드의 i번째 연합 학습 모델의 유형을 상세히 설명한다.
본 개시에서, k번째 서브노드의 i번째 연합 학습 모델의 유형은 제1 값 또는 제2 값에 대응한다. 제1 값에 대응하는 모델 유형은 복수의 서브노드 중 적어도 2개가 동일한 연합 학습 모델에 대응한다는 것을 나타낼 수 있다. 동일한 연합 학습 모델은 또한 글로벌 모델로 또는 다른 모델 이름으로 지칭될 수 있다. 본 개시에서는 이를 제한하지 않는다. k번째 서브노드의 i번째 연합 학습 모델의 유형이 제1 값에 대응하는 경우, k번째 서브노드의 i번째 연합 학습 모델이 복수의 서브노드 중 k번째 서브노드 이외의 적어도 하나의 서브노드의 i번째 연합 학습 모델과 동일하다는 것을 나타낼 수 있다. k번째 서브노드의 i번째 연합 학습 모델의 유형은 제1 값에 대응하며, k번째 서브노드의 i번째 연합 학습 모델의 유형이 글로벌 모델 유형인 것으로 설명될 수도 있다.
제2 값에 대응하는 모델 유형은 단일 서브노드를 위한 연합 학습 모델로서, 복수의 서브노드 중 다른 서브노드의 연합 학습 모델과는 다른 연합 학습 모델을 나타낸다. 다른 서브노드의 연합 학습 모델과 다른 연합 학습 모델은 또한 개인화된 모델로 또는 전술한 글로벌 모델과 구별될 수 있는 다른 모델 이름으로 지칭될 수 있다. 본 개시에서는 이를 제한하지 않는다. k번째 서브노드의 i번째 연합 학습 모델의 유형이 제2 값에 대응하는 경우, k번째 서브노드의 i번째 연합 학습 모델이 복수의 서브노드 중 k번째 서브노드 이외의 서브노드의 i번째 연합 학습 모델과 상이하다는 것을 나타낼 수 있다. k번째 서브노드의 i번째 연합 학습 모델의 유형은 제2 값에 대응하며, k번째 서브노드의 i번째 연합 학습 모델의 유형이 개인화된 모델 유형인 것으로 설명될 수도 있다.
선택적으로, i가 1부터 I까지 범위의 양의 정수인 경우, 중앙 노드는 k번째 서브노드의 i번째 연합 학습 모델의 유형이 제1 값 또는 제2 값에 대응한다고 결정한다. 대안적으로, 중앙 노드는 k번째 서브노드에 대응하는 제1 연합 학습 모델의 유형이 제1 값 또는 제2 값에 대응하는지의 여부를 결정할 수 있다. i의 값이 2부터 I까지 범위의 양의 정수인 경우, k번째 서브노드의 i번째 연합 학습 모델은 디폴트로 k번째 서브노드의 (i-1)번째 연합 학습 모델의 유형과 일치한다. 대안적으로, I회 중 일부 라운드에 대하여, 중앙 노드는 일부 라운드의 각 라운드에서, k번째 서브노드에 대응하는 연합 학습 모델이 제1 값 또는 제2 값에 대응하는 것으로 결정할 수 있으며, 다른 라운드에 대하여, 디폴트로, k번째 서브노드의 현재 연합 학습 모델의 유형이 k번째 서브노드의 이전 연합 학습 모델의 유형과 일치하거나, 또는 k번째 서브노드의 연합 학습 모델이 제1 값 또는 제2 값에 대응하는 것으로 결정할 수 있다.
전술한 일부 라운드는 주기적일 수 있거나, 또는 연속적일 수 있거나, 또는 연합 학습 관리 노드 또는 서브노드에 의해 동적으로 트리거될 수 있다. 예를 들어, I회 중 일부 라운드에 대하여, 중앙 노드는 서브노드의 연합 학습 모델의 유형을 결정하고, 다른 라운드의 연합 학습 모델의 유형은 디폴트로 이전 연합 학습 모델의 유형과 동일하거나, 또는 나머지 라운드가 제1 라운드를 포함하는 경우, 제1 라운드의 연합 학습 모델의 유형은 디폴트로 제1 값에 대응한다. i의 가능한 값은 전술한 라운드 부분 중 하나 이상의 라운드에 대응하고, i의 값은 I회 중 대응하는 라운드의 번호이다. 예를 들어, I가 10인 경우, 일부 라운드는 주기적이며, 일부 라운드의 번호는 1, 3, 5, 7, 및 9를 포함하고, i의 값은 1, 3, 5, 7, 및 9 중 하나 이상이거나; 또는 일부 라운드는 연속적이며, 일부 라운드의 번호는 와 I 사이의 양의 정수를 포함한다. I가 10인 경우, 일부 라운드의 번호는 6, 7, 8, 9, 및 10을 포함하며, i의 값은 6, 7, 8, 9, 및 10 중 하나 이상일 수 있다.
중앙 노드가 k번째 서브노드의 연합 학습 모델의 유형을 결정하는 전술한 방식에 대해서는, 이해를 위해 이하의 방식을 참조한다: 중앙 노드는, 중앙 노드에 의해, k번째 서브노드의 연합 학습 모델에 대응하는 제1 값 또는 제2 값을 결정할 수 있거나; 또는 중앙 노드는 과거 훈련을 통해 획득된 연합 학습 모델의 성능을 참조하여 현재 훈련에서 연합 학습 모델의 유형을 결정할 수 있다. 예를 들어, i가 1보다 더 큰 경우, 중앙 노드는 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능에 기초하여 k번째 서브노드의 i번째 연합 학습 모델의 유형을 결정할 수 있다. 구체적으로, 도 7 및 도 9에 대응하는 해결책에서, 과거 연합 학습 모델의 성능을 참조하여 중앙 노드가 현재 연합 학습 모델의 유형을 어떻게 결정하는지가 상세히 설명된다.
예를 들어, 연합 학습 모델은 i번째 라운드에서 훈련된다. k번째 서브노드가 복수의 서브노드 중 어느 하나인 경우, k번째 서브노드의 i번째 연합 학습 모델의 유형은 복수의 서브노드 중 k번째 서브노드 이외의 적어도 하나의 서브노드의 i번째 연합 학습 모델의 유형과 동일하거나 상이하다. 대안적으로, k번째 서브노드의 i번째 연합 학습 모델은 복수의 서브노드 중 k번째 서브노드 이외의 적어도 하나의 서브노드의 i번째 연합 학습 모델과 동일하거나 상이하다는 것을 이해할 수 있다.
또한, 이하에서는 중앙 노드가 k번째 서브노드의 i번째 연합 학습 모델을 결정하는 해결책을 상세히 설명한다.
(1) k번째 서브노드의 i번째 연합 학습 모델의 유형이 제1 값에 대응하는 경우, 중앙 노드는 i번째 제1 정보 부분 및 복수의 서브노드 각각의 i번째 로컬 모델에 대응하는 가중치에 기초하여 k번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있다.
선택적 구현에서, S22를 참조하면, 복수의 서브노드는 복수의 서브노드에 의한 훈련을 통해 획득된 로컬 모델의 모델 파라미터를 중앙 노드에 보고한다.
예를 들어, 는 k번째 서브노드의 i번째 로컬 모델에 대응하는 가중치를 나타내고, 는 k번째 서브노드의 i번째 로컬 모델의 모든 모델 파라미터를 나타낸다. k번째 서브노드가 복수의 서브노드 중 어느 하나인 경우, k번째 서브노드의 i번째 연합 학습 모델의 유형이 제1 값에 대응할 때, 중앙 노드는 다음 식에 따라 k번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있고: , 여기서 는 k번째 서브노드의 i번째 연합 학습 모델의 모든 모델 파라미터를 나타낸다.
는 k번째 서브노드의 i번째 로컬 모델의 가중치이고, 는 중앙 노드에 의해 결정될 수 있거나, 또는 복수의 서브노드에 의해 보고된 보조 정보에 의해 결정될 수 있다. 예를 들어, 이고, 여기서 nk는 k번째 서브노드에 의해 수집된 로컬 데이터의 샘플 수량을 나타내고, 는 k번째 서브노드의 i번째 로컬 모델의 모든 모델 파라미터를 나타낸다.
예를 들어, 대응하는 서브노드는 서브노드의 로컬 모델의 모델 파라미터를 복수의 조합으로 구분하고 조합을 중앙 노드에 보고한다. 서브노드는 로컬 모델의 글로벌 계층의 모델 파라미터와 개인화된 계층의 모델 파라미터를 중앙 노드에 보고한다고 가정한다. k번째 서브노드가 복수의 서브노드 중 어느 하나이고, k번째 서브노드의 i번째 연합 학습 모델의 유형이 제1 값에 대응하는 경우, 중앙 노드는 다음과 같은 방식으로 k번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있다: 중앙 노드는 복수의 서브노드의 i번째 로컬 모델의 글로벌 계층의 모델 파라미터에 대한 가중을 수행하여 k번째 서브노드의 i번째 연합 학습 모델의 글로벌 계층의 파라미터 정보를 획득하고, 중앙 노드는 복수의 서브노드의 i번째 로컬 모델의 개인화된 계층의 모델 파라미터에 대한 가중을 수행하여 k번째 서브노드의 i번째 연합 학습 모델의 개인화된 계층의 파라미터 정보 를 획득하고, 여기서 는 k번째 서브노드에 의해 훈련된 i번째 로컬 모델의 개인화된 계층에 대응하는 가중치를 나타내고, 는 k번째 서브노드의 i번째 로컬 모델의 개인화된 계층의 모델 파라미터를 나타낸다. 이러한 방식으로, 중앙 노드는 글로벌 계층의 모델 파라미터와 개인화된 계층의 모델 파라미터를 참조하여 k번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있다.
의 값은 중앙 노드에 의해 결정될 수 있거나, 또는 복수의 서브노드에 의해 보고된 보조 정보에 의해 결정될 수 있으며, 예를 들어, 이고, 여기서 nzk는 k번째 순서의 서브노드에 의해 수집된 로컬 데이터의 샘플의 수량을 나타낸다. 다른 선택적 구현에서, S22를 참조하면, 복수의 서브노드는 훈련을 통해 획득된 로컬 모델의 기울기를 중앙 노드에 보고한다.
예를 들어, k번째 서브노드가 복수의 서브노드 중 어느 하나인 경우, k번째 서브노드의 i번째 연합 학습 모델의 유형이 제1 값에 대응할 때, 중앙 노드는 다음 식에 따라 k번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있고: 이고, 는 전술한 정의를 참조하여 이해될 수 있으며; 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않으며; 는 k번째 서브노드의 i번째 연합 학습 모델의 기울기를 나타내고; 는 k번째 서브노드의 i번째 로컬 모델의 기울기를 나타낸다.
예를 들어, 대응하는 서브노드는 로컬 모델의 글로벌 계층의 모델 파라미터 및 개인화된 계층의 기울기를 중앙 노드에 보고한다. k번째 서브노드가 복수의 서브노드 중 어느 하나이고, k번째 서브노드의 i번째 연합 학습 모델의 유형이 제1 값에 대응하는 경우, 중앙 노드는 다음과 같은 방식으로 k번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있다: 중앙 노드는 복수의 서브노드의 i번째 로컬 모델의 글로벌 계층의 모델 파라미터에 대한 가중을 수행하여 k번째 서브노드의 i번째 연합 학습 모델의 글로벌 계층의 모델 파라미터를 획득하고, 중앙 노드는 k번째 서브노드의 i번째 로컬 모델의 개인화된 계층의 기울기에 대한 가중을 수행하여 k번째 서브노드의 i번째 연합 학습 모델의 개인화된 계층의 기울기 를 획득하고, 여기서 는 k번째 서브노드에 의해 훈련된 i번째 로컬 모델의 개인화된 계층에 대응하는 가중치를 나타내고, 의 값은 전술한 정의를 참조하여 이해될 수 있다. 본 개시에서는 자세한 내용을 다시 설명하지 않는다. 는 k번째 서브노드의 i번째 로컬 모델의 개인화된 계층의 기울기를 나타낸다. 중앙 노드는 k번째 서브노드의 i번째 연합 학습 모델의 개인화된 계층의 기울기 및 k번째 서브노드의 (i-1)번째 연합 학습 모델의 개인화된 계층의 모델 파라미터 을 추가하여, k번째 서브노드의 i번째 연합 학습 모델의 개인화된 계층의 모델 파라미터를 획득할 수 있고, =이다. 이러한 방식으로, 중앙 노드는 글로벌 계층의 모델 파라미터와 개인화된 계층의 모델 파라미터를 참조하여 k번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있다.
또한, 선택적으로, i번째 라운드에서, 복수의 서브노드 중 제1 서브노드 그룹의 i번째 연합 학습 모델의 유형이 제1 값에 대응한다고 가정하고, 중앙 노드는 복수의 서브노드 중 제1 서브노드 그룹 이외의 다른 서브노드에 대응하는 가 제1 서브노드 그룹에 대응하는 보다 작은 것을 더 구성할 수 있거나, 또는 예를 들어 중앙 노드는 복수의 서브노드 중 제1 서브노드 그룹 이외의 다른 서브노드에 대응하는 가 0이 되는 것을 더 구성할 수 있다. 선택적으로, 제1 서브노드 그룹에 포함된 서브노드의 수량은 U로 표시될 수 있고, U는 1부터 K까지의 양의 정수일 수 있다. U가 1보다 큰 경우, 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델은 동일하다.
(2) k번째 서브노드의 i번째 연합 학습 모델의 유형이 제2 값에 대응하는 경우, 중앙 노드는 i번째의 제1 정보 부분 및 k번째 서브노드의 i번째 로컬 모델과 복수의 서브노드 각각의 i번째 로컬 모델 사이의 유사성에 기초하여 k번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있다.
선택적 구현에서, S22를 참조하면, 복수의 서브노드는 복수의 서브노드에 의한 훈련을 통해 획득된 로컬 모델의 모델 파라미터를 중앙 노드에 보고한다.
예를 들어, 복수의 서브노드 중 p번째 서브노드의 i번째 연합 학습 모델의 유형이 제2 값에 대응한다고 가정하고, 중앙 노드는 다음 식에 따라 p번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있다: , 여기서 는 p번째 서브노드의 i번째 연합 학습 모델의 모든 모델 파라미터를 나타낸다. p의 값은 1부터 K까지의 양의 정수일 수 있고, k는 1부터 K까지의 양의 정수이다. 선택적으로, 식에서 p는 k와 동일할 수 있다.
는 p번째 서브노드의 i번째 로컬 모델과 K개의 서브노드 중 어느 하나 k의 i번째 로컬 모델 사이의 유사성을 나타내며, 유사성이 클수록 더 큰 값을 나타낸다. 구체적으로, 의 값은 p번째 서브노드와 k번째 서브노드의 로컬 모델의 모델 파라미터 사이의 코사인 유사성, 유클리드 거리(Euclidean distance) 등에 기초하여 결정될 수 있거나, 또는 의 값은 중앙 노드가 p번째 서브노드의 로컬 모델과 k번째 서브노드의 로컬 모델에 동일한 테스트 데이터를 입력한 후에 두 로컬 모델의 출력 결과 사이의 코사인 유사성, 유클리드 거리 등에 기초하여 결정된다. 는 k번째 서브노드의 i번째 로컬 모델의 모든 모델 파라미터를 나타낸다.
예를 들어, 대응하는 서브노드는 서브노드의 로컬 모델의 모델 파라미터를 복수의 조합으로 구분하고 조합을 중앙 노드에 보고한다. 서브노드는 로컬 모델의 글로벌 계층의 모델 파라미터와 개인화된 계층의 모델 파라미터를 중앙 노드에 보고한다고 가정한다. 복수의 서브노드 중 p번째 서브노드의 i번째 연합 학습 모델의 유형이 제2 값에 대응한다고 가정한다. 중앙 노드는 복수의 서브노드의 i번째 로컬 모델의 파라미터 정보에 기초하여 다음과 같은 방식으로 p번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있다: 중앙 노드는 복수의 서브노드의 i번째 로컬 모델의 글로벌 계층의 모델 파라미터에 대한 가중을 수행하여 p번째 서브노드의 i번째 연합 학습 모델의 글로벌 계층의 파라미터 정보를 획득한다. 중앙 노드는 K개의 서브노드 중 임의의 서브노드 k의 i번째 로컬 모델의 개인화된 계층의 모델 파라미터와 p번째 서브노드의 i번째 연합 학습 모델의 개인화된 계층의 모델 파라미터 사이의 유사성에 기초하여 가중을 수행하여, p번째 서브노드의 i번째 연합 학습 모델의 개인화된 계층의 파라미터 정보 를 획득한다. 유사도가 클수록 대응 서브노드의 개인화된 계층의 파라미터 정보의 가중치가 더 크다는 것을 나타낸다. , p, 및 k의 정의와 값은 전술한 예의 정의를 참조한다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다. 는 p번째 서브노드의 i번째 로컬 모델의 개인화된 계층의 모델 파라미터를 나타낸다.
이러한 방식으로, 중앙 노드는 제1 모델의 글로벌 계층의 모델 파라미터와 개인화된 계층의 모델 파라미터를 참조하여 제1 모델을 결정할 수 있다.
다른 선택적 구현에서, S22를 참조하면, 복수의 서브노드는 훈련을 통해 획득된 로컬 모델의 기울기를 중앙 노드에 보고한다.
예를 들어, 복수의 서브노드 중 p번째 서브노드의 i번째 연합 학습 모델의 유형이 제2 값에 대응한다고 가정하고, 중앙 노드는 다음 식에 따라 p번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있다: , 여기서 는 p번째 서브노드의 (i-1)번째 연합 학습 모델의 모든 모델 파라미터를 나타내고, 는 p번째 서브노드의 i번째 연합 학습 모델의 기울기를 나타내며, p, k, K, 및 에 대해서는, 이해를 위해, 전술한 정의를 참조한다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다.
예를 들어, 대응하는 서브노드는 로컬 모델의 글로벌 계층의 모델 파라미터 및 개인화된 계층의 기울기를 중앙 노드에 보고한다. 복수의 서브노드 중 p번째 서브노드의 i번째 연합 학습 모델의 유형이 제2 값에 대응한다고 가정하고, 중앙 노드는 다음과 같은 방식으로 p번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있다: 중앙 노드는 복수의 서브노드의 i번째 로컬 모델의 글로벌 계층의 모델 파라미터에 대한 가중을 수행하여 p번째 서브노드의 i번째 연합 학습 모델의 글로벌 계층의 모델 파라미터를 획득하고, 중앙 노드는 p번째 서브노드의 i번째 로컬 모델의 개인화된 계층의 기울기에 대한 가중을 수행하여 p번째 서브노드의 i번째 연합 학습 모델의 개인화된 계층의 모델 파라미터 를 획득하고, 여기서 는 p번째 서브노드의 i번째 로컬 모델의 개인화된 계층과 k번째 서브노드의 i번째 로컬 모델의 개인화된 계층 사이의 유사성을 나타내고, 는 k번째 서브노드의 i번째 로컬 모델의 개인화된 계층의 기울기를 나타낸다. 이러한 방식으로, 중앙 노드는 글로벌 계층의 모델 파라미터와 개인화된 계층의 모델 파라미터를 참조하여 p번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있다.
또한, 복수의 서브노드 중 제2 서브노드 그룹의 i번째 연합 학습 모델의 유형이 제2 값에 대응하는 경우, p번째 서브노드는 제2 서브노드 그룹 중 어느 하나일 수 있다는 점을 더 이해할 수 있다. 대안적으로, 제2 서브노드 그룹에 포함된 서브노드의 수량을 P로 표시하고, 제2 서브노드 그룹에서 p는 1부터 P까지의 임의의 양의 정수이다. 1≤P≤K이다.
결론적으로, 연합 학습 모델을 훈련하는 I회 동안 매번, 훈련을 통해 획득된 복수의 서브노드의 연합 학습 모델은 다음 세 가지 결과 중 하나를 충족할 수 있다. 예를 들어, 다음 세 가지 결과는 I회 중 i번째 회를 예로서 사용하여 설명된다.
결과 1: 복수의 서브노드의 i번째 연합 학습 모델의 유형은 모두 제1 값에 대응한다. 결과적으로, 전술한 예에서 제1 서브노드 그룹에 포함된 서브노드의 수량 U는 K와 같고, 복수의 서브노드의 i번째 연합 학습 모델은 동일하다.
결과 2: 복수의 서브노드의 i번째 연합 학습 모델의 유형은 모두 제2 값에 대응된다. 결과적으로, 전술한 예에서 제2 서브노드 그룹에 포함된 서브노드의 수량 P는 K와 같고, 복수의 서브노드의 i번째 연합 학습 모델은 서로 다르다.
결과 3: 복수의 서브노드 중 제1 서브노드 그룹의 i번째 연합 학습 모델의 유형이 제1 값에 대응하고, 제2 서브노드 그룹의 i번째 연합 학습 모델의 유형이 제2 값에 대응한다. 결과적으로, 전술한 예에서 제1 서브노드 그룹에 포함된 서브노드의 수량 U는 K보다 적고, 제2 서브노드 그룹에 포함된 서브노드의 수량 P는 K보다 적고, 여기서 K=U+P이다. 제2 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델은 서로 다르고, 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델과 다르다. U가 1보다 큰 경우, 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델은 동일하다. 또한, 전술한 예에서 연합 학습 모델을 글로벌 계층과 개인화된 계층으로 구분한 해결책에 대응하여, i번째 연합 학습 모델은 제1 파라미터 정보 부분(예를 들어, 글로벌 계층의 파라미터 정보)과 제2 파라미터 정보 부분(예를 들어, 개인화된 계층 파라미터)으로 표현될 수 있다. 복수의 서브노드 모두의 i번째 연합 학습 모델의 제1 파라미터 정보 부분은 동일하다. 제2 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분이 서로 다르고, 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분과 다르다. U가 1보다 큰 경우, 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델은 동일하다.
S24: 중앙 노드는 대응 연합 학습 모델을 나타내는 정보를 각 서브노드에 송신한다.
구체적으로는, 전술한 I회 중 i번째 회가 예로서 사용된다. 중앙 노드는 i번째 제2 정보 부분을 송신할 수 있으며, i번째 제2 정보 부분은 복수의 서브노드 각각의 i번째 연합 학습 모델을 나타낸다. 예를 들어, i번째 제2 정보 부분은 각 서브노드의 i번째 연합 학습 모델을 나타내는 정보를 포함하고, 하나의 서브노드의 i번째 연합 학습 모델을 나타내는 정보는 해당 서브노드의 i번째 연합 학습 모델의 파라미터 정보일 수 있다. 서브노드의 연합 학습 모델의 파라미터 정보는 연합 학습 모델의 모델 파라미터를 포함할 수 있다. 대안적으로, 이번에 서브노드에 대해 훈련된 연합 학습 모델의 파라미터 정보와 지난번에 훈련된 연합 학습 모델의 파라미터 정보 사이의 차이가 포함될 수 있다. 차이는 또한 이번에 훈련된 연합 학습 모델의 모델 파라미터의 기울기로 설명할 수 있거나, 또는 간단히 이번에 훈련된 연합 학습 모델의 기울기로 지칭될 수 있다. 1≤i≤I이고, i는 양의 정수이다.
S23을 참조하면, I회 중 언제든지, 서브노드의 연합 학습 모델의 유형이 제1 값 또는 제2 값에 대응하면, 연합 학습 모델의 유형이 제1 값에 대응하는 경우, 연합 학습 모델의 파라미터 정보는 S23에서 (1)의 설명을 참조하여 이해될 수 있고; 연합 학습 모델의 유형이 제2 값에 대응하는 경우, 연합 학습 모델의 파라미터 정보는 S23에서 (2)의 설명을 참조하여 이해될 수 있다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다.
연합 학습 모델의 유형이 제1 값에 대응하는 경우, 중앙 노드는 연합 학습 모델에 사용되는 정보를 브로드캐스트 또는 멀티캐스트 방식으로 송신할 수 있다. 연합 학습 모델의 유형이 제2 값에 대응하는 경우, 중앙 노드는 연합 학습 모델에 사용되는 정보를 대응 서브노드에 유니캐스트 방식으로 송신할 수 있다. S23에서 설명한 i번째 회 동안 훈련된 복수의 서브노드의 연합 학습 모델에 대응하는 결과 3을 다음과 같이 예로 사용한다.
선택적인 방식으로, 연합 학습 모델은 글로벌 계층과 개인화된 계층으로 구분되지 않으며, 중앙 노드는 다음 단계, 즉, 제1 표시 정보를 브로드캐스트 또는 멀티캐스트 방식으로 제1 서브노드 그룹에 송신― 제1 표시 정보는 제1 서브노드 그룹의 각 서브노드의 i번째 연합 학습 모델을 나타냄 ―하는 단계; 및 제2 표시 정보를 유니캐스트 방식으로 제2 서브노드 그룹의 p번째 서브노드에 송신― 제2 표시 정보는 p번째 서브노드의 i번째 연합 학습 모델을 나타냄 ―하는 단계에 따라 i번째 제2 정보 부분을 송신할 수 있다.
다른 선택적인 방식으로, 연합 학습 모델은 글로벌 계층과 개인화된 계층으로 구분된다. i번째 연합 학습 모델은 제1 파라미터 정보 부분(예를 들어, 글로벌 계층의 파라미터 정보)과 제2 파라미터 정보 부분(예를 들어, 개인화된 계층 파라미터)으로 표현될 수 있다. 중앙 노드는 다음 단계, 즉, i번째 연합 학습 모델의 제1 파라미터 정보 부분을 브로드캐스트 또는 멀티캐스트 방식으로 복수의 서브노드에 송신하는 단계; 제1 서브노드 그룹의 각 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분을 브로드캐스트 또는 멀티캐스트 방식으로 제1 서브노드 그룹에 송신하는 단계; 및 p번째 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분을 유니캐스트 방식으로 제2 서브노드 그룹의 p번째 서브노드에 송신― p는 1부터 P까지의 임의의 양의 정수이고, P는 제2 서브노드 그룹에 포함된 서브노드의 수량임 ―하는 단계에 따라 i번째 제2 정보 부분을 송신할 수 있다.
중앙 노드에 의해 브로드캐스트 또는 멀티캐스트를 통해 정보를 송신하는 데 사용되는 자원은 S501에서 중앙 노드에 의해 제2 모델을 송신하는데 사용되는 자원일 수 있거나, 또는 중앙 노드에 의해 브로드캐스트 또는 멀티캐스트를 통해 정보를 송신하는 데 사용되는 자원은 중앙 노드 또는 연합 학습 관리 노드에 의해 재구성된 자원일 수 있다. 유사하게, 중앙 노드에 의해 유니캐스트를 통해 정보를 송신하는 데 사용되는 자원은 중앙 노드 또는 연합 학습 관리 노드에 의해 구성된 자원일 수 있다. 브로드캐스트 또는 멀티캐스트 자원과 유니캐스트 자원은 서로 상이할 수 있거나, 부분적으로 중첩될 수 있거나, 또는 동일할 수 있다. 본 개시에서는 이를 제한하지 않는다.
또한, 중앙 노드는 보조 정보를 더 송신할 수 있다. 보조 정보는 중앙 노드에 의해 각 서브노드에 송신된 연합 학습 모델의 유형이 제1 값 또는 제2 값에 대응하는지의 여부를 각 서브노드에 나타낼 수 있다. 예를 들어, 제1 값이 1이고, 제2 값이 0이거나; 또는 제1 값이 0이고, 제2 값이 1이거나; 또는 제1 값이 글로벌 유형을 나타내고, 제2 값이 개인화된 유형을 나타낸다. 보조 정보는 서브노드가 로컬 모델을 훈련하는 것을 돕기 위해 사용되는 관련 파라미터, 예를 들어 로컬 모델을 훈련하는 데 이용 가능한 손실 함수를 더 포함할 수 있다.
또한, S23을 참조하면, k번째 서브노드가 복수의 서브노드 중 어느 하나를 나타내는 것으로 이해된다. i의 값이 1부터 I-1까지의 양의 정수인 경우, k번째 서브노드는 i번째 연합 학습 모델의 파라미터 정보를 획득하고, i번째 연합 학습 모델의 파라미터 정보에 기초하여 k번째 서브노드의 (i+1)번째 로컬 모델을 결정할 수 있다. 대안적으로, i가 1보다 더 큰 경우, k번째 서브노드의 (i-1)번째 연합 학습 모델의 파라미터 정보는 k번째 서브노드의 i번째 로컬 모델을 결정하는 데 사용된다는 것을 이해할 수 있다.
선택적으로, i가 1보다 더 큰 경우, k번째 서브노드가 i번째 로컬 모델을 훈련할 때 사용되는 대응 손실 함수는 k번째 서브노드에 의해 수집된 로컬 데이터와 관련되며, k번째 서브노드의 (i-1)번째 연합 학습 모델의 유형에 의해 결정될 수도 있다.
k번째 서브노드의 (i-1)번째 연합 학습 모델의 유형이 제1 값에 대응하는 경우, 손실 함수는 주로 k번째 서브노드에 의해 수집된 로컬 데이터 세트와 관련이 있다. 예를 들어, MSE 손실 함수가 k번째 서브노드에 의한 로컬 모델 훈련에 적용될 수 있으며, 로 표시되고, 여기서 는 k번째 서브노드에 의해 수집된 로컬 데이터의 샘플의 수량이고, 은 l번째 샘플의 출력이며, 은 l번째 샘플의 라벨이고, l은 1부터 까지의 양의 정수이다.
k번째 서브노드의 (i-1)번째 연합 학습 모델의 유형이 제2 값에 대응하는 경우, k번째 서브노드에 의해 훈련된 로컬 모델의 손실 함수 중 일부는 k번째 서브노드에 의해 수집된 로컬 데이터와 관련되고, 다른 부분은 훈련된 로컬 모델의 파라미터 정보와 (i-1)번째 연합 학습 모델의 파라미터 정보 사이의 차이와 관련된다. 차이는 유클리드 거리 및 유클리드 거리 제곱과 같은 파라미터로 표현될 수 있다.
예를 들어, k번째 서브노드의 (i-1)번째 연합 학습 모델의 파라미터 정보가 해당 모델의 모든 모델 파라미터를 포함하면, k번째 서브노드의 손실 함수는 일 수 있고, 여기서 제1 항목 은 로컬 데이터와 관련되고, , , , 및 l의 정의는 전술한 예를 참조하여 이해될 수 있다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다. 제2항목 은 훈련된 로컬 모델의 모델 파라미터와 (i-1)번째 연합 학습 모델의 수신된 모델 파라미터 사이의 유클리드 거리를 나타내고, 는 i번째 라운드의 훈련 후에 로컬 모델의 모델 파라미터를 나타내고, 은 (i-1)번째 회에서 수신된 (i-1)번째 연합 학습 모델의 모델 파라미터를 나타낸다. 파라미터 μ는 0보다 더 큰 실수이고, 제2항목 손실의 비율을 조절하는 데 사용된다. μ의 값은 서브노드에 의해 결정될 수 있거나, 또는 보조 정보를 사용하여 중앙 노드에 의해 서브노드에 표시될 수 있다.
예를 들어, k번째 서브노드의 (i-1)번째 연합 학습 모델의 파라미터 정보가 해당 모델의 글로벌 계층의 모델 파라미터와 개인화된 계층의 모델 파라미터를 포함하면, k번째 서브노드의 손실 함수는 일 수 있고, 여기서 제1 항목 은 로컬 데이터와 관련되고, , , , 및 l의 정의는 전술한 예를 참조하여 이해될 수 있다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다. 제2항목 은 훈련된 로컬 모델의 모델 파라미터와 (i-1)번째 연합 학습 모델의 수신된 모델 파라미터 사이의 유클리드 거리를 나타내고, 는 i번째 라운드의 훈련 후에 로컬 모델의 개인화된 계층의 모델 파라미터를 나타내고, 는 (i-1)번째 회에서 수신된 제2 모델의 개인화된 계층의 모델 파라미터 및 전술한 예를 참조하여 파라미터 μ의 정의를 나타낸다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다.
결론적으로, S502에서 I의 값은 미리 구성될 수 있거나, 또는 I의 값이 모델 수렴 조건에 기초하여 결정되고, k번째 서브노드에 대응하는 I번째 연합 학습 모델이 모델 수렴 조건을 충족한다는 것을 이해할 수 있다. 모델 수렴 조건은, k번째 서브노드의 I번째 연합 학습 모델의 성능이 미리 설정된 성능 임계값 이상일 수 있거나, 또는 k번째 서브노드의 I번째 연합 학습 모델과 k번째 서브노드의 (I-1)번째 연합 학습 모델 사이의 차이가 제1 임계값 미만이거나, 또는 k번째 서브노드의 I번째 연합 학습 모델, k번째 서브노드의 (I-1)번째 연합 학습 모델, 및 k번째 서브노드의 (I-2)번째 연합 학습 모델 사이의 차이가 제1 임계값 미만인, 즉, 모델 사이의 차이가 안정화되는 경향이 있다는 것일 수 있다.
본 개시에서 제공되는 전술한 해결책에서, 중앙 노드는 각 서브노드에 대해 각 서브노드에 대응하는 연합 학습 모델을 훈련할 수 있고, 다른 서브노드와 데이터 분포가 다른 서브노드에 대해 개인화된 모델을 제공할 수 있다. 이는 이러한 서브노드의 로컬 모델의 성능을 개선하는 데 도움이 되며, 연합 학습 모델의 성능을 개선할 수 있다.
이하에서는, 중앙 노드가 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 참조하여 k번째 서브노드의 i번째 연합 학습 모델을 결정해야 하는 예를 사용하여, 본 개시의 연합 학습 모델의 훈련 방식을 더 상세히 설명한다. 본 명세서에서, i의 값은 도 5에 도시된 두 번째 회부터 I번째 회까지 중 어느 하나일 수 있거나, 또는 S23에 설명된 일부 라운드 중 하나일 수 있다.
도 7은 통신 방법을 도시한다. 방법은 주로 다음과 같은 절차를 포함한다.
S701: 중앙 노드는 i번째 제1 정보 부분을 획득한다.
구체적으로, 자세한 내용은 구현을 위해 S22의 해결책을 참조할 수 있으며, 본 개시에서는 다시 본 명세서에 설명하지 않는다.
S702: 중앙 노드는 k번째 서브노드로부터 제1 테스트 결과를 획득한다.
k번째 서브노드는 복수의 서브노드 중 어느 하나이다. 제1 테스트 결과는 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 나타내며, i는 1보다 크다.
구체적으로, k번째 서브노드가 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 테스트할 수 있게 된 후, k번째 서브노드는 제1 테스트 결과를 중앙 노드에 적극적으로 송신한다. 대안적으로, k번째 서브노드는 중앙 노드의 지시 하에 (i-1)번째 연합 학습 모델의 성능을 테스트할 수 있다. 예를 들어, 중앙 노드는 테스트 시그널링을 k번째 서브노드에 송신하고; k번째 서브노드가 테스트 시그널링에 기초하여 성능 테스트를 수행한 후, k번째 서브노드는 제1 테스트 결과를 중앙 노드에 보고할 수 있다. 본 명세서에서 테스트 시그널링은 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 테스트하기 위한 k번째 서브노드를 나타낸다.
구체적으로, k번째 서브노드는 다음과 같은 방식으로 연합 학습 모델의 성능을 테스트할 수 있다: k번째 서브노드는 로컬 데이터를 입력 데이터로 사용하고, 테스트될 연합 학습 모델에 로컬 데이터를 입력하고, 연합 학습 모델의 출력, 즉, 테스트 결과를 획득하고, 테스트 결과 및 로컬 데이터의 라벨을 사용하여 연합 학습 모델의 손실을 계산한다. 손실이 클수록 (i-1)번째 연합 학습 모델의 성능이 더 좋지 않다는 것을 나타낸다.
선택적으로, 제1 테스트 결과는 다음 파라미터 중 적어도 하나를 포함할 수 있다: 즉, (i-1)번째 연합 학습 모델의 유형; (i-1)번째 연합 학습 모델의 손실이 손실 임계값보다 더 큰지의 여부를 나타내는 정보. 예를 들어, 정보는 제1 값 또는 제2 값일 수 있으며, 여기서 제1 값은 손실이 손실 임계값보다 크다는 것을 나타내며 큰 손실을 나타내고; 제2 값은 손실이 손실 임계값보다 더 적다는 것을 나타내며 작은 손실을 나타냄; 및 (i-1)번째 연합 학습 모델의 손실.
또한, 선택적으로, k번째 서브노드는 (i-1)번째 연합 학습 모델의 손실이 큰 경우에만 (i-1)번째 연합 학습 모델의 손실을 포함하는 제1 테스트 결과를 송신할 수 있다. (i-1)번째 연합 학습 모델의 손실이 작은 경우, 제1 테스트 결과는 (i-1)번째 연합 학습 모델의 손실을 포함하지 않지만, (i-1)번째 연합 학습 모델의 성능이 요구 사항을 충족한다는 것을 나타내는 정보를 포함하거나; 또는 (i-1)번째 연합 학습 모델의 손실이 작은 경우, 제1 테스트 결과는 송신되지 않으며, 이 경우, 중앙 노드가 제1 테스트 결과를 수신하지 못하면, (i-1)번째 연합 학습 모델의 성능이 요구 사항을 충족한다는 것이 디폴트로 고려될 수 있다. k번째 서브노드가 제1 테스트 결과를 수신하지 못하거나, 또는 제1 테스트 결과가 (i-1)번째 연합 학습 모델의 손실이 작다는 것을 나타내는 경우, i번째 연합 학습 모델의 유형이 (i-1)번째 연합 학습 모델의 유형과 일치하는 것으로 결정될 수 있다.
구체적으로, 중앙 노드는 테스트 시그널링을 k번째 서브노드에 송신할 수 있으며, k번째 서브노드가 테스트 시그널링에 기초하여 테스트를 수행한 후에, k번째 서브노드는 제1 테스트 결과를 중앙 노드에 보고한다. 이하에서는 중앙 노드에 의해 테스트 시그널링을 송신하는 일부 선택적 구현을 추가로 설명한다.
선택적 구현에서, 중앙 노드는 k번째 서브노드에 테스트 시그널링을 주기적으로 송신할 수 있으며, 여기서 테스트 시그널링은 k번째 서브노드에 의해 가장 최근에 수신된 연합 학습 모델의 성능을 테스트하도록 k번째 서브노드에 지시한다. 또한, 테스트 시그널링은 손실 임계값 및 손실 함수 유형을 더 포함할 수 있다.
중앙 노드가 주기적으로 테스트 시그널링을 송신한다는 것은 다음과 같이 이해될 수 있다: S23에서 설명된 일부 라운드는 주기적이며, 중앙 노드는 이러한 라운드에서 연합 학습 모델을 훈련하기 전에 테스트 시그널링을 송신한다. i번째 라운드는 일부 라운드 중 하나일 수 있다. 이에 기초하여, 중앙 노드가 k번째 서브노드로부터 제1 테스트 결과를 획득한다는 것은 다음을 포함할 수 있다: 중앙 노드는 i번째 라운드에서 k번째 서브노드에 테스트 시그널링을 송신하고, 여기서 테스트 시그널링은 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 테스트하도록 k번째 서브노드에 지시할 수 있고; k번째 서브노드는 테스트 시그널링에 기초한 테스트를 통해 (i-1)번째 연합 학습 모델의 성능을 획득하고; k번째 서브노드는 제1 테스트 결과를 중앙 노드에 송신한다.
대안적으로, 중앙 노드가 주기적으로 테스트 시그널링을 송신한다는 것은 다음과 같이 이해될 수 있다: 테스트 주기성은, 중앙 노드에 의해 k번째 서브노드에 정보를 송신하기 위한 자원이 구성되는 경우, k번째 서브노드가 테스트 주기성에 기초하여 수신된 연합 학습 모델의 성능을 테스트하고, 테스트가 (i-1)번째 연합 학습 모델의 성능에 대한 테스트 동작을 포함하도록 구성된다. 이에 기초하여, 중앙 노드가 k번째 서브노드로부터 제1 테스트 결과를 획득한다는 것은 다음을 포함할 수 있다: k번째 서브노드가 i번째 로컬 모델의 파라미터 정보를 송신하는 경우, k번째 서브노드는 제1 테스트 결과를 추가로 송신해야 한다.
다른 선택적 구현에서, 중앙 노드는 k번째 서브노드의 트리거링 하에서 k번째 서브노드에 테스트 시그널링을 송신할 수 있다. 여기서 테스트 시그널링은 k번째 서브노드에 의해 가장 최근에 수신된 연합 학습 모델의 성능을 테스트하도록 k번째 서브노드에 지시한다. k번째 서브노드에 의한 연합 학습 모델의 성능을 테스트하는 방식에 대해서는, 이해를 위해 전술한 구현을 참조한다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다. 또한, 테스트 시그널링은 손실 임계값 및 손실 함수 유형을 더 포함할 수 있다.
구체적으로, k번째 서브노드가 (i-1)번째 연합 학습 모델의 성능이 비정상이라고 결정한 경우, k번재 서브노드는 성능이 비정상임을 나타내는 정보를 중앙 노드에 보고할 수 있다. k번째 서브노드는 (i-1)번째 연합 학습 모델에 로컬 데이터를 입력할 수 있으며, 계산된 손실이 지정된 임계값보다 더 큰 경우, k번째 서브노드는 (i-1)번째 연합 학습 모델의 성능이 비정상인 것으로 결정하거나; 또는 k번째 서브노드가 환경 정보 또는 다른 간섭 요인을 참조하여 (i-1)번째 연합 학습 모델이 적용 가능하지 않다는 것을 발견할 수 있게 되는 경우, k번째 서브노드는 (i-1)번째 연합 학습 모델의 성능이 비정상인 것으로 결정할 수 있다. 예를 들어, 위치 설정에서, 서브노드는 단말 디바이스이다. 단말 디바이스가 한 환경에서 다른 환경으로 이동하는 경우, 두 환경의 채널 정보는 크게 다르며, 동일한 연합 학습 모델을 사용하여 수행된 위치 설정의 결과는 좋지 않다. 이 경우, 단말 디바이스는 위치 설정 결과에 급격한 변화가 발생한다는 것을 발견하고, 연합 학습 모델의 성능이 비정상이라고 결정할 수 있다.
중앙 노드는 성능이 비정상임을 나타내는 전술한 정보를 수신하고, i번째 라운드에서 k번째 서브노드에 테스트 시그널링을 송신하며, 여기서 테스트 시그널링은 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 테스트하도록 k번째 서브노드에 지시할 수 있고; k번째 서브노드는 테스트 시그널링에 기초한 테스트를 통해 (i-1)번째 연합 학습 모델의 성능을 획득하고; k번째 서브노드는 제1 테스트 결과를 중앙 노드에 송신한다.
S703: 중앙 노드는 제1 테스트 결과에 기초하여 k번째 서브노드의 i번째 연합 학습 모델의 유형을 결정한다.
먼저, 중앙 노드는 제1 테스트 결과에 기초하여, k번째 서브노드의 i번째 연합 학습 모델의 유형이 제1 값 또는 제2 값에 대응하는지의 여부를 결정할 수 있다.
구체적으로, 제1 테스트 결과가 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능이 좋지 않다는 것을 나타내면, 중앙 노드는 k번째 서브노드의 i번째 연합 학습 모델의 유형이 (i-1)번째 연합 학습 모델의 유형과 다른 것으로 결정할 수 있거나; 또는 제1 테스트 결과가 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능이 좋다는 것을 나타내면, 중앙 노드는 k번째 서브노드의 i번째 연합 학습 모델의 유형이 (i-1)번째 연합 학습 모델의 유형과 동일한 것으로 결정할 수 있다. 또한, S702의 경우, k번째 서브노드가 제1 테스트 결과를 보고하지 않으면, 중앙 노드는 디폴트로 k번째 서브노드의 i번째 연합 학습 모델의 유형이 (i-1)번째 연합 학습 모델의 유형과 동일한 것으로 고려할 수 있다.
예를 들어, 도 8a는 연합 학습 모델의 유형을 결정하는 로직을 도시한다. (i-1)번째 연합 학습 모델의 유형이 제1 값에 대응하는 경우, 제1 테스트 결과가 작은 손실을 나타내면, 즉, (i-1)번째 연합 학습 모델의 성능이 좋으면, 중앙 노드는 i번째 연합 학습 모델의 유형이 제1 값에 대응하는 것으로 결정할 수 있다. 대안적으로, 제1 테스트 결과가 큰 손실을 나타내면, 즉, (i-1)번째 연합 학습 모델의 성능이 좋지 않으면, 중앙 노드는 i번째 연합 학습 모델의 유형이 제2 값에 대응하는 것으로 결정할 수 있다.
예를 들어, 도 8b는 연합 학습 모델의 유형을 결정하는 로직을 도시한다. (i-1)번째 연합 학습 모델의 유형이 제2 값에 대응하는 경우, 제1 테스트 결과가 작은 손실을 나타내면, 즉, (i-1)번째 연합 학습 모델의 성능이 좋으면, 중앙 노드는 i번째 연합 학습 모델의 유형이 제2 값에 대응하는 것으로 결정할 수 있다. 대안적으로, 제1 테스트 결과가 큰 손실을 나타내면, 즉, (i-1)번째 연합 학습 모델의 성능이 좋지 않으면, 중앙 노드는 i번째 연합 학습 모델의 유형이 제1 값에 대응하는 것으로 결정할 수 있다.
전술한 방식으로, 중앙 노드가 임의의 서브노드의 (i-1)번째 연합 학습 모델의 성능이 좋지 않은 것으로 결정하는 경우, 중앙 노드는 임의의 서브노드의 i번째 연합 학습 모델의 유형을 조절할 수 있다는 것을 이해할 수 있다. 또한, 다른 선택적 구현으로서, 조절된 서브노드의 수량에 대한 임계값도 지정될 수 있다. 좋지 않은 성능의 (i-1)번째 연합 학습 모델의 서브노드의 수량이 임계값을 초과하면, i번째 연합 학습 모델의 유형은 임계값 내에서 손실이 큰 서브노드에 대한 (i-1)번째 연합 학습 모델의 유형과 다르게 우선적으로 조절될 수 있다.
S704: 중앙 노드는 i번째 제1 정보 부분 및 k번째 서브노드의 i번째 연합 학습 모델의 유형에 기초하여 k번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있다.
구체적으로, 구현을 위해 S23에 설명된 해결책을 참조한다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다.
S705: 중앙 노드는 i번째 제2 정보 부분을 송신한다.
이 단계를 이해하기 위해, S24에 설명된 해결책을 참조한다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다.
도 9는 통신 방법을 도시한다. 방법은 k번째 서브노드의 (i-1)번째 연합 학습 모델의 유형이 제2 값에 대응하는 경우에 적용될 수 있다. 방법은 다음 절차를 포함한다.
S901: 중앙 노드는 i번째 제1 정보 부분을 획득한다.
구체적으로, 구현을 위해 S22의 해결책을 참조한다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다.
S902: 중앙 노드는 제1 모델을 나타내는 정보를 k번째 서브노드에 송신한다.
제1 모델은 (i-1)번째 제1 정보 부분 및 복수의 서브노드 각각의 (i-1)번째 로컬 모델에 대응하는 가중치에 기초하여 결정되고, i는 1보다 크다. 구체적으로, k번째 서브노드가 복수의 서브노드 중 어느 하나인 경우, (i-1)번째 라운드에서 복수의 서브노드 중 적어도 2개에 대해 중앙 노드에 의해 훈련된 (i-1)번째 연합 학습 모델의 유형이 제1 값에 대응하면, S902에서 중앙 노드는 적어도 2개의 서브노드의 (i-1)번째 연합 학습 모델의 파라미터 정보를 송신할 수 있다. 대안적으로, 중앙 노드는 획득된 (i-1)번째 제1 정보 부분 및 복수의 서브노드 각각의 (i-1)번째 로컬 모델에 대응하는 가중치에 기초하여, S902에서 송신될 제1 모델의 파라미터 정보를 결정할 수 있다. (i-1)번째 제1 정보 부분은 복수의 서브노드 각각의 (i-1)번째 로컬 모델의 파라미터 정보를 포함한다.
S903: 중앙 노드는 k번째 서브노드로부터 제2 테스트 결과를 획득한다.
제2 테스트 결과는 제1 모델의 성능을 나타내거나; 또는 제2 테스트 결과는 제1 모델의 성능 및 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 나타내거나; 또는 제2 테스트 결과는 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 나타낸다.
구체적으로, S902에서 k번째 서브노드가 제1 모델의 성능 및/또는 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 테스트할 수 있게 된 후, k번째 서브노드는 제2 테스트 결과를 중앙 노드에 적극적으로 송신한다. 대안적으로, k번째 서브노드는 중앙 노드의 지시 하에 성능 테스트를 수행할 수 있다. 예를 들어, 중앙 노드는 테스트 시그널링을 k번째 서브노드에 송신하고; k번째 서브노드가 테스트 시그널링에 기초하여 성능 테스트를 수행한 후, k번째 서브노드는 제2 테스트 결과를 중앙 노드에 보고할 수 있다. 본 명세서에서, 테스트 시그널링은 S902에서 제1 모델의 성능 및/또는 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 테스트하도록 k번째 서브노드에 지시한다. 중앙 노드에 의한 테스트 시그널링의 송신과 관련된 선택적 구현에 대해서는, S702를 참조한다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다.
구체적으로, S702에 설명된 해결책을 참조한다. k번째 서브노드가 제1 모델 또는 (i-1)번째 연합 모델의 성능을 테스트하는 것으로 이해될 수 있다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다. 이하에서는 제2 테스트 결과에 포함된 정보를 예를 사용하여 설명한다.
제1 방식으로, k번째 서브노드는 k번째 서브노드에 의해 이루어진 의사결정에 기초하여 또는 중앙 노드의 테스트 시그널링에 기초하여 제1 모델의 성능 및 (i-1)번째 연합 학습 모델의 성능을 테스트한다.
예를 들어, k번째 서브노드는 제1 모델의 성능 및 (i-1)번째 연합 학습 모델의 성능을 테스트할 수 있으며, 즉, 제1 모델의 손실 및 (i-1)번째 연합 학습 모델의 손실을 계산할 수 있다. 이때, k번째 서브노드는 제2 테스트 결과에 다음과 같은 정보 중 적어도 한 부분을 포함하게 되며, 즉, 제1 모델의 손실 및 (i-1)번째 연합 학습 모델의 손실; 제3 표시 정보― 제3 표시 정보는 제1 모델의 손실이 (i-1)번째 연합 학습 모델의 손실보다 더 크다는 것을 나타내거나, 또는 제3 표시 정보는 제1 모델의 손실이 (i-1)번째 연합 학습 모델의 손실보다 더 작다는 것을 나타냄 ―; 및 제4 표시 정보― 제4 표시 정보는 큰 손실 또는 작은 손실을 갖는 모델 유형, 및 제1 모델의 손실과 (i-1)번째 연합 학습 모델의 손실 사이의 차이를 나타냄 ― 중 적어도 한 부분을 포함한다.
예를 들어, 도 10a에 도시된 바와 같이, k번째 서브노드가 제1 모델의 손실 및 (i-1)번째 연합 학습 모델의 손실을 계산한 후, k번째 서브노드는 (i-1)번째 연합 학습 모델의 손실이 제1 모델의 손실보다 더 큰지의 여부를 결정한다. 만약 그렇다면, k번째 서브노드는 제2 테스트 결과에 제5 표시 정보를 포함할 수 있다. 제5 표시 정보는 제1 모델의 성능이 (i-1)번째 연합 학습 모델의 성능보다 더 좋다는 것을 나타낼 수 있으며, i번째 연합 학습 모델의 유형이 제1 값에 대응한다는 것을 암시적으로 나타낼 수 있다. 만약 그렇지 않다면, k번째 서브노드는 제1 모델의 손실이 손실 임계값보다 더 큰지의 여부를 계속 결정한다. 제1 모델의 손실이 손실 임계값보다 더 큰 경우, k번째 서브노드는 제2 테스트 결과에 제6 표시 정보를 포함할 수 있다. 제6 표시 정보는 (i-1)번째 연합 학습 모델의 성능이 제1 모델의 성능보다 더 좋다는 것을 나타낼 수 있으며, i번째 연합 학습 모델의 유형이 (i-1)번째 연합 학습 모델의 유형과 동일하다는 것을 암시적으로 나타낼 수 있다. 제1 모델의 손실이 지정된 임계값 이하인 경우, k번째 서브노드는 제2 테스트 결과에 제7 표시 정보를 포함할 수 있다. 제7 표시 정보는 (i-1)번째 연합 학습 모델의 성능이 제1 모델의 성능보다 더 좋지만, 제1 모델의 손실이 손실 임계값 이하인 것을 나타낼 수 있다. 제7 표시 정보는 i번째 연합 학습 모델의 유형이 제1 값 또는 제2 값에 대응할 수 있다는 것을 암시적으로 나타낼 수 있다.
예를 들어, 도 10b에 도시된 바와 같이, k번째 서브노드는 먼저 (i-1)번째 연합 학습 모델의 손실을 계산하고, (i-1)번째 연합 학습 모델의 손실이 손실 임계값보다 더 큰지의 여부를 결정할 수 있다. 만약 그렇다면, k번째 서브노드는 제2 테스트 결과에 제8 표시 정보를 포함할 수 있고, 여기서 제8 표시 정보는 (i-1)번째 연합 학습 모델의 손실이 손실 임계값보다 크다는 것을 나타낼 수 있으며, i번째 연합 학습 모델의 유형이 제1 값에 대응한다는 것을 암시적으로 나타낼 수 있다. 만약 그렇지 않다면, k번째 서브노드는 제1 모델의 손실을 계속 계산하고, (i-1)번째 연합 학습 모델의 손실이 제1 모델의 손실보다 더 큰지의 여부를 결정한다. 만약 그렇다면, k번째 서브노드는 제2 테스트 결과에 제5 표시 정보를 포함할 수 있고, 여기서 제5 표시 정보는 제1 모델의 성능이 (i-1)번째 연합 학습 모델의 성능보다 더 좋다는 것을 나타낼 수 있으며, i번째 연합 학습 모델의 유형이 제1 값에 대응한다는 것을 암시적으로 나타낼 수 있다. 만약 그렇지 않다면, k 번째 서브노드는 제2 테스트 결과에 제6 표시 정보를 포함할 수 있다. 제6 표시 정보는 (i-1)번째 연합 학습 모델의 성능이 제1 모델의 성능보다 더 좋다는 것을 나타낼 수 있으며, i번째 연합 학습 모델의 유형이 (i-1)번째 연합 학습 모델의 유형과 동일하다는 것을 암시적으로 나타낼 수 있다.
또한, 선택적으로, 도 10b에 도시된 절차의 경우, 중앙 노드는 (i-1)번째 연합 학습 모델의 손실이 손실 임계값 이하일 경우에만 제1 모델을 송신할 수 있다. 예를 들어, 중앙 노드는, S901을 수행한 후, 먼저 S903을 수행하여 제2 테스트 결과를 획득할 수 있다. 중앙 노드에 의해 획득된 제2 테스트 결과가 제8 표시 정보를 포함하면, 중앙 노드는 제1 모델을 송신하지 않을 수 있으며, 즉, 중앙 노드는 S901 및 S903을 수행한 후에 S904 내지 S906을 직접 수행할 수 있다. 다른 예로, 중앙 노드는, S901을 수행한 후, 먼저 제3 테스트 결과를 획득할 수 있다. 제3 테스트 결과는 (i-1)번째 연합 학습 모델의 손실이 손실 임계값 이하인 것을 나타낸다. 이 경우, 중앙 노드는 제3 테스트 결과에 기초하여 S902 내지 S906을 수행할 수 있다. 이러한 설계는 중앙 노드에 의해 제1 모델을 송신하기 위한 시그널링 오버헤드를 감소시킬 수 있다.
제2 방식으로, k번째 서브노드는 k번째 서브노드에 의해 이루어진 의사결정에 기초하여 또는 중앙 노드의 테스트 시그널링에 기초하여 제1 모델의 성능만을 테스트한다. 이러한 방식으로, 제2 테스트 결과는 제1 모델의 성능을 나타낼 수 있다. 예를 들어, 제2 테스트 결과는 제1 모델의 손실을 포함할 수 있거나, 또는 제1 모델의 손실이 손실 임계값보다 더 큰지의 여부를 나타내는 정보를 포함할 수 있다. 정보는 제3 값 또는 제4 값일 수 있다. 제3 값은 손실이 손실 임계값보다 크다는 것을 나타내고, 해당 큰 손실을 나타내며, i번째 연합 학습 모델의 유형이 (i-1)번째 연합 학습 모델의 유형과 동일하다는 것을 암시적으로 나타낸다. 제4 값은 손실이 손실 임계값 이하라는 것을 나타내고, 해당 작은 손실을 나타내며, i번째 연합 학습 모델의 유형이 제1 값에 대응한다는 것을 암시적으로 나타낸다.
제3 방식으로, k번째 서브노드는 k번째 서브노드에 의해 이루어진 의사결정에 기초하여 또는 중앙 노드의 테스트 시그널링에 기초하여 (i-1)번째 연합 학습 모델의 성능만을 테스트한다. 이러한 방식으로, 제2 테스트 결과는 (i-1)번째 연합 학습 모델의 성능을 나타낼 수 있다. 예를 들어, 제2 테스트 결과는 (i-1)번째 연합 학습 모델의 손실을 포함할 수 있거나, 또는 (i-1)번째 연합 학습 모델의 손실이 손실 임계값보다 더 큰지의 여부를 나타내는 정보를 포함할 수 있으며, 여기서 정보는 제5 값 또는 제6 값일 수 있다. 제5 값은 손실이 손실 임계값보다 더 크다는 것을 나타내고, 해당 큰 손실을 나타내며, i번째 연합 학습 모델의 유형이 제1 값에 대응한다는 것을 암시적으로 나타낸다. 제6 값은 손실이 손실 임계값 이하인 것을 나타내고, 해당 작은 손실을 나타내며, i번째 연합 학습 모델의 유형이 (i-1)번째 연합 학습 모델의 유형과 동일하다는 것을 암시적으로 나타낸다.
S904: 중앙 노드는 제2 테스트 결과에 기초하여 k번째 서브노드의 i번째 연합 학습 모델의 유형을 결정한다.
구체적으로, 중앙 노드는 제2 테스트 결과에 기초하여, k번째 서브노드의 i번째 연합 학습 모델의 유형이 제1 값 또는 제2 값에 대응하는지의 여부를 결정할 수 있다.
예를 들어, S903의 제1 방식을 참조하면,
제2 테스트 결과가 제1 모델의 손실 및 (i-1)번째 연합 학습 모델의 손실을 포함하는 경우, 중앙 노드는 손실이 작은 모델의 유형이 i번째 연합 학습 모델의 유형이라고 결정할 수 있거나; 또는 제2 테스트 결과가 제3 표시 정보를 포함하는 경우, k번째 서브노드의 i번째 연합 학습 모델의 유형은 제2 값에 대응하거나; 또는 제2 테스트 결과가 제4 표시 정보를 포함하고, 차이가 지정된 차이 임계값보다 더 큰 경우, 손실이 작은 모델의 유형이 i번째 연합 학습 모델의 유형인 것으로 결정되거나; 또는 차이가 지정된 차이 임계값 이하인 경우, i번째 연합 학습 모델의 유형이 제1 값 또는 제2 값에 대응하는 것으로 결정되거나; 또는
제2 테스트 결과가 제5 표시 정보를 포함하는 경우, k번째 서브노드의 i번째 연합 학습 모델의 유형은 제1 값에 대응하거나; 또는 제2 테스트 결과가 제6 표시 정보를 포함하는 경우, k번째 서브노드의 i번째 연합 학습 모델의 유형은 제2 값에 대응하거나; 또는 제2 테스트 결과가 제5 표시 정보를 포함하는 경우, i번째 연합 학습 모델의 유형이 제1 값 또는 제2 값에 대응하는 것으로 결정되거나; 또는 제2 테스트 결과가 제6 표시 정보를 포함하는 경우, k번째 서브노드의 i번째 연합 학습 모델의 유형은 제1 값에 대응한다.
예를 들어, S903의 제2 방식을 참조하면, 중앙 노드가 제2 테스트 결과에 기초하여, 제1 모델의 손실이 손실 임계값보다 크다고 결정하는 경우, 중앙 노드는 k번째 서브노드의 i번째 연합 학습 모델의 유형이 제2 값에 대응하는 것으로 결정하거나; 또는 중앙 노드가 제1 모델의 손실이 손실 임계값 이하라고 결정하는 경우, 중앙 노드는 k 번째 서브노드의 i번째 연합 학습 모델의 유형이 제1 값에 대응하는 것으로 결정한다.
예를 들어, S903의 제3 방식을 참조하면, 중앙 노드가 제2 테스트 결과에 기초하여, (i-1)번째 연합 학습 모델의 손실이 손실 임계값보다 더 크다고 결정하는 경우, 중앙 노드는 k번째 서브노드의 i번째 연합 학습 모델의 유형이 제1 값에 대응하는 것으로 결정하거나; 또는 중앙 노드가 (i-1)번째 연합 학습 모델의 손실이 손실 임계값 이하라고 결정하는 경우, 중앙 노드는 k번째 서브노드의 i번째 연합 학습 모델의 유형이 제2 값에 대응하는 것으로 결정한다.
전술한 방식으로, 중앙 노드가 임의의 서브노드의 (i-1)번째 연합 학습 모델의 성능이 좋지 않은 것으로 결정하는 경우, 중앙 노드는 임의의 서브노드의 i번째 연합 학습 모델의 유형을 조절할 수 있다는 것을 이해할 수 있다. 또한, 다른 선택적 구현으로서, 조절된 서브노드의 수량에 대한 임계값도 지정될 수 있다. 좋지 않은 성능의 (i-1)번째 연합 학습 모델의 서브노드의 수량이 임계값을 초과하면, i번째 연합 학습 모델의 유형은 임계값 내에서 손실이 큰 서브노드에 대한 (i-1)번째 연합 학습 모델의 유형과 다르게 우선적으로 조절될 수 있다.
S905: 중앙 노드는 i번째 제1 정보 부분 및 k번째 서브노드의 i번째 연합 학습 모델의 유형에 기초하여 k번째 서브노드의 i번째 연합 학습 모델을 결정할 수 있다.
구체적으로, 구현을 위해 S23에 설명된 해결책을 참조한다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다.
S906: 중앙 노드는 i번째 제2 정보 부분을 송신한다.
이 단계를 이해하기 위해, S24에 설명된 해결책을 참조한다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다.
도 7 또는 도 9의 해결책에서, 현재 훈련을 위한 연합 학습 모델의 유형은 과거 훈련을 통해 획득된 글로벌 모델 및/또는 개인화된 모델의 성능을 참조하여 결정되며, 연합 학습 모델의 유형에 기초하여 대응 모델이 훈련되어, 모델의 성능이 개선될 수 있도록 한다.
또한, 본 개시는 연합 학습에 참여하는 복수의 서브노드를 제한하지 않는다. 복수의 서브노드는 고정된 수량의 서브노드일 수 있거나, 또는 동적으로 변경될 수 있다. 예를 들어, I회 동안의 훈련 과정에서, 새로운 서브노드가 연합 학습에 참여하도록 허용된다.
도 11은 통신 방법을 도시한다. 방법은 주로 다음과 같은 절차를 포함한다.
S1101: 새로운 서브노드는 제3 정보를 중앙 노드에 송신― 제3 정보는 연합 학습에 참여하기 위해 요청하는 데 사용됨 ―한다.
S1102: 중앙 노드는 자원 구성 정보를 새로운 서브노드에 송신한다.
자원 구성 정보는 중앙 노드에 의해 제3 모델을 송신하는 데 사용된 자원을 구성하는 데 사용된다. 제3 모델은 연합 학습에 참여하는 기존 서브노드의 로컬 모델에 기초하여, 가장 최근 훈련을 통해 획득된 유형이 제1 값에 대응하는 연합 학습 모델로 이해될 수 있다. 선택적으로, 자원 구성 정보는 새로운 서브노드에 대해, 로컬 모델의 파라미터 정보를 송신하기 위해 새로운 서브노드에 의해 사용된 자원을 구성하는 데 추가로 사용된다.
대안적으로, 연합 학습 관리 노드는 중앙 노드에 의해 제3 모델을 새로운 서브노드에 송신하는 데 사용된 자원과 새로운 서브노드에 의해 로컬 모델의 파라미터 정보를 송신하는 데 사용된 자원을 구성할 수 있다.
S1103: 중앙 노드는 제3 모델을 나타내는 정보를 새로운 서브노드에 송신한다.
구체적으로, 중앙 노드는 S1102에서의 자원 구성 정보에 기초하여 제3 모델의 파라미터 정보를 브로드캐스트 또는 멀티캐스트 방식으로 새로운 서브노드에 송신할 수 있다. 제3 모델의 파라미터 정보에 대해서는, 이해를 위해 S501을 참조한다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다.
또한, 중앙 노드는 제3 모델에 대한 성능 테스트를 수행할 새로운 서브노드를 나타낼 수도 있다.
S1104: 새로운 서브노드는 제4 테스트 결과를 중앙 노드에 송신― 제4 테스트 결과는 제3 모델의 성능을 나타냄 ―한다.
새로운 서브노드에 대해서는, S702의 해결책을 참조하여 제3 모델의 성능이 테스트될 수 있다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다. 제4 테스트 결과는 제3 모델의 손실을 포함하거나, 또는 제3 모델의 손실이 손실 임계값보다 더 큰지의 여부를 나타내는 정보를 포함한다.
S1105: 중앙 노드는 제4 테스트 결과에 기초하여 제4 정보를 새로운 서브노드에 송신한다.
한 가지 방식으로, 중앙 노드가 제4 테스트 결과에 기초하여, 제3 모델의 손실이 손실 임계값보다 더 크다고 결정하는 경우, 중앙 노드는 새로운 서브노드에 적합한 연합 학습 모델의 유형이 제2 값에 대응하는 것으로, 즉, 새로운 서브노드가 개인화된 유형의 연합 학습 모델에 적합한 것으로 결정할 수 있다. 이 경우, 중앙 노드는 제4 정보에 다음과 같은 정보를 포함할 수 있으며, 즉, 새로운 서브노드에 개인화된 유형의 연합 학습 모델을 사용하도록 지시하는 정보; 새로운 서브노드에 의해 로컬 모델을 훈련하기 위한 관련 보조 정보, 예를 들어 로컬 모델을 훈련하는 데 사용된 초기 모델(즉, 제2 모델)의 파라미터 정보; 로컬 모델을 훈련하기 위한 반복의 현재 수량; 학습률; 손실 함수; 배치 크기; 및 보고된 로컬 모델의 파라미터 유형(모델 파라미터 또는 기울기)를 포함할 수 있다.
로컬 모델을 훈련하기 위한 반복의 현재 수량은 새로운 서브노드가 제4 정보를 수신하기 전에 연합 학습에 참여하는 나머지 서브노드에 대한 로컬 모델을 훈련하기 위한 반복의 수량과 관련된다. 예를 들어, 연합 학습 모델을 훈련하는 전술한 I회의 각 라운드에서, 대응 서브노드에 의해 로컬 모델을 훈련하기 위한 반복의 수량은 20회이다. 새로운 서브노드가 제4 정보를 수신하기 전에 연합 학습 모델의 훈련을 4 라운드 수행했으면, 이 경우, 새로운 서브노드에 의해 로컬 모델을 훈련하기 위한 반복의 현재 수량은 80회이다.
다른 방식으로, 중앙 노드가 제4 테스트 결과에 기초하여, 제3 모델의 손실이 손실 임계값 이하라고 결정하는 경우, 중앙 노드는 새로운 서브노드에 적합한 연합 학습 모델의 유형이 제1 값에 대응하는 것으로, 즉, 새로운 서브노드가 글로벌 유형의 연합 학습 모델에 적합한 것으로 결정할 수 있다. 이 경우, 중앙 노드는 제4 정보에 다음과 같은 정보를 포함할 수 있으며, 즉, 새로운 서브노드에 개인화된 유형의 연합 학습 모델을 사용하도록 지시하는 정보와, 새로운 서브노드에 의해 제3 모델에 기초하여 로컬 모델을 훈련하기 위한 관련 보조 정보, 예를 들어 연합 학습 모델을 훈련하는 각 라운드에서 로컬 모델을 훈련하기 위한 반복의 수량, 학습률, 손실 함수, 배치 크기, 및 보고된 로컬 모델의 파라미터 유형(모델 파라미터 또는 기울기)를 포함할 수 있다.
또한, 후속하여, 중앙 노드는 개인화된 모델을 유니캐스트 방식으로 새로운 서브노드에 송신하고, 유니캐스트 자원은 중앙 노드 또는 연합 학습 관리 노드에 의해 구성될 수 있다. 전술한 방식으로, 새로운 서브노드에 의해 로컬 모델을 훈련하기 위한 관련 보조 정보는 구성된 유니캐스트 자원을 더 포함할 수 있다. 대안적으로, 중앙 노드는 글로벌 모델을 브로드캐스트 또는 멀티캐스트 방식으로 새로운 서브노드에 송신한다. 브로드캐스트 자원 또는 멀티캐스트 자원은 S1103에서 할당된 자원일 수 있거나, 또는 중앙 노드 또는 연합 학습 관리 노드에 의해 재구성될 수 있다.
S1106: 새로운 서브노드는 제4 정보에 기초하여 로컬 모델을 훈련한다.
S1107: 새로운 서브노드는 로컬 모델을 나타내는 정보를 중앙 노드에 송신한다.
이 단계는 S21을 참조하여 이해될 수 있으며, 본 개시에서는 자세한 내용을 설명하지 않는다.
이 경우, 새로운 서브노드가 연합 학습에 성공적으로 참여한 것으로 고려될 수 있다. 후속 절차에 대해서는, 도 5 내지 도 10b의 하나 이상의 해결책을 참조한다. 본 개시에서는 자세한 내용을 본 명세서에 다시 설명하지 않는다.
도 11의 해결책에서, 새로 추가된 서브노드는 개인화된 유형의 모델을 사용할 수 있게 지원되므로, 새로 추가된 서브노드가 글로벌 유형의 모델을 사용하는 경우 연합 학습에 새로 추가된 서브노드의 성능이 좋지 않다는 문제가 회피될 수 있다. 이는 모델 성능을 개선할 수 있다.
동일한 개념에 기초하여, 도 12를 참조한다. 본 개시는 통신 장치(1200)를 제공한다. 통신 장치(1200)는 처리 모듈(1201) 및 통신 모듈(1202)을 포함한다. 통신 장치(1200)는 k번째 서브노드일 수 있거나, 또는 k번째 서브노드에서 사용되거나 또는 k번째 서브노드와 함께 사용되는 통신 장치일 수 있으며, k번째 서브노드 측에서 수행되는 통신 방법을 구현할 수 있다. 대안적으로, 통신 장치(1200)는 중앙 노드일 수 있거나, 또는 중앙 노드에서 사용되거나 또는 중앙 노드와 함께 사용되는 통신 장치일 수 있으며, 중앙 노드 측에서 수행되는 통신 방법을 구현할 수 있다.
통신 모듈은 트랜시버 모듈, 트랜시버, 트랜시버 기계, 트랜시버 장치 등으로도 지칭될 수 있다. 처리 모듈은 프로세서, 처리 보드, 처리 유닛, 처리 장치 등으로도 지칭될 수 있다. 선택적으로, 통신 모듈에 포함되어 수신 기능을 구현하도록 구성된 디바이스가 수신 유닛으로 고려될 수 있다. 통신 모듈은 전술한 방법 실시예에서 k번째 서브노드 측 또는 중앙 노드 측에서 송신 동작 및 수신 동작을 수행하도록 구성된다는 점을 이해해야 하며, 통신 모듈에 포함되고 송신 기능을 구현하도록 구성된 디바이스가 송신 유닛으로 고려된다. 달리 말해서, 통신 모듈은 수신 유닛 및 송신 유닛을 포함한다.
통신 장치(1200)가 중앙 노드에서 사용되는 경우, 통신 장치(1200)의 통신 모듈(1202)에 포함된 수신 유닛은 중앙 노드 측에서 수신 동작을 수행하도록 구성되며, 예를 들어 k번째 서브노드로부터 정보를 수신하도록 구성된다. 통신 모듈(1202)에 포함된 송신 유닛은 중앙 노드 측에서 송신 동작을 수행하도록 구성되고, 예를 들어, k번째 서브노드에 정보를 송신하도록 구성된다. k번째 서브노드에서 통신 장치(1200)가 사용되는 경우, 통신 장치(1200)의 통신 모듈(1202)에 포함된 수신 유닛은 k번째 서브노드 측에서 수신 동작을 수행하도록 구성되고, 예를 들어 중앙 노드로부터 정보를 수신하도록 구성되고; 통신 장치(1200)의 통신 모듈(1202)에 포함된 송신 유닛은 k번째 서브노드 측에서 송신 동작을 수행하도록 구성되고, 예를 들어 중앙 노드에 정보를 송신하도록 구성된다. 통신 장치(1200)가 중앙 노드에서 사용되는 경우, 통신 장치(1200)의 통신 모듈(1202)에 포함된 수신 유닛은 중앙 노드 측에서 수신 동작을 수행하도록 구성되고, 예를 들어 중앙 노드로부터 정보를 수신하도록 구성되고; 통신 장치(1200)의 통신 모듈(1202)에 포함된 송신 유닛은 중앙 노드 측에서 송신 동작을 수행하도록 구성되고, 예를 들어 중앙 노드에 정보를 송신하도록 구성된다.
또한, 칩/칩 회로를 사용하여 장치를 구현하면, 통신 모듈은 입력/출력 회로 및/또는 통신 인터페이스일 수 있으며, 입력 동작(전술한 수신 동작에 대응함) 및 출력 동작(전술한 송신 동작에 대응함)을 수행한다는 점에 유의해야 한다. 처리 모듈은 통합 프로세서, 마이크로프로세서, 또는 집적 회로이다.
본 개시에서 모듈로의 구분은 하나의 예이며, 단지 논리적인 기능으로의 구분일 뿐이고, 실제 구현 동안에는 다른 구분일 수 있다. 또한, 본 개시의 실시예에서의 기능 모듈은 하나의 프로세서에 통합될 수 있거나, 또는 물리적으로 단독으로 존재할 수 있거나, 또는 2개 이상의 모듈이 하나의 모듈로 통합될 수 있다. 통합 모듈은 하드웨어 형태로 구현될 수 있거나, 또는 소프트웨어 기능 모듈의 형태로 구현될 수 있다.
동일한 기술적 개념에 기초하여, 본 개시는 통신 장치(1300)를 더 제공한다. 통신 장치(1300)는 칩 또는 칩 시스템일 수 있다. 선택적으로, 본 개시에서, 칩 시스템은 칩을 포함할 수 있거나, 또는 칩 및 다른 개별 디바이스를 포함할 수 있다.
통신 장치(1300)는 도 1a, 도 3a 및 도 3b에 도시된 통신 시스템의 임의의 네트워크 요소의 기능을 구현하도록 구성될 수 있다. 통신 장치(1300)는 적어도 하나의 프로세서(1310)를 포함할 수 있다. 프로세서(1310)는 메모리에 결합된다. 선택적으로, 메모리는 장치에 위치할 수 있거나, 메모리는 프로세서와 통합될 수 있거나, 또는 메모리는 장치 외부에 위치될 수 있다. 예를 들어, 통신 장치(1300)는 적어도 하나의 메모리(1320)를 더 포함할 수 있다. 메모리(1320)는 전술한 실시예 중 어느 하나를 구현하는 데 필요한 컴퓨터 프로그램, 구성 정보, 컴퓨터 프로그램 또는 명령어, 및/또는 데이터를 저장한다. 프로세서(1310)는 메모리(1320)에 저장된 컴퓨터 프로그램을 실행하여, 전술한 실시예 중 어느 하나의 방법을 완성할 수 있다.
통신 장치(1300)는 통신 인터페이스(1330)를 더 포함할 수 있으며, 통신 장치(1300)는 통신 인터페이스(1330)를 통해 다른 디바이스와 정보 교환을 수행할 수 있다. 예를 들어, 통신 인터페이스(1330)는 트랜시버, 회로, 버스, 모듈, 핀, 또는 다른 유형의 통신 인터페이스일 수 있다. 통신 장치(1300)가 칩 장치 또는 회로인 경우, 통신 장치(1300)의 통신 인터페이스(1330)는 입력/출력 회로일 수도 있으며, 정보를 입력(또는 정보를 수신)하고 정보를 출력(또는 정보를 송신)할 수 있다. 프로세서는 통합 프로세서, 마이크로프로세서, 집적 회로, 또는 로직 회로이다. 프로세서는 입력 정보에 기초하여 출력 정보를 결정할 수 있다.
본 개시에서의 결합은 전기적 형태, 기계적 형태, 또는 다른 형태의 장치, 유닛, 또는 모듈 사이의 간접적인 결합 또는 통신 연결일 수 있으며, 장치, 유닛, 또는 모듈 사이의 정보 교환에 사용된다. 프로세서(1310)는 메모리(1320) 및 통신 인터페이스(1330)와 협력할 수 있다. 프로세서(1310), 메모리(1320), 및 통신 인터페이스(1330) 사이의 구체적인 연결 매체는 본 개시에서 제한되지 않는다.
선택적으로, 도 13을 참조하면, 프로세서(1310), 메모리(1320), 및 통신 인터페이스(1330)는 버스(1340)를 통해 서로 연결된다. 버스(1340)는 주변 컴포넌트 상호 연결(peripheral component interconnect, PCI) 버스, 확장 산업 표준 아키텍처(extended industry standard architecture, EISA) 버스 등일 수 있다. 버스는 어드레스 버스, 데이터 버스, 제어 버스 등으로 분류될 수 있다. 표현의 용이함을 위해, 도 13에서는 하나의 굵은 선만이 버스를 나타내지만, 이는 단 하나의 버스만 있거나 또는 단 한 가지 유형의 버스만 있다는 의미는 아니다.
본 개시에서, 프로세서는 범용 프로세서, 디지털 신호 프로세서, 주문형 집적 회로, 필드 프로그램 가능 게이트 어레이 또는 다른 프로그램 가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직 디바이스, 또는 이산 하드웨어 조립체일 수 있으며, 본 개시에 개시된 방법, 단계, 및 논리 블록도를 구현 또는 수행할 수 있다. 범용 프로세서는 마이크로프로세서, 임의의 종래의 프로세서 등일 수 있다. 본 개시를 참조하여 개시된 방법의 단계는 하드웨어 프로세서에 의해 직접 수행될 수 있거나, 또는 프로세서의 하드웨어와 소프트웨어 모듈의 조합에 의해 수행될 수 있다.
본 개시에서, 메모리는 비휘발성 메모리, 예를 들어 하드 디스크 드라이브(hard disk drive, HDD) 또는 솔리드 스테이트 드라이브(solid-state drive, SSD)일 수 있거나, 또는 휘발성 메모리(volatile memory), 예를 들어 랜덤 액세스 메모리(random access memory, RAM)일 수 있다. 메모리는 예상되는 프로그램 코드를 명령어 또는 데이터 구조의 형태로 전달하거나 저장할 수 있으며, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체이지만, 이에 제한되지 않는다. 본 개시에서의 메모리는 대안적으로 저장 기능을 구현할 수 있는 회로 또는 임의의 다른 장치일 수 있으며, 프로그램 명령어 및/또는 데이터를 저장하도록 구성된다.
가능한 구현에서, 통신 장치(1300)는 중앙 노드에서 사용될 수 있다. 구체적으로, 통신 장치(1300)는 중앙 노드일 수 있거나, 또는 전술한 실시예 중 어느 하나에서 중앙 노드를 지원하고 중앙 노드의 기능을 구현할 수 있는 장치일 수 있다. 메모리(1320)는 전술한 실시예 중 어느 하나의 중앙 노드의 기능을 구현하는 데 필요한 컴퓨터 프로그램, 컴퓨터 프로그램 또는 명령어, 및/또는 데이터를 저장한다. 프로세서(1310)는 메모리(1320)에 저장된 컴퓨터 프로그램을 실행하여, 전술한 실시예 중 어느 하나의 중앙 노드에 의해 수행된 방법을 완성할 수 있다. 중앙 노드에서 사용되는, 통신 장치(1300)의 통신 인터페이스는 k번째 서브노드와 상호 작용하여, k번째 서브노드로 정보를 송신하거나 또는 k번째 서브노드로부터 정보를 수신하도록 구성될 수 있다.
다른 가능한 구현에서, 통신 장치(1300)는 k번째 서브노드에서 사용될 수 있다. 구체적으로, 통신 장치(1300)는 k번째 서브노드일 수 있거나, 또는 전술한 실시예 중 어느 하나에서 k번째 서브노드를 지원하고 k번째 서브노드의 기능을 구현할 수 있는 장치일 수 있다. 메모리(1320)는 전술한 실시예 중 어느 하나의 k번째 서브노드의 기능을 구현하는 데 필요한 컴퓨터 프로그램, 컴퓨터 프로그램 또는 명령어, 및/또는 데이터를 저장한다. 프로세서(1310)는 메모리(1320)에 저장된 컴퓨터 프로그램을 실행하여, 전술한 실시예 중 어느 하나의 k번째 서브노드에 의해 수행된 방법을 완성할 수 있다. k번째 서브노드에서 사용되는, 통신 장치(1300)의 통신 인터페이스는 중앙 노드와 상호 작용하여, 중앙 노드에 정보를 송신하거나 또는 중앙 노드로부터 정보를 수신하도록 구성될 수 있다.
본 실시예에서 제공되는 통신 장치(1300)는 중앙 노드에 의해 수행되는 방법을 완성하기 위해 중앙 노드에서 사용될 수 있거나, 또는 k번째 서브노드에 의해 수행되는 방법을 완성하기 위해 k번째 서브노드에서 사용될 수 있다. 따라서, 통신 장치(1300)에 의해 달성될 수 있는 기술적 효과에 대해서는, 전술한 방법 실시예를 참조한다. 본 명세서에서는 자세한 내용을 다시 설명하지 않는다.
전술한 실시예에 기초하여, 본 개시는 컴퓨터 프로그램을 더 제공한다. 컴퓨터 프로그램이 컴퓨터에서 실행될 때, 컴퓨터는, 중앙 노드 측 또는 k번째 서브노드 측의 관점에서, 도 5 내지 도 7, 도 8a 및 도 8b, 도 9, 도 10a 및 도 10b, 및 도 11에 도시된 실시예에서 제공된 통신 방법을 수행할 수 있게 된다.
전술한 실시예에 기초하여, 본 개시는 컴퓨터 판독 가능 저장 매체를 더 제공한다. 컴퓨터 판독 가능 저장 매체는 컴퓨터 프로그램을 저장한다. 컴퓨터 프로그램이 컴퓨터에 의해 실행될 때, 컴퓨터는, 중앙 노드 측 또는 k번째 서브노드 측의 관점에서, 도 5 내지 도 7, 도 8a 및 도 8b, 도 9, 도 10a 및 도 10b, 및 도 11에 도시된 실시예에서 제공된 통신 방법을 수행할 수 있게 된다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 사용 가능한 매체일 수 있다. 이하의 내용은 예로서 사용되는 것이지, 이에 제한되지 않는다: 컴퓨터 판독 가능 매체는 RAM, 판독 전용 메모리(read-only memory, ROM), 전기적 소거 및 프로그램 가능 판독 전용 메모리(electrically erasable programmable read-only memory, EEPROM), CD-ROM 또는 다른 광학 디스크 저장 장치, 자기 디스크 저장 매체 또는 다른 자기 저장 디바이스, 또는 예상되는 프로그램 코드를 명령어 또는 데이터 구조의 형태로 전달 또는 저장하는 데 사용할 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다.
전술한 실시예에 기초하여, 본 개시는 중앙 노드와 복수의 서브노드를 포함하는 통신 시스템을 제공한다. 중앙 노드와 복수의 서브노드는 도 5 내지 도 7, 도 8a 및 도 8b, 도 9, 도 10a 및 도 10b, 및 도 11에 도시된 실시예에서 제공된 통신 방법을 구현할 수 있다.
전술한 실시예에 기초하여, 본 개시는 칩을 더 제공한다. 칩은 메모리에 저장된 컴퓨터 프로그램을 판독하고, 중앙 노드 측 또는 k번째 서브노드 측의 관점에서 도 5 내지 도 7, 도 8a 및 도 8b, 도 9, 도 10a 및 도 10b, 및 도 11에 도시된 실시예에서 제공된 통신 방법을 구현하도록 구성된다.
전술한 실시예에 기초하여, 본 개시는 칩 시스템을 제공한다. 칩 시스템은 도 5 내지 도 7, 도 8a 및 도 8b, 도 9, 도 10a 및 도 10b, 및 도 11에 도시된 실시예에서의 k번째 서브노드 또는 중앙 노드의 기능을 구현함에 있어서 컴퓨터 장치를 지원하도록 구성된 프로세서를 포함한다. 가능한 설계에서, 칩 시스템은 메모리를 더 포함하고, 메모리는 컴퓨터 장치에 필요한 프로그램 및 데이터를 저장하도록 구성된다. 칩 시스템은 칩을 포함할 수 있거나, 또는 칩 및 다른 개별 디바이스를 포함할 수 있다.
본 개시에서 제공되는 기술적 해결책의 전부 또는 일부는 소프트웨어, 하드웨어, 펌웨어, 또는 그 임의의 조합을 사용하여 구현될 수 있다. 소프트웨어를 사용하여 실시예를 구현하는 경우, 실시예의 전부 또는 일부는 컴퓨터 프로그램 제품의 형태로 구현될 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 명령어를 포함한다. 컴퓨터 프로그램 명령어가 컴퓨터에 로딩되어 실행되는 경우, 본 개시에 따른 절차 또는 기능이 전부 또는 부분적으로 생성된다. 컴퓨터는 범용 컴퓨터, 전용 컴퓨터, 컴퓨터 네트워크, k번째 서브노드, 중앙 노드, 또는 다른 프로그램 가능 장치일 수 있다. 컴퓨터 명령어는 컴퓨터 판독 가능 저장 매체에 저장될 수 있거나 또는 컴퓨터 판독 가능 저장 매체로부터 다른 컴퓨터 판독 가능 저장 매체로 전송될 수 있다. 예를 들어, 컴퓨터 명령어는 웹사이트, 컴퓨터, 서버, 또는 데이터 센터로부터 다른 웹사이트, 컴퓨터, 서버, 또는 데이터 센터로 유선(예를 들어, 동축 케이블, 광섬유, 또는 디지털 가입자 회선(digital subscriber line, DSL)) 또는 무선(예를 들어, 적외선, 라디오, 또는 마이크로파) 방식으로 전송될 수 있다. 컴퓨터 판독 가능 저장 매체는 컴퓨터에 의해 액세스 가능한 임의의 사용 가능한 매체, 또는 하나 이상의 사용 가능한 매체를 통합하는 데이터 저장 디바이스, 예를 들어 서버 또는 데이터 센터일 수 있다. 사용 가능한 매체는 자기 매체(예를 들어, 플로피 디스크, 하드 디스크, 또는 자기 테이프), 광학 매체(예를 들어, 디지털 비디오 디스크(digital video disc, DVD)), 반도체 매체 등일 수 있다.
본 개시에서는, 논리적 모순이 없을 경우, 실시예가 상호 참조될 수 있다. 예를 들어, 방법 실시예의 방법 및/또는 용어가 상호 참조될 수 있다. 예를 들어, 장치 실시예의 기능 및/또는 용어가 상호 참조될 수 있다. 예를 들어, 장치 실시예와 방법 실시예 사이의 기능 및/또는 용어가 상호 참조될 수 있다.
통상의 기술자는 본 개시의 범위를 벗어나지 않고 본 개시에 대해 다양한 수정 및 변경을 할 수 있다는 것이 명백하다. 본 개시는, 본 개시의 이들 수정 및 변경이 하기의 청구범위 및 그 균등 기술에 의해 정의되는 보호 범위 내에 있는 한, 이들 수정 및 변경을 포함하도록 의도된다.
Claims (21)
- 통신 방법으로서,
i번째 제1 정보 부분을 획득하는 단계― 상기 i번째 제1 정보 부분은 복수의 서브노드 각각의 i번째 로컬 모델을 나타내고, i는 양의 정수임 ―;
k번째 서브노드의 i번째 연합 학습(federated learning) 모델을 상기 i번째 제1 정보 부분 및 상기 k번째 서브노드의 상기 i번째 연합 학습 모델의 유형에 기초하여 결정하는 단계― k는 1부터 K까지의 임의의 양의 정수이고, K는 상기 복수의 서브노드의 수량이며; 그리고 i가 1보다 큰 경우, 상기 k번째 서브노드의 상기 i번째 연합 학습 모델의 상기 유형은 상기 k번째 서브노드의 (i-1)번째 연합 학습 모델의 유형 또는 성능에 기초하여 결정됨 ―; 및
i번째 제2 정보 부분을 송신하는 단계― 상기 i번째 제2 정보 부분은 상기 복수의 서브노드 각각의 i번째 연합 학습 모델을 나타냄 ―
를 포함하는 방법.
- 제1항에 있어서,
상기 k번째 서브노드의 상기 i번째 연합 학습 모델은 상기 복수의 서브노드 중 상기 k번째 서브노드 이외의 적어도 하나의 서브노드의 i번째 연합 학습 모델과 동일하거나 상이한,
방법.
- 제1항 또는 제2항에 있어서,
상기 k번째 서브노드로부터 제1 테스트 결과를 획득하는 단계― 상기 제1 테스트 결과는 상기 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 나타내고, i는 1보다 큼 ―; 및
상기 제1 테스트 결과에 기초하여 상기 k번째 서브노드의 상기 i번째 연합 학습 모델의 상기 유형을 결정하는 단계
를 더 포함하는 방법.
- 제1항 또는 제2항에 있어서,
제1 모델을 나타내는 정보를 상기 k번째 서브노드에 송신하는 단계― 상기 제1 모델은 (i-1)번째 제1 정보 부분 및 상기 복수의 서브노드 각각의 (i-1)번째 로컬 모델에 대응하는 가중치에 기초하여 결정되고, i는 1보다 큼 ―;
상기 k번째 서브노드로부터 제2 테스트 결과를 획득하는 단계― 상기 제2 테스트 결과는 상기 제1 모델의 성능을 나타내거나, 또는 상기 제2 테스트 결과는 상기 제1 모델의 성능 및 상기 k번째 서브노드의 상기 (i-1)번째 연합 학습 모델의 성능을 나타냄 ―; 및
상기 제2 테스트 결과에 기초하여 상기 k번째 서브노드의 상기 i번째 연합 학습 모델의 유형을 결정하는 단계
를 더 포함하는 방법.
- 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 k번째 서브노드의 i번째 연합 학습 모델을 상기 i번째 제1 정보 부분 및 상기 k번째 서브노드의 i번째 연합 학습 모델의 유형에 기초하여 결정하는 단계는,
상기 k번째 서브노드의 i번째 연합 학습 모델의 상기 유형이 제1 값에 대응하는 경우, 상기 k번째 서브노드의 상기 i번째 연합 학습 모델을 상기 i번째 제1 정보 부분 및 상기 복수의 서브노드 각각의 상기 i번째 로컬 모델에 대응하는 가중치에 기초하여 결정하는 단계; 또는
상기 k번째 서브노드의 상기 i번째 연합 학습 모델의 상기 유형이 제2 값에 대응하는 경우, 상기 k번째 서브노드의 상기 i번째 연합 학습 모델을 상기 i번째 제1 정보 부분 및 상기 k번째 서브노드의 상기 i번째 로컬 모델과 상기 복수의 서브노드 각각의 i번째 로컬 모델 사이의 유사성에 기초하여 결정하는 단계
를 포함하는,
방법.
- 제1항 내지 제5항 중 어느 한 항에 있어서,
상기 복수의 서브노드는 제1 서브노드 그룹 및 제2 서브노드 그룹을 포함하고, 상기 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델은 동일하고, 상기 제2 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델은 서로 다르며 상기 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델과 다르고;
상기 i번째 제2 정보 부분을 송신하는 단계는:
제1 표시 정보를 브로드캐스트 또는 멀티캐스트 방식으로 상기 제1 서브노드 그룹에 송신하는 단계― 상기 제1 표시 정보는 상기 제1 서브노드 그룹의 각 서브노드의 i번째 연합 학습 모델을 나타냄 ―; 및
제2 표시 정보를 유니캐스트 방식으로 상기 제2 서브노드 그룹의 p번째 서브노드에 송신하는 단계― 상기 제2 표시 정보는 상기 p번째 서브노드의 i번째 연합 학습 모델을 나타내고, p는 1부터 P까지의 임의의 양의 정수이고, P는 상기 제2 서브노드 그룹에 포함된 서브노드의 수량임 ―
를 포함하는,
방법.
- 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 i번째 연합 학습 모델은 제1 파라미터 정보 부분과 제2 파라미터 정보 부분으로 표현되고, 상기 복수의 서브노드 모두의 i번째 연합 학습 모델의 제1 파라미터 정보 부분은 동일하고;
상기 복수의 서브노드는 제1 서브노드 그룹 및 제2 서브노드 그룹을 포함하고, 상기 제1 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분은 동일하고, 상기 제2 서브노드 그룹의 모든 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분은 서로 다르며 상기 제1 서브노드 그룹의 모든 서브노드의 상기 i번째 연합 학습 모델의 제2 파라미터 정보 부분과 다르고;
상기 i번째 제2 정보 부분을 송신하는 단계는:
상기 i번째 연합 학습 모델의 제1 파라미터 정보 부분을 브로드캐스트 또는 멀티캐스트 방식으로 상기 복수의 서브노드에 송신하는 단계;
상기 제1 서브노드 그룹의 각 서브노드의 상기 i번째 연합 학습 모델의 제2 파라미터 정보 부분을 브로드캐스트 또는 멀티캐스트 방식으로 상기 제1 서브노드 그룹에 송신하는 단계; 및
p번째 서브노드의 i번째 연합 학습 모델의 제2 파라미터 정보 부분을 유니캐스트 방식으로 상기 제2 서브노드 그룹의 p번째 서브노드에 송신하는 단계― p는 1부터 P까지의 임의의 양의 정수이고, P는 상기 제2 서브노드 그룹에 포함된 서브노드의 수량임 ―
를 포함하는,
방법.
- 제1항 내지 제6항 중 어느 한 항에 있어서,
제2 모델을 나타내는 정보를 상기 복수의 서브노드에 송신하는 단계― 상기 제2 모델을 나타내는 정보는 상기 복수의 서브노드 각각에 의해 1번째 로컬 모델을 결정하는 데 사용됨 ―
를 더 포함하는 방법.
- 제1항 내지 제7항 중 어느 한 항에 있어서,
1≤i≤I이고, I는 양의 정수이며, 상기 k번째 서브노드의 I번째 연합 학습 모델은 모델 수렴 조건을 충족하며, i가 1보다 큰 경우, 상기 k번째 서브노드의 i번째 로컬 모델은 상기 k번째 서브노드의 상기 (i-1)번째 연합 학습 모델에 기초하여 결정되는,
방법.
- 통신 방법으로서,
k번째 서브노드의 i번째 로컬 모델을 나타내는 정보를 송신하는 단계― k는 1부터 K까지의 임의의 양의 정수이고, K는 연합 학습에 참여하는 복수의 서브노드의 수량이고, i는 양의 정수임 ―; 및
상기 k번째 서브노드의 i번째 연합 학습 모델을 나타내는 정보를 획득하는 단계― 상기 k번째 서브노드의 상기 i번째 연합 학습 모델은 i번째 제1 정보 부분 및 상기 k번째 서브노드의 i번째 연합 학습 모델의 유형에 기초하여 결정됨 ―를 포함하고,
상기 i번째 제1 정보 부분은 상기 복수의 서브노드 각각의 i번째 로컬 모델을 나타내는 정보를 포함하고; i가 1보다 큰 경우, 상기 k번째 서브노드의 i번째 연합 학습 모델의 유형은 상기 k번째 서브노드의 (i-1)번째 연합 학습 모델의 유형 또는 성능에 기초하여 결정되는,
방법.
- 제10항에 있어서,
상기 k번째 서브노드의 i번째 연합 학습 모델은 상기 복수의 서브노드 중 상기 k번째 서브노드 이외의 적어도 하나의 서브노드의 i번째 연합 학습 모델과 동일하거나 상이한
방법.
- 제10항 또는 제11항에 있어서,
제1 테스트 결과를 송신하는 단계― 상기 제1 테스트 결과는 상기 k번째 서브노드의 상기 (i-1)번째 연합 학습 모델의 상기 성능을 나타내고, i는 1보다 크며, 상기 k번째 서브노드의 상기 i번째 연합 학습 모델의 상기 유형은 상기 제1 테스트 결과에 기초하여 결정됨 ―
를 더 포함하는 방법.
- 제10항 또는 제11항에 있어서,
제1 모델을 나타내는 정보를 획득하는 단계― 상기 제1 모델은 (i-1)번째 제1 정보 부분 및 상기 복수의 서브노드 각각의 (i-1)번째 로컬 모델에 대응하는 가중치에 기초하여 결정되고, i는 1보다 큼 ―; 및
제2 테스트 결과를 송신하는 단계― 상기 제2 테스트 결과는 상기 제1 모델의 성능을 나타내거나, 또는 상기 제2 테스트 결과는 상기 제1 모델의 성능 및 상기 k번째 서브노드의 (i-1)번째 연합 학습 모델의 성능을 나타내고, 상기 k번째 서브노드의 i번째 연합 학습 모델의 유형은 상기 제2 테스트 결과에 기초하여 결정됨 ―
를 더 포함하는 방법.
- 제10항 내지 제13항 중 어느 한 항에 있어서,
상기 k번째 서브노드의 상기 i번째 연합 학습 모델의 상기 유형이 제1 값에 대응하는 경우, 상기 k번째 서브노드의 상기 i번째 연합 학습 모델은 상기 i번째 제1 정보 부분 및 상기 복수의 서브노드 각각의 상기 i번째 로컬 모델에 대응하는 가중치에 기초하여 결정되거나; 또는
상기 k번째 서브노드의 상기 i번째 연합 학습 모델의 상기 유형이 제2 값에 대응하는 경우, 상기 k번째 서브노드의 상기 i번째 연합 학습 모델은 상기 i번째 제1 정보 부분 및 상기 k번째 서브노드의 i번째 로컬 모델과 상기 복수의 서브노드 각각의 상기 i번째 로컬 모델 사이의 유사성에 기초하여 결정되는
방법.
- 제10항 내지 제14항 중 어느 한 항에 있어서,
제2 모델을 나타내는 정보를 획득하는 단계; 및
상기 k번째 서브노드의 제1 로컬 모델을 상기 제2 모델을 나타내는 정보에 기초하여 결정하는 단계
를 더 포함하는 방법.
- 제10항 내지 제15항 중 어느 한 항에 있어서,
1≤i≤I이고, I는 양의 정수이며, 상기 k번째 서브노드의 I번째 연합 학습 모델은 모델 수렴 조건을 충족하고, i가 1보다 큰 경우, 상기 k번째 서브노드의 상기 i번째 로컬 모델은 상기 k번째 서브노드의 상기 (i-1)번째 연합 학습 모델에 기초하여 결정되는,
방법.
- 제1항 내지 제9항 중 어느 한 항에 따른 방법을 구현하거나, 또는 제10항 내지 제16항 중 어느 한 항에 따른 방법을 구현하도록 구성된 모듈 또는 유닛을 포함하는 통신 장치.
- 통신 장치로서,
프로세서를 포함하고, 상기 프로세서는 메모리에 결합되고, 상기 프로세서는 상기 메모리 내의 프로그램 명령어를 실행하여, 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행하거나, 또는 제10항 내지 제16항 중 어느 한 항에 따른 방법을 수행하도록 구성되는, 통신 장치.
- 컴퓨터 판독 가능 저장 매체로서, 상기 컴퓨터 판독 가능 저장 매체는 명령어를 저장하고, 상기 명령어가 컴퓨터에서 실행될 때, 상기 컴퓨터는 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행하거나 또는 제10항 내지 제16항 중 어느 한 항에 따른 방법을 수행하게 되는, 컴퓨터 판독 가능 저장 매체.
- 명령어를 포함하는 컴퓨터 프로그램 제품으로서, 상기 명령어가 컴퓨터에서 실행될 때, 상기 컴퓨터는 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행하거나 또는 제10항 내지 제16항 중 어느 한 항에 따른 방법을 수행하게 되는, 컴퓨터 프로그램 제품.
- 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행하도록 구성된 장치 및/또는 제10항 내지 제16항 중 어느 한 항에 따른 방법을 수행하도록 구성된 장치를 포함하는 통신 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111642343.4A CN116419257A (zh) | 2021-12-29 | 2021-12-29 | 一种通信方法及装置 |
CN202111642343.4 | 2021-12-29 | ||
PCT/CN2022/142804 WO2023125660A1 (zh) | 2021-12-29 | 2022-12-28 | 一种通信方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240125045A true KR20240125045A (ko) | 2024-08-19 |
Family
ID=86997987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247025273A KR20240125045A (ko) | 2021-12-29 | 2022-12-28 | 통신 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240354591A1 (ko) |
EP (1) | EP4443939A1 (ko) |
KR (1) | KR20240125045A (ko) |
CN (1) | CN116419257A (ko) |
WO (1) | WO2023125660A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171628B (zh) * | 2023-11-01 | 2024-03-26 | 之江实验室 | 异构联邦环境中的图结构数据节点分类方法和装置 |
CN118153666B (zh) * | 2024-05-11 | 2024-07-12 | 山东第二医科大学 | 一种个性化联邦知识蒸馏模型构建方法 |
CN118761100A (zh) * | 2024-09-06 | 2024-10-11 | 杭州海康威视数字技术股份有限公司 | 基于终端自适应联邦学习的隐私泄露检测方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112054863B (zh) * | 2019-06-06 | 2021-12-21 | 华为技术有限公司 | 一种通信方法及装置 |
CN111310932B (zh) * | 2020-02-10 | 2024-09-27 | 深圳前海微众银行股份有限公司 | 横向联邦学习系统优化方法、装置、设备及可读存储介质 |
CN117320034A (zh) * | 2020-04-29 | 2023-12-29 | 华为技术有限公司 | 一种通信方法、装置及系统 |
CN113723620A (zh) * | 2020-05-25 | 2021-11-30 | 株式会社日立制作所 | 无线联邦学习中的终端调度方法和装置 |
-
2021
- 2021-12-29 CN CN202111642343.4A patent/CN116419257A/zh active Pending
-
2022
- 2022-12-28 KR KR1020247025273A patent/KR20240125045A/ko unknown
- 2022-12-28 EP EP22914912.5A patent/EP4443939A1/en active Pending
- 2022-12-28 WO PCT/CN2022/142804 patent/WO2023125660A1/zh active Application Filing
-
2024
- 2024-06-28 US US18/757,899 patent/US20240354591A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240354591A1 (en) | 2024-10-24 |
EP4443939A1 (en) | 2024-10-09 |
CN116419257A (zh) | 2023-07-11 |
WO2023125660A1 (zh) | 2023-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112136334B (zh) | 蜂窝网络中基于机器学习的宽波束优化的方法和装置 | |
US20220287104A1 (en) | Method and apparatus for support of machine learning or artificial intelligence techniques in communication systems | |
KR20240125045A (ko) | 통신 방법 및 장치 | |
Mismar et al. | A framework for automated cellular network tuning with reinforcement learning | |
Huang et al. | True-data testbed for 5G/B5G intelligent network | |
Qureshi et al. | Toward Addressing Training Data Scarcity Challenge in Emerging Radio Access Networks: A Survey and Framework | |
Wang et al. | Deep learning-based radio map for MIMO-OFDM downlink precoding | |
KR20240115239A (ko) | 시맨틱 기반 무선 통신 시스템에서 데이터를 전송하는 방법, 전송 기기, 프로세싱 장치 및 저장 매체, 그리고 데이터를 수신하는 방법, 수신 기기 및 저장 매체 | |
US20240171429A1 (en) | Communication method and apparatus | |
WO2024051789A1 (zh) | 一种波束管理方法 | |
WO2024169600A1 (zh) | 一种通信方法及装置 | |
CN114666812A (zh) | 信息处理的方法和装置 | |
US20240346384A1 (en) | Communication method and apparatus | |
EP4422317A1 (en) | Communication method and apparatus | |
Hu et al. | Cross-domain Learning Framework for Tracking Users in RIS-aided Multi-band ISAC Systems with Sparse Labeled Data | |
US20240211769A1 (en) | Communication method and apparatus | |
WO2024067193A1 (zh) | Ai模型训练中用于获取训练数据的方法以及通信装置 | |
EP4422094A1 (en) | Calibration method and apparatus | |
EP4407914A1 (en) | Communication method and apparatus | |
WO2024027424A1 (zh) | 一种数据质量度量方法及装置 | |
WO2024008004A1 (zh) | 一种通信方法及装置 | |
Yu et al. | ChannelGPT: A Large Model to Generate Digital Twin Channel for 6G Environment Intelligence | |
안용준 | A Study on Sensing and Deep Learning-aided Wireless Communications for Intelligent 6G | |
Mei et al. | Learning Aided Closed-loop Feedback: A Concurrent Dual Channel Information Feedback Mechanism for Wi-Fi | |
JP2024541498A (ja) | 通信方法および装置 |