가중치 균형화를 위한 연합 학습 시스템, 연합 학습 장치 및 방법
FEDERATED LEARNING SYSTEM FOR WEIGHT BALANCING, METHOD AND APPARATUS FOR PROVIDING FEDERATED LEARNING
특허 요약
본 발명은 가중치 균형화를 위한 연합 학습 시스템에 관한 것으로, 중앙 학습 모델을 포함하는 중앙 서버; 및 상기 중앙 학습 모델과 연합 학습을 수행하는 지역 학습 모델을 각각 포함하는 복수의 클라이언트 장치;를 포함하고, 상기 중앙 서버는 상기 중앙 학습 모델의 상태정보를 상기 복수의 클라이언트 장치 중 적어도 하나의 클라이언트 장치에 송신하고, 상기 적어도 하나의 클라이언트 장치로부터 상기 지역 학습 모델의 상태정보를 수신하며, 상기 지역 학습 모델의 상태정보를 기초로 상기 중앙 학습 모델을 업데이트하고, 상기 적어도 하나의 클라이언트 장치는 상기 중앙 학습 모델의 상태정보를 상기 지역 학습 모델에 업로드한 후 개별 학습 데이터를 사용하여 상기 지역 학습 모델을 학습하고, 상기 지역 학습 모델 내 학습된 상태정보를 상기 중앙 서버에 송신하되, 상기 적어도 하나의 클라이언트 장치는 상기 지역 학습 모델 내의 클래스의 분포도를 고려한 지역 균형(local balancing) 방식으로 상기 지역 학습 모델을 학습하고, 상기 지역 균형 방식으로 학습된 상기 지역 학습 모델을 상기 중앙 서버로 송신하며, 상기 중앙 서버는 상기 지역 균형 방식으로 학습된 상기 지역 학습 모델의 상태정보를 수신하여 집계 균형(aggregation balancing) 방식으로 상기 중앙 학습 모델을 학습할 수 있다.
청구항
번호청구항
13

제 12 항에 있어서,상기 차이의 계산은 상기 중앙 학습 모델과 상기 지역 학습 모델의 분류기에 대해서만 수행되는연합 학습 장치.

14

제 11 항에 있어서,상기 확률 분포화는 소프트맥스 함수가 적용되는연합 학습 장치.

12

제 11 항에 있어서,상기 유사도는 코사인 유사도이며,상기 코사인 유사도를 기초로 상기 중앙 학습 모델의 상태정보와 상기 지역 학습 모델의 상태정보 간의 차이를 계산하는연합 학습 장치.

1

중앙 학습 모델을 포함하는 중앙 서버; 및상기 중앙 학습 모델과 연합 학습을 수행하는 지역 학습 모델을 각각 포함하는 복수의 클라이언트 장치;를 포함하고,상기 중앙 서버는 상기 중앙 학습 모델의 상태정보를 상기 복수의 클라이언트 장치 중 적어도 하나의 클라이언트 장치에 송신하고, 상기 적어도 하나의 클라이언트 장치로부터 상기 지역 학습 모델의 상태정보를 수신하며, 상기 지역 학습 모델의 상태정보를 기초로 상기 중앙 학습 모델을 업데이트하고,상기 적어도 하나의 클라이언트 장치는 상기 중앙 학습 모델의 상태정보를 상기 지역 학습 모델에 업로드한 후 개별 학습 데이터를 사용하여 상기 지역 학습 모델을 학습하고, 상기 지역 학습 모델 내 학습된 상태정보를 상기 중앙 서버에 송신하되,상기 적어도 하나의 클라이언트 장치는 상기 지역 학습 모델 내의 클래스의 분포도를 고려한 지역 균형(local balancing) 방식으로 상기 지역 학습 모델을 학습하고, 상기 지역 균형 방식으로 학습된 상기 지역 학습 모델을 상기 중앙 서버로 송신하며,상기 중앙 서버는 상기 지역 균형 방식으로 학습된 상기 지역 학습 모델의 상태정보를 수신하여 집계 균형(aggregation balancing) 방식으로 상기 중앙 학습 모델을 학습하는연합 학습 시스템.

2

제 1 항에 있어서,상기 적어도 하나의 클라이언트 장치는,상기 클래스의 분포도를 계산하고, 상기 계산의 결과를 기초로 상기 지역 학습 모델에 대한 학습률을 차등 설정하는연합 학습 시스템.

3

제 2 항에 있어서,상기 적어도 하나의 클라이언트 장치는,상기 클래스로부터 레이블(label)의 개수를 카운트하여 상기 분포도를 계산하고, 상기 계산의 결과를 기초로 임계값 미만의 분포도를 갖는 클래스에 대해 학습 우선도를 부여하여 학습률을 높이는연합 학습 시스템.

4

