주성분 분석을 이용한 연합학습 방법, 서버 및 클라이언트
FEDERATED LEARNING METHOD, SERVER AND CLIENTS USING PRINCIPAL COMPONENT ANALYSIS
특허 요약
본 발명은 주성분 분석을 이용한 연합학습 방법, 서버 및 클라이언트에 관한 것으로 클라이언트에서 학습을 통해 도출된 데이터셋의 칼럼별 적용할 가중치값으로 이뤄진 로컬 가중치 행렬을 주성분 분석을 이용해 압축하며, 네트워크 병목현상 발생을 방지하고 압축 해제시 정보손실을 줄여 높은 학습 정확도를 제공하는 주성분 분석을 이용한 연합학습 방법, 서버 및 클라이언트에 관한 것이다.
청구항
번호청구항
1

서버와 복수의 클라이언트에 의해 수행되는 연합학습 방법에 관한 것으로,상기 클라이언트에 포함된 학습모델에 입력되는 데이터셋의 차원에 대응하여 기설정된 크기의 행렬로 이루어지며 행렬값으로 데이터셋의 칼럼별로 적용할 가중치값을 가지는 글로벌 가중치 행렬을 전송하는 단계;상기 글로벌 가중치 행렬과 동일한 크기의 행렬로 이루어지며 행렬값으로 데이터셋의 칼럼별로 적용할 가중치값을 가지고 학습모델의 학습에 이용되는 로컬 가중치 행렬의 각 행과 열에 위치한 가중치값을 상기 글로벌 가중치 행렬에서 동일한 행과 열에 위치한 가중치값으로 갱신하며 상기 학습모델에 글로벌 가중치 행렬을 적용하는 단계;기설정된 차원의 데이터셋을 입력받아 학습을 수행하며 상기 데이터셋에 상기 로컬 가중치 행렬을 적용함에 따른 예측값과 상기 데이터셋에 대해 기설정된 정답값의 차이가 최소가 되도록 상기 로컬 가중치 행렬의 가중치값을 조정함에 따라 학습에 의해 조정된 가중치값을 가지는 로컬 가중치 행렬을 생성하는 단계;상기 글로벌 가중치 행렬에 상기 로컬 가중치 행렬을 빼서 그라디언트 행렬을 산출하는 단계;상기 그라디언트 행렬의 각 열에 속하는 행렬값을 평균함에 따라 각 열의 행렬값평균으로 구성된 열벡터 평균행렬을 산출하는 단계;상기 그라디언트 행렬에 상기 열벡터 평균행렬을 빼서 영-평균 행렬을 산출하는 단계;상기 영-평균 행렬에 대해 주성분 분석을 수행하여 적어도 하나의 주성분 벡터로 구성된 압축용 주성분 행렬을 생성하는 단계;상기 영-평균 행렬에 상기 압축용 주성분 행렬을 곱함에 따라 압축 행렬을 산출하는 단계; 및상기 압축 행렬로부터 로컬 가중치 행렬을 복원하여 글로벌 가중치 행렬을 업데이트 하는 단계;를 포함하는 주성분 분석을 이용한 연합학습 방법.

2

제1항에 있어서,상기 글로벌 가중치 행렬을 업데이트 하는 단계는상기 압축 행렬에 상기 압축용 주성분 행렬의 전치행렬을 곱해서 압축 해제된 행렬을 산출하는 단계와상기 압축 해제된 행렬과 상기 열벡터 평균행렬을 더해서 그라디언트 복원 행렬을 산출하는 단계와상기 글로벌 가중치 행렬에 상기 그라디언트 복원 행렬을 빼서 각 클라이언트에 대한 로컬 가중치 복원 행렬을 산출하는 단계와각 클라이언트에 대한 로컬 가중치 복원 행렬을 합산하여 연합학습에 참여한 클라이언트의 수로 나눠 평균 가중치 행렬을 산출하는 단계와글로벌 가중치 행렬을 상기 평균 가중치 행렬로 업데이트 하는 단계로 구성되는 것인 주성분 분석을 이용한 연합학습 방법.

3

서버와 복수의 클라이언트에 의해 수행되는 연합학습 방법에 관한 것으로,기설정된 크기의 행과 열을 구성하고 랜덤값을 각 행과 열의 행렬값으로 설정하며 랜덤 행렬을 생성하는 단계;상기 랜덤 행렬의 각 열에 속하는 행렬값을 평균함에 따라 각 열의 행렬값평균으로 구성된 상기 랜덤 행렬에 대한 열벡터 평균행렬을 산출하는 단계;상기 랜덤 행렬에 상기 랜덤 행렬에 대한 열벡터 평균행렬을 빼서 상기 랜덤 행렬에 대한 영-평균 행렬을 산출하는 단계;상기 랜덤 행렬에 대한 영-평균 행렬에 대해 주성분 분석을 수행하여 적어도 하나의 주성분 벡터로 구성된 압축용 주성분 행렬을 생성하는 단계;상기 압축용 주성분 행렬과 상기 클라이언트에 포함된 학습모델에 입력되는 데이터셋의 차원에 대응하여 기설정된 크기의 행렬로 이루어지며 행렬값으로 데이터셋의 칼럼별로 적용할 가중치값을 가지는 글로벌 가중치 행렬을 전송하는 단계;상기 글로벌 가중치 행렬과 동일한 크기의 행렬로 이루어지며 행렬값으로 데이터셋의 칼럼별로 적용할 가중치값을 가지고 학습모델의 학습에 이용되는 로컬 가중치 행렬의 각 행과 열에 위치한 가중치값을 상기 글로벌 가중치 행렬에서 동일한 행과 열에 위치한 가중치값으로 갱신하며 상기 학습모델에 글로벌 가중치 행렬을 적용하는 단계;기설정된 차원의 데이터셋을 입력받아 학습을 수행하며 상기 데이터셋에 상기 로컬 가중치 행렬을 적용함에 따른 예측값과 상기 데이터셋에 대해 기설정된 정답값의 차이가 최소가 되도록 상기 로컬 가중치 행렬의 가중치값을 조정함에 따라 학습에 의해 조정된 가중치값을 가지는 로컬 가중치 행렬을 생성하는 단계;상기 글로벌 가중치 행렬에 상기 로컬 가중치 행렬을 빼서 그라디언트 행렬을 산출하는 단계;상기 그라디언트 행렬의 각 열에 속하는 행렬값을 평균함에 따라 각 열의 행렬값평균으로 구성된 열벡터 평균행렬을 산출하는 단계;상기 그라디언트 행렬에 상기 열벡터 평균행렬을 빼서 영-평균 행렬을 산출하는 단계;상기 영-평균 행렬에 상기 압축용 주성분 행렬을 곱함에 따라 압축 행렬을 산출하는 단계; 및상기 압축 행렬로부터 로컬 가중치 행렬을 복원하여 글로벌 가중치 행렬을 업데이트 하는 단계;를 포함하는 주성분 분석을 이용한 연합학습 방법.

4

제3항에 있어서,상기 글로벌 가중치 행렬을 업데이트 하는 단계는상기 압축 행렬에 상기 압축용 주성분 행렬의 전치행렬을 곱해서 압축 해제된 행렬을 산출하는 단계와상기 압축 해제된 행렬과 상기 열벡터 평균행렬을 더해서 그라디언트 복원 행렬을 산출하는 단계와상기 글로벌 가중치 행렬에 상기 그라디언트 복원 행렬을 빼서 각 클라이언트에 대한 로컬 가중치 복원 행렬을 산출하는 단계와각 클라이언트에 대한 로컬 가중치 복원 행렬을 합산하여 연합학습에 참여한 클라이언트의 수로 나눠 평균 가중치 행렬을 산출하는 단계와글로벌 가중치 행렬을 상기 평균 가중치 행렬로 업데이트 하는 단계로 구성되는 것인 주성분 분석을 이용한 연합학습 방법.

5

서버와 복수의 클라이언트로 구성된 연합학습 시스템에서 연합학습을 수행하는 서버에 있어서,상기 클라이언트에 포함된 학습모델에 입력되는 데이터셋의 차원에 대응하여 기설정된 크기의 행렬로 이루어지며 행렬값으로 데이터셋의 칼럼별로 적용할 가중치값을 가지는 글로벌 가중치 행렬을 클라이언트로 전송하고,상기 글로벌 가중치 행렬을 클라이언트로 전송한 이후, 상기 글로벌 가중치 행렬과 동일한 크기의 행렬로 이루어지며 행렬값으로 데이터셋의 칼럼별로 적용할 가중치값을 가지고 학습모델의 학습에 이용되는 로컬 가중치 행렬의 각 행과 열에 위치한 가중치값을 상기 글로벌 가중치 행렬에서 동일한 행과 열에 위치한 가중치값으로 갱신하며 상기 학습모델에 글로벌 가중치 행렬을 적용하고, 기설정된 차원의 데이터셋을 입력받아 학습을 수행하며 상기 데이터셋에 상기 로컬 가중치 행렬을 적용함에 따른 예측값과 상기 데이터셋에 대해 기설정된 정답값의 차이가 최소가 되도록 상기 로컬 가중치 행렬의 가중치값을 조정함에 따라 학습에 의해 조정된 가중치값을 가지는 로컬 가중치 행렬을 생성하며, 상기 글로벌 가중치 행렬에 상기 로컬 가중치 행렬을 빼서 그라디언트 행렬을 산출하고, 상기 그라디언트 행렬의 각 열에 속하는 행렬값을 평균함에 따라 각 열의 행렬값평균으로 구성된 열벡터 평균행렬을 산출하며, 상기 그라디언트 행렬에 상기 열벡터 평균행렬을 빼서 영-평균 행렬을 산출하고, 상기 영-평균 행렬에 대해 주성분 분석을 수행하여 적어도 하나의 주성분 벡터로 구성된 압축용 주성분 행렬을 생성하고, 상기 영-평균 행렬에 상기 압축용 주성분 행렬을 곱함에 따라 압축 행렬을 산출하며, 상기 열벡터 평균행렬과 상기 압축용 주성분 행렬과 상기 압축 행렬을 전송하는 상기 클라이언트로부터 상기 열벡터 평균행렬과 상기 압축용 주성분 행렬과 상기 압축 행렬을 수신하며,상기 압축 행렬로부터 로컬 가중치 행렬을 복원하여 글로벌 가중치 행렬을 업데이트 하는 주성분 분석을 이용한 연합학습 서버.

6

제5항에 있어서,상기 주성분 분석을 이용한 연합학습 서버는상기 클라이언트로부터 상기 열벡터 평균행렬과 상기 압축용 주성분 행렬과 상기 압축 행렬을 수신하고,상기 압축 행렬에 상기 압축용 주성분 행렬의 전치행렬을 곱해서 압축 해제된 행렬을 산출하며,상기 압축 해제된 행렬과 상기 열벡터 평균행렬을 더해서 그라디언트 복원 행렬을 산출하고,상기 글로벌 가중치 행렬에 상기 그라디언트 복원 행렬을 빼서 각 클라이언트에 대한 로컬 가중치 복원 행렬을 산출하며,각 클라이언트에 대한 로컬 가중치 복원 행렬을 합산하여 연합학습에 참여한 클라이언트의 수로 나눠 평균 가중치 행렬을 산출하고,글로벌 가중치 행렬을 상기 평균 가중치 행렬로 업데이트 하는 것인 주성분 분석을 이용한 연합학습 서버.

7

서버와 복수의 클라이언트로 구성된 연합학습 시스템에서 연합학습을 수행하는 클라이언트에 있어서,상기 서버에서 학습모델에 입력되는 데이터셋의 차원에 대응하여 기설정된 크기의 행렬로 이루어지며 행렬값으로 데이터셋의 칼럼별로 적용할 가중치값을 가지는 글로벌 가중치 행렬이 전송된 것에 대응하여,상기 글로벌 가중치 행렬과 동일한 크기의 행렬로 이루어지며 행렬값으로 데이터셋의 칼럼별로 적용할 가중치값을 가지고 학습모델의 학습에 이용되는 로컬 가중치 행렬의 각 행과 열에 위치한 가중치값을 상기 글로벌 가중치 행렬에서 동일한 행과 열에 위치한 가중치값으로 갱신하며 상기 학습모델에 글로벌 가중치 행렬을 적용하고,기설정된 차원의 데이터셋을 입력받아 학습을 수행하며 상기 데이터셋에 상기 로컬 가중치 행렬을 적용함에 따른 예측값과 상기 데이터셋에 대해 기설정된 정답값의 차이가 최소가 되도록 상기 로컬 가중치 행렬의 가중치값을 조정함에 따라 학습에 의해 조정된 가중치값을 가지는 로컬 가중치 행렬을 생성하며,상기 글로벌 가중치 행렬에 상기 로컬 가중치 행렬을 빼서 그라디언트 행렬을 산출하고,상기 그라디언트 행렬의 각 열에 속하는 행렬값을 평균함에 따라 각 열의 행렬값평균으로 구성된 열벡터 평균행렬을 산출하며,상기 그라디언트 행렬에 상기 열벡터 평균행렬을 빼서 영-평균 행렬을 산출하고,상기 영-평균 행렬에 대해 주성분 분석을 수행하여 적어도 하나의 주성분 벡터로 구성된 압축용 주성분 행렬을 생성하며,상기 영-평균 행렬에 상기 압축용 주성분 행렬을 곱함에 따라 압축 행렬을 산출하고,상기 열벡터 평균행렬과 상기 압축용 주성분 행렬과 상기 압축 행렬을 상기 서버로 전송하는 주성분 분석을 이용한 연합학습 클라이언트.

8

서버와 복수의 클라이언트로 구성된 연합학습 시스템에서 연합학습을 수행하는 서버에 있어서,기설정된 크기의 행과 열을 구성하고 랜덤값을 각 행과 열의 행렬값으로 설정하며 랜덤 행렬을 생성하고,상기 랜덤 행렬의 각 열에 속하는 행렬값을 평균함에 따라 각 열의 행렬값평균으로 구성된 상기 랜덤 행렬에 대한 열벡터 평균행렬을 산출하며,상기 랜덤 행렬에 상기 랜덤 행렬에 대한 열벡터 평균행렬을 빼서 상기 랜덤 행렬에 대한 영-평균 행렬을 산출하고,상기 랜덤 행렬에 대한 영-평균 행렬에 대해 주성분 분석을 수행하여 적어도 하나의 주성분 벡터로 구성된 압축용 주성분 행렬을 생성하며,상기 압축용 주성분 행렬과 상기 클라이언트에 포함된 학습모델에 입력되는 데이터셋의 차원에 대응하여 기설정된 크기의 행렬로 이루어지며 행렬값으로 데이터셋의 칼럼별로 적용할 가중치값을 가지는 글로벌 가중치 행렬을 전송하고,상기 글로벌 가중치 행렬을 클라이언트로 전송한 이후, 상기 글로벌 가중치 행렬과 동일한 크기의 행렬로 이루어지며 행렬값으로 데이터셋의 칼럼별로 적용할 가중치값을 가지고 학습모델의 학습에 이용되는 로컬 가중치 행렬의 각 행과 열에 위치한 가중치값을 상기 글로벌 가중치 행렬에서 동일한 행과 열에 위치한 가중치값으로 갱신하며 상기 학습모델에 글로벌 가중치 행렬을 적용하고, 기설정된 차원의 데이터셋을 입력받아 학습을 수행하며 상기 데이터셋에 상기 로컬 가중치 행렬을 적용함에 따른 예측값과 상기 데이터셋에 대해 기설정된 정답값의 차이가 최소가 되도록 상기 로컬 가중치 행렬의 가중치값을 조정함에 따라 학습에 의해 조정된 가중치값을 가지는 로컬 가중치 행렬을 생성하며, 상기 글로벌 가중치 행렬에 상기 로컬 가중치 행렬을 빼서 그라디언트 행렬을 산출하고, 상기 그라디언트 행렬의 각 열에 속하는 행렬값을 평균함에 따라 각 열의 행렬값평균으로 구성된 열벡터 평균행렬을 산출하며, 상기 그라디언트 행렬에 상기 열벡터 평균행렬을 빼서 영-평균 행렬을 산출하고, 상기 영-평균 행렬에 상기 압축용 주성분 행렬을 곱함에 따라 압축 행렬을 산출하며, 상기 열벡터 평균행렬과 상기 압축용 주성분 행렬과 상기 압축 행렬을 전송하는 클라이언트로부터 상기 열벡터 평균행렬과 상기 압축 행렬을 수신하며,상기 압축 행렬로부터 로컬 가중치 행렬을 복원하여 글로벌 가중치 행렬을 업데이트 하는 주성분 분석을 이용한 연합학습 서버.

