KR102430986B1 - 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법 - Google Patents

하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법 Download PDF

Info

Publication number
KR102430986B1
KR102430986B1 KR1020200106174A KR20200106174A KR102430986B1 KR 102430986 B1 KR102430986 B1 KR 102430986B1 KR 1020200106174 A KR1020200106174 A KR 1020200106174A KR 20200106174 A KR20200106174 A KR 20200106174A KR 102430986 B1 KR102430986 B1 KR 102430986B1
Authority
KR
South Korea
Prior art keywords
learning
information
federated
federated learning
local
Prior art date
Application number
KR1020200106174A
Other languages
English (en)
Other versions
KR20220025456A (ko
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 KR1020200106174A priority Critical patent/KR102430986B1/ko
Publication of KR20220025456A publication Critical patent/KR20220025456A/ko
Application granted granted Critical
Publication of KR102430986B1 publication Critical patent/KR102430986B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine 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
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Tourism & Hospitality (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법에 관한 것으로서, 더욱 상세하게는 연합학습에서 발생할 수 있는 사용자 개인정보에 대한 프라이버시를 보장하면서, 연합학습 결과 데이터를 관리하고, 연합학습에 기여하는 클라이언트에 안전하고 올바른 보상을 지급할 수 있는 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법에 관한 것이다.

Description

하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법{Method for Performing Federated Learning Based on Block Chain in Hybrid System}
본 발명은 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법에 관한 것으로서, 더욱 상세하게는 연합학습에서 발생할 수 있는 사용자 개인정보에 대한 프라이버시를 보장하면서, 연합학습 결과 데이터를 관리하고, 연합학습에 기여하는 클라이언트에 안전하고 올바른 보상을 지급할 수 있는 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법에 관한 것이다.
블록체인 기술은 암호화폐(Cryptocurrency)로 인해 널리 알려진 기술로써, 기존의 중앙 집중형 데이터베이스가 아닌 해당 네트워크에 참여 중인 참여자들이 모두 공유된 데이터베이스를 갖는 분산 데이터베이스 기반 시스템에서 안전하고 효율적인 데이터 공유를 수행하기 위한 기법이다.
비특허문헌 3에 의해 제안된 암호화폐 기술 및 이를 기반으로 하는 블록체인 시스템은 무허가형 블록체인(Permissioneless blockchain) 또는 퍼블릭 블록체인(Public blockchain) 이라 한다. 무허가형 블록체인 기술은 누구든지 블록체인 네트워크에 참여할 수 있으며, 네트워크 내의 모든 구성원(노드)들이 일종의 데이터베이스에 해당하는 분산 원장을 보유하고 있다.
이와는 달리 특정 동일 목적을 가진 기관들의 집합 또는 특정 단체만이 해당 네트워크에 참여할 수 있는 시스템을 허가형 블록체인(Permissioned blockchain)이라고 하며 이는 중앙집중화의 정도에 따라 프라이빗 블록체인(Private blockchain) 또는 컨소시엄 블록체인(Consortium Blockchain)이라고 불리기도 한다.
허가형 블록체인은 네트워크 규모의 확장성이 떨어지나, 무허가형에 비해 매우 빠른 시스템 성능을 보임과 동시에 금융거래, 제조사 간 공급망, 제조사와 소비자 간 유통망, 의료 분야에서의 병원 및 기타 관련사 간의 질병 이력 공유 및 정부 주도의 공공 분야에서의 정보 공유 등에 적용할 수 있는 유용한 시스템이다. 허가형 블록체인은 Linux Foundation에 의해 설립된 허가형 블록체인 오픈소스 프로젝트인 Hyperledger[https://www.hyperledger.org]에 의해 발전되었으며, 현재 대표적인 허가형 블록체인 기술로는 하이퍼레저(Hyperledger Indy, Hyperledger Sawtooth, Hyperledger Fabric) 등이 있다. 또한 국내에서는 삼성SDS의 넥스레저(Nexledger) 등이 있다.
또한 최근 들어, 다수의 기업 또는 단체들은 각자의 목적을 위해 데이터로부터 유용한 정보를 얻어내는 기계학습(Machine learning) 기술을 사용한다. 이에 대한 대표적인 예로, 의료 관련계열에서는 희귀 질병 등에 대응하는 치료에 대한 결과물들을 분석하여 환자의 치료율을 더욱 높일 수 있게 된다. 마찬가지로, 상업 기업들 역시 소비자 선호도 등의 데이터 분석을 통해 향후 판매에 유용한 정보를 얻을 수 있게 된다. 그러나, 최근 들어 사용자의 개인 데이터에 대한 프라이버시 문제가 발생함에 따라, 개인정보 동의를 얻어야만 개인 데이터를 수집 및 활용할 수 있는 문제점으로 인해 기업 또는 단체들이 자신들이 보유할 수 있는 데이터의 수가 한정적이다. 이러한 문제점을 해결하기 위해, Google의 비특허논문 1 및 비특허논문 2에 의해 제안된 연합학습 기술은, 사용자의 데이터를 직접 수집하는 방식이 아닌 사용자 각자 학습 결과인 로컬 학습 결과만을 수집한 후 취합(aggregation)하여 학습을 수행하게 된다. 따라서, 사용자의 데이터를 직접 수집하지 않은 상태에서 올바르게 데이터 분석을 수행하기 때문에, 이에 관련한 많은 연구가 지속적으로 수행되고 있다.
연합학습은 학습의 대상을 대용량의 데이터를 가진 다수의 기업 혹은 단체를 기준으로 하는 것이 아닌 모바일 디바이스와 같은 IoT 디바이스 또는 개인용 PC 등을 대상으로 한다. 이로 인해, 모델의 효율성 측면에서는 무선 네트워크 통신망 등의 환경에서도 효율적으로 구동될 수 있는 기법들이 활발히 연구되고 있다. 대표적으로, 비특허논문 3에 의해 제안된 기술은 기존 무선 네트워크에서 사용되는 경량 컴퓨팅 환경을 연합학습 시스템에 도입하여 비교적 효율적인 학습을 수행할 수 있는 기술을 개발하였다.
뿐만 아니라, 연합학습을 진행할 시 발생할 수 있는 모델의 안전성(security) 측면에서도 관련 연구가 활발히 진행되고 있다. 비특허논문 4 및 비특허논문 5에 의해 제안된 포이즌 공격(Poison attack)을 이용한 공격은, 여러 명의 클라이언트와 공모(collude)하여 악의적으로 올바르지 않게 학습된 값을 반환함으로써 전체 학습의 결과값을 떨어뜨리는 방식이다. 따라서, 연합학습 기술은 포이즌 공격에 대한 내성(resilience) 또한 보유하고 있어야만 한다.
또한, 기존의 연합학습 기술들은 모두 단일 서버가 학습의 결과값을 취합하여 학습을 수행하기 때문에 서버가 고장(malfunction) 등을 이유로, 제 기능을 할 수 없는 경우가 발생하는 단일 실패점 문제(SPoF, Single Point of Failure)가 연합학습 상에서 발생할 가능성이 있다. 이뿐만 아니라, 학습의 참여자에 해당하는 클라이언트들은 연합학습에 일종의 기여를 하게 되는데, 이는 클라이언트들이 모두 자신이 보유한 계산능력(computational power)를 소비하여 로컬 학습을 수행하기 때문이다. 따라서, 학습 취합의 주체가 클라이언트의 기여에 대한 올바른 보상 메커니즘을 제공해야만 한다. 이러한 이유로, 비특허논문 6에 의해 제안된 기술은 블록체인 네트워크를 이용하여 연합학습의 계산 값을 하나의 트랜잭션으로 간주하여 보관함과 동시에, 코인 기반의 보상 메커니즘을 제안하였다. 해당 기술은 연합학습에서 발생할 수 있는 문제점들을 블록체인 기술을 통해 해결하였으며, 현실상에서도 충분히 적용 가능한 모델이기 때문에 각광받는 기술에 해당한다.
상기 언급된 모든 연합학습 기술들은 클라이언트에 대한 로컬 값만을 처리하는 방식으로만 진화해 왔다. 그러나, 현실상으로는 단순히 완전하게 분산되어있는 클라이언트에 대한 연합학습만을 고려하는 방식보다는 기업 또는 단체가 일부 보유하고 있는 데이터베이스가 있는 상태에서의 연합학습 시나리오를 구성하는 것이 더 알맞은 경우 또한 존재한다. 비특허논문 7에 의하면, 대다수의 기업은 자신들이 보유하고 있는 데이터가 있으며, 이러한 상태에서 클라이언트로부터 정보를 추가적으로 수집하여 학습의 결과를 더 좋게 만드는 환경이 더 어울린다고 할 수 있다. 예를 들어, Mozilla의 Firefox나 Google의 Chrome 등의 브라우저는, 개인정보 동의를 얻은 베타 테스터로 구성된 데이터베이스를 확보하고 있다. 비특허논문과 본 발명에서는 이를 옵트인(Opt-in) 유저라고 명명하며, 이러한 옵트인 유저의 데이터로 이루어진 데이터베이스를 보관하는 개체는 서버라고 명명한다. 이후 테스트 또는 서비스를 진행할 시 개인정보 동의를 수행하지 않은 클라이언트로부터 직접 데이터 수집이 아닌 학습의 결과물 만을 수집하여 더 올바른 학습을 수행하게 된다. 비특허논문과 본 발명에서는 이를 클라이언트(Client)라고 명명한다. 기존의 연합학습 기술에 해당하는 비특허논문 1, 2, 3, 4, 5, 6은 이러한 하이브리드 시스템이 고려되지 않은 상태로 클라이언트에게만 알맞추어 설계가 되어있다. 본 발명에서 언급하는 하이브리드 시스템에서 서버를 하나의 클라이언트로 간주하게 되면 기존의 연합학습 기술을 그대로 적용할 수 있다. 하지만, 이는 효율성 및 안전성 측면에서 전혀 고려되지 않은 상태로 단순 도입이 될 수 있는 문제점을 지니고 있다. 예를 들어, 옵트인과 클라이언트로부터 얻은 결과물이 서로 동일한 영향을 미치지 않기 때문에 비특허문헌 7과 유사한 시스템 설계가 필요하다.
본 발명은 상기 언급한 하이브리드 환경에서의 안전한 연합학습을 위한 프라이버시 보존형 블록체인 기술 도입 및 방법을 목적으로 한다. 해당 시스템은 1) 하이브리드 시스템을 기준으로 설계하고, 2) 모델 포이즌 공격 방지 수행이 가능하며, 3) 블록체인 네트워크를 기반으로 하여 단일 실패점 해결 및 올바른 보상 메커니즘 제공을 목적으로 한다.
비특허논문 1, 2, 3, 4, 5, 6은 모두 현실적인 하이브리드 시스템을 고려하지 않았다. 비특허논문 7은 하이브리드 시스템을 고려하였지만, 연합학습이 아닌 로컬 차분 프라이버시(Local differential privacy) 기술 기반의 시스템이며, 모델 포이즌 공격 및 단일 실패점과 보상 메커니즘에 대해 고려하지 않았다.
또한, 비특허논문 1, 2, 3은 연합학습 모델의 효율성 증대를 위한 기술을 제공하였지만 모델 포이즌 공격에 내성을 가지지는 않는다. 비특허논문 4, 5는 모델 포이즌 공격 기술 및 이에 대응하는 기술에 대해 연구하였지만 모델의 단일 실패점 및 보상 메커니즘을 고려하지 않았다. 비특허논문 6은 모델의 단일 실패점 및 보상 메커니즘을 고려하였으나, 본 발명에서 목표로 하는 하이브리드 시스템을 고려하지 않았다. 비특허논문 6을 단순히 하이브리드 시스템에 적용할 수는 있으나, 구조적 특성으로 인해 손쉽게 도입은 불가능하다. 또한, 비특허논문 6은 모델 포이즌 공격을 고려하지 않았다.
또한, 특허문헌 1에서는, 근본적인 서버 및 클라이언트 구조에서 일종의 관리만을 담당하는 파라미터 서버를 기준으로 데이터 프라이버시를 보장하는 분산 학습에 대해 개시하고 있으나, 서버가 자체 데이터를 보유하여 학습에 직접 참여하지 못하기 때문에 모델 포이즌 공격에 취약하다.
US 2020-0125739 A1 "Distributed learning preserving model security"
H.McMahan et al., "Communication-effcieint learning of deep networks from decentralized data" arXiv preprint arXiv:1602.05629, 2016 J.Konecny et al., "Federated learning: Strategies for improving communication efficiency" arXiv preprint arXiv:1610.05492, 2016] S.Nakamoto, "Bitcoin: A peer-to-peer electronic cash system"] A.N.Bhagoji et al., "Analyzing federated learning through an adversarial lens" arXiv preprint arXiv:1811.12470, 2018 E.Bagdasaryan, "How to backdoor federated learning, arXiv preprint arXiv:1807.00459, 2018 H.Kim et al., "Blockchained on-device federated learning" IEEE Communications Letters, 2019 B.Avent et al, "BLENDER: Enabling local search with a hybrid differential privacy model" USENIX Security Symposium, 2017
본 발명은 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법에 관한 것으로서, 더욱 상세하게는 연합학습에서 발생할 수 있는 사용자 개인정보에 대한 프라이버시를 보장하면서, 연합학습 결과 데이터를 관리하고, 연합학습에 기여하는 클라이언트에 안전하고 올바른 보상을 지급할 수 있는 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법에 관한 것이다.
상기와 같은 과제를 해결하기 위하여 본 발명은, 학습모델의 연합학습을 수행하는 서버 및 복수의 노드를 포함하는 하이브리드 시스템 상에서의 블록체인에 기반한 연합학습을 수행하는 방법으로서, 상기 노드는, 블록체인 네트워크상의 트랜잭션이 기록되는 분산원장; 및 상기 노드 개인만이 보유하고 있는 개인데이터베이스; 및 상기 분산원장에 대한 액세스를 제어하는 스마트컨트랙트;를 포함하고, 상기 서버는, 개인정보의 제공을 동의한 옵트인(opt-in) 사용자의 정보를 저장하고 있고, 상기 블록체인에 기반한 연합학습을 수행하는 방법은, 서버에 의하여, 상기 애플리케이션을 통해 상기 학습모델을 전송하여 복수의 노드에 로컬학습을 요청하고, 각각의 노드에서 개인데이터베이스를 이용하여 수행된 로컬학습의 결과값을 포함하는 로컬학습정보를 수신하는 로컬학습정보수신단계; 서버에 의하여, 옵트인 사용자의 정보가 저장된 옵트인데이터베이스를 이용하여 상기 학습모델의 학습을 수행하여 옵트인DB학습결과값을 도출하는 옵트인DB학습단계; 상기 로컬학습정보 및 옵트인DB학습결과값에 기초하여 연합학습결과정보를 도출하는 연합학습결과도출단계; 상기 연합학습결과정보에 대한 블록을 생성하고, 상기 연합학습결과정보에 대한 블록을 상기 분산원장에 저장하는 연합학습블록생성단계;를 포함하는, 연합학습을 수행하는 방법을 제공한다.
본 발명의 일 실시예에서는, 상기 연합학습결과도출단계는, 상기 옵트인DB학습결과값에 기초하여 상기 로컬학습정보 중에서 기설정된 조건에 부합하지 않는 오류로컬학습결과값을 판별하는 단계; 상기 로컬학습정보 중 상기 오류로컬학습결과값을 제외한 기준로컬학습정보를 도출하는 단계; 및 상기 옵트인DB학습결과값 및 기준로컬학습정보에 기초하여 상기 연합학습결과정보를 도출하는 단계;를 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 옵트인DB학습결과값은, 상기 옵트인데이터베이스를 이용하여 학습을 수행한 학습모델의 파라미터의 변화량을 포함하고, 상기 로컬학습의 결과값은, 상기 개인데이터베이스를 이용하여 학습을 수행한 학습모델의 파라미터의 변화량을 포함하고, 상기 오류로컬학습결과값은, 상기 옵트인DB학습결과값의 파라미터의 변화량 및 상기 로컬학습의 결과값의 파라미터의 변화량의 차이값이 기설정된 기준에 부합하는지 여부에 따라 결정될 수 있다.
본 발명의 일 실시예에서는, 상기 연합학습을 수행하는 방법은, 상기 서버에 의하여, 상기 로컬학습을 수행하여 연합학습에 참여한 각각의 노드가 연합학습에 기여한 정도에 따른 연합학습보상을 제공하는 연합학습보상단계;를 더 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 연합학습보상단계는, 연합학습에 참여한 노드의 개인데이터베이스의 크기에 대한 정보를 포함하는 보유자원량정보를 요청하는 단계; 해당 노드로부터 상기 보유자원량정보를 수신하는 단계; 및 상기 보유자원량정보에 기초하여 기설정된 기준에 따라 해당 노드에 보상을 제공하는 단계;를 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 연합학습보상단계는, 해당 노드의 보유자원량정보 및 제공한 보상값을 포함하는 연합학습보상정보에 대한 블록을 생성하는 단계; 및 상기 연합학습보상정보에 대한 블록을 상기 분산원장 내에 저장하는 단계;를 더 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 연합학습결과도출단계는, 상기 옵트인DB학습결과값에 기초하여 상기 로컬학습정보 중 기설정된 조건에 부합하지 않는 오류로컬학습결과값을 판별하는 단계;를 포함하고, 상기 연합학습보상단계에서는, 상기 오류로컬학습결과값을 제공한 노드에는 상기 보상을 제공하지 않을 수 있다.
본 발명의 일 실시예에서는, 상기 분산원장은, 상기 하이브리드 시스템에서 이루어지는 연합학습결과에 대한 블록이 저장되는 연합학습분산원장; 및 상기 하이브리드 시스템에서 이루어지는 각각의 노드가 연합학습에 기여한 정도에 따라 제공되는 연합학습보상정보에 대한 블록이 저장되는 학습보상분산원장;을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 클라이언트가 보유한 개인데이터베이스의 정보를 직접적으로 전달하지 않고, 학습모델을 통한 학습의 결과물을 서버로 제공하여 학습모델을 학습시킴으로써, 각각의 클라이언트가 보유한 개인정보의 프라이버시를 보전할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 블록체인 네트워크를 통해 서버의 연합학습결과에 대한 블록을 생성하고 저장함으로써, 서버가 제 기능을 하지 못하는 경우 발생할 수 있는 단일 실패점 문제(SPoF, Single Point of Failure)를 방지할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 서버가 보유한 옵트인 데이터베이스를 통해 학습한 결과물을 기반으로 오류값을 판별하여, 오류값을 다수의 클라이언트에 의해 악의적으로 올바르지 않게 학습된 결과값이 반환되어 전체적인 학습 결과값의 신뢰도를 저하시키는 포이즌 공격을 방지할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 연합학습을 위한 로컬학습 결과물을 제공한 클라이언트의 연합학습에 기여한 정도에 따른 보상을 제공할 수 있고, 보상과 관련된 정보에 대한 블록을 생성하여 분산원장에 저장함으로써, 안전하고 올바른 보상을 지급할 수 있는 효과를 발휘할 수 있다.
도 1은 본 발명의 일 실시예에 따른 블록체인 네트워크의 구성을 개략적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른 블록체인에 기반한 연합학습을 수행하는 방법을 수행하는 하이브리드 시스템의 구성을 개략적으로 도시한다.
도 3은 본 발명의 일 실시예에 따른 분산데이터베이스의 구성을 개략적으로 도시한다.
도 4는 본 발명의 일 실시예에 따른 서버의 구성을 개략적으로 도시한다.
도 5는 본 발명의 일 실시예에 따른 로컬학습정보수신부, 옵트인DB학습부, 및 연합학습결과도출부의 수행 단계를 개략적으로 도시한다.
도 6은 본 발명의 일 실시예에 따른 연합학습결과도출부의 수행 단계를 개략적으로 도시한다.
도 7은 본 발명의 일 실시예에 따른 연합학습블록생성부 및 연합학습보상부의 수행 단계를 개략적으로 도시한다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이하에서 언급되는 "사용자 단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말기로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말 등과 같은 모든 종류의 핸드헬드 (Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, "네트워크"는 근거리 통신망(Local Area Network;LAN), 광역 통신망(Wide Area Network; WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선네트워크나 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 모든 종류의 무선 네트워크로 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따른 블록체인 네트워크의 구성을 개략적으로 도시한다.
본 발명의 일 실시예에 따른 하이브리드 시스템은 학습모델의 연합학습을 수행하는 서버(3000.1) 및 복수의 클라이언트 단말(3000.N+1)을 포함하고, 서버(3000.1) 및 복수의 클라이언트 단말(3000.N+1)은 도 1에 도시된 바와 같은 블록체인 네트워크 내에서 노드(3000)의 역할을 하며, 애플리케이션(10)을 통해 블록체인 네트워크에 접근한다.
상기 노드(3000)는 피어(peer)라고도 불리며 블록체인 네트워크를 구성한다. 상기 노드(3000)는 거래 정보(트랜잭션)가 저장되는 블록체인 네트워크를 유지하는 역할을 수행한다. 상기 노드(3000)는 모두 채굴자(miner)가 될 수 있고, 발생된 모든 트랜잭션은 모두 채굴자에 의해 채굴되고 블록화되어 저장될 수 있다. 또한, 상기 서버(3000.1) 및 클라이언트 단말(3000.N+1)은 애플리케이션(10)을 통해 블록체인 네트워크에 접속하고 상기 트랜잭션의 처리를 수행할 수 있다.
블록체인 노드(3000)는 모두 해당 네트워크 내에 속한 노드(3000)(node)이며, 데이터 요청을 관리하고 수행하는 주 개체이며 특정 개인에 의해 관리되는 것이 아닌 해당 네트워크 내의 특정 관리자 혹은 기관에 의해 수행된다. 블록체인 네트워크에는 도 1에 도시된 바와 같이 복수의 노드(3000)가 존재하여 네트워크를 구성할 수 있다. 이 때 데이터 요청 관리 및 수행은 애플리케이션(10)을 통해 수행되며, 이러한 과정을 수행하는 데에 있어 분산 원장에 접근하여 읽기, 쓰기, 수정, 삭제 등의 질의함수를 구성하는 스마트컨트랙트(3100)를 더 포함할 수 있다.
상기 노드(3000)는 블록체인 네트워크상의 트랜잭션이 기록되고 개인만이 보유하고 있는 개인데이터베이스(3220)를 포함한 분산데이터베이스(3200); 분산데이터베이스(3200)에 대한 액세스를 제어하는 스마트컨트랙트(3100)를 포함할 수 있다. 상기 분산데이터베이스(3200)는 블록체인으로서 트랜잭션이 기록된다. 본 발명의 일 실시예에 따른 상기 분산데이터베이스(3200)는 블록체인 네트워크상의 트랜잭션이 기록되는 분산원장(3210); 상기 노드(3000) 개인만이 보유하고 있는 개인데이터베이스(3220)를 포함할 수 있다. 상기 스마트컨트랙트(3100)는 체인코드로 작성되어 상기 애플리케이션(10)이 상기 분산데이터베이스(3200)와 상호 작용 해야할 때 상기 애플리케이션(10)에 의해 호출된다. 상기 스마트컨트랙트(3100)는 상기 분산데이터베이스(3200)에 대한 접근을 위해 다양한 함수들이 저장되어, 상기 함수에 의해 상기 분산데이터베이스(3200)의 데이터를 갱신하거나, 혹은 상기 데이터로부터 필요한 정보를 추출할 수 있다.
또한, 상기 스마트컨트랙트(3100)에는 질의함수 및 배포함수가 저장되어 있다. 상기 질의함수는 상기 분산데이터베이스(3200)의 데이터를 조회하기 위한 함수이고, 상기 배포함수는, 상기 분산데이터베이스(3200)에 데이터를 기록하기 위한 함수이다.
상기 질의함수는 분산데이터베이스(3200)의 데이터를 조회하기 위해 블록을 검색하거나, 상기 분산데이터베이스(3200)의 데이터의 크기 등을 조회할 수 있고, 상기 질의함수의 실행 결과는 상기 분산데이터베이스(3200)에 기록되지 않는다.
상기 배포함수는 상기 분산데이터베이스(3200)에 데이터를 기록하기 위한 함수이고, 상기 배포함수는 상기 스마트컨트랙트(3100)의 체인코드를 실행하거나, 체인코드를 새로 등록하는 등의 동작이 실행될 수 있다. 이와 같은 배포함수의 실행에 따라 상기 분산데이터베이스(3200)에 데이터가 기록될 수 있다. 또한, 본 발명의 일 실시예에서는, 상기 스마트컨트랙트(3100)에는 언급한 함수들 이외에도 다양한 함수들이 저장되어 있을 수 있다.
도 2는 본 발명의 일 실시예에 따른 블록체인에 기반한 연합학습을 수행하는 방법을 수행하는 하이브리드 시스템의 구성을 개략적으로 도시한다.
도 2에 도시된 바와 같이 본 발명의 블록체인에 기반한 연합학습을 수행하는 하이브리드 시스템은, 학습모델의 연합학습을 수행하는 서버(3000.1); 및 복수의 클라이언트 단말(3000.N+1)을 포함할 수 있다. 복수의 클라이언트 단말(3000.N+1)은 전술한 사용자 단말에 해당할 수 있다. 상기 서버(3000.1) 및 클라이언트 단말(3000.N+1)은, 블록체인 네트워크 내에서 노드(3000)의 역할을 하며, 애플리케이션(10)을 통해 블록체인 네트워크에 접속할 수 있다. 본 발명에 따른 블록체인 네트워크는 연합학습을 수행하는 방법을 수행하기 위한 전용의 블록체인 네트워크에 해당할 수도 있다. 또한, 본 명세서에서는 편의상 서버(3000.1) 및 클라이언트 단말(3000.N+1)의 용어를 구분하여 서술하였지만, 각각은 모두 블록체인 네트워크 상에서 노드(3000)에 해당하며, 용어가 혼용되어 사용될 수 있다.
연합학습이란, 데이터가 지리적으로 분산되어 있는 환경에서 직접 데이터를 수집한 후 머신러닝 및 딥러닝등의 학습 기술을 사용하는 것이 아닌 데이터를 소유한 클라이언트가 각각 학습을 수행하여 그 결과값만을 특정 서버(3000.1)에게 전송하여 학습하는 방식이다. 이 때 서버(3000.1)는 수집한 각 학습의 결과물을 취합(aggregation)하여 학습 결과를 업데이트한다. 이는 사용자의 프라이버시를 보존할 수 있을 뿐만 아니라, 무거운 데이터를 보관하고 관리해야만 하는 단체 측면에서도 상당히 유용한 기술에 해당한다. 상기 서버(3000.1) 및 복수의 클라이언트에는 이와 같은 연합학습을 위한 애플리케이션(10)을 통해 블록체인 네트워크에 접속하여 각각의 서버(3000.1) 및 클라이언트 단말(3000.N+1) 즉, 각각의 노드(3000)는 트랜잭션을 발생시켜 정보를 전송하고, 블록의 생성 및 저장 등을 수행할 수 있다.
도 3은 본 발명의 일 실시예에 따른 분산데이터베이스(3200)의 구성을 개략적으로 도시한다.
본 발명의 일 실시에 따른 분산데이터베이스(3200)는, 상기 하이브리드 시스템의 블록체인 네트워크에서 공유하는 분산원장(3210) 및 상기 하이브리드 시스템 내의 상기 노드(3000)들이 각자 보유하는 개인데이터베이스(3220)를 포함할 수 있다. 도 3에 도시된 바에 따르면, 상기 분산원장(3210)은, 상기 하이브리드 시스템에서 이루어지는 연합학습결과에 대한 블록이 저장되는 연합학습분산원장(3211); 및 상기 하이브리드 시스템에서 이루어지는 각각의 노드(3000)가 연합학습에 기여한 정도에 따라 제공되는 연합학습보상정보에 대한 블록이 저장되는 학습보상분산원장(3212);을 포함할 수 있다. 이와 같이 본 발명에서는 연합학습을 수행한 연합학습결과를 연합학습분산원장(3211)에 저장함으로써, 참여자 모두에게 연합학습의 결과물을 공유하여 결과물의 불변성 및 투명성을 보장할 수 있고, 각각의 노드(3000)가 연합학습에 기여한 정도에 따라 제공한 보상의 정보를 학습보상분산원장(3212)에 저장함으로써, 투명하고 안전한 보상을 지급할 수 있다.
도 4는 본 발명의 일 실시예에 따른 서버(3000.1)의 내부 구성을 개략적으로 도시한다.
도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 연합학습을 수행하는 서버(3000.1)는, 애플리케이션(10)을 통해 블록체인 네트워크에 접속하여 각각의 노드(3000)와 데이터를 송수신하고, 블록의 생성 및 저장 등의 동작을 수행할 수 있다. 본 발명의 일 실시예에 따르면, 상기 서버(3000.1)는, 로컬학습정보수신부(1100), 옵트인DB학습부(1200), 연합학습결과도출부(1300), 연합학습블록생성부(1400), 연합학습보상부(1500), 및 DB(1600)를 포함한다.
구체적으로, 상기 로컬학습정보수신부(1100)는, 상기 애플리케이션(10)을 통해 상기 학습모델을 전송하여 복수의 노드(3000)에 로컬학습을 요청하고, 각각의 노드(3000)에서 개인데이터베이스(3220)를 이용하여 수행된 로컬학습의 결과값을 포함하는 로컬학습정보를 수신한다.
상기 옵트인DB학습부(1200)는, 상기 옵트인 사용자의 정보가 저장된 옵트인데이터베이스를 이용하여 상기 학습모델의 학습을 수행하여 옵트인DB학습결과값을 도출한다. 옵트인(Opt-in)사용자란 상기 서버(3000.1)에 개인정보를 제공을 동의한 사용자의 정보로서, 기업, 병원 및 기타 단체는 특정 서비스를 제공하기 위해 사전에 정보 제공 동의 등을 받은 후 이에 대한 일부 데이터를 보관하는 경우가 대다수이다. 이들은 모두 개인정보 동의를 사전에 받기 때문에, 기업 측면에서는 상대적으로 머신러닝 상에서 데이터를 다루기가 훨씬 수월하다.
상기 연합학습결과도출부(1300)는, 상기 로컬학습정보수신부(1100)에서 수신한 로컬학습정보 및 상기 옵트인DB학습부(1200)에서 도출한 옵트인DB학습결과값에 기초하여 연합학습결과정보를 도출한다. 바람직하게는, 상기 연합학습결과도출부(1300)는, 옵트인DB학습결과값에 기초하여 오류로컬학습결과값을 판별하고, 오류로컬학습결과값을 제외한 로컬학습정보 및 옵트인DB학습결과값에 기초하여 연합학습결과정보를 도출한다.
상기 연합학습블록생성부(1400)는, 상기 연합학습결과정보에 대한 블록을 생성하고, 상기 연합학습결과정보에 대한 블록을 상기 분산원장(3210)에 저장한다.
상기 연합학습보상부(1500)는, 로컬학습을 수행하여 연합학습에 참여한 각각의 노드(3000)가 연합학습에 기여한 정도에 따른 연합학습보상을 제공한다.
한편, 서버(3000.1)의 DB(3200)에는 개인정보의 제공을 동의한 옵트인(opt-in) 사용자의 정보를 저장하고 있는 옵트인DB가 포함될 수 있고, 연합학습을 수행할 학습모델이 저장되어 있을 수 있다. 바람직하게는, 상기 옵트인DB는 서버(3000.1)의 개인데이터베이스(3220)에 저장되어 있다.
도 4에 도시된 서버(3000.1)는 도시된 구성요소 외의 다른 요소들을 더 포함할 수 있으나, 편의상 본 발명의 실시예들에 따른 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법과 관련된 구성요소들만을 표시하였다.
이와 같은 방식으로, 본 발명의 하이브리드 시스템은, 클라이언트 단말(3000.N+1)로부터 연합학습에 대한 결과값만을 제공받아 학습모델의 학습을 수행함으로써, 연합학습에서 발생할 수 있는 사용자 데이터에 대한 프라이버시를 보존할 수 있고, 이에 대한 연합학습결과정보에 대한 블록을 생성하여 분산원장(3210)에 저장함으로써, 서버(3000.1)가 기능을 못하는 경우에도, 데이터의 손실을 방지할 수 있는 효과를 발휘할 수 있으며 연합학습에 참여하는 클라이언트의 학습 기여도에 따른 보상을 지급할 수 있는 효과를 발휘할 수 있다.
도 5는 본 발명의 일 실시예에 따른 로컬학습정보수신부(1100), 옵트인DB학습부(1200), 및 연합학습결과도출부(1300)의 수행 단계를 개략적으로 도시한다.
본 발명의 학습모델의 연합학습을 수행하는 서버(3000.1)는, 로컬학습정보수신부(1100), 옵트인DB학습부(1200), 및 연합학습결과도출부(1300)를 포함하고, 도 5에 도시된 바와 같은 수행 단계들을 수행할 수 있다.
구체적으로, S100단계에서는, 상기 서버(3000.1)의 로컬학습정보수신부(1100)는, 블록체인 네트워크에 접근하기 위한 애플리케이션(10)을 통해 상기 학습모델을 전송하여 복수의 노드(3000)에 로컬학습을 요청한다. 상기 서버(3000.1)는 연합학습을 수행하고자 하는 학습모델을 학습에 참여할 노드(3000)에 전송하기 위해 트랜잭션을 발생시켜 학습모델을 전송하고, 해당 노드(3000)에 로컬학습을 요청한다.
S110단계에서는, 이와 같은 로컬학습의 요청을 수신한 복수의 노드(3000)는 각각 보유한 개인데이터베이스(3220)를 이용하여 로컬학습을 수행한다. 바람직하게는, 각각의 노드(3000)는 서버(3000.1)만이 보유한 옵트인데이터베이스 처럼, 다른 노드(3000) 혹은 서버(3000.1)와 직접적으로 공유되지 않는 개인데이터베이스(3220)를 보유하며, 이와 같은 개인데이터베이스(3220)를 이용하여 로컬학습을 수행한다.
S120단계에서는 로컬학습을 수행한 노드(3000)에서는, 로컬학습을 수행한 로컬학습의 결과값을 상기 서버(3000.1)로 전송한다. 상기 노드(3000)에서는, 로컬학습의 결과값을 전송하기 위한 트랜잭션을 발생시켜 상기 로컬학습의 결과값을 전송할 수 있다. 바람직하게는, 상기 로컬학습의 결과값은 상기 개인데이터베이스(3220)를 이용하여 학습을 수행한 학습모델의 파라미터의 변화량을 포함할 수 있다.
상기 S100 내지 S120단계는 상기 로컬학습정보수신부(1100)가 수행하는 로컬학습정보수신단계에 상응한다.
S130단계에서는, 상기 서버(3000.1)의 옵트인DB학습부(1200)는 옵트인 사용자의 정보가 저장된 옵트인데이터베이스를 이용하여 상기 학습모델의 학습을 수행하고, 옵트인DB학습결과값을 도출한다. 바람직하게는, 상기 옵트인DB학습결과값은 상기 옵트인데이터베이스를 이용하여 학습을 수행한 학습모델의 파라미터의 변화량을 포함할 수 있다. 또한, 상기 옵트인데이터베이스는 상기 서버(3000.1)와 연결된 노드(3000)의 개인데이터베이스(3220)에 저장되어 있을 수 있다.
이후, S140단계에서는, 상기 서버(3000.1)의 연합학습결과도출부(1300)는, 옵트인DB학습결과값 및 로컬학습결과값에 기초하여 연합학습결과정보를 도출한다. 바람직하게는, 상기 연합학습결과정보는 옵트인DB학습결과값에 따라 생성된 오류로컬학습결과값을 계산하여, 오류로컬학습결과값을 반영하여 상기 연합학습결과정보를 도출한다. 이에 대한 구체적인 설명은 도 6의 설명에서 후술하도록 한다.
도 6은 본 발명의 일 실시예에 따른, 연합학습결과도출부(1300)의 수행 단계를 개략적으로 도시한다.
본 발명의 일 실시예에 따른 연합학습결과도출부(1300)는, 옵트인DB학습결과값에 기초하여 상기 로컬학습정보 중에서 기설정된 조건에 부합하지 않는 오류로컬학습결과값을 판별하는 단계(S200); 상기 로컬학습정보 중 상기 오류로컬학습결과값을 제외한 기준로컬학습정보를 도출하는 단계(S210); 및 상기 옵트인DB학습결과값 및 기준로컬학습정보에 기초하여 상기 연합학습결과정보를 도출하는 단계(S220);를 수행한다.
구체적으로, 상기 S200단계에서는, 상기 서버(3000.1)의 연합학습결과도출부(1300)는 옵트인DB학습결과값에 기초하여 복수의 노드(3000)에서의 로컬학습 결과값을 포함하는 상기 로컬학습정보 중에서 기설정된 조건에 부합하지 않는 오류로컬학습결과값을 판별한다. 바람직하게는, 상기 오류로컬학습결과값은 옵트인DB학습결과값의 파라미터의 변화량 및 상기 로컬학습의 결과값의 파라미터의 변화량의 차이값이 기설정된 기준에 부합하는지 여부에 따라 결정될 수 있다. 종래의 연합학습 기술에서는 복수의 클라이언트로부터 수신한 로컬학습의 결과값을 해당 과정을 통해 악의적인 클라이언트가 올바르지 않은 학습값을 전송하는 모델 포이즌 공격으로 인해 전체 학습 결과값의 신뢰도가 저하되는 문제점이 있었다. 이와 같은 문제를 해결하기 위하여, 연합학습의 수행 시 서버(3000.1)가 가진 옵트인데이트베이스에 기초하여 오류로컬학습결과값을 선별하여, 오류로컬학습결과값에 기반한 최종적인 연합학습결과를 취합하므로, 악의적인 클라이언트의 공격에 간편하고 효율적으로 대응할 수 있는 효과를 발휘할 수 있다.
상기 S210단계에서는, 상기 로컬학습정보 중 상기 오류로컬학습결과값을 제외한 기준로컬학습정보를 도출한다. 상기 로컬학습정보는 복수의 노드(3000)에서의 로컬학습의 결과값을 포함하고, 서버(3000.1)의 연합학습결과도출부(1300)는, 복수의 로컬학습의 결과값 중 오류로컬학습결과값을 제외한다.
이와 같은 방식으로, 본 발명의 서버(3000.1)는 옵트인데이터베이스를 이용하여 수행한 학습결과를 기반으로 복수의 클라이언트로부터 수신한 로컬학습의 결과값 중 오류로컬학습결과값을 선별하여 연합학습을 수행함으로써, 악의적인 클라이언트의 모델 포이즌 공격을 방지 할 수 있는 효과를 발휘할 수 있다.
이후, S220단계에서는, 상기 옵트인DB학습결과값 및 상기 기준로컬학습정보에 기초하여 상기 연합학습결과정보를 도출한다. 상기 연합학습결과정보는 상기 옵트DB학습결과값 및 기준로컬학습정보의 취합 혹은 평균을 도출하여 생성될 수 있다.
이와 같은 방식으로, 본 발명의 서버(3000.1)는, 옵트인DB학습결과값을 기반으로 로컬학습의 결과값에서 오류값을 선별하여, 신뢰할 수 있는 데이터만으로 연합학습결과정보를 도출할 수 있고, 도출된 연합학습결과정보를 통해 학습모델을 보다 정확하게 학습시킬 수 있어, 모델 포이즌 공격에 대응할 수 있는 효과를 발휘할 수 있다.
도 7은 본 발명의 일 실시예에 따른 연합학습보상부(1500)의 수행 단계를 개략적으로 도시한다.
본 발명의 서버(3000.1)는 연합학습보상부(1500)를 포함하여, 연합학습보상단계를 수행하고, 상기 연합학습보상단계는, 로컬학습을 수행하여 연합학습을 수행한 각각의 노드(3000)가 연합학습에 기여한 정도에 따른 연합학습보상을 제공한다. 도 7은 본 발명의 하이브리드 시스템에서 연합학습을 수행하고, 이에 참여한 노드(3000)에 보상을 제공하는 과정을 개략적으로 도시한다.
구체적으로, 전술한 바와 같이, S300단계에서는, 서버(3000.1)는 로컬학습을 요청한 각각의 노드(3000)로부터 로컬학습의 결과값을 수신한다.
이후 S310단계에서는, 서버(3000.1)는 수신한 로컬학습의 결과값 및 옵트인DB학습결과값에 기초하여 오류로컬학습결과값을 판별하고, 오류로컬학습결과값을 반영하여, 연합학습결과정보를 도출한다.
S320단계에서는, 서버(3000.1)의 연합학습블록생성부(1400)는, S310단계에서 도출된 연합학습결과정보에 대한 블록을 생성하고 연합학습결과정보에 대한 블록을 분산원장(3210)에 저장한다. 바람직하게는, 상기 연합학습결과정보에 대한 블록은 분산원장(3210)에 포함된 연합학습분산원장(3211)에 저장된다. 이와 같이 수행된 연합학습에 대한 결과가 서버(3000.1)에만 저장되는 것이 아닌, 다른 노드(3000)들과 공유가 가능한 분산원장(3210)에 저장하여 공유함으로써, 서버(3000.1)의 고장 등의 이유로 제 기능을 하지 못하는 경우에 발생하는 단일 실패점 문제(SPoF, Single Point of Failure)를 방지할 수 있는 효과를 발휘할 수 있다.
상기 S300 내지 S320단계는 전술한 연합학습결과도출부(1300) 및 연합학습블록생성부(1400)의 동작에 해당한다. 본 발명에서는 위와 같은 단계의 수행으로 연합학습을 수행한 후, 연합학습에 참여한 노드(3000)에 연합학습의 기여도에 따른 보상을 제공할 수 있다. 이하에서는 연합학습에 참여한 노드(3000)에 보상을 제공하는 연합학습보상부(1500)의 수행 단계를 설명하도록 한다.
S330단계에서는, 상기 서버(3000.1)의 연합학습보상부(1500)는, 연합학습에 참여한 노드(3000)의 개인데이터베이스(3220)의 크기에 대한 정보를 포함하는 보유자원량정보를 요청한다. 학습에 참여하는 클라이언트 단말(3000.N+1)에서는 각자 자신이 보유한 계산능력을 소비하여 로컬학습을 수행하고, 이에 따라 학습 취합의 주체인 서버(3000.1)는 클라이언트의 학습기여에 대한 올바른 보상을 제공해야 한다. 비교적 다량의 데이터를 보유하면서 연합학습을 위해 전력소모가 비교적 큰 고성능 디바이스를 구동하는 클라이언트에는 더 많은 보상이 지급되어야 하기 때문에 상기 서버(3000.1)의 연합학습보상부(1500)는 개인데이터베이스(3220)의 크기에 대한 정보를 포함하는 보유자원량정보를 연합학습에 참여한 노드(3000)에 요청한다.
S340단계에서는, 상기 연합학습보상부(1500)는, 상기 연합학습에 참여한 노드(3000)로부터 보유자원량정보를 수신한다.
S350단계에서는, 상기 연합학습보상부(1500)는, 수신한 보유자원량정보에 기초하여 기설정된 기준에 따라 상기 연합학습에 참여한 해당 노드(3000)에 보상을 제공한다. 바람직하게는, 본 발명의 서버(3000.1)의 연합학습결과도출부(1300)는, 상기 옵트인DB학습결과값에 기초하여 상기 로컬학습정보 중 기설정된 조건에 부합하지 않는 오류로컬학습결과값을 판별하고, 상기 연합학습보상부(1500)는, 상기 오류로컬학습결과값을 제공한 노드(3000)에는 상기 보상을 제공하지 않는다. 상기 연합학습결과도출부(1300)에서 오류로컬학습결과값으로 판별되는 경우, 신뢰할 수 없는 로컬학습의 결과값을 의미하고, 서버(3000.1)는 이와 같은 오류값을 송신한 노드(3000)에는 연합학습에 기여한 정도에 대한 보상을 제공하지 않는다.
이후, S360단계에서는, 상기 연합학습보상부(1500)는, 해당 노드(3000)의 보유자원량정보 및 제공한 보상값을 포함하는 연합학습보상정보에 대한 블록을 생성하고, 상기 연합학습보상정보에 대한 블록을 상기 분산원장(3210) 내에 저장한다. 바람직하게는, 상기 연합학습보상정보에 대한 블록은 학습보상분산원장(3212)에 저장된다. 이와 같은 보상의 제공에 있어서도, 클라이언트의 보유자원량 위조 혹은 보상값이 위조될 수 있는 경우가 발생할 수 있다. 이와 같은 위조를 방지하기 위하여, 해당 노드(3000)의 보유자원량정보 및 제공한 보상값을 포함하는 연합학습보상정보에 대한 블록을 생성하고, 분산원장(3210)에 저장한다.
이와 같은 방식으로, 본 발명에서는, 연합학습에 참여한 노드(3000)들이 가진 보유자원량을 기반으로 보상을 제공할 수 있고, 보상에 대한 블록을 생성하고 분산원장(3210)에 저장함으로써, 보상값의 위조를 방지하여 올바른 보상 메커니즘을 제공할 수 있는 효과를 발휘할 수 있다.
본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅 장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 애플리케이션(10)은 파일 배포 시스템이 제공하는 파일을 통해 이용자 단말에 설치될 수 있다. 일 예로, 파일 배포 시스템은 이용자 단말이기의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션(10)을 수행할 수 있다.
또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅 장치 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM,
DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (7)

  1. 학습모델의 연합학습을 수행하는 서버 및 복수의 노드를 포함하는 하이브리드 시스템 상에서의 블록체인에 기반한 연합학습을 수행하는 방법으로서,
    상기 복수의 노드 각각은,
    블록체인 네트워크상의 트랜잭션이 기록되는 분산원장; 및 해당 노드가 개별적으로 보유하고 있는 개인데이터베이스; 및
    상기 분산원장에 대한 액세스를 제어하는 스마트컨트랙트;를 포함하고,
    상기 서버는, 개인정보의 제공을 동의한 옵트인(opt-in) 사용자의 정보를 저장하고 있고,
    상기 블록체인에 기반한 연합학습을 수행하는 방법은,
    서버에 의하여, 애플리케이션을 통해 상기 학습모델을 전송하여 복수의 노드에 로컬학습을 요청하고, 각각의 노드에서 개인데이터베이스를 이용하여 수행된 로컬학습의 결과값을 포함하는 로컬학습정보를 수신하는 로컬학습정보수신단계;
    서버에 의하여, 옵트인 사용자의 정보가 저장된 옵트인데이터베이스를 이용하여 상기 학습모델의 학습을 수행하여 옵트인DB학습결과값을 도출하는 옵트인DB학습단계;
    상기 로컬학습정보 및 옵트인DB학습결과값에 기초하여 연합학습결과정보를 도출하는 연합학습결과도출단계;
    상기 연합학습결과정보에 대한 블록을 생성하고, 상기 연합학습결과정보에 대한 블록을 상기 분산원장에 저장하는 연합학습블록생성단계;를 포함하는, 연합학습을 수행하는 방법.
  2. 청구항 1에 있어서,
    상기 연합학습결과도출단계는,
    상기 옵트인DB학습결과값에 기초하여 상기 로컬학습정보 중에서 기설정된 조건에 부합하지 않는 오류로컬학습결과값을 판별하는 단계;
    상기 로컬학습정보 중 상기 오류로컬학습결과값을 제외한 기준로컬학습정보를 도출하는 단계; 및
    상기 옵트인DB학습결과값 및 기준로컬학습정보에 기초하여 상기 연합학습결과정보를 도출하는 단계;를 포함하는, 연합학습을 수행하는 방법.
  3. 청구항 2에 있어서,
    상기 옵트인DB학습결과값은,
    상기 옵트인데이터베이스를 이용하여 학습을 수행한 학습모델의 파라미터의 변화량을 포함하고,
    상기 로컬학습의 결과값은,
    상기 개인데이터베이스를 이용하여 학습을 수행한 학습모델의 파라미터의 변화량을 포함하고,
    상기 오류로컬학습결과값은,
    상기 옵트인DB학습결과값의 파라미터의 변화량 및 상기 로컬학습의 결과값의 파라미터의 변화량의 차이값이 기설정된 기준에 부합하는지 여부에 따라 결정되는, 연합학습을 수행하는 방법.
  4. 청구항 1에 있어서,
    상기 연합학습을 수행하는 방법은,
    상기 서버에 의하여, 상기 로컬학습을 수행하여 연합학습에 참여한 각각의 노드가 연합학습에 기여한 정도에 따른 연합학습보상을 제공하는 연합학습보상단계;를 더 포함하는, 연합학습을 수행하는 방법.
  5. 청구항 4에 있어서,
    상기 연합학습보상단계는,
    연합학습에 참여한 노드의 개인데이터베이스의 크기에 대한 정보를 포함하는 보유자원량정보를 요청하는 단계;
    해당 노드로부터 상기 보유자원량정보를 수신하는 단계; 및
    상기 보유자원량정보에 기초하여 기설정된 기준에 따라 해당 노드에 보상을 제공하는 단계;를 포함하는, 연합학습을 수행하는 방법.
  6. 청구항 4에 있어서,
    상기 연합학습보상단계는,
    해당 노드의 보유자원량정보 및 제공한 보상값을 포함하는 연합학습보상정보에 대한 블록을 생성하는 단계; 및
    상기 연합학습보상정보에 대한 블록을 상기 분산원장 내에 저장하는 단계;를 더 포함하는, 연합학습을 수행하는 방법.
  7. 청구항 1에 있어서,
    상기 분산원장은,
    상기 하이브리드 시스템에서 이루어지는 연합학습결과에 대한 블록이 저장되는 연합학습분산원장; 및
    상기 하이브리드 시스템에서 이루어지는 각각의 노드가 연합학습에 기여한 정도에 따라 제공되는 연합학습보상정보에 대한 블록이 저장되는 학습보상분산원장;을 포함하는, 연합학습을 수행하는 방법.