제 1 항에 있어서,상기 중앙 서버는,상기 적어도 하나의 클라이언트 장치로부터 상기 지역 학습 모델의 상태정보를 수집하고, 모든 클라이언트 장치에 대한 상태정보 수집이 완료되면 상기 지역 학습 모델의 상태정보를 상기 중앙 학습 모델에 반영하는연합 학습 시스템.

5

제 4 항에 있어서,상기 중앙 서버는 코사인 유사도(cosine similarity)를 기반으로 상기 중앙 학습 모델의 상태정보와 각각의 지역 학습 모델의 상태정보 간의 차이를 계산하는연합 학습 시스템.

6

제 5 항에 있어서,상기 차이의 계산은 상기 중앙 학습 모델과 상기 지역 학습 모델의 분류기(classifier)에 대해서만 수행되는연합 학습 시스템.

7

제 5 항에 있어서,상기 중앙 서버는 상기 차이를 기초로 임계값을 산출하여 상기 중앙 학습 모델과 상기 지역 학습 모델 간의 이상치(outlier)를 보정하는연합 학습 시스템.

8

제 7 항에 있어서,상기 중앙 서버는 상기 이상치를 보정한 후 확률 분포화를 수행하고, 상기 확률 분포화의 수행 결과를 기초로 상기 지역 학습 모델의 상태정보를 상기 중앙 학습 모델에 반영하는연합 학습 시스템.

9

제 8 항에 있어서,상기 확률 분포화는 소프트맥스(softmax) 함수가 적용되는연합 학습 시스템.

10

제 1 항에 있어서,상기 연합 학습 시스템은 상기 지역 균형과 상기 집계 균형을 결합한 가중치 균형화를 제공하는연합 학습 시스템.

11

적어도 하나의 클라이언트 장치로부터 지역 균형 방식으로 학습된 지역 학습 모델의 상태정보를 수집하고,상기 상태정보의 수집이 완료되면 내부에 저장된 중앙 학습 모델과의 유사도를 계산하며,상기 유사도를 기초로 상기 중앙 학습 모델과 상기 지역 학습 모델 간의 이상치를 보정하고,상기 이상치를 기초로 확률 분포화를 수행하여 상기 지역 학습 모델의 상태정보를 상기 중앙 학습 모델에 반영하는연합 학습 장치.

15

중앙 서버 및 복수의 클라이언트 장치를 포함하는 연합 학습 시스템의 연합 학습 방법에 있어서,상기 중앙 서버가 중앙 학습 모델의 상태정보를 상기 복수의 클라이언트 장치 중 적어도 하나의 클라이언트 장치에 송신하는 단계;상기 적어도 하나의 클라이언트 장치가 지역 학습 모델에 상기 상태정보를 업로드한 후 개별 학습 데이터를 사용하여 상기 지역 학습 모델을 학습하는 단계;상기 적어도 하나의 클라이언트 장치가 상기 지역 학습 모델 내 개별 학습된 상태정보를 상기 중앙 서버에 송신하는 단계; 및상기 중앙 서버가 상기 적어도 하나의 클라이언트 장치로부터 수신된 상기 개별 학습된 상태정보를 이용하여 상기 중앙 학습 모델을 업데이트하는 단계;를 포함하되,상기 지역 학습 모델을 학습하는 단계는 상기 지역 학습 모델 내의 클래스의 분포도를 고려한 지역 균형 방식으로 상기 지역 학습 모델을 학습하는 단계를 포함하고,상기 중앙 학습 모델을 업데이트하는 단계는 상기 지역 균형 방식으로 학습된 상기 지역 학습 모델의 상태정보를 수신하여 집계 균형 방식으로 상기 중앙 학습 모델을 학습하는 단계를 포함하는연합 학습 시스템의 연합 학습 방법.

16

제 15 항에 있어서,상기 지역 학습 모델을 학습하는 단계는,상기 클래스의 분포도를 계산하는 단계; 및상기 계산의 결과를 기초로 상기 지역 학습 모델에 대한 학습률을 차등 설정하는 단계;를 더 포함하는연합 학습 시스템의 연합 학습 방법.

17

제 16 항에 있어서,상기 지역 학습 모델을 학습하는 단계는,상기 클래스로부터 레이블의 개수를 카운트하여 상기 분포도를 계산하는 단계; 및상기 계산의 결과를 기초로 임계값 미만의 분포도를 갖는 클래스에 대해 학습 우선도를 부여하여 학습률을 높이는 단계;를 더 포함하는연합 학습 시스템의 연합 학습 방법.

18

제 15 항에 있어서,상기 중앙 학습 모델을 업데이트하는 단계는,상기 적어도 하나의 클라이언트 장치로부터 상기 지역 학습 모델의 상태정보를 수집하는 단계; 및상기 복수의 클라이언트 장치에 대한 상태정보 수집이 완료되면 상기 지역 학습 모델의 상태정보를 상기 중앙 학습 모델에 반영하는 단계;를 더 포함하는연합 학습 시스템의 연합 학습 방법.

19

제 18 항에 있어서,상기 중앙 학습 모델을 업데이트하는 단계는,코사인 유사도를 기반으로 상기 중앙 학습 모델의 상태정보와 각각의 지역 학습 모델의 상태정보 간의 차이를 계산하는 단계를 더 포함하는연합 학습 시스템의 연합 학습 방법.

20

제 19 항에 있어서,상기 차이의 계산은 상기 중앙 학습 모델과 상기 지역 학습 모델의 분류기에 대해서만 수행되는연합 학습 시스템의 연합 학습 방법.

21

제 19 항에 있어서,상기 중앙 학습 모델을 업데이트하는 단계는,상기 차이를 기초로 임계값을 산출하여 상기 중앙 학습 모델과 상기 지역 학습 모델 간의 이상치를 보정하는 단계를 더 포함하는연합 학습 시스템의 연합 학습 방법.

22

제 21 항에 있어서,상기 중앙 학습 모델을 업데이트하는 단계는,상기 이상치를 보정한 후 확률 분포화를 수행하는 단계; 및상기 확률 분포화의 수행 결과를 기초로 상기 지역 학습 모델의 상태정보를 상기 중앙 학습 모델에 반영하는 단계;를 더 포함하는연합 학습 시스템의 연합 학습 방법.

23

제 22 항에 있어서,상기 확률 분포화는 소프트맥스 함수가 적용되는연합 학습 시스템의 연합 학습 방법.

24

제 15 항에 있어서,상기 연합 학습 방법은 상기 지역 균형과 상기 집계 균형을 결합한 가중치 균형화를 제공하는 단계를 더 포함하는연합 학습 시스템의 연합 학습 방법.

25

컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,상기 컴퓨터 프로그램은,중앙 서버 및 복수의 클라이언트 장치를 포함하는 연합 학습 시스템의 연합 학습 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하고,상기 방법은,상기 중앙 서버가 중앙 학습 모델의 상태정보를 상기 복수의 클라이언트 장치 중 적어도 하나의 클라이언트 장치에 송신하는 단계;상기 적어도 하나의 클라이언트 장치가 지역 학습 모델에 상기 상태정보를 업로드한 후 개별 학습 데이터를 사용하여 상기 지역 학습 모델을 학습하는 단계;상기 적어도 하나의 클라이언트 장치가 상기 지역 학습 모델 내 개별 학습된 상태정보를 상기 중앙 서버에 송신하는 단계; 및상기 중앙 서버가 상기 적어도 하나의 클라이언트 장치로부터 수신된 상기 개별 학습된 상태정보를 이용하여 상기 중앙 학습 모델을 업데이트하는 단계;를 포함하되,상기 지역 학습 모델을 학습하는 단계는 상기 지역 학습 모델 내의 클래스의 분포도를 고려한 지역 균형 방식으로 상기 지역 학습 모델을 학습하는 단계를 포함하고,상기 중앙 학습 모델을 업데이트하는 단계는 상기 지역 균형 방식으로 학습된 상기 지역 학습 모델의 상태정보를 수신하여 집계 균형 방식으로 상기 중앙 학습 모델을 학습하는 단계를 포함하는컴퓨터 판독 가능한 기록매체.

26

컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램으로서,상기 컴퓨터 프로그램은,중앙 서버 및 복수의 클라이언트 장치를 포함하는 연합 학습 시스템의 연합 학습 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하고,상기 방법은,상기 중앙 서버가 중앙 학습 모델의 상태정보를 상기 복수의 클라이언트 장치 중 적어도 하나의 클라이언트 장치에 송신하는 단계;상기 적어도 하나의 클라이언트 장치가 지역 학습 모델에 상기 상태정보를 업로드한 후 개별 학습 데이터를 사용하여 상기 지역 학습 모델을 학습하는 단계;상기 적어도 하나의 클라이언트 장치가 상기 지역 학습 모델 내 개별 학습된 상태정보를 상기 중앙 서버에 송신하는 단계; 및상기 중앙 서버가 상기 적어도 하나의 클라이언트 장치로부터 수신된 상기 개별 학습된 상태정보를 이용하여 상기 중앙 학습 모델을 업데이트하는 단계;를 포함하되,상기 지역 학습 모델을 학습하는 단계는 상기 지역 학습 모델 내의 클래스의 분포도를 고려한 지역 균형 방식으로 상기 지역 학습 모델을 학습하는 단계를 포함하고,상기 중앙 학습 모델을 업데이트하는 단계는 상기 지역 균형 방식으로 학습된 상기 지역 학습 모델의 상태정보를 수신하여 집계 균형 방식으로 상기 중앙 학습 모델을 학습하는 단계를 포함하는기록매체에 저장된 컴퓨터 프로그램.