9

제8항에 있어서,상기 주성분 분석을 이용한 연합학습 서버는상기 클라이언트로부터 상기 열벡터 평균행렬과 상기 압축용 주성분 행렬과 상기 압축 행렬을 수신하고,상기 압축 행렬에 상기 압축용 주성분 행렬의 전치행렬을 곱해서 압축 해제된 행렬을 산출하며,상기 압축 해제된 행렬과 상기 열벡터 평균행렬을 더해서 그라디언트 복원 행렬을 산출하고,상기 글로벌 가중치 행렬에 상기 그라디언트 복원 행렬을 빼서 각 클라이언트에 대한 로컬 가중치 복원 행렬을 산출하며,각 클라이언트에 대한 로컬 가중치 복원 행렬을 합산하여 연합학습에 참여한 클라이언트의 수로 나눠 평균 가중치 행렬을 산출하고,글로벌 가중치 행렬을 상기 평균 가중치 행렬로 업데이트 하는 것인 주성분 분석을 이용한 연합학습 서버.

10

서버와 복수의 클라이언트로 구성된 연합학습 시스템에서 연합학습을 수행하는 클라이언트에 있어서,기설정된 크기의 행과 열을 구성하고 랜덤값을 각 행과 열의 행렬값으로 설정하며 랜덤 행렬을 생성하고, 상기 랜덤 행렬의 각 열에 속하는 행렬값을 평균함에 따라 각 열의 행렬값평균으로 구성된 상기 랜덤 행렬에 대한 열벡터 평균행렬을 산출하며, 상기 랜덤 행렬에 상기 랜덤 행렬에 대한 열벡터 평균행렬을 빼서 상기 랜덤 행렬에 대한 영-평균 행렬을 산출하고, 상기 랜덤 행렬에 대한 영-평균 행렬에 대해 주성분 분석을 수행하여 적어도 하나의 주성분 벡터로 구성된 압축용 주성분 행렬을 생성하며, 상기 압축용 주성분 행렬과 상기 클라이언트에 포함된 학습모델에 입력되는 데이터셋의 차원에 대응하여 기설정된 크기의 행렬로 이루어지며 행렬값으로 데이터셋의 칼럼별로 적용할 가중치값을 가지는 글로벌 가중치 행렬을 전송하는 서버로부터 상기 압축용 주성분 행렬과 상기 글로벌 가중치 행렬을 수신하고,상기 글로벌 가중치 행렬과 동일한 크기의 행렬로 이루어지며 행렬값으로 데이터셋의 칼럼별로 적용할 가중치값을 가지고 학습모델의 학습에 이용되는 로컬 가중치 행렬의 각 행과 열에 위치한 가중치값을 상기 글로벌 가중치 행렬에서 동일한 행과 열에 위치한 가중치값으로 갱신하며 상기 학습모델에 글로벌 가중치 행렬을 적용하며,기설정된 차원의 데이터셋을 입력받아 학습을 수행하며 상기 데이터셋에 상기 로컬 가중치 행렬을 적용함에 따른 예측값과 상기 데이터셋에 대해 기설정된 정답값의 차이가 최소가 되도록 상기 로컬 가중치 행렬의 가중치값을 조정함에 따라 학습에 의해 조정된 가중치값을 가지는 로컬 가중치 행렬을 생성하고,상기 글로벌 가중치 행렬에 상기 로컬 가중치 행렬을 빼서 그라디언트 행렬을 산출하며,상기 그라디언트 행렬의 각 열에 속하는 행렬값을 평균함에 따라 각 열의 행렬값평균으로 구성된 열벡터 평균행렬을 산출하고,상기 그라디언트 행렬에 상기 열벡터 평균행렬을 빼서 영-평균 행렬을 산출하며,상기 영-평균 행렬에 상기 압축용 주성분 행렬을 곱함에 따라 압축 행렬을 산출하고,상기 열벡터 평균행렬과 상기 압축 행렬을 상기 서버로 전송하는 주성분 분석을 이용한 연합학습 클라이언트.