KR1020200106174A 2020-08-24 2020-08-24 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법 KR102430986B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200106174A KR102430986B1 (ko) 2020-08-24 2020-08-24 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200106174A KR102430986B1 (ko) 2020-08-24 2020-08-24 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법

Publications (2)

Publication Number Publication Date
KR20220025456A KR20220025456A (ko) 2022-03-03
KR102430986B1 true KR102430986B1 (ko) 2022-08-08

Family

ID=80818812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200106174A KR102430986B1 (ko) 2020-08-24 2020-08-24 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법

Country Status (1)

Country Link
KR (1) KR102430986B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116961939A (zh) * 2022-04-14 2023-10-27 苏州科技大学 一种基于联盟链的可信联邦学习方法
KR102485748B1 (ko) 2022-05-30 2023-01-09 주식회사 어니스트펀드 통계 모델을 위한 연합 학습 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102107115B1 (ko) 2018-08-22 2020-05-28 주식회사 머니브레인 스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 및 컴퓨팅 장치
JP2020115311A (ja) 2019-01-18 2020-07-30 オムロン株式会社 モデル統合装置、モデル統合方法、モデル統合プログラム、推論システム、検査システム、及び制御システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102635310B1 (ko) * 2019-01-29 2024-02-07 주식회사 하나은행 소셜 네트워크 서비스 콘텐츠 보상 방법 및 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102107115B1 (ko) 2018-08-22 2020-05-28 주식회사 머니브레인 스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 및 컴퓨팅 장치
JP2020115311A (ja) 2019-01-18 2020-07-30 オムロン株式会社 モデル統合装置、モデル統合方法、モデル統合プログラム、推論システム、検査システム、及び制御システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"노드인지기반 선택적 학습을 통한 연합학습의 안정성 및 정확성 향상기법 연구", 2019년 한국컴퓨터종합학술대회 논문집, 2019.06.30.

