KR102485748B1 - 통계 모델을 위한 연합 학습 방법 및 장치 - Google Patents

통계 모델을 위한 연합 학습 방법 및 장치 Download PDF

Info

Publication number
KR102485748B1
KR102485748B1 KR1020220066114A KR20220066114A KR102485748B1 KR 102485748 B1 KR102485748 B1 KR 102485748B1 KR 1020220066114 A KR1020220066114 A KR 1020220066114A KR 20220066114 A KR20220066114 A KR 20220066114A KR 102485748 B1 KR102485748 B1 KR 102485748B1
Authority
KR
South Korea
Prior art keywords
data
client
neural network
federated learning
communication module
Prior art date
Application number
KR1020220066114A
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 KR1020220066114A priority Critical patent/KR102485748B1/ko
Application granted granted Critical
Publication of KR102485748B1 publication Critical patent/KR102485748B1/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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

연합 학습 장치는 불특정 다수의 신용 평가 데이터를 저장하도록 구성된 데이터베이스; 암호키를 생성하도록 구성된 암호화부; 암호화된 데이터를 비교하여 중복되는 인터섹션 데이터를 결정하도록 구성된 데이터 인터섹션부; 상기 암호키를 송신하고 상기 암호키를 사용하여 암호화된 데이터 및 신경망의 가중치를 수신받도록 구성된 통신 모듈; 및 제1 신경망 및 제2 신경망을 포함하는 공통 모형을 생성하고, 상기 인터섹션 데이터 및 상기 신용 평가 데이터를 이용하여 상기 제1 신경망을 학습시키고, 상기 통신 모듈이 수신한 가중치를 사용하여 상기 제2 신경망을 학습시켜, 상기 공통 모형을 학습시키도록 구성된 모형 생성부를 포함한다.

Description

통계 모델을 위한 연합 학습 방법 및 장치{federated learning method and device for statistical model}
본 개시는 통계 모델을 위한 연합 학습 방법 및 장치에 관한 것으로, 각기 다른 기관에 보유한 데이터를 가명 결합 없이 모델 학습이 가능한 연합 학습 방법 및 장치에 관한 것이다.
금융기관이 마이데이터를 통한 서비스를 제공하기 위해서는 종류가 상이한, 예를 들어 데이터 레이아웃이 상이한 데이터의 결합이 필요하다. 예를 들어, 보험 데이터를 활용하여 신용도에 미치는 영향을 분석하기 위해서는 보험 데이터를 가진 보험사와 신용데이터를 가진 은행 혹은 신용 조사 기관(Credit Bureau, CB)의 데이터를 결합할 필요가 있다. 이를 위하여 금융보안원, 한국신용정보원, 금융결제원 등 인증된 전문결합기관에서 가명 결합을 이용한 데이터 통합을 진행할 수는 있다. 그러나, 마이데이터를 통해 서비스를 제공하기 위해서 결합해야 할 데이터의 원천 및 분류 역시 은행/카드/보험/CB 등으로 지극히 다양하여, 다양한 데이터를 가명 결합하기 위해 많은 시간과 비용이 필요하다. 이에, 가명 결합을 통한 데이터 통합은 반복적이고 상시적인 모델 학습이 필요한 분야에 적용하기 어렵다.
마이데이터를 활용한 신용 평가 모형 개발 역시 비슷한 이슈가 있다. 신용평가모형의 학습을 위하여, 개인 대출 신청에 관한 데이터 전체가 필요하나, 대출 신청이 아닌 대출 실행 데이터로 모형을 개발하는 경우 데이터의 편향으로 인하여 잘못된 모형이 개발될 수 있다. 하지만, 개인 정보 보호를 위하여 개별 금융회사는 해당사에 대출 실행된 고객에 한하여 데이터를 적재할 수 있고, 대출이 거절되거나 대출 실행을 하지 않은 데이터를 적재할 수는 없다.
NICE 평가정보나 KCB와 같은 CB사의 경우 개인 대출시 신용 조회된 전체의 데이터를 보유하고 있지만, 금융기관의 경우 신용 평가의 목적으로 고객의 동의 없이 개인 정보를 신용 정보 회사로부터 수신하는 것은 어렵다. 이러한 문제를 해결하기 위하여 해당 금융기관의 정보와 CB사의 정보를 가명 결합하여 모형 개발할 수 있으나, 역시 반복적이고 상시적인 모형학습이 불가능한 한계가 있다.
한국공개특허 제10-2022-0025456호
https://blog.openmined.org/federated-learning-types/ RVFR: ROBUST VERTICAL FEDERATED LEARNING VIA FEATURE SUBSPACE RECOVERY, ICLR 2022 Conference. Federated Machine Learning: Concept and Applications, Qiang Yang et al 2019.
각기 다른 기관에 보유한 레이아웃이 상이한 데이터를 가명 결합 없이 모델 학습이 가능한 방법 및 장치를 제공한다.
본 개시의 일 형태는, 통신 모듈 및 프로세서를 포함하는 장치에 의해 수행되는 연합 학습 방법을 개시한다. 연합 학습 방법은 기 프로세서에 의해 제1 신경망 및 제2 신경망을 포함하는 공통 모형을 생성하는 단계; 상기 통신 모듈을 통해 제1 클라이언트에게 제1 신경망을, 제2 클라이언트에게 제2 신경망을 제공하는 단계; 상기 통신 모듈을 통해 상기 제1 클라이언트로부터 제1 암호화된 데이터를 수신하는 단계; 상기 통신 모듈을 통해 상기 제2 클라이언트로부터 제2 암호화된 데이터를 수신하는 단계; 상기 프로세서에 의해 상기 제1 암호화된 데이터 및 상기 제2 암호화된 데이터를 비교하여 중복되는 인터섹션 데이터를 결정하는 단계; 상기 통신 모듈을 통해 상기 인터섹션 데이터를 상기 제1 클라이언트 및 상기 제2 클라이언트에게 제공하는 단계; 상기 통신 모듈을 통해, 상기 인터섹션 데이터를 사용하여 학습된 제1 신경망에 대한 정보를 제1 클라이언트로부터 또한 상기 인터섹션 데이터를 사용하여 학습된 제2 신경망에 대한 정보를 제2 클라이언트로부터 수신하는 단계; 및 상기 프로세서에 의해 상기 학습된 제1 신경망에 대한 정보 및 상기 학습된 제2 신경망에 대한 정보를 사용하여 상기 공통 모형을 학습시키는 단계를 포함한다.
일 실시예에서, 연합 학습 방법은 상기 제1 클라이언트로부터 제1 암호화된 데이터를 수신하는 단계 이전에, 상기 제1 클라이언트에게 암호키를 전달하는 단계; 및 상기 제2 클라이언트로부터 제2 암호화된 데이터를 수신하는 단계 상기 제2클라이언트에게 상기 암호키를 전달하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 제1 암호화된 데이터는 상기 제1 클라이언트가 보유한 불특정 다수 각각의 고유 식별 번호를 암호화한 데이터를 포함하고, 상기 제2 암호화된 데이터는 상기 제2 클라이언트가 보유한 불특정 다수 각각의 고유 식별 번호를 암호화한 데이터를 포함할 수 있다.
일 실시예에서, 상기 제1 클라이언트 또는 상기 제2 클라이언트는 불특정 다수의 신용 평가 데이터를 보유하고, 상기 공통 모형은 신용 평가 모형일 수 있다.
본 개시의 일 형태는, 불특정 다수에 관한 데이터를 저장하도록 구성된 메모리, 통신 모듈 및 프로세서를 포함하는 장치에 의해 수행되는 연합 학습 방법을 개시한다. 연합 학습 방법은 상기 프로세서에 의해 제1 신경망 및 제2 신경망을 포함하는 공통 모형을 생성하는 단계; 통신 모듈을 통해 제1 클라이언트에게 제2 신경망을 제공하는 단계; 상기 통신 모듈을 통해 상기 제1 클라이언트로부터 제1 암호화된 데이터를 수신하는 단계; 상기 프로세서에 의해, 암호키를 사용하여 상기 메모리에 저장된 불특정 다수에 관한 데이터 중 고유 식별 부호를 암호화하여 제2 암호화된 데이터를 생성하는 단계; 상기 프로세서에 의해 상기 제1 암호화된 데이터 및 상기 제2 암호화된 데이터를 비교하여 중복되는 인터섹션 데이터를 결정하는 단계; 상기 통신 모듈을 통해 상기 인터섹션 데이터를 상기 제1 클라이언트에게 제공하는 단계; 상기 프로세서에 의해 상기 인터섹션 데이터를 이용하여 상기 제1 신경망을 학습시키는 단계; 상기 통신 모듈을 상기 인터섹션 데이터를 사용하여 학습된 제2 신경망에 대한 정보를 제1 클라이언트로부터 수신하는 단계; 및 상기 프로세서에 의해 상기 학습시킨 제1 신경망 및 상기 학습된 제2 신경망에 대한 정보를 사용하여 상기 공통 모형을 학습시키는 단계를 포함한다.
일 실시예에서, 상기 제1 클라이언트로부터 제1 암호화된 데이터를 수신하는 단계 이전에, 상기 제1 클라이언트에게 상기 암호키를 전달하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 제1 암호화된 데이터는 상기 제1 클라이언트가 보유한 불특정 다수 각각의 고유 식별 번호를 암호화한 데이터를 포함할 수 있다.
일 실시예에서, 상기 제1 클라이언트로부터 제1 암호화된 데이터를 수신하는 단계 이전에, 중립적인 제3자로부터 상기 암호키를 수신하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 메모리는 불특정 다수의 신용 평가 데이터를 저장하고, 상기 공통 모형은 신용 평가 모형일 수 있다.
본 개시의 일 형태에서, 연합 학습 장치는, 불특정 다수의 신용 평가 데이터를 저장하도록 구성된 데이터베이스; 암호키를 생성하도록 구성된 암호화부; 암호화된 데이터를 비교하여 중복되는 인터섹션 데이터를 결정하도록 구성된 데이터 인터섹션부; 상기 암호키를 송신하고 상기 암호키를 사용하여 암호화된 데이터 및 신경망의 가중치를 수신받도록 구성된 통신 모듈; 및 제1 신경망 및 제2 신경망을 포함하는 공통 모형을 생성하고, 상기 인터섹션 데이터 및 상기 신용 평가 데이터를 이용하여 상기 제1 신경망을 학습시키고, 상기 통신 모듈이 수신한 가중치를 사용하여 상기 제2 신경망을 학습시켜, 상기 공통 모형을 학습시키도록 구성된 모형 생성부를 포함한다.
본 개시의 일 형태는, 명령어를 저장하도록 구성된 메모리; 외부 장치와 통신하여 정보를 주고받도록 구성된 통신 모듈; 및 상기 메모리 및 상기 통신 모듈을 제어하도록 구성된 프로세서를 포함하는 연합 학습 장치로, 상기 메모리에 저장된 명령어가 상기 프로세서에 의해 수행될 때, 상기 프로세서는 상술한 연합 학습 방법을 수행하도록 구성된다.
본 개시에 따르면, 개별 클라이언트가 가진 데이터를 가명 결합없이 비교하여 학습 데이터를 추출하고, 각 클라이언트로부터 가중치(weight)를 공유하여 최종적인 공통 모델을 개발하여, 개인정보법에 위배되는 부분 없이 각 데이터를 활용할 수 있는 주요한 모델, 예를 들어 신용 평가 모델, 마케팅 모델을 생성할 수 있다.
도 1은 본 개시의 일 실시예에 따른 연합 학습 시스템의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 연합 학습을 제공하는 장치의 블록도이다.
도 3은 본 개시의 일 실시예에 따른 연합 학습을 제공하는 장치의 블록도이다.
도 4는 본 개시의 일 실시예에 따른 연합 학습을 제공하는 장치의 블록도이다.
도 5는 본 개시의 일 실시예에 따른 연합 학습의 일 예시이다.
도 6은 본 개시의 일 실시예에 따른 연합 학습 방법의 흐름도이다.
도 7은 본 개시의 일 실시예에 따른 연합 학습 방법의 흐름도이다.
도 8은 본 개시의 일 실시예에 따른 연합 학습 방법의 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", 하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것 만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서", "A, B, 및 C를 수행하도록 구성된(또는 설정된) 모듈"은 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 개시에 기재된 선행 문헌은 그 전체가 참조로써 본 명세서에 결합되며, 선행 문헌에 기재된 내용을 본 기술 분야의 일반적인 지식을 가진 사람이 본 개시에 간략히 설명된 부분에 적용할 수 있음이 이해될 것이다.
본 개시에 개시된 인공 신경망(또는 인공 지능 모델)은 프로세서, 데이터베이스, 메모리, 통신 모듈, 서버의 적어도 두개의 조합에 의해 구현될 수 있다. 일 실시예에서, 프로세서는 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 임의의 형태의 프로세서 또는 컨트롤러일 수 있다.
일 실시예에서, 데이터베이스는 장치의 동작을 위한 정보를 저장하도록 구성된다. 데이터베이스는 장치에서 구동되는 다수의 응용 프로그램(application program) 또는 애플리케이션(application), 프로세서가 읽어들일 수 있는 데이터들, 명령어들을 저장할 수 있다. 예를 들어, 데이터베이스는 HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브, 네트워크를 이용한 클라우드 등과 같은 다양한 저장 공간을 포함할 수 있다.
인공 지능 모델이란, 본 개시에서, 대량의 학습 데이터를 통해 인공 신경망(Artificial Neural Network, ANN)을 포함하는 학습 모델을 학습시켜 인공 신경망 내부의 파라미터를 최적화하고, 학습된 학습 모델을 이용하여 시스템(도시하지 않음)의 동작에 관여하는 모델을 의미할 수 있다. 일 실시예에서 인공 지능 모듈(도시하지 않음)은 MRC(Machine Reading Comprehension)를 통해 학습될 수 있다. 일 실시예에서, 인공 지능 모듈에 사용되는 인공 신경망 모델은 합성곱 신경망(Convolutional Neural Network, CNN), 심층 신경망(Deep Neural Network, DNN), 순환 신경망(Recurrent Neural Network, RNN), 제한적 볼츠만 머신(Restricted Boltzmann Machine, RBM), 심층 신뢰 신경망(Deep Belief Network, DBN), 양방향 순환 신경망(Bidirectional Recurrent Deep Neural Network, BRDNN), 변이형 오토 인코더(Variational Auto Encoder, VAE) 또는 심층 Q-네트워크(Deep Q-Networks) 등 중 적어도 어느 하나 또는 이들의 조합이 있으나, 전술한 예에 한정되지 않는다. 학습 방법은 사용자가 정의한 특정 데이터들 간의 규칙을 기반으로 입력된 데이터 중 특정 규칙을 만족하는 데이터에 대해 추론하여 서비스를 생성하는 규칙 기반의 추론(Rule-based Reasoning), 현재 사례(Case)에 대한 문제를 해결하기 위해 과거의 사례를 기반으로 일치/유사한 사례를 매칭하는 사례 기반의 추론(Case-based Reasoning) 등을 포함할 수 있다. 또한, 지도 학습, 비지도 학습, 강화 학습, 신경망 등을 사용한 추론 기술이 이용될 수 있지만, 이에 한정되지는 않는다.
도 1은 본 개시의 일 실시예에 따른 연합 학습 시스템(1000)의 블록도이다.
도 1을 참조하면 연합 학습 시스템(1000)은 연합 학습 장치(1010), 제1 클라이언트(1020) 및 제2 클라이언트(1030)을 포함할 수 있다. 제1 클라이언트(1020) 및 제2 클라이언트(1030)는 각각 신경망을 학습시키고, 학습된 신경망 또는 학습된 신경망의 가중치를 연합 학습 장치(1010)에 제공할 수 있다.
일 실시예에서, 연합 학습 장치(1010)는 제1 신경망 및 제2 신경망을 포함하는 공통 모델을 생성하도록 구성될 수 있다. 연합 학습 장치(1010)는 제1 신경망을 제1 클라이언트(1020)에게, 제2 신경망을 제2 클라이언트(1030)에게 각각 제공한다. 제1 클라이언트(1020)는 제1 데이터를 이용하여 제1 신경망을 학습시킨다. 제2 클라이언트(1030)는 제2 데이터를 이용하여 제2 신경망을 학습시킨다. 제1 데이터와 제2 데이터는 동일인에 관한 데이터이되 서로 레이아웃이 상이한 데이터일 수 있다. 제1 클라이언트(1020)와 제2 클라이언트(1030)는 각각 불특정 다수의 데이터를 보유할 수 있다. 연합 학습 장치(1010), 제1 클라이언트(1020)와 제2 클라이언트(1030) 중 적어도 하나는 제1 클라이언트(1020)와 제2 클라이언트(1030)의 데이터 중 중복된 사람에 대한 데이터를 추출 또는 정렬한다. 이중 제1 클라이언트(1020)가 보유한 중복된 사람에 대한 데이터를 제1 데이터, 제2 클라이언트(1030)가 보유한 중복된 사람에 대한 데이터를 제2 데이터라고 할 수 있다. 제1 클라이언트(1020)와 제2 클라이언트(1030)의 데이터 중 중복된 사람에 대한 데이터를 추출 또는 정렬하는 방법은 private set intersection(PSI)을 포함할 수 있다. PSI에 대한 상세한 설명은 후술한다.
일 실시예에서, 제1 클라이언트(1020)는 은행, 제2 클라이언트(1030)는 이-커머스(e-commerce)일 수 있다. 은행은 불특정 다수의 자산 상태, 신용 점수 등에 관한 데이터를 보유하고, 이-커머스는 불특정 다수의 구매 기록, 검색 기록 등에 관한 데이터를 보유한다. 은행과 이-커머스가 보유한 데이터의 특징 공간은 상이할 것이다. 본 개시의 수직 연합 학습에 따르면, 은행과 이-커머스 모두의 데이터를 이용하여 미래의 구매 패턴 혹은 구매 상품을 예측하는 모델을 만들 수 있다.
일 실시예에서, 제1 클라이언트(1020)를 입력 특징을 가진 클라이언트로, 제2 클라이언트(1030)를 타겟을 가지고 있는 타겟 클라이언트로 하여 다음과 같이 검증 프로세스를 수행하였다. 제1 클라이언트(1020)는 불특정 다수 고객의 마이데이터를 갖고 있는 클라이언트, 제2 클라이언트(1030)는 제1 클라이언트(1020)가 가지고 있는 불특정 다수의 고객과 적어도 일부가 중복되는 고객의 불량 또는 연체 여부를 레이블로 갖고 있는 클라이언트로 하였다. 상기 데이터는 하나의 데이터 세트를 입력 특질과 타겟 데이터로 분리하여 사용할 수 있다. 제1 클라이언트(1020)가 보유한 고객의 데이터와 제2 클라이언트(1030)의 고객의 보유한 고객의 불량 혹은 연체 데이터와의 상관관계를 연합 학습을 통해 확인할 수 있다.
일 실시예에서, 다음의 표 1과 같이, 제1 신경망은 22개의 입력을 받아 20개의 특징을 출력하는 제1 계층 및 20개의 특징을 입력 받아 10개의 특징을 출력하는 계층을 포함하였다. 제2 신경망은 10개의 특징을 입력 받아 2개의 특징을 출력하는 계층으로 구성하였다.
제1 클라이언트 Sequential(
(0): Linear(in_features=22, out_features=20, bias=True)
(1): ReLU()
(2): Linear(in_features=20, out_features=10, bias=True)
(3): ReLU()
)
제2 클라이언트 Sequential( (0): Linear(in_features=10, out_features=2, bias=True)
(1): LogSoftmax()
)
공통모형의 파라미터는 다음의 표 2와 같다.
Epochs 100
Optimizer SGD
Learning Rate 0.03
Batch size 256
도 2는 본 개시의 일 실시예에 따른 연합 학습을 제공하는 장치(200)의 블록도이다. 도 2에 개시된 장치(200)는 도 1의 시스템(1000)의 연합 학습 장치(1010), 제1 클라이언트(1020) 및 제2 클라이언트(1030) 중 적어도 하나로 사용될 수 있다.
도 2를 참조하면, 본 개시에 따른 연합 학습을 제공하는 장치(200)는 통신 모듈(210), 데이터베이스(220), 사용자 인터페이스(230), 모형 생성부(240), 데이터 인터섹션부(250) 및 암호화부(260)를 포함할 수 있다. 본 개시에 따른 연합 학습 제공 장치(200)는 신용 조사 기관(Credit Bureau, CB), 금융 기관 혹은 마이 데이터를 관리하는 데이터 사업자에서 운용하는 장치를 포함할 수 있다. 또, 연합 학습 제공 장치(200)는 상기 기관으로부터 신용 정보 또는 신용 평가 데이터를 받아 신용 활동을 추천하기 위한 서비스 제공자 또는 공공 기관에 의해 운용되는 시스템에 포함되는 장치일 수도 있다.
통신 모듈(210)은 외부 장치와 통신을 위한 모듈을 포함한다. 통신 모듈(210)은 연합 학습 제공 장치(200)가 외부 기기와 통신하여 정보를 수신하도록 구성된다. 통신 모듈(210)의 통신 방식은 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등), WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), 5G 무선통신망 등에 따라 구축된 네트워크를 이용할 수 있으나, 이에 한정하는 것은 아니며 향후 개발될 모든 전송 방식 표준을 포함할 수 있다. 유/무선을 통하여 데이터를 주고받을 수 있는 것을 모두 포함할 수 있다.
연합 학습 제공 장치(200)는 통신 모듈(210)을 통해 사용자의 소정의 정보를 주고받을 수 있다. 예를 들어, 연합 학습 제공 장치(200)는 연합 학습을 위한 모형의 적어도 일부, 모형 내 신경망의 가중치, 암호화된 식별 번호 등과 같은 연합 학습에 필요한 정보를 통신 모듈(210)을 통해 송신하거나 수신할 수 있다.
데이터베이스(220)는 컴퓨팅 디바이스에 의해 액세스될 수 있고 데이터 및 실행가능 명령어들(예를 들어, 소프트웨어 애플리케이션들, 프로그램들, 함수들 등)의 영구적 저장을 제공하는 데이터 저장 디바이스들과 같은 컴퓨터 판독가능 저장 매체를 포함한다. 데이터베이스(220)의 예들은 휘발성 메모리 및 비휘발성 메모리, 고정식 및 착탈식 매체 디바이스들, 및 컴퓨팅 디바이스 액세스를 위한 데이터를 유지하는 임의의 적절한 메모리 디바이스 또는 전자 데이터 저장소를 포함한다. 데이터베이스(220)는 랜덤 액세스 메모리(RAM, random access memory), 판독 전용 메모리(ROM, read-only memory), 플래시 메모리 및 다양한 메모리 디바이스 구성의 다른 타입의 저장 매체의 다양한 구현예들을 포함할 수 있다. 데이터베이스(220)는 프로세서와 함께 실행가능한 실행가능 소프트웨어 명령어들(예를 들어, 컴퓨터 실행가능 명령어들) 또는 모듈로서 구현될 수 있는 같은 소프트웨어 애플리케이션을 저장하도록 구성된다. 데이터베이스(220)는 불특정 다수 각각의 정보를 저장하도록 구성된다. 상기 정보는 개인의 금융 데이터, 의료 데이터, 쇼핑 데이터, 통신 데이터, 부동산 데이터, VAN 사 데이터, 앱 사용 패턴 로그 데이터 등을 포함할 수 있다. 일 실시예에서, 데이터베이스(220)는 통신 모듈(210)을 통해 다른 장치(도시하지 않음)로부터 데이터를 수신하여 저장할 수 있다.
예를 들어 통신데이터(예를 들어, 앱 스토어 사용 실적, 통신 요금 납부 정보, 통화 패턴 등)를 가지고 있는 A 클라이언트와 신용 정보를 가지고 있는 B 클라이언트와의 데이터 연합 학습을 통하여 앱 스토어 사용 실적, 통신 요금 납부 정보, 통화 패턴과 신용도와의 상관관계를 구하여, 대안 신용 평가 모형을 만들 수 있다. 이렇게 만들어진 대안 신용 평가 모형은 신용 정보만으로 구성된 신용 평가 모형과는 달리, 사회 초년생 등과 같이 신용 정보가 없는 고객 대상도 통신 데이터 만으로도 신용 평가가 가능하다. 따라서, 포용적 금융 서비스를 제공하는데 활용할 수 있다. 사용자 인터페이스(230)는 연합 학습 제공 장치(200)의 관리자의 입력을 수신하도록 구성된다.
일 실시예에서, 모형 생성부(240)는 연합 학습을 위한 모형을 생성하도록 구성된다. 연합 학습을 위한 모형은 예를 들어 복수의 신경망이 연결된 인공 지능 모델을 포함할 수 있다. 연합 학습 모형은 복수의 신경망으로 분리될 수 있다. 분리된 신경망은 각각 다른 주체(예를 들어, 다른 금융 기관들)에게 분배되고, 각 주체가 갖고 있는 데이터를 이용해 학습될 수 있다. 각 주체가 갖고 있는 데이터에 의해 학습된 신경망은 조합되어 하나의 연합 학습 모델을 형성하거나, 각 주체가 갖고 있는 데이터에 의해 학습된 신경망을 이용하여 하나의 연합 학습 모델이 학습될 수 있다. 각각 다른 주체는 서로 다른 레이아웃을 가질 수 있다. 예를 들어 신용 평가사 혹은 금융기관이 보유한, 타겟에 해당하는 데이터와 다른 금융 기관 혹은 비금융 기관 보유한, 이를 설명하기 위한 변수 데이터의 레이아웃은 상이할 수 있다. 이 경우, 모형 생성부(240)는 수직 연합 학습을 이용하여 모형을 학습시킬 수 있다.
일 실시예에서, 데이터 인터섹션부(250)는 서로 다른 주체의 데이터 중 동일인에 대한 데이터를 추출하도록 구성된다. 데이터 인터섹션부(250)는 제1 주체(도시하지 않음)가 보유한 데이터와 제2 주체(도시하지 않음)가 보유한 데이터 중 대상이 동일한 데이터를 추출할 수 있다. 데이터 인터섹션부(250)는 암호화부(260)와 함께 동일 엔티티 정렬을 수행하도록 구성된다. 예를 들어 신용 평가를 위한 데이터인 연체 혹은 불량 여부 등 타겟에 해당하는 데이터는 신용 평가사 혹은 금융기관이 가지고 있으며, 이를 설명하기 위한 변수는 다른 금융 기관 혹은 비금융 기관이 될 수 있다. 신용 평가사 혹은 금융기관이 보유한 데이터에 속한 사람과 다른 금융 기관 또는 비금융 기관이 보유한 데이터에 속한 사람은 100% 동일하지 않고, 적어도 일부가 중복될 수 있다. 데이터 인터섹션부(250)는 각 기관이 보유한 데이터 중 중복된 사람의 데이터를 판별하도록 구성된다. 데이터 인터섹션부(250)은 다른 주체가 보유한 데이터와 연합 학습 장치(200)가 보유한 데이터 중 중복된 사람의 데이터를 판별하는 동작을 수행하는 역할을 한다.
일 실시예에서, 암호화부(260)는 데이터 인터섹션부(250)가 암호화를 통해 각 다른 주체가 보유한 데이터를 공개하지 않고, 데이터를 교차 비교할 수 있도록 암호화 기술을 제공하도록 구성된다. 예를 들어, 암호화부(260)는 데이터 인터섹션부(250)가 private set intersection(PSI)을 통해 각 다른 주체가 보유한 데이터 사이의 동일 엔티티 정렬을 수행하는데 필요한 정보를 제공하도록 구성될 수 있다. PSI는 서로 다른 레이아웃의 데이터를 가진 주체 사이에서, 동일 엔티티의 데이터를 가지고(교차) 있는지 확인하기 위하여 각각의 기관사이의 키(Key)를 암호화하여, 각각의 데이터 별 암호화된 키를 비교할 수 있도록 하는 다자간 계산 암호화 기술을 포함한다. PSI에서는 어느 기관도 교차 확인을 위한 암호화된 키를 제외하고 상대방에게 아무것도 공개하지 않으므로, 기본적인 안전성을 확보할 수 있다.
일 실시예에서, 암호화부(260)는 데이터를 암호화하는데 필요한 암호키를 생성하도록 구성될 수 있다. 일 실시예에서, 암호화부(260)가 생성한 암호키를 이용하여 암호화된 데이터는 암호화부(260)에서 복호화하여 종래의 데이터로 되돌리는 것이 불가능할 수 있다. 즉 암호화부(260)는 비가역적 암호키를 생성할 수 있다. 또는 암호화부(260)는 퍼블릭키만을 생성하고 프라이빗 키는 생성하거나 공유하지 않을 수 있다. 이에 따라, 암호화부(260)를 보유한 주체가 암호화된 데이터를 수신하더라도 데이터의 보안을 유지할 수 있다. 이와 다르게, 암호화부(260)는 암호키를 이용하여 암호화된 데이터를 종래의 데이터로 되돌리는 것이 가능할 수도 있다. 데이터 인터섹션부(250)는 암호화된 데이터를 복호화하지 않고 암호화된 데이터를 비교할 수 있도록 구성된다. 데이터 인터섹션부(250)는 서로 다른 주체의 암호화된 데이터 중 동일인에 대한 데이터를 추출하거나 정렬할 수 있다.
일 실시예에서, 암호화부(260)는 암호키를 이용하여 데이터베이스(220)에 저장된 데이터를 암호화하도록 구성될 수 있다. 예를 들어, 암호화부(260)는 데이터베이스(220)에 저장된 불특정 다수의 고유 식별 번호를 암호키를 이용하여 암호화할 수 있다.
도 3은 본 개시의 일 실시예에 따른 연합 학습을 제공하는 장치(300)의 블록도이다. 도 3에 개시된 장치(300)는 도 1의 시스템(1000)의 연합 학습 장치(1010), 제1 클라이언트(1020) 및 제2 클라이언트(1030) 중 적어도 하나로 사용될 수 있다.
도 3을 참조하면, 본 개시에 따른 연합 학습 장치(300)는 통신 모듈(310), 데이터베이스(320), 사용자 인터페이스(330), 모형 학습부(340) 및 데이터 인터섹션부(350)를 포함할 수 있다. 통신 모듈(310), 데이터베이스(320), 사용자 인터페이스(330) 및 데이터 인터섹션부(350)는 통신 모듈(210), 데이터베이스(220), 사용자 인터페이스(230) 및 데이터 인터섹션부(250)와 실질적으로 동일하여 자세한 설명은 생략된다. 연합 학습 장치(300)는 다른 장치, 예를 들어 연합 학습 장치(300)로부터 신경망을 수신할 수 있다. 모형 학습부(340)는 데이터 인터섹션부(350)에서 정렬 또는 추출한 데이터를 이용하여 신경망을 학습시키도록 구성된다. 일 실시예에서, 모형 학습부(340)는 신경망을 학습시킨 후 신경망으로부터 가중치를 추출할 수 있다. 연합 학습 장치(300)는 연합 학습 장치(200)로 학습된 신경망 또는 학습된 신경망으로부터 추출한 가중치를 제공할 수 있다.
도 4는 본 개시의 일 실시예에 따른 연합 학습을 제공하는 장치(400)의 블록도이다. 도 4에 개시된 장치(400)는 도 1의 시스템(1000)의 연합 학습 장치(1010), 제1 클라이언트(1020) 및 제2 클라이언트(1030) 중 적어도 하나로 사용될 수 있다.
도 4를 참조하면, 연합 학습 제공 장치(400)는 통신 모듈(410), 메모리(420), 사용자 인터페이스(430) 및 프로세서(440)를 포함한다. 통신 모듈(410), 메모리(420), 사용자 인터페이스(430)는 통신 모듈(210), 데이터베이스(220), 사용자 인터페이스(230)과 실질적으로 동일하거나 유사하여 자세한 설명은 생략한다.
프로세서(440)는 연합 학습 제공 장치(400)의 동작을 제어하도록 구성된다. 프로세서(440)는 메모리(420)에 저장된 명령어들이 실행될 때, 본 개시에서 제공되는 방법을 수행할 수 있다. 프로세서(440)는 메모리(420)에 저장된 명령어들이 실행될 때, 도 2 또는 도 3의 모형 생성부(240), 데이터 인터섹션부(250, 350), 암호화부(260), 모형 학습부(340)의 기능을 수행할 수 있다.
도 2 내지 도 3에 개시된 장치(200, 300, 400)의 일부 구성요소가 서로 치환되거나 조합될 수 있음이 이해될 것이다. 데이터 사업자 또는 금융 기관은 본 개시의 연합 학습 시스템(1000) 또는 연합 학습 장치(200, 300, 400)를 운용할 수 있다.
도 5는 본 개시의 일 실시예에 따른 연합 학습의 일 예시이다.
도 5를 참조하면, 두 데이터 세트 내의 중복되되 레이아웃이 다른 샘플, 예를 들어 동일인의 데이터를 이용하여 모형을 학습시키는 예를 알 수 있다. 일 실시예에서, 데이터의 이동 없이 개별 클라이언트가 보유한 데이터를 이용하여 모형을 학습한 다음 해당 신경망의 가중치를 공유하여 최종 공통 모형을 개발할 수 있다. 수직 연합 학습은 동일 샘플에 대한 다른 서브셋의 특징을 가진 복수의 클라이언트가, 중복되는 샘플을 각각 학습하여 하나의 공통 모델을 학습시키는 학습 방법으로, 본 기술의 통상의 지식을 가진 자라면 본 개시가 작성되는 시점에서 웹 검색을 통해 이해할 수 있을 것이다.
도 6은 본 개시의 일 실시예에 따른 연합 학습 방법의 흐름도이다. 도 6에 개시된 방법이 상술한 시스템(1000), 장치(200, 300, 400)에 의해 수행됨이 이해될 것이다.
S605에서, 연합 학습 기관(610)은 제1 클라이언트(620) 및 제2 클라이언트(630)에게 제1 암호키 및 제2 암호키를 각각 제공할 수 있다. 일 실시예에서, 도시되지는 않았으나 연합 학습 기관(610)은 제1 클라이언트(620) 및 제2 클라이언트(630)에게 제1 신경망 및 제2 신경망을 각각 제공할 수 있다.
S610에서, 제1 클라이언트(620)는 제1 클라이언트(620)가 보유한 데이터(제1 데이터)의 적어도 일부를 암호화여 제1 암호화 데이터를 생성하여 연합 학습 기관(610)에 제1 암호화 데이터를 제공할 수 있다. 일 실시예에서, 제1 암호화 데이터는 제1 클라이언트(620)가 보유한 데이터가 어떠한 개인에게 속하였는지 알 수 있는 데이터를 암호화한 데이터를 포함할 수 있다. 예를 들어, 제1 암호화 데이터는 제1 클라이언트(620)가 보유한 데이터의 ID(고유 식별 번호)를 암호화한 데이터를 포함할 수 있다. 예를 들어, 고유 식별 번호는 주민등록번호, 여권번호, 전화번호, 이메일, 이름, 계좌번호, I-Pin 등 한 개인을 특정하기 위한 번호를 포함할 수 있다.
S610에서, 제2 클라이언트(630)는 제2 클라이언트(630)가 보유한 데이터(제2 데이터)의 적어도 일부를 암호화여 제2 암호화 데이터를 생성하여 연합 학습 기관(610)에 제2 암호화 데이터를 제공할 수 있다. 일 실시예에서, 제2 암호화 데이터는 제2 클라이언트(630)가 보유한 데이터가 어떠한 개인에게 속하였는지 알 수 있는 데이터를 암호화한 데이터를 포함할 수 있다. 예를 들어, 제2 암호화 데이터는 제2 클라이언트(630)가 보유한 데이터의 ID(예를 들어 주민등록번호, I-pin)를 암호화한 데이터를 포함할 수 있다.
S615에서, 연합 학습 기관(610)은 데이터 인터섹션을 수행한다. 연합 학습 기관(610)은 제1 암호화 데이터와 제2 암호화 데이터를 비교하여 중복된 암호화 데이터를 정렬 또는 추출한 인터섹션 데이터를 생성할 수 있다.
S620에서 연합 학습 기관(610)은 제1 클라이언트(620) 및 제2 클라이언트(630)에게 인터섹션 데이터를 제공한다.
S625에서 제1 클라이언트(620)는 인터섹션 데이터를 이용하여 제1 신경망을 학습시킨다. 제1 클라이언트(620)는 인터섹션 데이터를 사용하여 제1 데이터 중 제1 데이터와 제2 데이터의 ID가 중복되는 데이터를 이용하여 제1 신경망을 학습시킬 수 있다.
S630에서 제2 클라이언트(630)는 인터섹션 데이터를 이용하여 제2 신경망을 학습시킨다. 제2 클라이언트(630)는 인터섹션 데이터를 사용하여 제2 데이터 중 제1 데이터와 제2 데이터의 ID가 중복되는 데이터를 이용하여 제2 신경망을 학습시킬 수 있다.
S635에서 제1 클라이언트(620) 및 제2 클라이언트(630)는 연합 학습 기관(610)에게 제1 신경망 및 제2 신경망을 각각 제공한다. 일 실시예에서, S635에서 제1 클라이언트(620) 및 제2 클라이언트(630)는 연합 학습 기관(610)에게 제1 신경망의 가중치 및 제2 신경망의 가중치를 각각 제공할 수 있다.
S640에서, 연합 학습 기관(610)은 공통 모형 학습을 수행한다. 일 실시예에서, 연합 학습 기관(610)은 제1 신경망과 제2 신경망을 통합하여 공통 모형을 학습시킬 수 있다. 일 실시예에서, 연합 학습 기관(610)은 제1 클라이언트(620)로부터 수신한 제1 신경망의 가중치와 제2 클라이언트(630)로부터 수신한 제2 신경망의 가중치를 이용하여, 기존의 제1 신경망 및 제2 신경망을 학습시켜 공통 모형을 학습시킬 수 있다.
도 7은 본 개시의 일 실시예에 따른 연합 학습 방법의 흐름도이다. 도 7에 개시된 방법이 상술한 시스템(1000), 장치(200, 300, 400)에 의해 수행됨이 이해될 것이다.
S705에서, 연합 학습 기관(710)은 제1 신경망 및 제2 신경망을 포함하는 공통 모형을 생성하고, 제1 클라이언트(720) 및 제2 클라이언트(730)에게 제1 신경망 및 제2 신경망을 각각 제공할 수 있다.
S710에서, 제1 클라이언트(720) 및 제2 클라이언트(730)는 데이터 인터섹션을 수행한다.
일 실시예에서, 제1 클라이언트(720) 및 제2 클라이언트(730)는 연합 학습 기관(710)으로부터 암호키를 수신할 수 있다. 또는, 제1 클라이언트(720)는 제2 클러아언트(730)로부터 암호키를 수신할 수 있다. 제2 클라이언트(730)는 제1 클라이언트(720)으로부터 암호키를 수신할 수 있다. 암호키를 생성한 주체는 클라이언트이면서 연합 학습 기관의 서버의 역할을 동시에 수행할 수 있다.
암호키는 암호키를 생성한 주체도 암호화된 데이터를 복호화할 수 없도록 생성될 수 있다. 암호키는 암호키를 수신한 주체가 암호화된 데이터를 복호화할 수 없도록 생성될 수 있다.
제1 클라이언트(720)는 암호키를 사용하여 제1 클라이언트(720)가 보유한 데이터(제1 데이터)의 적어도 일부를 암호화하여 제1 암호화 데이터를 생성할 수 있다. 일 실시예에서, 제1 암호화 데이터는 제1 클라이언트(720)가 보유한 데이터가 어떠한 개인에게 속하였는지 알 수 있는 데이터를 암호화한 데이터를 포함할 수 있다. 예를 들어, 제1 암호화 데이터는 제1 클라이언트(720)가 보유한 데이터의 ID(고유 식별 번호)를 암호화한 데이터를 포함할 수 있다. 예를 들어, 고유 식별 번호는 주민등록번호, 여권번호, 전화번호, 이메일, 이름, 계좌번호, I-Pin 등 한 개인을 특정하기 위한 번호를 포함할 수 있다.
제2 클라이언트(730)는 암호키를 사용하여 제2 클라이언트(730)가 보유한 데이터(제2 데이터)의 적어도 일부를 암호화하여 제2 암호화 데이터를 생성할 수 있다. 제2 암호화 데이터는 제2 클라이언트(730)가 보유한 데이터가 어떠한 개인에게 속하였는지 알 수 있는 데이터를 암호화한 데이터를 포함할 수 있다. 예를 들어, 제2 암호화 데이터는 제2 클라이언트(730)가 보유한 데이터의 ID를 암호화한 데이터를 포함할 수 있다.
일 실시예에서, 제1 클라이언트(720) 및 제2 클라이언트(730)는 제1 암호화 데이터 및 제2 암호화 데이터를 연합 학습 기관(710)에게 제공할 수 있다. 제1 암호화 데이터 및 제2 암호화 데이터를 수신한 연합 학습 기관(710)은 제1 암호화 데이터와 제2 암호화 데이터를 비교하여 중복된 암호화 데이터를 정렬 또는 추출한 인터섹션 데이터를 생성할 수 있다. 연합 학습 기관(710)은 인터섹션 데이터를 제1 클라이언트(720) 및 제2 클라이언트(730)에게 각각 제공한다.
일 실시예에서, 제1 클라이언트(720)는 제2 클라이언트(730)에게 제1 암호화 데이터를 제공할 수 있다. 제1 암호화 데이터를 수신한 제2 클라이언트(730)는 제1 암호화 데이터와 제2 암호화 데이터를 비교하여 중복된 암호화 데이터를 정렬 또는 추출한 인터섹션 데이터를 생성할 수 있다. 제2 클라이언트(730)는 인터섹션 데이터를 제1 클라이언트(720)에게 제공한다.
일 실시예에서, 제2 클라이언트(730)는 제1 클라이언트(720)에게 제2 암호화 데이터를 제공할 수 있다. 제2 암호화 데이터를 수신한 제1 클라이언트(720)는 제1 암호화 데이터와 제2 암호화 데이터를 비교하여 중복된 암호화 데이터를 정렬 또는 추출한 인터섹션 데이터를 생성할 수 있다. 제1 클라이언트(720)는 인터섹션 데이터를 제2 클라이언트(730)에게 제공한다.
S715에서 제1 클라이언트(720)는 인터섹션 데이터를 이용하여 제1 신경망을 학습시킨다. 제1 클라이언트(720)는 인터섹션 데이터를 사용하여 제1 데이터 중 제1 데이터와 제2 데이터의 ID가 중복되는 데이터를 이용하여 제1 신경망을 학습시킬 수 있다.
S720에서 제2 클라이언트(730)는 인터섹션 데이터를 이용하여 제2 신경망을 학습시킨다. 제2 클라이언트(730)는 인터섹션 데이터를 사용하여 제2 데이터 중 제1 데이터와 제2 데이터의 ID가 중복되는 데이터를 이용하여 제2 신경망을 학습시킬 수 있다.
S725에서 제1 클라이언트(720) 및 제2 클라이언트(730)는 연합 학습 기관(710)에게 제1 신경망 및 제2 신경망을 각각 제공한다. 일 실시예에서, S725에서 제1 클라이언트(720) 및 제2 클라이언트(730)는 연합 학습 기관(710)에게 제1 신경망의 가중치 및 제2 신경망의 가중치를 각각 제공할 수 있다.
S730에서, 연합 학습 기관(710)은 공통 모형 학습을 수행한다. 일 실시예에서, 연합 학습 기관(710)은 제1 신경망과 제2 신경망을 통합하여 공통 모형을 학습시킬 수 있다. 일 실시예에서, 연합 학습 기관(710)은 제1 클라이언트(720)로부터 수신한 제1 신경망의 가중치와 제2 클라이언트(730)로부터 수신한 제2 신경망의 가중치를 이용하여, 기존의 제1 신경망 및 제2 신경망을 학습시켜 공통 모형을 학습시킬 수 있다.
도 8은 본 개시의 일 실시예에 따른 연합 학습 방법의 흐름도이다. 도 8에 개시된 방법이 상술한 시스템(1000), 장치(200, 300, 400)에 의해 수행됨이 이해될 것이다.
S805에서, 연합 학습 기관(810)은 제1 신경망 및 제2 신경망을 포함하는 공통 모형을 생성하고, 제2 신경망을 제1 클라이언트(820)에게 제공할 수 있다.
S810에서, 연합 학습 기관(810) 및 제1 클라이언트(820)는 데이터 인터섹션을 수행한다.
일 실시예에서, 연합 학습 기관(810) 및 제1 클라이언트(820)는 중립 기관(도시하지 않음)으로부터 암호키를 수신할 수 있다. 중립기관은 연합 학습 기관(810) 및 제1 클라이언트(820) 중 적어도 하나가 암호키로 암호화된 데이터를 복호화할 수 없도록 암호키를 생성할 수 있다. 다른 실시예에서, 연합 학습 기관(810)이 암호키를 생성하여 제1 클라이언트(820)에게 제공할 수 있다.
제1 클라이언트(820)는 암호키를 사용하여 제1 클라이언트(820)가 보유한 데이터(제1 데이터)의 적어도 일부를 암호화하여 제1 암호화 데이터를 생성할 수 있다. 일 실시예에서, 제1 암호화 데이터는 제1 클라이언트(820)가 보유한 데이터가 어떠한 개인에게 속하였는지 알 수 있는 데이터를 암호화한 데이터를 포함할 수 있다. 예를 들어, 제1 암호화 데이터는 제1 클라이언트(820)가 보유한 데이터의 ID(예를 들어 주민등록번호, I-pin 등)를 암호화한 데이터를 포함할 수 있다.
연합 학습 기관(810)은 암호키를 사용하여 연합 학습 기관(810)이 보유한 데이터(제2 데이터)의 적어도 일부를 암호화하여 제2 암호화 데이터를 생성할 수 있다. 제2 암호화 데이터는 연합 학습 기관(810)이 보유한 데이터가 어떠한 개인에게 속하였는지 알 수 있는 데이터를 암호화한 데이터를 포함할 수 있다. 예를 들어, 제2 암호화 데이터는 연합 학습 기관(810)이 보유한 데이터의 ID를 암호화한 데이터를 포함할 수 있다.
일 실시예에서, 연합 학습 기관(810) 및 제1 클라이언트(820)는 제1 암호화 데이터 및 제2 암호화 데이터를 중립 기관에게 제공할 수 있다. 제1 암호화 데이터 및 제2 암호화 데이터를 수신한 중립 기관은 제1 암호화 데이터와 제2 암호화 데이터를 비교하여 중복된 암호화 데이터를 정렬 또는 추출한 인터섹션 데이터를 생성할 수 있다. 중립 기관은 인터섹션 데이터를 연합 학습 기관(810) 및 제1 클라이언트(820)에게 각각 제공한다.
일 실시예에서, 제1 클라이언트(820)는 연합 학습 기관(810)에게 제1 암호화 데이터를 제공할 수 있다. 제1 암호화 데이터를 수신한 연합 학습 기관(810)은 제1 암호화 데이터와 제2 암호화 데이터를 비교하여 중복된 암호화 데이터를 정렬 또는 추출한 인터섹션 데이터를 생성할 수 있다. 연합 학습 기관(810)은 인터섹션 데이터를 제1 클라이언트(820)에게 제공한다.
일 실시예에서, 연합 학습 기관(810)은 제1 클라이언트(820)에게 제2 암호화 데이터를 제공할 수 있다. 제2 암호화 데이터를 수신한 제1 클라이언트(820)는 제1 암호화 데이터와 제2 암호화 데이터를 비교하여 중복된 암호화 데이터를 정렬 또는 추출한 인터섹션 데이터를 생성할 수 있다. 제1 클라이언트(820)는 인터섹션 데이터를 연합 학습 기관(810)에게 제공한다.
S815에서 연합 학습 기관(810)은 인터섹션 데이터를 이용하여 제1 신경망을 학습시킨다. 연합 학습 기관(810)은 인터섹션 데이터를 사용하여 제2 데이터 중 제1 데이터와 제2 데이터의 ID가 중복되는 데이터를 이용하여 제1 신경망을 학습시킬 수 있다.
S820에서 제1 클라이언트(820)는 인터섹션 데이터를 이용하여 제2 신경망을 학습시킨다. 제1 클라이언트(820)는 인터섹션 데이터를 사용하여 제1 데이터 중 제1 데이터와 제2 데이터의 ID가 중복되는 데이터를 이용하여 제2 신경망을 학습시킬 수 있다.
S825에서 제1 클라이언트(820)는 연합 학습 기관(810)에게 제2 신경망을 제공한다. 일 실시예에서, S825에서 제1 클라이언트(820)는 연합 학습 기관(810)에게 제2 신경망의 가중치를 각각 제공할 수 있다.
S830에서, 연합 학습 기관(810)은 공통 모형 학습을 수행한다. 일 실시예에서, 연합 학습 기관(810)은 제1 신경망과 제2 신경망을 통합하여 공통 모형을 학습시킬 수 있다. 일 실시예에서, 연합 학습 기관(810)은 제1 신경망의 가중치와 제2 클라이언트(830)로부터 수신한 제2 신경망의 가중치를 이용하여, 기존의 제1 신경망 및 제2 신경망을 학습시켜 공통 모형을 학습시킬 수 있다.
본 개시에 따른 개인 신용평가 방법은 금융기관, 신용평가 업체 또는 공공기관이 이용하고 있는 장비, 컴퓨터, 통합제어장치 등에 구비된 프로세서가 읽을 수 있는 기록매체에, 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
상기한 바와 같이, 본 개시는 고객의 신용 점수 개선을 위한 최적 신용 활동 추천 장치에 관한 것으로, 특정 조건에 속한 고객이 가장 손쉽게 시도할 수 있는 일련의 신용활동을 찾을 수 있으므로 고객의 신용도를 제고하고, 새로운 대출을 실행하는데 도움이 될 수 있다.
이상에서 설명된 장치 및 방법은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.
본 개시의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (11)

  1. 통신 모듈 및 프로세서를 포함하는 장치에 의해 수행되는 연합 학습 방법으로서,
    상기 프로세서에 의해 제1 신경망 및 제2 신경망을 포함하는, 공통 모형을 생성하는 단계;
    상기 통신 모듈을 통해 제1 클라이언트에게 제1 신경망을, 제2 클라이언트에게 제2 신경망을 제공하는 단계;
    상기 통신 모듈을 통해 상기 제1 클라이언트로부터 제1 암호화된 데이터를 수신하는 단계;
    상기 통신 모듈을 통해 상기 제2 클라이언트로부터 제2 암호화된 데이터를 수신하는 단계;
    상기 프로세서에 의해 상기 제1 암호화된 데이터 및 상기 제2 암호화된 데이터를 비교하여 중복되는 인터섹션 데이터를 결정하는 단계;
    상기 통신 모듈을 통해 상기 인터섹션 데이터를 상기 제1 클라이언트 및 상기 제2 클라이언트에게 제공하는 단계;
    상기 통신 모듈을 통해, 상기 인터섹션 데이터를 사용하여 학습된 제1 신경망에 대한 정보를 제1 클라이언트로부터 또한 상기 인터섹션 데이터를 사용하여 학습된 제2 신경망에 대한 정보를 제2 클라이언트로부터 수신하는 단계; 및
    상기 프로세서에 의해 상기 학습된 제1 신경망에 대한 정보 및 상기 학습된 제2 신경망에 대한 정보를 사용하여 상기 공통 모형을 학습시키는 단계를 포함하며,
    상기 공통 모형을 학습시키는 단계는 상기 제1 신경망과 상기 제2 신경망을 통합한 신경망을 통해 수행되는, 연합 학습 방법.
  2. 제1항에 있어서,
    상기 제1 클라이언트로부터 제1 암호화된 데이터를 수신하는 단계 이전에, 상기 제1 클라이언트에게 암호키를 전달하는 단계; 및
    상기 제2 클라이언트로부터 제2 암호화된 데이터를 수신하는 단계 이전에, 상기 제2클라이언트에게 상기 암호키를 전달하는 단계를 더 포함하는,
    연합 학습 방법.
  3. 제1항에 있어서,
    상기 제1 암호화된 데이터는 상기 제1 클라이언트가 보유한 불특정 다수 각각의 고유 식별 번호를 암호화한 데이터를 포함하고,
    상기 제2 암호화된 데이터는 상기 제2 클라이언트가 보유한 불특정 다수 각각의 고유 식별 번호를 암호화한 데이터를 포함하는,
    연합 학습 방법.
  4. 제1항에 있어서, 상기 제1 클라이언트 또는 상기 제2 클라이언트는 불특정 다수의 신용 평가 데이터를 보유하고,
    상기 공통 모형은 신용 평가 모형인,
    연합 학습 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 명령어를 저장하도록 구성된 메모리;
    외부 장치와 통신하여 정보를 주고받도록 구성된 통신 모듈; 및
    상기 메모리 및 상기 통신 모듈을 제어하도록 구성된 프로세서를 포함하는 연합 학습 장치로서,
    상기 메모리에 저장된 명령어가 상기 프로세서에 의해 수행될 때, 상기 프로세서는 제1항 내지 제4항 중 어느 한 항의 방법을 수행하도록 구성된,
    연합 학습 장치.
KR1020220066114A 2022-05-30 2022-05-30 통계 모델을 위한 연합 학습 방법 및 장치 KR102485748B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220066114A KR102485748B1 (ko) 2022-05-30 2022-05-30 통계 모델을 위한 연합 학습 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220066114A KR102485748B1 (ko) 2022-05-30 2022-05-30 통계 모델을 위한 연합 학습 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102485748B1 true KR102485748B1 (ko) 2023-01-09

Family

ID=84892859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220066114A KR102485748B1 (ko) 2022-05-30 2022-05-30 통계 모델을 위한 연합 학습 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102485748B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102644669B1 (ko) 2023-08-14 2024-03-06 재단법인 서울디지털재단 학습 수렴속도 향상을 위한 연합학습 시스템 및 그 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210132500A (ko) * 2020-04-27 2021-11-04 한국전자기술연구원 연합 학습 시스템 및 방법
KR20220025456A (ko) 2020-08-24 2022-03-03 공주대학교 산학협력단 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210132500A (ko) * 2020-04-27 2021-11-04 한국전자기술연구원 연합 학습 시스템 및 방법
KR20220025456A (ko) 2020-08-24 2022-03-03 공주대학교 산학협력단 하이브리드 시스템에서의 블록체인에 기반한 연합학습을 수행하는 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Federated Machine Learning: Concept and Applications, Qiang Yang et al 2019.
https://blog.openmined.org/federated-learning-types/
RVFR: ROBUST VERTICAL FEDERATED LEARNING VIA FEATURE SUBSPACE RECOVERY, ICLR 2022 Conference.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102644669B1 (ko) 2023-08-14 2024-03-06 재단법인 서울디지털재단 학습 수렴속도 향상을 위한 연합학습 시스템 및 그 방법

Similar Documents

Publication Publication Date Title
Chamikara et al. Privacy preserving face recognition utilizing differential privacy
Zhang et al. A model based on convolutional neural network for online transaction fraud detection
US10043035B2 (en) Systems and methods for enhancing data protection by anonosizing structured and unstructured data and incorporating machine learning and artificial intelligence in classical and quantum computing environments
Vasa et al. Deep learning: Differential privacy preservation in the era of big data
Sheth et al. Deep Learning, blockchain based multi-layered Authentication and Security Architectures
Kholidy et al. An Innovative Hashgraph-based Federated Learning Approach for Multi Domain 5G Network Protection
Shafee et al. Privacy attacks against deep learning models and their countermeasures
KR102485748B1 (ko) 통계 모델을 위한 연합 학습 방법 및 장치
Langevin et al. Generative adversarial networks for data augmentation and transfer in credit card fraud detection
Taric et al. A survey on privacy preserving data mining techniques
Hou et al. Ml defense: against prediction API threats in cloud-based machine learning service
Manisha et al. CBRC: a novel approach for cancelable biometric template generation using random permutation and Chinese Remainder Theorem
Hassan et al. From trust to truth: Advancements in mitigating the Blockchain Oracle problem
CA3189780A1 (en) Facial recognition tokenization
Priya et al. Privacy preserving data security model for cloud computing technology
Priya et al. A survey on privacy preserving voting scheme based on blockchain technology
Chai et al. Improvement on a privacy-preserving outsourced classification protocol over encrypted data
Javaid et al. Blockchain based Secure Group Data Collaboration in Cloud with Differentially Private Synthetic Data and Trusted Execution Environment
Dissanayake et al. “Trust Pass”-Blockchain-Based Trusted Digital Identity Platform Towards Digital Transformation
US20230252098A1 (en) Apparatus and methods for expanding contacts for a social networking platform
Chhikara et al. Adaptive federated learning scheme for recognition of malicious attacks in an IoT network
Sekgoka et al. Privacy-preserving data mining of cross-border financial flows
Toli et al. A privacy-preserving model for biometric fusion
Grover et al. Keeping it Low-Key: Modern-Day Approaches to Privacy-Preserving Machine Learning
Liu et al. Encrypted data indexing for the secure outsourcing of spectral clustering

Legal Events

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