KR20240045837A - 향상된 표상을 위한 연합 학습 시스템, 클라이언트 장치 및 방법 - Google Patents

향상된 표상을 위한 연합 학습 시스템, 클라이언트 장치 및 방법 Download PDF

Info

Publication number
KR20240045837A
KR20240045837A KR1020220125654A KR20220125654A KR20240045837A KR 20240045837 A KR20240045837 A KR 20240045837A KR 1020220125654 A KR1020220125654 A KR 1020220125654A KR 20220125654 A KR20220125654 A KR 20220125654A KR 20240045837 A KR20240045837 A KR 20240045837A
Authority
KR
South Korea
Prior art keywords
learning model
local
learning
extraction unit
dimensional
Prior art date
Application number
KR1020220125654A
Other languages
English (en)
Inventor
윤세영
김성윤
정우진
배상민
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020220125654A priority Critical patent/KR20240045837A/ko
Priority to US18/472,393 priority patent/US20240112040A1/en
Publication of KR20240045837A publication Critical patent/KR20240045837A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

일 실시예에 따른 연합 학습 시스템은, 중앙 학습 모델을 포함하는 중앙 서버; 및 상기 중앙 학습 모델과 연합 학습을 하는 지역 학습 모델을 각각 포함하는 복수의 클라이언트 장치를 포함하고, 상기 중앙 서버는 상기 중앙 학습 모델 내 추출부의 상태정보를 상기 복수의 클라이언트 장치 중 적어도 하나의 클라이언트 장치에 송신하고, 상기 적어도 하나의 클라이언트 장치로부터 상기 지역 학습 모델 내 추출부의 상태정보를 수신하며, 상기 수신된 상태정보를 이용하여 상기 중앙 학습 모델 내 추출부를 업데이트하며, 상기 적어도 하나의 클라이언트 장치는 상기 지역 학습 모델 내 추출부에 상기 상태정보를 업로드한 후 개별 학습 데이터를 사용해 상기 지역 학습 모델 내 추출부 및 분류부를 학습하고, 상기 지역 학습 모델 내 학습된 추출부의 상태정보를 상기 중앙 서버에 전송한다.

Description

향상된 표상을 위한 연합 학습 시스템, 클라이언트 장치 및 방법{SYSTEM, CLIENT APPATUS AND METHODS FOR FEDERATED LEARNING OF ENHANCED REPRESENTATION}
본 발명은 향상된 표상(represent)을 위한 연합 학습(federated learning) 시스템, 이러한 연합 학습 시스템을 구성하는 클라이언트 장치, 이들에 의한 연합 학습 방법에 관한 것이다.
최근 클라우드 및 빅데이터 기술의 발전으로 다양한 서비스에 인공 지능(artificial intelligence, AI) 기술이 적용되고 있다. 이러한 인공 지능 기술을 서비스에 적용하기 위해서는 많은 양의 데이터를 바탕으로 인공 지능 모델을 학습하는 절차가 선행되어야 한다.
인공 지능 모델의 학습에는 대규모 계산을 수행하기 위해 상당한 컴퓨터 리소스가 필요하다. 일 예로, 클라우드 컴퓨팅 서비스는 복잡한 하드웨어 및 소프트웨어 설치 없이 인공 지능 모델을 학습할 수 있도록 클라우드 컴퓨팅 인프라를 제공하는 서비스이다. 클라우드 컴퓨팅은 리소스의 중앙 집중화를 기반으로 하기 때문에 필요한 모든 데이터를 클라우드 메모리에 저장하고 모델 학습에 활용해야 한다. 데이터 중앙 집중화는 효율성 극대화라는 관점에서 많은 이점을 제공하지만, 사용자 개인 데이터의 유출 위험이 있으며 데이터 전송이 수반됨에 따라 상당한 네트워크 비용이 발생한다.
최근 이러한 문제를 극복하기 위해 연합 학습이 활발히 연구되고 있다. 연합 학습이란 기존처럼 사용자 개인 데이터를 중앙에 모아서 학습하는 것이 아니라, 여러 클라이언트 장치가 보유한 개별 데이터를 기초로 각 클라이언트 장치가 직접 학습한 모델을 중앙으로 취합하는 형식의 학습 방법이다. 이러한 연합 학습은 사용자 개인 데이터를 중앙으로 수집하는 것이 아니기 때문에 사생활 침해 소지가 적고, 갱신된 모델의 파라미터 등과 같은 상태정보만을 전송할 수 있기에 네트워크 비용이 절감될 수 있다.
대한민국 공개특허공보 제10-2021-0132500호, 2021년11월04일 공개, 연합 학습 시스템 및 방법
실시예에 따르면, 표상의 향상을 통해 연합 학습의 성능을 향상시키는 연합 학습 시스템, 이러한 연합 학습 시스템을 구성하는 클라이언트 장치, 이들에 의한 연합 학습 방법을 제공한다.
본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
제 1 관점에 따른 연합 학습 시스템은, 중앙 학습 모델을 포함하는 중앙 서버; 및 상기 중앙 학습 모델과 연합 학습을 하는 지역 학습 모델을 각각 포함하는 복수의 클라이언트 장치를 포함하고, 상기 중앙 서버는 상기 중앙 학습 모델 내 추출부의 상태정보를 상기 복수의 클라이언트 장치 중 적어도 하나의 클라이언트 장치에 송신하고, 상기 적어도 하나의 클라이언트 장치로부터 상기 지역 학습 모델 내 추출부의 상태정보를 수신하며, 상기 수신된 상태정보를 이용하여 상기 중앙 학습 모델 내 추출부를 업데이트하며, 상기 적어도 하나의 클라이언트 장치는 상기 지역 학습 모델 내 추출부에 상기 상태정보를 업로드한 후 개별 학습 데이터를 사용해 상기 지역 학습 모델 내 추출부 및 분류부를 학습하고, 상기 지역 학습 모델 내 학습된 추출부의 상태정보를 상기 중앙 서버에 전송한다.
제 2 관점에 따른 클라이언트 장치는, 중앙 학습 모델을 포함하는 중앙 서버 및 다른 클라이언트 장치와 연합 학습을 하는 지역 학습 모델을 포함하고, 상기 지역 학습 모델 내 추출부에 상기 중앙 학습 모델 내 추출부의 상태정보가 업로드된 후 개별 학습 데이터를 사용해 상기 지역 학습 모델 내 추출부 및 분류부를 학습하며, 상기 지역 학습 모델 내 학습된 추출부의 상태정보를 상기 중앙 서버에 전송하여 상기 중앙 학습 모델 내 추출부에 업데이트되도록 한다.
제 3 관점에 따른 중앙 서버 및 복수의 클라이언트 장치가 수행하는 연합 학습 방법은, 상기 중앙 서버가 중앙 학습 모델 내 추출부의 상태정보를 상기 복수의 클라이언트 장치 중 적어도 하나의 클라이언트 장치에 송신하는 과정; 상기 적어도 하나의 클라이언트 장치가 지역 학습 모델 내 추출부에 상기 상태정보를 업로드한 후 개별 학습 데이터를 사용해 상기 지역 학습 모델 내 추출부 및 분류부를 학습하는 과정; 상기 적어도 하나의 클라이언트 장치가 상기 지역 학습 모델 내 학습된 추출부의 상태정보를 상기 중앙 서버에 송신하는 과정; 상기 중앙 서버가 상기 적어도 하나의 클라이언트 장치로부터 수신된 상기 학습된 추출부의 상태정보를 이용하여 상기 중앙 학습 모델 내 추출부를 업데이트하는 과정을 포함한다.
제 4 관점에 따른 지역 학습 모델을 포함하는 클라이언트 장치가 중앙 학습 모델을 포함하는 중앙 서버 및 다른 클라이언트 장치와 연합 학습을 하는 방법은, 상기 지역 학습 모델 내 추출부에 상기 중앙 학습 모델 내 추출부의 상태정보가 업로드된 후 개별 학습 데이터를 사용해 상기 지역 학습 모델 내 추출부 및 분류부를 학습하는 과정; 상기 지역 학습 모델 내 학습된 추출부의 상태정보를 상기 중앙 서버에 전송하여 상기 중앙 학습 모델 내 추출부에 업데이트되도록 하는 과정을 포함한다.
제 5 관점에 따른 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체는, 상기 컴퓨터 프로그램이, 상기 클라이언트 장치의 연합 학습 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함한다.
제 6 관점에 따른 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램은, 상기 컴퓨터 프로그램이, 상기 클라이언트 장치의 연합 학습 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함한다.
실시예에 따르면, 중앙 학습 모델 내 추출부의 상태정보를 클라이언트 장치에 송신하고, 클라이언트 장치는 수신한 상태정보를 개별 학습 모델 내 추출부에 업로드한 후 개별 학습 데이터를 이용해 추출부 및 분류부에 대한 학습을 수행하며, 학습을 통해 갱신된 상태정보를 중앙 서버로 송신하는 연합 학습을 통해, 표상의 향상을 도모함으로써 최종적으로는 연합 학습의 성능이 향상되는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 연합 학습 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 연합 학습 시스템에 사용되는 연합 학습 모델의 구조를 나타낸 예시도이다.
도 3은 본 발명의 일 실시예에 따라 중앙 서버가 각 클라이언트 장치에 상태정보를 전송하고, 각 클라이언트 장치가 개별 학습 데이터를 학습하는 동작을 나타낸 예시도이다.
도 4는 본 발명의 일 실시예에 따라 각 클라이언트 장치가 갱신된 상태정보를 중앙 서버에 전송하고, 중앙 서버가 각 클라이언트 장치의 갱신된 상태정보를 취합하여 연합 학습 모델 내 추출부를 업데이트하는 동작을 나타낸 예시도이다.
도 5는 본 발명의 실시예에 따라 각 클라이언트 장치가 지식 증류 기법으로 지역 학습 모델 내 분류부 및 추출부를 학습하는 동작을 나타낸 예시도이다.
도 6은 본 발명의 실시예에 따라 각 클라이언트 장치가 연합 학습 방법을 수행하는 신호 처리 과정을 나타낸 흐름도이다.
도 7은 본 발명의 실시예에 따른 중앙 서버와 클라이언트 장치에 의한 연합 학습의 결과에 대한 평가 과정을 나타낸 예시도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 '부'라는 용어는 소프트웨어 또는 FPGA나 ASIC과 같은 하드웨어 구성요소를 의미하며, '부'는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부'들로 결합되거나 추가적인 구성요소들과 '부'들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1은 본 발명의 일 실시예에 따른 연합 학습 시스템(10)의 구성도이다.
도 1을 참조하면, 일 실시예에 따른 연합 학습 시스템(10)은 중앙 서버(100) 및 복수의 클라이언트 장치(200)를 포함할 수 있다.
중앙 서버(100) 및 클라이언트 장치(200)는 메모리 및 프로세서를 포함하는 컴퓨팅 장치로서, 메모리에 저장된 명령어와 프로세서의 연산에 의해 전반적인 동작이 수행될 수 있다.
중앙 서버(100) 및 클라이언트 장치(200)는 연합 학습을 수행하기 위해 동일한 구조로 설계된 인공지능 신경망 모델을 저장할 수 있다.
이하, 본 문서의 실시예에 따른 연합 학습을 설명함에 있어서, 중앙 서버(100)에 저장된 연합 학습 모델을 '중앙 학습 모델'로 지칭하기로 하고, 복수의 클라이언트 장치(200)에 각각 저장된 연합 학습 모델을 '지역 학습 모델'로 구분하여 지칭하기로 한다.
연합 학습 시스템(10)을 구성하는 중앙 서버(100) 및 클라이언트 장치(200)가 연합 학습 모델을 학습시키는 개괄적인 동작은 다음과 같다.
먼저, 중앙 서버(100)는 중앙 학습 모델에 설정되어 있는 파라미터 값 등과 같은 상태정보를 각 클라이언트 장치(200)에 전송할 수 있다.
다음으로, 각 클라이언트 장치(200)는 개별 학습 데이터를 사용해 지역 학습 모델을 학습시키고, 학습된 지역 학습 모델의 파라미터 등의 상태정보를 중앙 서버(100)에 전송할 수 있다.
이후, 중앙 서버(100)는 각 클라이언트 장치(200)가 학습한 지역 학습 모델의 상태정보를 취합하여 중앙 학습 모델의 상태정보를 업데이트 할 수 있다.
이처럼, 중앙 서버(100)가 클라이언트 장치(200)에 상태정보를 전송하여 새롭게 학습된 상태정보를 취합한 후 모델을 업데이트하는 일련의 과정을 연합 학습의 한 라운드로 이해할 수 있다. 연합 학습의 라운드는 설계에 따라 복수의 라운드로 진행될 수 있으며, 최종 라운드가 진행된 이후 최종 업데이트된 중앙 학습 모델의 상태정보 및 각 지역 학습 모델의 상태정보를 획득할 수 있다.
이때 중앙 서버(100)는 소정의 방식(ex. FedAvg, FedSGD, FedMA 등)에 따라, 연합 학습의 라운드 마다 복수의 클라이언트 장치(200) 중 일부 클라이언트 장치(200)를 샘플링 등을 통해 적어도 하나의 클라이언트 장치(200)를 선별하여 상태정보를 전송할 수 있다.
이때 중앙 서버(100)는 소정의 방식(ex. FedAvg, FedSGD, FedMA 등)에 따라, 적어도 하나의 클라이언트 장치(200)로부터 취합된 상태정보의 평균값 등을 반영해 중앙 학습 모델의 상태정보를 업데이트할 수 있다.
도 2는 본 발명의 일 실시예에 따른 연합 학습 시스템(10)에 사용되는 중앙 학습 모델 및 지역 학습 모델의 구조를 나타낸 예시도이다.
도 2를 참조하면, 일 실시예에 따른 중앙 학습 모델 및 지역 학습 모델은 입력 레이어, 은닉 레이어 및 출력 레이어로 구성된 신경망 네트워크를 포함할 수 있다. 일 실시예에 따른 연합 학습 시스템(10)은 연합 학습 모델의 은닉 레이어를 추출부(extractor)와 분류부(classifier)로 한 번 더 구분한다.
추출부는 연합 학습 모델을 구성하는 레이어 중 입력 레이어와 맞닿는 최전단의 레이어부터 은닉 레이어의 최후단에 해당하는 레이어의 바로 앞단까지의 레이어를 포함할 수 있다. 예를 들어, 추출부는 소정의 특징값 또는 특징 벡터에 대해 가중치 및 바이어스를 가하여 컨볼루션 연산을 수행하도록 하는 파라미터를 포함하는 네트워크 레이어를 포함할 수 있다.
분류부는 연합 학습 모델을 구성하는 레이어 중 출력 레이어와 맞닿는 최후단의 레이어를 포함할 수 있다. 예를 들어, 분류부는 출력 레이어에 대한 클래스를 구분하기 위한 결정 경계(decision boundary)를 구분하도록 하는 파라미터를 포함하는 네트워크 레이어를 포함할 수 있다.
도 3은 본 발명의 일 실시예에 따라 중앙 서버(100)가 각 클라이언트 장치(200)에 중앙 학습 모델 내 추출부의 상태정보를 전송하고, 각 클라이언트 장치(200)가 수신된 상태정보를 지역 학습 모델 내 추출부에 업로드한 후 학습하는 동작을 나타낸 예시도이다.
중앙 서버(100)는 중앙 학습 모델 내 추출부의 상태정보를 복수의 클라이언트 장치(200)에 전송할 수 있다. 이때 중앙 서버(100)는 소정의 방식(ex. FedAvg, FedSGD, FedMA 등)에 따라, 연합 학습의 라운드 마다 모든 클라이언트 장치(200) 중 일부의 클라이언트 장치(200)를 선별하여 상태정보를 전송할 수 있다. 예컨대, 중앙 서버(100)는 샘플링 방식을 통해 적어도 하나의 클라이언트 장치(200)를 선별할 수 있다.
각 클라이언트 장치(200-1, 200-2, …, 200-n)는 각기 저장하고 있는 지역 학습 모델의 추출부에 중앙 서버(100)가 전송한 상태정보를 업로드한다. 여기서, 각 클라이언트 장치(200-1, 200-2, …, 200-n)의 지역 학습 모델 내의 분류부는 서로 상이할 수 있다. 그리고, 각 클라이언트 장치(200-1, 200-2, …, 200-n)는 개별적으로 보유한 데이터(D1, D2, …, Dn)를 이용하여 기 규약된 학습 알고리즘(ex. FedReNTD 등)을 사용하여 지역 학습 모델의 추출부 및 분류부를 학습시킬 수 있다.
도 4는 본 발명의 일 실시예에 따라 각 클라이언트 장치(200)가 갱신된 지역 학습 모델 내 추출부의 상태정보를 중앙 서버(100)에 전송하고, 중앙 서버(100)가 각 클라이언트 장치(200)의 갱신된 지역 학습 모델 내 추출부의 상태정보를 취합하여 중앙 학습 모델 내 추출부의 상태정보를 업데이트하는 동작을 나타낸 예시도이다.
도 4를 참조하면, 각 클라이언트 장치(200)는 각기 보유한 개별 학습 데이터(D1, D2, …, Dn)를 이용하여 학습시킨 지역 학습 모델 내 추출부의 갱신된 상태정보를 중앙 서버(100)에 전송할 수 있다. 이때 중앙 서버(100)는 소정의 방식(ex. FedAvg, FedSGD, FedMA 등)에 따라, 클라이언트 장치(200)로부터 취합된 상태정보를 조합, 예컨대 평균값을 취하여 중앙 학습 모델 내 추출부의 상태정보를 업데이트할 수 있다.
본 문서의 실시예에 따르면, 상술한 도 3 및 도 4의 과정은 중앙 서버(100)와 클라이언트 장치(200)가 함께 참여하는 연합 학습 중 하나의 라운드로 이해할 수 있다. 도 3 및 도 4의 연합 학습 라운드는 설계자의 선택에 따라 기 설정된 횟수의 라운드가 진행될 수 있다.
도 5는 본 발명의 실시예에 따라 각 클라이언트 장치(200)가 지식 증류(knowledge distillation) 기법으로 지역 학습 모델 내 분류부 및 추출부를 학습하는 동작을 나타낸 예시도이고, 도 6은 본 발명의 실시예에 따라 각 클라이언트 장치(200)가 연합 학습 방법을 수행하는 신호 처리 과정을 나타낸 흐름도이다.
복수의 클라이언트 장치(200)는 지역 학습 모델(210)과 지도용 학습 모델(220)을 포함하며, 지역 학습 모델(210)과 지도용 학습 모델(220)은 동일한 구조일 수 있다.
각 클라이언트 장치(200)는 중앙 서버(100)로부터 수신된 중앙 학습 모델 내 추출부의 상태정보를 지도용 학습 모델(220) 내 추출부 및 지역 학습 모델(210) 내 추출부에 각각 업로드한다(S610).
그리고, 각 클라이언트 장치(200)는 각각 보유한 개별 학습 데이터(D1, D2, …, Dn)를 지도용 학습 모델(220) 내 추출부 및 지역 학습 모델(210) 내 추출부에 입력하고(S620), 지도용 학습 모델(220)은 고정한 상태로 지역 학습 모델(210) 내 추출부 및 분류부를 지식 증류 기법으로 학습한다. 여기서, 지도용 학습 모델(220)을 고정한다는 것은 지역 학습 모델(210)이 학습하는 동안에 지도용 학습 모델(220) 내 추출부 및 분류부의 파라미터 등과 같은 상태정보를 갱신하지 않는 것을 의미할 수 있다. 여기서, 각 클라이언트 장치(200)가 각각 보유한 개별 학습 데이터(D1, D2, …, Dn)는 이미지(201)와 라벨(202)로 구성될 수 있고, 이미지(201)와 라벨(202) 중 이미지(201)를 지도용 학습 모델(220) 내 추출부 및 지역 학습 모델(210) 내 추출부에 입력하고, 입력된 이미지에 대해서 주어진 라벨을 잘 예측하는 것을 목표로 하여 지역 학습 모델(210) 내 추출부 및 분류부를 학습할 수 있다.
개별 학습 데이터(D1, D2, …, Dn)를 구성하는 이미지(201)와 라벨(202) 중 라벨(202)은 정답 확률벡터이다. 따라서, 각 클라이언트 장치(200)는 지도용 학습 모델(220) 및 지역 학습 모델(210)의 출력벡터를 확률벡터로 변경하여야만 정답 확률벡터와 비교 가능하고, 이에 확률벡터 생성기를 이용할 수 있다. 확률벡터 생성기는 생성기 내의 하이퍼파라미터 τ를 어떻게 생성하는지에 따라 확률벡터 결과물이 달라진다. 일반적으로 τ=1인 확률벡터 생성기를 많이 사용하지만 지식 증류 기법에서는 τ>1의 성질을 만족하는 하이퍼파라미터를 사용한다. 이에, 각 클라이언트 장치(200)는 일반적인 확률벡터 생성기와 지식 증류 용도로 사용할 확률벡터 생성기를 모두 사용한다.
각 클라이언트 장치(200)가 지도용 학습 모델(220)의 출력벡터와 지역 학습 모델(210)의 출력벡터로부터 확률벡터를 생성하는 과정에 대해 살펴보면, 지도용 학습 모델(220)은 C차원의 출력벡터 zg를 출력하고, 지역 학습 모델(210)은 C차원의 출력벡터 zl를 출력한다. 그리고, 각 클라이언트 장치(200)는 각 출력벡터로부터 확률벡터를 생성하기 전에 각 출력벡터로부터 1로 지정된 차원을 제거해서 C-1차원의 출력벡터 z-g 및 출력벡터 z-l로 추가 가공한다(S630). 이어서, 추가 가공된 C-1차원의 출력벡터 z-g 및 출력벡터 z-l를 하이퍼파라미터 τ>1의 성질을 갖는 확률벡터 생성기(230)에 입력하여, 해당 확률벡터 생성기(230)의 출력으로서 C-1차원 확률벡터 z~g τ와 C-1차원 확률벡터 z~l τ를 생성한다(S640). 아울러, 각 클라이언트 장치(200)는 C-1차원 확률벡터 z~g τ와 C-1차원 확률벡터 z~l τ 간의 차이로부터 NTD(not true distillation) 손실함수를 계산한다(S650).
한편, 각 클라이언트 장치(200)는 개별 학습 데이터(D1, D2, …, Dn)를 구성하는 이미지(201)와 라벨(202) 중 라벨(202)인 정답 확률벡터와 지도용 학습 모델(220)의 출력벡터와 지역 학습 모델(210)의 출력벡터로부터 생성된 확률벡터로부터 산출하는 목적 손실함수를 줄이는 방향으로 학습하는데, 목적 손실함수에는 NTD 손실함수 외에 크로스 엔트로피(cross-entropy) 손실함수가 더 반영된다.
이에, 각 클라이언트 장치(200)는 지역 학습 모델(210)의 C차원 출력벡터 zl를 하이퍼파라미터 τ=1의 성질을 갖는 C차원 확률벡터 생성기(240)에 입력하고, 해당 확률벡터 생성기(240)의 출력으로서 C차원 확률벡터 ql 1를 생성한다(S660). 그리고, 생성된 C차원 확률벡터 ql 1와 정답 확률벡터의 차이로부터 크로스 엔트로피 손실함수를 계산한다(S670).
그리고, 각 클라이언트 장치(200)는 NTD 손실함수와 크로스 엔트로피 손실함수의 합으로 목적 손실함수를 계산한다(S680).
도 5 및 도 6을 참조하여 설명한 일련의 학습 과정이 중앙 서버(100) 및 클라이언트 장치(200)가 수행하는 연합 학습의 한 라운드 중 클라이언트 장치(200)가 수행하는 학습 부분이라고 할 수 있고, 도 4를 참조하여 설명한 바와 같이 중앙 서버(100)의 중앙 학습 모델 내 추출부가 업데이트된 후에 도 3을 참조하여 설명한 바와 같이 중앙 서버(100)로부터 전송되면 업데이트된 상태정보를 각 클라이언트 장치(200)의 지도용 학습 모델(220) 내 추출부 및 지역 학습 모델(210) 내 추출부에 업로드한 후에 연합 학습의 다음 라운드가 진행된다.
도 7은 본 발명의 실시예에 따른 중앙 서버(100)와 클라이언트 장치(200)에 의한 연합 학습의 결과에 대한 평가 과정을 나타낸 예시도이다.
중앙 서버(100)는 중앙 학습 모델 내 추출부의 상태정보를 연합 학습에 참여한 모든 클라이언트 장치(200)에 송신하고, 각 클라이언트 장치(200)는 중앙 서버(100)로부터 수신된 상태정보를 각각의 지역 학습 모델(210) 내 추출부에 업로드한다. 그리고, 각 클라이언트 장치(200)는 개별 평가 데이터(d1, d2, …, dn)를 지역 학습 모델(210)에 입력한 후 각 클라이언트 장치(200)에 의한 예측 성공률을 조합, 예컨대 평균값을 취하여 중앙 서버(100)와 클라이언트 장치(200)에 의한 연합 학습의 최종 성능으로 평가할 수 있다.
한편, 전술한 실시예에 따른 클라이언트 장치의 연합 학습 방법, 그리고 중앙 서버 및 복수의 클라이언트 장치에 의한 연합 학습 방법에 포함된 각각의 단계를 프로세서가 수행하도록 하기 위한 명령어를 포함하도록 컴퓨터 프로그램이 구현될 수 있다.
또한, 전술한 실시예에 따른 클라이언트 장치의 연합 학습 방법, 그리고 중앙 서버 및 복수의 클라이언트 장치에 의한 연합 학습 방법에 포함된 각각의 단계를 프로세서가 수행하도록 하기 위한 명령어를 포함하는 컴퓨터 프로그램은 컴퓨터 판독 가능한 기록매체에 기록될 수 있다.
지금까지 설명한 바와 같이, 본 발명의 실시예에 따르면, 중앙 학습 모델 내 추출부의 상태정보를 클라이언트 장치에 송신하고, 클라이언트 장치는 수신한 상태정보를 개별 학습 모델 내 추출부에 업로드한 후 개별 학습 데이터를 이용해 추출부 및 분류부에 대한 학습을 수행하며, 학습을 통해 갱신된 상태정보를 중앙 서버로 송신하는 연합 학습을 통해, 표상의 향상을 도모함으로써 최종적으로는 연합 학습의 성능이 향상되는 효과가 있다.
본 발명에 첨부된 각 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 기록매체에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 기록매체에 저장된 인스트럭션들은 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 연합 학습 시스템
100: 중앙 서버
200: 클라이언트 장치
210: 개별 학습 모델
220: 지도용 학습 모델
230: C-1 차원 확률벡터 생성기
240: C 차원 확률벡터 생성기

Claims (24)

  1. 중앙 학습 모델을 포함하는 중앙 서버; 및
    상기 중앙 학습 모델과 연합 학습을 하는 지역 학습 모델을 각각 포함하는 복수의 클라이언트 장치를 포함하고,
    상기 중앙 서버는 상기 중앙 학습 모델 내 추출부의 상태정보를 상기 복수의 클라이언트 장치 중 적어도 하나의 클라이언트 장치에 송신하고, 상기 적어도 하나의 클라이언트 장치로부터 상기 지역 학습 모델 내 추출부의 상태정보를 수신하며, 상기 수신된 상태정보를 이용하여 상기 중앙 학습 모델 내 추출부를 업데이트하며,
    상기 적어도 하나의 클라이언트 장치는 상기 지역 학습 모델 내 추출부에 상기 상태정보를 업로드한 후 개별 학습 데이터를 사용해 상기 지역 학습 모델 내 추출부 및 분류부를 학습하고, 상기 지역 학습 모델 내 학습된 추출부의 상태정보를 상기 중앙 서버에 전송하는
    연합 학습 시스템.
  2. 제1항에 있어서,
    상기 중앙 서버는 상기 복수의 클라이언트 장치 중 샘플링을 통해 상기 적어도 하나의 클라이언트 장치를 선정하는
    연합 학습 시스템.
  3. 제1항에 있어서,
    상기 적어도 하나의 클라이언트 장치는 상기 지역 학습 모델과 동일한 구조를 갖는 지도용 학습 모델을 더 포함하고, 상기 지도용 학습 모델 내 추출부 및 상기 지역 학습 모델 내 추출부에 상기 상태정보를 각각 업로드한 후 상기 개별 학습 데이터를 상기 지도용 학습 모델 내 추출부 및 상기 지역 학습 모델 내 추출부에 입력하여 상기 지도용 학습 모델은 고정한 상태로 상기 지역 학습 모델 내 추출부 및 분류부를 지식 증류(knowledge distillation) 기법으로 학습하는
    연합 학습 시스템.
  4. 제3항에 있어서,
    상기 개별 학습 데이터를 구성하는 이미지와 라벨 중 이미지를 상기 지도용 학습 모델 내 추출부 및 상기 지역 학습 모델 내 추출부에 입력하고, 상기 입력된 이미지에 대해서 주어진 상기 라벨을 잘 예측하는 것을 목표로 하여 상기 지역 학습 모델 내 추출부 및 분류부를 학습하는
    연합 학습 시스템.
  5. 제4항에 있어서,
    상기 라벨은 정답 확률벡터이고, 상기 지도용 학습 모델의 출력벡터와 상기 지역 학습 모델의 출력벡터로부터 확률벡터를 생성하며, 상기 정답 확률벡터와 상기 생성된 확률벡터로부터 산출하는 목적 손실함수를 줄이는 방향으로 상기 지역 학습 모델 내 추출부 및 분류부를 학습하는
    연합 학습 시스템.
  6. 제5항에 있어서,
    상기 정답 확률벡터와 상기 지도용 학습 모델의 출력벡터 및 상기 지역 학습 모델의 출력벡터는 C차원이고, 상기 지도용 학습 모델의 C차원 출력벡터와 상기 지역 학습 모델의 C차원 출력벡터를 각각 C-1차원 출력벡터로 가공하며, 상기 각각 가공된 C-1차원 출력벡터로부터 제 1 C-1차원 확률벡터와 제 2 C-1차원 확률벡터를 생성하고, 상기 지역 학습 모델의 C차원 출력벡터로부터 C차원 확률벡터를 생성하며, 제 1 C-1차원 확률벡터와 제 2 C-1차원 확률벡터 간의 차이로부터 NTD(not true distillation) 손실함수를 계산하고, 상기 생성된 C차원 확률벡터와 상기 정답 확률벡터의 차이로부터 크로스 엔트로피(cross-entropy) 손실함수를 계산하며, 상기 NTD 손실함수와 상기 크로스 엔트로피 손실함수의 합으로 상기 목적 손실함수를 계산하는
    연합 학습 시스템.
  7. 중앙 학습 모델을 포함하는 중앙 서버 및 다른 클라이언트 장치와 연합 학습을 하는 지역 학습 모델을 포함하고,
    상기 지역 학습 모델 내 추출부에 상기 중앙 학습 모델 내 추출부의 상태정보가 업로드된 후 개별 학습 데이터를 사용해 상기 지역 학습 모델 내 추출부 및 분류부를 학습하며,
    상기 지역 학습 모델 내 학습된 추출부의 상태정보를 상기 중앙 서버에 전송하여 상기 중앙 학습 모델 내 추출부에 업데이트되도록 하는
    클라이언트 장치.
  8. 제7항에 있어서,
    상기 지역 학습 모델과 동일한 구조를 갖는 지도용 학습 모델을 더 포함하고, 상기 지도용 학습 모델 내 추출부 및 상기 지역 학습 모델 내 추출부에 상기 상태정보를 각각 업로드한 후 상기 개별 학습 데이터를 상기 지도용 학습 모델 내 추출부 및 상기 지역 학습 모델 내 추출부에 입력하여 상기 지도용 학습 모델은 고정한 상태로 상기 지역 학습 모델 내 추출부 및 분류부를 지식 증류 기법으로 학습하는
    클라이언트 장치.
  9. 제8항에 있어서,
    상기 개별 학습 데이터를 구성하는 이미지와 라벨 중 이미지를 상기 지도용 학습 모델 내 추출부 및 상기 지역 학습 모델 내 추출부에 입력하고, 상기 입력된 이미지에 대해서 주어진 상기 라벨을 잘 예측하는 것을 목표로 하여 상기 지역 학습 모델 내 추출부 및 분류부를 학습하는
    클라이언트 장치.
  10. 제9항에 있어서,
    상기 라벨은 정답 확률벡터이고, 상기 지도용 학습 모델의 출력벡터와 상기 지역 학습 모델의 출력벡터로부터 확률벡터를 생성하며, 상기 정답 확률벡터와 상기 생성된 확률벡터로부터 산출하는 목적 손실함수를 줄이는 방향으로 상기 지역 학습 모델 내 추출부 및 분류부를 학습하는
    클라이언트 장치.
  11. 제10항에 있어서,
    상기 정답 확률벡터와 상기 지도용 학습 모델의 출력벡터 및 상기 지역 학습 모델의 출력벡터는 C차원이고, 상기 지도용 학습 모델의 C차원 출력벡터와 상기 지역 학습 모델의 C차원 출력벡터를 각각 C-1차원 출력벡터로 가공하며, 상기 각각 가공된 C-1차원 출력벡터로부터 제 1 C-1차원 확률벡터와 제 2 C-1차원 확률벡터를 생성하고, 상기 지역 학습 모델의 C차원 출력벡터로부터 C차원 확률벡터를 생성하며, 제 1 C-1차원 확률벡터와 제 2 C-1차원 확률벡터 간의 차이로부터 NTD 손실함수를 계산하고, 상기 생성된 C차원 확률벡터와 상기 정답 확률벡터의 차이로부터 크로스 엔트로피 손실함수를 계산하며, 상기 NTD 손실함수와 상기 크로스 엔트로피 손실함수의 합으로 상기 목적 손실함수를 계산하는
    클라이언트 장치.
  12. 중앙 서버 및 복수의 클라이언트 장치가 수행하는 연합 학습 방법에 있어서,
    상기 중앙 서버가 중앙 학습 모델 내 추출부의 상태정보를 상기 복수의 클라이언트 장치 중 적어도 하나의 클라이언트 장치에 송신하는 과정;
    상기 적어도 하나의 클라이언트 장치가 지역 학습 모델 내 추출부에 상기 상태정보를 업로드한 후 개별 학습 데이터를 사용해 상기 지역 학습 모델 내 추출부 및 분류부를 학습하는 과정;
    상기 적어도 하나의 클라이언트 장치가 상기 지역 학습 모델 내 학습된 추출부의 상태정보를 상기 중앙 서버에 송신하는 과정;
    상기 중앙 서버가 상기 적어도 하나의 클라이언트 장치로부터 수신된 상기 학습된 추출부의 상태정보를 이용하여 상기 중앙 학습 모델 내 추출부를 업데이트하는 과정을 포함하는
    연합 학습 방법.
  13. 제12항에 있어서,
    상기 중앙 서버가 상기 복수의 클라이언트 장치 중 샘플링을 통해 상기 적어도 하나의 클라이언트 장치를 선정하는
    연합 학습 방법.
  14. 제12항에 있어서,
    상기 적어도 하나의 클라이언트 장치는 상기 지역 학습 모델과 동일한 구조를 갖는 지도용 학습 모델을 포함하고,
    상기 학습하는 과정에서, 상기 지도용 학습 모델 내 추출부 및 상기 지역 학습 모델 내 추출부에 상기 상태정보를 각각 업로드한 후 상기 개별 학습 데이터를 상기 지도용 학습 모델 내 추출부 및 상기 지역 학습 모델 내 추출부에 입력하여 상기 지도용 학습 모델은 고정한 상태로 상기 지역 학습 모델 내 추출부 및 분류부를 지식 증류 기법으로 학습하는
    연합 학습 방법.
  15. 제14항에 있어서,
    상기 학습하는 과정에서, 상기 개별 학습 데이터를 구성하는 이미지와 라벨 중 이미지를 상기 지도용 학습 모델 내 추출부 및 상기 지역 학습 모델 내 추출부에 입력하고, 상기 입력된 이미지에 대해서 주어진 상기 라벨을 잘 예측하는 것을 목표로 하여 상기 지역 학습 모델 내 추출부 및 분류부를 학습하는
    연합 학습 방법.
  16. 제15항에 있어서,
    상기 라벨은 정답 확률벡터이고, 상기 지도용 학습 모델의 출력벡터와 상기 지역 학습 모델의 출력벡터로부터 확률벡터를 생성하며, 상기 정답 확률벡터와 상기 생성된 확률벡터로부터 산출하는 목적 손실함수를 줄이는 방향으로 상기 지역 학습 모델 내 추출부 및 분류부를 학습하는
    연합 학습 방법.
  17. 제16항에 있어서,
    상기 정답 확률벡터와 상기 지도용 학습 모델의 출력벡터 및 상기 지역 학습 모델의 출력벡터는 C차원이고, 상기 지도용 학습 모델의 C차원 출력벡터와 상기 지역 학습 모델의 C차원 출력벡터를 각각 C-1차원 출력벡터로 가공하며, 상기 각각 가공된 C-1차원 출력벡터로부터 제 1 C-1차원 확률벡터와 제 2 C-1차원 확률벡터를 생성하고, 상기 지역 학습 모델의 C차원 출력벡터로부터 C차원 확률벡터를 생성하며, 제 1 C-1차원 확률벡터와 제 2 C-1차원 확률벡터 간의 차이로부터 NTD 손실함수를 계산하고, 상기 생성된 C차원 확률벡터와 상기 정답 확률벡터의 차이로부터 크로스 엔트로피 손실함수를 계산하며, 상기 NTD 손실함수와 상기 크로스 엔트로피 손실함수의 합으로 상기 목적 손실함수를 계산하는
    연합 학습 방법.
  18. 지역 학습 모델을 포함하는 클라이언트 장치가 중앙 학습 모델을 포함하는 중앙 서버 및 다른 클라이언트 장치와 연합 학습을 하는 방법으로서,
    상기 지역 학습 모델 내 추출부에 상기 중앙 학습 모델 내 추출부의 상태정보가 업로드된 후 개별 학습 데이터를 사용해 상기 지역 학습 모델 내 추출부 및 분류부를 학습하는 과정;
    상기 지역 학습 모델 내 학습된 추출부의 상태정보를 상기 중앙 서버에 전송하여 상기 중앙 학습 모델 내 추출부에 업데이트되도록 하는 과정을 포함하는
    클라이언트 장치의 연합 학습 방법.
  19. 제18항에 있어서,
    상기 클라이언트 장치는 상기 지역 학습 모델과 동일한 구조를 갖는 지도용 학습 모델을 포함하고,
    상기 학습하는 과정에서, 상기 지도용 학습 모델 내 추출부 및 상기 지역 학습 모델 내 추출부에 상기 상태정보를 각각 업로드한 후 상기 개별 학습 데이터를 상기 지도용 학습 모델 내 추출부 및 상기 지역 학습 모델 내 추출부에 입력하여 상기 지도용 학습 모델은 고정한 상태로 상기 지역 학습 모델 내 추출부 및 분류부를 지식 증류 기법으로 학습하는
    클라이언트 장치의 연합 학습 방법.
  20. 제19항에 있어서,
    상기 학습하는 과정에서, 상기 개별 학습 데이터를 구성하는 이미지와 라벨 중 이미지를 상기 지도용 학습 모델 내 추출부 및 상기 지역 학습 모델 내 추출부에 입력하고, 상기 입력된 이미지에 대해서 주어진 상기 라벨을 잘 예측하는 것을 목표로 하여 상기 지역 학습 모델 내 추출부 및 분류부를 학습하는
    클라이언트 장치의 연합 학습 방법.
  21. 제20항에 있어서,
    상기 라벨은 정답 확률벡터이고, 상기 지도용 학습 모델의 출력벡터와 상기 지역 학습 모델의 출력벡터로부터 확률벡터를 생성하며, 상기 정답 확률벡터와 상기 생성된 확률벡터로부터 산출하는 목적 손실함수를 줄이는 방향으로 상기 지역 학습 모델 내 추출부 및 분류부를 학습하는
    클라이언트 장치의 연합 학습 방법.
  22. 제21항에 있어서,
    상기 정답 확률벡터와 상기 지도용 학습 모델의 출력벡터 및 상기 지역 학습 모델의 출력벡터는 C차원이고, 상기 지도용 학습 모델의 C차원 출력벡터와 상기 지역 학습 모델의 C차원 출력벡터를 각각 C-1차원 출력벡터로 가공하며, 상기 각각 가공된 C-1차원 출력벡터로부터 제 1 C-1차원 확률벡터와 제 2 C-1차원 확률벡터를 생성하고, 상기 지역 학습 모델의 C차원 출력벡터로부터 C차원 확률벡터를 생성하며, 제 1 C-1차원 확률벡터와 제 2 C-1차원 확률벡터 간의 차이로부터 NTD 손실함수를 계산하고, 상기 생성된 C차원 확률벡터와 상기 정답 확률벡터의 차이로부터 크로스 엔트로피 손실함수를 계산하며, 상기 NTD 손실함수와 상기 크로스 엔트로피 손실함수의 합으로 상기 목적 손실함수를 계산하는
    클라이언트 장치의 연합 학습 방법.
  23. 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
    지역 학습 모델 내 추출부에 중앙 서버의 중앙 학습 모델 내 추출부의 상태정보가 업로드된 후 개별 학습 데이터를 사용해 상기 지역 학습 모델 내 추출부 및 분류부를 학습하는 과정; 상기 지역 학습 모델 내 학습된 추출부의 상태정보를 상기 중앙 서버에 전송하여 상기 중앙 학습 모델 내 추출부에 업데이트되도록 하는 과정을 포함하는 클라이언트 장치의 연합 학습 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는
    컴퓨터 판독 가능한 기록매체.
  24. 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,
    지역 학습 모델 내 추출부에 중앙 서버의 중앙 학습 모델 내 추출부의 상태정보가 업로드된 후 개별 학습 데이터를 사용해 상기 지역 학습 모델 내 추출부 및 분류부를 학습하는 과정; 상기 지역 학습 모델 내 학습된 추출부의 상태정보를 상기 중앙 서버에 전송하여 상기 중앙 학습 모델 내 추출부에 업데이트되도록 하는 과정을 포함하는 클라이언트 장치의 연합 학습 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는
    컴퓨터 프로그램.
KR1020220125654A 2022-09-30 2022-09-30 향상된 표상을 위한 연합 학습 시스템, 클라이언트 장치 및 방법 KR20240045837A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220125654A KR20240045837A (ko) 2022-09-30 2022-09-30 향상된 표상을 위한 연합 학습 시스템, 클라이언트 장치 및 방법
US18/472,393 US20240112040A1 (en) 2022-09-30 2023-09-22 Federated learning system for improved representation, federated learning method, and recording medium storing instructions to perform federated learning method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220125654A KR20240045837A (ko) 2022-09-30 2022-09-30 향상된 표상을 위한 연합 학습 시스템, 클라이언트 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20240045837A true KR20240045837A (ko) 2024-04-08

Family

ID=90470954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220125654A KR20240045837A (ko) 2022-09-30 2022-09-30 향상된 표상을 위한 연합 학습 시스템, 클라이언트 장치 및 방법

Country Status (2)

Country Link
US (1) US20240112040A1 (ko)
KR (1) KR20240045837A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210132500A (ko) 2020-04-27 2021-11-04 한국전자기술연구원 연합 학습 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210132500A (ko) 2020-04-27 2021-11-04 한국전자기술연구원 연합 학습 시스템 및 방법

Also Published As

Publication number Publication date
US20240112040A1 (en) 2024-04-04

Similar Documents

Publication Publication Date Title
CN111461226A (zh) 对抗样本生成方法、装置、终端及可读存储介质
CN111639710A (zh) 图像识别模型训练方法、装置、设备以及存储介质
CN111989696A (zh) 具有顺序学习任务的域中的可扩展持续学习的神经网络
KR102387305B1 (ko) 멀티모달 데이터 학습 방법 및 장치
CN111667056B (zh) 用于搜索模型结构的方法和装置
KR102200212B1 (ko) 불확실성 예측을 위한 샘플링 모델 생성 장치 및 방법, 불확실성 예측 장치
KR20210069609A (ko) 키 포인트 학습 모델 구축 방법, 장치, 전자 기기 및 판독 가능한 저장 매체 그리고 프로그램
WO2019222745A1 (en) Sample-efficient reinforcement learning
CN110795569A (zh) 知识图谱的向量表示生成方法、装置及设备
US20200034747A1 (en) System and method for distributed learning
US20210004735A1 (en) System and method for collaborative decentralized planning using deep reinforcement learning agents in an asynchronous environment
CN111695699B (zh) 用于模型蒸馏的方法、装置、电子设备及可读存储介质
KR102710092B1 (ko) 하이퍼그래프 기반 멀티에이전트 전장상황인지 시스템 및 방법
KR102293791B1 (ko) 반도체 소자의 시뮬레이션을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
CN111695698A (zh) 用于模型蒸馏的方法、装置、电子设备及可读存储介质
CN110008332B (zh) 通过强化学习提取主干词的方法及装置
CN111639753A (zh) 用于训练超网络的方法、装置、设备以及存储介质
CN112308006A (zh) 视线区域预测模型生成方法、装置、存储介质及电子设备
CN111967591B (zh) 神经网络自动剪枝方法、装置及电子设备
CN115409168A (zh) 神经网络优化方法及其装置
CN113077237B (zh) 一种自适应混合算法的排课方法及系统
CN116861962A (zh) 一种数据处理方法及装置
CN110569973A (zh) 网络结构的搜索方法、装置以及电子设备
KR102646338B1 (ko) 클라이언트의 개별 데이터 맞춤형 연합 학습 시스템, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
CN113705402A (zh) 视频行为预测方法、系统、电子设备及存储介质