Also Published As

Publication number Publication date
KR20220025456A (ko) 2022-03-03

Similar Documents

Publication Publication Date Title
US11790370B2 (en) Techniques for expediting processing of blockchain transactions
JP6999023B2 (ja) ブロックチェーンネットワークにおいて大規模分散メモリプールを管理するためのコンピュータ実装されたシステム及び方法
JP7341225B2 (ja) マルチテナント環境における非集中型台帳による高度なスマートコントラクト
US11153069B2 (en) Data authentication using a blockchain approach
US11048690B2 (en) Contribution of multiparty data aggregation using distributed ledger technology
US8849757B2 (en) Determining user key-value storage needs from example queries
US20210126794A1 (en) Methods, apparatus and system for identification verification
KR20210133289A (ko) 블록체인 네트워크에서 데이터 추출
US10693646B2 (en) Event execution using a blockchain approach
US10652350B2 (en) Caching for unique combination reads in a dispersed storage network
KR102430986B1 (ko) 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법
Rakovic et al. Blockchain paradigm and internet of things
US20210133729A1 (en) Blockchain transaction control based on private key management
Chen Flowchain: A distributed ledger designed for peer-to-peer IoT networks and real-time data transactions
US20220179869A1 (en) Coexistence mediator for facilitating blockchain transactions
Chithaluru et al. An enhanced consortium blockchain diversity mining technique for IoT metadata aggregation
Zhu et al. Blockchain and Internet of Things
Pawar et al. ParallelChain: a scalable healthcare framework with low‐energy consumption using blockchain
Nguyen et al. Trustless framework for iterative double auction based on blockchain
WO2023201061A1 (en) Data protection on distributed data storage (dds) protection networks
Yu et al. MeHLDT: A multielement hash lock data transfer mechanism for on-chain and off-chain
Gao et al. A privacy-preserving framework for subgraph pattern matching in cloud
Grodzicka et al. Security and scalability in private permissionless blockchain: Problems and solutions leading to creating Consent-as-a-Service (CaaS) deployment
Wang et al. Cloud data integrity verification algorithm based on data mining and accounting informatization
KR20240038252A (ko) 하이브리드 시스템을 위한 분산 id 및 블록체인 기반의 검증가능한 연합학습을 수행하는 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant