KR102394758B1 - 데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치 - Google Patents

데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치 Download PDF

Info

Publication number
KR102394758B1
KR102394758B1 KR1020210007191A KR20210007191A KR102394758B1 KR 102394758 B1 KR102394758 B1 KR 102394758B1 KR 1020210007191 A KR1020210007191 A KR 1020210007191A KR 20210007191 A KR20210007191 A KR 20210007191A KR 102394758 B1 KR102394758 B1 KR 102394758B1
Authority
KR
South Korea
Prior art keywords
data
machine learning
sub
artificial intelligence
learning model
Prior art date
Application number
KR1020210007191A
Other languages
English (en)
Other versions
KR20210117917A (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 KR1020210007191A priority Critical patent/KR102394758B1/ko
Publication of KR20210117917A publication Critical patent/KR20210117917A/ko
Application granted granted Critical
Publication of KR102394758B1 publication Critical patent/KR102394758B1/ko

Links

Images

Classifications

    • 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/042Knowledge-based neural networks; Logical representations of neural networks
    • G06N3/0427
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

본 개시는 의료 데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치에 대한 것으로서, 서로 독립적인 복수의 학습 데이터 세트에 각각 기계학습을 수행하여 획득된 복수의 서브 기계학습모델을 수신하는 단계 및 복수의 서브 기계학습모델에 기초하여 통합기계학습모델을 획득하는 단계를 포함하는 것을 특징으로 한다.

Description

데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치 {METHOD OF MACHINE-LEARNING BY COLLECTING FEATURES OF DATA AND APPARATUS THEREOF}
본 개시는 데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치에 대한 것이다. 보다 구체적으로 본 개시는 데이터와 관련된 민감 정보를 보호하면서도 기계학습장치의 성능을 높이기 위한 기계 학습 방법 및 장치에 관한 것이다.
최상의 기계학습모델을 획득하기 위해서는 최대한 많은 데이터를 입력에 기초하여 기계학습을 수행하는 것이 필요하다. 하지만, 데이터를 저장하고 있는 물리적인 환경 또는 보안적인 문제로 인해, 데이터 센터에서 데이터를 반출하는 것이 어려운 경우가 있다. 예를 들어 데이터 센터의 대상 데이터가 의료 데이터인 경우, 민감한 개인정보로 분류되므로 데이터의 공유에 큰 제약조건이 따르게 된다. 의료 데이터는 환자의 신상정보, 환자가 앓고 있는 질환 정보, 환자가 걸릴 가능성이 높은 질환 정보 또는 환자의 가족력 등과 같이 개인정보와 관련된 민감 정보를 포함하기 때문이다. 따라서, 각 센터의 데이터 세트를 모두 이용하여 기계학습모델의 성능을 높이는 다양한 방법에 대한 연구가 계속되고 있다.
일 예로, 최근 연합 학습(Federated learning)이라는 기법이 각광을 받고 있다. 이 기법은 각 기관에 독립적인 딥러닝 모델을 설치하여, 마스터 서버(Master server)와 함께 동기화하여 통합된 데이터처럼 딥러닝 모델을 학습할 수 있도록 하는 알고리즘이다. 이는 민감데이터를 공유하지 않으면서도 공유한 효과를 낼 수 있는 알고리즘이다.
하지만 연합 학습은 기관의 협조가 필요하다. 각 독립적인 모델이 병원에서 제공한 데이터에 접근이 가능하여야 하며, 학습된 모델이 외부의 마스터 서버에 존재하는 모델과 동기화가 될 수 있는 상황이 구현되어야 한다. 하지만 개인정보보호를 중시하는 의료기관들은 의료기관 안에서만 데이터 공유가 이루어지는 인트라 네트워크를 사용하고 있다. 따라서 외부와 단절된 상황에서 연합모델을 구현하기 위해서는 많은 어려움이 있는 실정이다.
본 개시에 따른 기계학습방법은, 서로 독립적인 복수의 학습 데이터 세트에 각각 기계학습을 수행하여 획득된 복수의 서브 기계학습모델을 수신하는 단계 및 복수의 서브 기계학습모델에 기초하여 통합기계학습모델을 획득하는 단계를 포함한다.
본 개시에 따른 기계학습방법의 복수의 서브 기계학습모델을 수신하는 단계는, 복수의 학습 데이터 세트에 포함되는 제 1 학습 데이터 세트에 기초하여 기계학습된 제 1 서브 기계학습모델을 수신하는 단계 및 복수의 학습 데이터 세트에 포함되는 제 2 학습 데이터 세트에 기초하여 기계학습된 제 2 서브 기계학습모델을 수신하는 단계를 포함하고, 통합기계학습모델을 획득하는 단계는 제 1 서브 기계학습모델 및 제 2 서브 기계학습모델을 병합하여 통합기계학습모델을 획득하는 단계를 포함한다.
본 개시에 따른 기계학습방법은, 제 1 학습 데이터 세트에 포함된 제 1 분석 대상 데이터에 통합기계학습모델을 적용하여 획득된 제 1 특징 데이터를 수신하는 단계, 제 2 학습 데이터 세트에 포함된 제 2 분석 대상 데이터에 통합기계학습모델을 적용하여 획득된 제 2 특징 데이터를 수신하는 단계 및 제 1 특징 데이터 및 제 1 학습 데이터 세트에 포함된 제 1 분석 결과 데이터의 상관 관계 그리고 제 2 특징 데이터 및 제 2 학습 데이터 세트에 포함된 제 2 분석 결과 데이터의 상관 관계를 기계학습하여 최종기계학습모델을 획득하는 단계를 더 포함한다.
본 개시에 따른 기계학습방법은, 테스트 데이터에 통합기계학습모델을 적용하여 획득된 예측 특징 데이터를 수신하는 단계, 예측 특징 데이터에 최종기계학습모델을 적용하여 테스트 데이터에 대응하는 예측 결과 데이터를 획득하는 단계를 더 포함한다.
본 개시에 따른 기계학습방법의 복수의 학습 데이터 세트는 서로 다른 환경에서 획득된 의료 영상과 관련된 데이터이다.
본 개시에 따른 기계학습방법의 제 1 특징 데이터, 제 2 특징 데이터 및 예측 특징 데이터는 제 1 분석 대상 데이터, 제 2 분석 대상 데이터 및 테스트 데이터를 손실 압축한 데이터이다.
본 개시에 따른 기계학습방법의 제 1 분석 대상 데이터, 제 2 분석 대상 데이터 및 테스트 데이터는 개인정보가 포함되고, 제 1 특징 데이터, 제 2 특징 데이터 및 예측 특징 데이터는 개인정보가 식별되지 않는다.
본 개시에 따른 기계학습방법의 복수의 서브 기계학습모델은 CNN(Convolution Neural Network)를 이용하여 획득된다.
본 개시에 따른 기계학습방법의 제 1 학습 데이터 세트에 포함된 제 1 분석 결과 데이터는 제 1 학습 데이터 세트에 포함된 제 1 분석 대상 데이터를 사용자가 분석한 결과이고, 제 2 학습 데이터 세트에 포함된 제 2 분석 결과 데이터는 제 2 학습 데이터 세트에 포함된 제 2 분석 대상 데이터를 사용자가 분석한 결과이다.
본 개시에 따른 기계학습방법의 제 1 특징 데이터는 제 1 분석 대상 데이터를 제 1 서브 기계학습모델에 적용하여 획득되는 제 1 복수의 특징 레이어들 중 적어도 하나의 특징 레이어 및 제 1 분석 대상 데이터를 제 2 서브 기계학습모델에 적용하여 획득되는 제 2 복수의 특징 레이어들 중 적어도 하나의 특징 레이어를 결합한 데이터이고, 제 2 특징 데이터는 제 2 분석 대상 데이터를 제 1 서브 기계학습모델에 적용하여 획득되는 제 3 복수의 특징 레이어들 중 적어도 하나의 특징 레이어 및 제 2 분석 대상 데이터를 제 2 서브 기계학습모델에 적용하여 획득되는 제 4 복수의 특징 레이어들 중 적어도 하나의 특징 레이어를 결합한 데이터이다.
본 개시에 따른 기계학습방법의 제 1 복수의 특징 레이어들, 제 2 복수의 특징 레이어들, 제 3 복수의 특징 레이어들 및 제 4 복수의 특징 레이어들에서 동일 위치의 레이어를 선택하여, 제 1 특징 데이터 및 제 2 특징 데이터가 획득된다.
본 개시에 따른 기계학습방법은, 통합기계학습모델을 획득하는 단계, 통합기계학습모델을 서로 독립적인 복수의 학습 데이터 세트에 포함된 복수의 분석 대상 데이터에 적용하여 획득된 복수의 특징 데이터를 수신하는 단계 및 복수의 특징 데이터와 복수의 학습 데이터 세트에 포함된 복수의 분석 결과 데이터 사이의 관계를 기계학습하여 최종기계학습모델을 획득하는 단계를 포함한다.
본 개시에 따른 기계학습방법은, 테스트 데이터를 통합기계학습모델에 적용하여 획득된 예측 특징 데이터를 수신하는 단계 및 예측 특징 데이터를 최종기계학습모델에 적용하여 테스트 데이터에 관련된 예측 결과 데이터를 획득하는 단계를 포함한다.
본 개시에 따른 기계학습방법의 통합기계학습모델을 획득하는 단계는, 복수의 학습 데이터 세트에 포함되고, 제 1 분석 대상 데이터 및 제 1 분석 결과 데이터를 포함하는 제 1 학습 데이터 세트를 기계학습한 제 1 서브 기계학습모델을 수신하는 단계, 복수의 학습 데이터 세트에 포함되고, 제 1 학습 데이터 세트와 독립적이고, 제 2 분석 대상 데이터 및 제 2 분석 결과 데이터를 포함하는 제 2 데이터 세트를 기계학습한 제 2 서브 기계학습모델을 수신하는 단계 및 제 1 서브 기계학습모델 및 제 2 서브 기계학습모델을 병합하여 통합기계학습모델을 획득하는 단계를 포함한다.
본 개시에 따른 기계학습장치는 프로세서 및 메모리를 포함하고, 프로세서는 메모리에 저장된 명령어에 기초하여, 서로 독립적인 복수의 학습 데이터 세트에 각각 기계학습을 수행하여 획득된 복수의 서브 기계학습모델을 수신하고, 복수의 서브 기계학습모델에 기초하여 통합기계학습모델을 획득한다.
본 개시에 따른 기계학습장치는 프로세서는 메모리에 저장된 명령어에 기초하여, 복수의 학습 데이터 세트에 포함되는 제 1 학습 데이터 세트에 기초하여 기계학습된 제 1 서브 기계학습모델을 수신하고, 복수의 학습 데이터 세트에 포함되는 제 2 학습 데이터 세트에 기초하여 기계학습된 제 2 서브 기계학습모델을 수신하고, 제 1 서브 기계학습모델 및 제 2 서브 기계학습모델을 병합하여 통합기계학습모델을 획득한다.
본 개시에 따른 기계학습장치는 프로세서는 메모리에 저장된 명령어에 기초하여, 제 1 학습 데이터 세트에 포함된 제 1 분석 대상 데이터에 통합기계학습모델을 적용하여 획득된 제 1 특징 데이터를 수신하고, 제 2 학습 데이터 세트에 포함된 제 2 분석 대상 데이터에 통합기계학습모델을 적용하여 획득된 제 2 특징 데이터를 수신하고, 제 1 특징 데이터 및 제 1 학습 데이터 세트에 포함된 제 1 분석 결과 데이터의 상관 관계 그리고 제 2 특징 데이터 및 제 2 학습 데이터 세트에 포함된 제 2 분석 결과 데이터의 상관 관계를 기계학습하여 최종기계학습모델을 획득한다.
본 개시에 따른 기계학습장치는 프로세서는 메모리에 저장된 명령어에 기초하여, 테스트 데이터에 통합기계학습모델을 적용하여 획득된 예측 특징 데이터를 수신하고, 예측 특징 데이터에 최종기계학습모델을 적용하여 테스트 데이터에 대응하는 예측 결과 데이터를 획득한다.
본 개시에 따른 기계학습장치의 복수의 학습 데이터 세트는 서로 다른 환경에서 획득된 의료 영상과 관련된 데이터이다.
본 개시에 따른 기계학습장치의 제 1 특징 데이터, 제 2 특징 데이터 및 예측 특징 데이터는 제 1 분석 대상 데이터, 제 2 분석 대상 데이터 및 테스트 데이터를 손실 압축한 데이터이다.
본 개시에 따른 기계학습장치의 제 1 분석 대상 데이터, 제 2 분석 대상 데이터 및 테스트 데이터는 개인정보가 포함되고, 제 1 특징 데이터, 제 2 특징 데이터 및 예측 특징 데이터는 개인정보가 식별되지 않는다.
본 개시에 따른 기계학습장치의 복수의 서브 기계학습모델은 CNN(Convolution Neural Network)를 이용하여 획득된다.
본 개시에 따른 기계학습장치의 제 1 학습 데이터 세트에 포함된 제 1 분석 결과 데이터는 제 1 학습 데이터 세트에 포함된 제 1 분석 대상 데이터를 사용자가 분석한 결과이고, 제 2 학습 데이터 세트에 포함된 제 2 분석 결과 데이터는 제 2 학습 데이터 세트에 포함된 제 2 분석 대상 데이터를 사용자가 분석한 결과이다.
본 개시에 따른 기계학습장치의 제 1 특징 데이터는 제 1 분석 대상 데이터를 제 1 서브 기계학습모델에 적용하여 획득되는 제 1 복수의 특징 레이어들 중 적어도 하나의 특징 레이어 및 제 1 분석 대상 데이터를 제 2 서브 기계학습모델에 적용하여 획득되는 제 2 복수의 특징 레이어들 중 적어도 하나의 특징 레이어를 결합한 데이터이고, 제 2 특징 데이터는 제 2 분석 대상 데이터를 제 1 서브 기계학습모델에 적용하여 획득되는 제 3 복수의 특징 레이어들 중 적어도 하나의 특징 레이어 및 제 2 분석 대상 데이터를 제 2 서브 기계학습모델에 적용하여 획득되는 제 4 복수의 특징 레이어들 중 적어도 하나의 특징 레이어를 결합한 데이터이다.
본 개시에 따른 기계학습장치의 제 1 복수의 특징 레이어들, 제 2 복수의 특징 레이어들, 제 3 복수의 특징 레이어들 및 제 4 복수의 특징 레이어들에서 동일 위치의 레이어를 선택하여, 제 1 특징 데이터 및 제 2 특징 데이터가 획득된다.
본 개시에 따른 기계학습장치는 프로세서 및 메모리를 포함하고, 프로세서는 메모리에 저장된 명령어에 기초하여, 통합기계학습모델을 획득하고, 통합기계학습모델을 서로 독립적인 복수의 학습 데이터 세트에 포함된 복수의 분석 대상 데이터에 적용하여 획득된 복수의 특징 데이터를 수신하고, 복수의 특징 데이터와 복수의 학습 데이터 세트에 포함된 복수의 분석 결과 데이터 사이의 관계를 기계학습하여 최종기계학습모델을 획득한다.
본 개시에 따른 기계학습장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 테스트 데이터를 통합기계학습모델에 적용하여 획득된 예측 특징 데이터를 수신하고, 예측 특징 데이터를 최종기계학습모델에 적용하여 테스트 데이터에 관련된 예측 결과 데이터를 획득한다.
본 개시에 따른 기계학습장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 복수의 학습 데이터 세트에 포함되고, 제 1 분석 대상 데이터 및 제 1 분석 결과 데이터를 포함하는 제 1 학습 데이터 세트를 기계학습한 제 1 서브 기계학습모델을 수신하고, 복수의 학습 데이터 세트에 포함되고, 제 1 학습 데이터 세트와 독립적이고, 제 2 분석 대상 데이터 및 제 2 분석 결과 데이터를 포함하는 제 2 데이터 세트를 기계학습한 제 2 서브 기계학습모델을 수신하고, 제 1 서브 기계학습모델 및 제 2 서브 기계학습모델을 병합하여 통합기계학습모델을 획득한다.
또한, 상술한 바와 같은 기계학습장치의 동작 방법을 구현하기 위한 프로그램은 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다.
도 1은 본 개시의 일 실시예에 따른 기계학습장치(100)의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 기계학습장치를 나타낸 도면이다.
도 3은 본 개시의 일 실시예에 따른 기계학습장치의 동작을 나타내는 흐름도이다.
도 4는 본 개시의 일 실시예에 따라 통합기계학습모델을 획득하는 과정을 나타낸 도면이다.
도 5는 본 개시의 일 실시예에 따라 서브 기계학습모델을 생성하는 과정을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시예에 따라 최종기계학습모델을 생성하는 방법을 나타낸 흐름도이다.
도 7은 본 개시의 일 실시예에 따른 최종기계학습모델을 생성하는 방법을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른 특징 데이터를 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따라 특징 데이터를 생성하는 과정을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따라 특징 데이터를 생성하는 과정을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시예에 따라 최종기계학습모델(710)을 생성하는 과정을 나타낸 도면이다.
도 12는 본 개시의 일 실시예에 따른 기계학습장치의 동작을 나타내는 흐름도이다.
도 13은 본 개시의 일 실시예에 따라 기계학습장치의 동작을 설명하기 위한 도면이다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
본 개시의 일 실시예에 따르면 "부"는 프로세서 및 메모리로 구현될 수 있다. 용어 "프로세서" 는 범용 프로세서, 중앙 처리 장치 (CPU), 마이크로프로세서, 디지털 신호 프로세서 (DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서는, "프로세서" 는 주문형 반도체 (ASIC), 프로그램가능 로직 디바이스 (PLD), 필드 프로그램가능 게이트 어레이 (FPGA) 등을 지칭할 수도 있다. 용어 "프로세서" 는, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다.
용어 "메모리" 는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. 용어 메모리는 임의 액세스 메모리 (RAM), 판독-전용 메모리 (ROM), 비-휘발성 임의 액세스 메모리 (NVRAM), 프로그램가능 판독-전용 메모리 (PROM), 소거-프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능 PROM (EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.
아래에서는 첨부한 도면을 참고하여 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1은 본 개시의 일 실시예에 따른 기계학습장치(100)의 블록도이다.
도 1을 참조하면, 일 실시예에 따른 기계학습장치(100)는 데이터 학습부(110) 또는 데이터 인식부(120) 중 적어도 하나를 포함할 수 있다. 상술한 바와 같은 기계학습장치(100)는 프로세서 및 메모리를 포함할 수 있다.
데이터 학습부(110)는 데이터 세트를 이용하여 타겟 태스크(target task)를 수행하기 위한 기계학습모델을 학습할 수 있다. 데이터 학습부(110)는 데이터 세트 및 타겟 태스크와 관련된 레이블 정보를 수신할 수 있다. 데이터 학습부(110)는 데이터 세트와 레이블 정보의 관계에 대해 기계학습을 수행하여 기계학습모델을 획득할 수 있다. 데이터 학습부(110)가 획득한 기계학습모델은 데이터 세트를 이용하여 레이블 정보를 생성하기 위한 모델일 수 있다.
데이터 인식부(120)는 데이터 학습부(110)의 기계학습모델을 수신하여 저장하고 있을 수 있다. 데이터 인식부(120)는 입력 데이터에 기계학습모델을 적용하여 레이블 정보를 출력할 수 있다. 또한, 데이터 인식부(120)는 입력 데이터, 레이블 정보 및 기계학습모델에 의해 출력된 결과를 기계학습모델을 갱신하는데 이용할 수 있다.
데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 이미 설명한 각종 전자 장치에 탑재될 수도 있다.
또한 데이터 학습부(110) 및 데이터 인식부(120)는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(110) 및 데이터 인식부(120) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(110) 및 데이터 인식부(120)는 유선 또는 무선으로 통하여, 데이터 학습부(110)가 구축한 기계학습모델 정보를 데이터 인식부(120)로 제공할 수도 있고, 데이터 인식부(120)로 입력된 데이터가 추가 학습 데이터로써 데이터 학습부(110)로 제공될 수도 있다.
한편, 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction)을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 메모리 또는 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
본 개시의 일 실시예에 따른 데이터 학습부(110)는 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115)를 포함할 수 있다.
데이터 획득부(111)는 기계학습에 필요한 데이터를 획득할 수 있다. 학습을 위해서는 많은 데이터가 필요하므로, 데이터 획득부(111)는 복수의 데이터를 포함하는 데이터 세트를 수신할 수 있다.
복수의 데이터 각각에 대하여 레이블 정보가 할당될 수 있다. 레이블 정보는 복수의 데이터의 각각을 설명하는 정보일 수 있다. 레이블 정보는 타겟 태스크(target task)가 도출하고자 하는 정보일 수 있다. 레이블 정보는 사용자 입력으로부터 획득되거나, 메모리로부터 획득되거나, 기계학습모델의 결과로부터 획득될 수 있다. 예를 들어 타겟 태스크가 영상으로부터 특정 물체의 존재 여부를 결정하는 것이라면, 복수의 데이터는 복수의 영상 데이터가 될 것이며 레이블 정보는 복수의 영상 각각에 특정 물체가 있는지 여부가 될 것이다.
전처리부(112)는 수신된 데이터가 기계학습에 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(112)는 후술할 모델 학습부(114)가 이용할 수 있도록, 획득된 데이터 세트를 미리 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(113)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(114)에 제공될 수 있다. 학습 데이터 선택부(113)는 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(113)는 후술할 모델 학습부(114)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
모델 학습부(114)는 데이터 세트에 기초하여 어떤 레이블 정보를 출력할 지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(114)는 데이터 세트 및 데이터 세트에 대한 레이블 정보를 학습 데이터로써 이용하여 기계학습을 수행할 수 있다. 또한 모델 학습부(114)는 기존에 획득된 기계학습모델을 추가적으로 이용하여 기계학습을 수행할 수 있다. 이 경우, 기존에 획득된 기계학습모델은 미리 구축된 모델일 수 있다. 예를 들어, 기계학습모델은 기본 학습 데이터를 입력 받아 미리 구축된 모델일 수 있다.
기계학습모델은, 학습모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 기계학습모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, Deep Neural Network (DNN), Recurrent Neural Network (RNN), Long Short-Term Memory models (LSTM), BRDNN (Bidirectional Recurrent Deep Neural Network), Convolutional Neural Networks (CNN)과 같은 모델이 기계학습모델로써 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(114)는 미리 구축된 기계학습모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 기계학습모델을 학습할 기계학습모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 기계학습모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 장소, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(114)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 기계학습모델을 학습시킬 수 있다.
또한, 모델 학습부(114)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning)을 통하여, 기계학습모델을 학습할 수 있다. 또한, 모델 학습부(114)는, 예를 들어, 별다른 지도없이 타겟 태스크(target task)을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 타겟 태스크를 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 기계학습모델을 획득할 수 있다. 또한, 모델 학습부(114)는, 예를 들어, 학습에 따른 타겟 태스크의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 기계학습모델을 학습할 수 있다.
또한, 기계학습모델이 학습되면, 모델 학습부(114)는 학습된 기계학습모델을 저장할 수 있다. 이 경우, 모델 학습부(114)는 학습된 기계학습모델을 데이터 인식부(120)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(114)는 학습된 기계학습모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
학습된 기계학습모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(115)는 기계학습모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(114)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 기계학습모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부(115)는 평가 데이터에 대한 학습된 기계학습모델의 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 기계학습모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(115)는 학습된 기계학습모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 기계학습모델이 복수 개가 존재하는 경우, 모델 평가부(115)는 각각의 학습된 기계학습모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 기계학습모델로써 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(115)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 기계학습모델로써 결정할 수 있다.
한편, 데이터 학습부(110) 내의 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
본 개시의 일 실시예에 따른 데이터 인식부(120)는 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125)를 포함할 수 있다.
데이터 획득부(121)는 입력 데이터를 수신할 수 있다. 전처리부(122)는 획득된 입력 데이터가 인식 데이터 선택부(123) 또는 인식 결과 제공부(124)에서 이용될 수 있도록, 획득된 입력 데이터를 전처리할 수 있다.
인식 데이터 선택부(123)는 전처리된 데이터 중에서 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(124)에게 제공될 수 있다. 인식 데이터 선택부(123)는 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(123)는 모델 학습부(114)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부(124)는 선택된 데이터를 기계학습모델에 적용하여 결과 데이터를 획득할 수 있다. 기계학습모델은 모델 학습부(114)에 의하여 생성된 기계학습모델일 수 있다. 인식 결과 제공부(124)는 결과 데이터를 출력할 수 있다.
모델 갱신부(125)는 인식 결과 제공부(124)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 기계학습모델이 갱신되도록 할 수 있다. 예를 들어, 모델 갱신부(125)는 인식 결과 제공부(124)에 의해 제공되는 인식 결과를 모델 학습부(114)에게 제공함으로써, 모델 학습부(114)가 기계학습모델을 갱신하도록 할 수 있다.
한편, 데이터 인식부(120) 내의 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
아래에서는 데이터 학습부(110)가 데이터 세트들을 순차적으로 기계학습하는 방법 및 장치에 대하여 보다 자세히 설명한다.
도 2는 본 개시의 일 실시예에 따른 기계학습장치를 나타낸 도면이다.
기계학습장치(200)는 프로세서(210) 및 메모리(220)를 포함할 수 있다. 프로세서(210)는 메모리(220)에 저장된 명령어들을 수행할 수 있다.
상술한 바와 같이 기계학습장치(200)는 데이터 학습부(110) 또는 데이터 인식부(120) 중 적어도 하나를 포함할 수 있다. 데이터 학습부(110) 또는 데이터 인식부(120) 중 적어도 하나는 프로세서(210) 및 메모리(220)에 의하여 구현될 수 있다.
도 3은 본 개시의 일 실시예에 따른 기계학습장치의 동작을 나타내는 흐름도이다.
기계학습장치(200)는 서로 독립적인 복수의 학습 데이터 세트에 각각 기계학습을 수행하여 획득된 복수의 서브 기계학습모델을 수신하는 단계(310)를 수행할 수 있다. 학습 데이터 세트는 분석 대상 데이터 및 분석 결과 데이터를 포함할 수 있다. 분석 대상 데이터는 환자에 대한 의료 영상 또는 환자에 대한 다양한 측정 데이터 중 적어도 하나를 포함할 수 있다. 분석 대상 데이터는 개인 정보들이 포함되어 있으므로 민감한 데이터일 수 있다. 따라서 자유롭게 공유되지 못할 수 있다.
분석 결과 데이터는 분석 대상 데이터에 대한 의료인의 진단 결과를 나타낼 수 있다. 예를 들어, 제 1 분석 결과 데이터는 제 1 분석 대상 데이터를 사용자가 분석한 결과이고, 제 2 분석 결과 데이터는 제 2 분석 대상 데이터를 사용자가 분석한 결과일 수 있다.
복수의 서브 기계학습모델은 Deep Neural Network (DNN), Recurrent Neural Network (RNN), Long Short-Term Memory models (LSTM), BRDNN (Bidirectional Recurrent Deep Neural Network), Convolutional Neural Networks 중 적어도 하나를 이용하여 획득될 수 있다. 복수의 서브 기계학습모델은 모두 동일한 알고리즘을 이용하여 획득될 수 있다.
복수의 서브 기계학습모델 각각은 서로 다른 데이터 센터에서 수행된 기계학습모델일 수 있다. 복수의 서브 기계학습모델은 학습 데이터 세트에 포함된 분석 대상 데이터 및 레이블에 해당하는 분석 결과 데이터를 이용하여 생성될 수 있다. 복수의 서브 기계학습모델 각각은 적어도 하나의 가중치를 포함할 수 있다. 적어도 하나의 가중치는 분석 대상 데이터에 적용되어 예측 레이블을 생성하기 위해 사용될 수 있다. 복수의 서브 기계학습모델에 포함된 적어도 하나의 가중치는 순전파 및 역전파에 포함된 연산을 통하여 갱신되고, 테스트 데이터로부터 예측하고자 하는 레이블을 추론하기 위한 최적의 적어도 하나의 가중치가 획득될 수 있다. 복수의 서브 기계학습모델에 포함된 적어도 하나의 가중치들로부터, 복수의 학습 데이터 세트에 포함된 민감 정보, 예를 들면 개인정보가 역추적되지 않을 수 있다. 따라서 데이터 센서 외부에 있는 기계학습장치(200)는 복수의 서브 기계학습모델을 복수의 데이터 센터로부터 수신할 수 있다. 한편, 민감 정보는 개인 정보를 포함할 수 있고, 이하 설명에서는 민감 정보와 개인 정보가 혼용하여 설명될 수 있다.
기계학습장치(200)는 복수의 서브 기계학습모델에 기초하여 통합기계학습모델을 획득하는 단계(320)를 수행할 수 있다. 예를 들어, 기계학습장치(200)는 복수의 서브 기계학습모델을 병합하여 통합기계학습모델을 획득할 수 있다.
이하에서는 단계(310) 및 단계(320)를 보다 자세히 설명하기 위하여 도 4 및 도 5를 참조한다.
도 4는 본 개시의 일 실시예에 따라 통합기계학습모델을 획득하는 과정을 나타낸 도면이다.
제 1 데이터 센터 내지 제 k 데이터 센터는 서로 다른 의료 기관일 수 있다. 도 4에서 제 1 서버(420) 내지 제 k 서버(440)는 제 1 데이터 센터 내지 제 k 데이터 센터에 포함된 서버를 의미할 수 있다. 제 1 서버(420) 내지 제 k 서버(440)는 서로 다른 위치에 있을 수 있다. 예를 들어, 제 1 서버(420) 내지 제 k 서버(400)는 물리적으로, 서로 다른 위치에 있을 수 있고, 기능적 또는 구조적으로 서로 다른 위치에 있을 수 있다. 또한 제 1 서버(420) 내지 제 k 서버(440) 간에 데이터의 직접적인 공유는 이루어지지 않을 수 있다. 제 1 서버(420) 내지 제 k 서버(440)는 각각 제 1 데이터 센터 내지 제 k 데이터 센터에서 수집된 데이터를 보관하거나 처리할 수 있다. 제 1 서버(420) 내지 제 k 서버(440)는 서로 데이터를 공유하지 않을 수 있다.
또는 제 1 서버(420) 내지 제 k 서버(440)는 일부의 데이터만 공유할 수 있다. 예를 들어 제 1 서버(420) 내지 제 k 서버(440)는 개인 정보가 포함된 민감한 데이터를 공유하지 않을 수 있다. 하지만 제 1 서버(420) 내지 제 k 서버(440)는 민감하지 않은 데이터를 공유할 수 있다.
복수의 학습 데이터 세트는 서로 개별적으로 획득될 수 있다. 즉, 복수의 학습 데이터 세트에 포함된 제 1 학습 데이터 세트(421)는 제 1 서버(420)에서 획득된 데이터이고, 복수의 학습 데이터 세트에 포함된 제 2 학습 데이터 세트(431)는 제 2 서버(430)에서 획득된 데이터이고, 복수의 학습 데이터 세트에 포함된 제 k 학습 데이터 세트(441)는 제 k 서버(440)에서 획득된 데이터일 수 있다.
복수의 학습 데이터 세트는 민감한 정보가 포함되어 공유되기 어려울 수 있다. 제 1 학습 데이터 세트(421)는 제 1 서버(420)에서만 처리될 수 있다. 제 2 학습 데이터 세트(431)는 제 2 서버(430)에서만 처리될 수 있다. 제 k 학습 데이터 세트(441)는 제 k 서버(440)에서만 처리될 수 있다. 따라서 서버들은 복수의 학습 데이터 세트를 공유하기 위하여 복수의 학습 데이터 세트를 변형시키기 위한 처리를 할 수 있다.
복수의 학습 데이터 세트는 서로 독립적일 수 있다. 제 1 서버(420)에서 획득된 제 1 학습 데이터 세트(421)는 제 2 서버(430)에서 획득된 제 2 학습 데이터 세트(431)에 영향을 미치지 않을 수 있다. 반대로 제 2 서버(430)에서 획득된 제 2 학습 데이터 세트(431)는 제 1 서버(420)에서 획득된 제 1 학습 데이터 세트(421)에 영향을 미치지 않을 수 있다. 제 1 학습 데이터 세트(421)에 포함된 제 1 분석 대상 데이터 및 제 1 분석 결과 데이터는 제 2 학습 데이터 세트(431)에 포함된 제 2 분석 대상 데이터 및 제 2 분석 결과 데이터와 서로 독립적일 수 있다.
이는 복수의 서버들이 포함된 데이터 센터는 독립적인 방식으로 데이터를 획득하기 때문이다. 즉, 복수의 학습 데이터 세트는 서로 다른 환경에서 획득된 의료 영상과 관련된 데이터일 수 있다.
예를 들어, 제 1 서버 내지 제 k 서버는 각각 제 1 데이터 센서 내지 제 k 데이터 센터에 위치할 수 있다. 복수의 데이터 센터들은 서로 다른 장소에 위치할 수 있다. 복수의 데이터 센터의 각각의 데이터 획득 장비들은 서로 다를 수도 있고 동일할 수도 있다. 복수의 데이터 센터들은 서로 독립적인 시간에 데이터를 획득할 수 있다. 데이터 센터들은 서로 독립적인 대상으로부터 데이터를 획득할 수 있다. 데이터 센터들은 서로 독립적인 의료인으로부터 분석 결과를 획득할 수 있다.
또한 복수의 데이터 센터들은 같은 장비를 이용하더라도 독립적인 데이터 획득 설정값 또는 데이터 출력 설정값을 사용하여 데이터를 생성할 수 있다. 데이터가 의료 영상인 경우, 의료 영상 촬영 장치는 다양한 설정값으로 의료 영상을 획득할 수 있다. 또한 의료 영상 표시 장치는 다양한 설정값으로 의료 영상을 출력할 수 있다. 데이터 획득 설정값과 데이터 출력 설정값에 따라 데이터가 달라질 수 있다.
하지만, 복수의 학습 데이터 세트(421, 431, 441)는 서로 호환될 수 있다. 이미 설명한 바와 같이 학습 데이터 세트는 분석 대상 데이터 및 분석 결과 데이터를 포함할 수 있다. 복수의 학습 데이터 세트(421, 431, 441)는 동일한 종류의 분석 대상 데이터를 포함할 수 있다. 예를 들어, 분석 대상 데이터는 CT, MRI, X-RAY, Mammography 또는 초음파 영상일 수 있다. 또한, 복수의 학습 데이터 세트(421, 431, 441)는 동일한 종류의 분석 결과 데이터를 포함할 수 있다. 예를 들어, 분석 결과 데이터는 분석 대상 데이터에 기초하여 의료인이 진단한 병변에 관련된 정보를 포함할 수 있다.
복수의 학습 데이터 세트들 간에 호환성이 없는 경우, 복수의 서버들(420, 430, 440)은 복수의 학습 데이터 세트 간에 호환성이 있도록 표준화하는 전처리 과정을 수행할 수 있다.
제 k 서버(440)는 제 k 학습 데이터 세트(441)를 기계학습하여 제 k 서브 기계학습모델(442)을 생성할 수 있다. 예를 들어, 제 1 서버(420)는 제 1 학습 데이터 세트(421)를 기계학습하여 제 1 서브 기계학습모델(422)을 생성할 수 있다. 제 2 서버(430)는 제 2 학습 데이터 세트(431)를 기계학습하여 제 2 서브 기계학습모델(432)을 생성할 수 있다. 이를 보다 자세히 설명하기 위하여 도 5를 참조한다.
도 5는 본 개시의 일 실시예에 따라 서브 기계학습모델을 생성하는 과정을 설명하기 위한 도면이다.
이미 설명한 바와 같이 제 k 학습 데이터 세트(441)는 제 k 분석 대상 데이터(511) 및 제 k 분석 결과 데이터(512)를 포함할 수 있다. 예를 들어, 제 k 분석 대상 데이터(511)는 환자에 대한 의료 영상 및 환자의 상태에 관련된 각종 측정 데이터 중 적어도 하나를 포함할 수 있다. 제 k 분석 대상 데이터(511)는 민감한 정보가 포함될 수 있다.
제 k 분석 결과 데이터(512)는 제 k 분석 대상 데이터(511)에 기초하여 전문 의료인이 진단한 결과일 수 있다. 제 k 분석 결과 데이터(512)는 실제(ground-truth) 데이터 또는 실제 레이블(ground-truth label) 일 수 있다. 제 k 분석 결과 데이터(512)는 제 k 분석 대상 데이터(511)에 대응할 수 있다.
제 k 서버(440)는 데이터 학습부(110)를 포함할 수 있다. 제 k 서버(440)는 제 k 분석 대상 데이터(511) 및 제 k 분석 결과 데이터(512)의 관계를 기계학습하여 제 k 서브 기계학습모델(442)을 생성할 수 있다. 제 k 서버(440)는 심층신경망을 기반으로 기계학습을 수행할 수 있다. 제 k 서버(440)는 제 k 분석 대상 데이터(511) 및 제 k 분석 결과 데이터(512)를 이용하여 순전파(forward propagation) 및 역전파(back propagation)을 수행하면서 제 k 서브 기계학습모델(520)의 정확도를 높일 수 있다.
이상에서는 제 k 서버(440)를 기준으로 제 k 서브 기계학습모델(442)을 생성하는 과정을 설명하였다. 제 1 서버(420)가 제 1 서브 기계학습모델(422)을 생성하는 과정과 제 2 서버(430)가 제 2 서브 기계학습모델(432)을 생성하는 과정은 제 k 서버(440)가 제 k 서브 기계학습모델(442)을 생성하는 과정과 유사하므로 중복되는 설명은 생략한다.
제 k 서브 기계학습모델(442)은 분석 대상 데이터와 분석 결과 데이터의 관계를 학습한 기계학습모델일 수 있다. 따라서, 기계학습이 완료된 제 k 서브 기계학습모델(442)은 새로운 분석 대상 데이터를 입력받고, 예측 결과 데이터를 출력할 수 있다. 구체적으로, 제 k 서버(440)는 데이터 인식부(120)를 포함할 수 있다. 제 k 서버(440)의 데이터 인식부(120)는 제 k 학습데이터 세트에 포함되지 않은, 새로운 분석 대상 데이터를 획득하여 제 k 서브 기계학습모델(442)에 적용할 수 있다. 제 k 서브 기계학습모델(442)은 새로운 분석 대상 데이터에 대응하는 예측 결과 데이터를 출력할 수 있다. 여기서 분석 대상 데이터를 서브 기계학습모델에 적용한다는 것은 분석 대상 데이터를 입력으로 하여 서브 기계학습모델의 순전파가 수행됨을 의미한다. 예측 결과 데이터는 제 k 서브 기계학습모델(442)이 예측한 결과로서 실제(ground-truth) 데이터와 유사할 수 있다. 예측 결과 데이터는 예측 레이블이라고도 하며, 기계학습모델에 의하여 예측된 정보이다. 실제 레이블 또는 실제 데이터는 기계학습모델이 예측한 정보가 아닌, 사용자가 실제로 분석하여 도출한 정보라는 점에서 차이가 있다.
제 k 서브 기계학습모델(442)은 제 k 학습데이터 세트에 최적화된 기계학습모델일 수 있다. 제 k 서버(440)는 제 k 서브 기계학습모델(442)을 이용하여 제 k 서버가 획득한 분석 대상 데이터를 분석하여 높은 정확도의 예측 결과 데이터를 출력할 수 있다. 하지만 제 k 서브 기계학습모델(442)은 제 k 서버(440)가 아닌 서버가 획득한 분석 대상 데이터에 대하여 상대적으로 낮은 정확도의 예측 결과 데이터를 출력할 수 있다. 마찬가지로, 제 1 서브 기계학습모델(422)은 제 1 학습데이터 세트에 특화된 기계학습모델일 수 있다. 따라서, 제 1 서브 기계학습모델(422)은 제 2 서버(430) 또는 제 k 서버(440)가 획득한 분석 대상 데이터에 대하여 상대적으로 낮은 정확도의 예측 결과 데이터를 출력할 수 있다.
다시 도 4를 참조하면, 제 1 서버(420) 내지 제 k 서버(440)는 생성된 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)을 기계학습장치(200)에 송신할 수 있다. 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)은 제 1 학습 데이터 세트(421) 내지 제 k 학습 데이터 세트(441)에 포함되어 있는 민감 정보, 예를 들면 개인 정보를 포함하지 않으므로 자유롭게 공유될 수 있다. 송신은 유무선 통신 장치를 이용하여 이루어질 수 있다. 또한 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)은 기록매체에 저장되어 기계학습장치(200)로 전달될 수 있다.
기계학습장치(200)는 복수의 서브 기계학습모델을 수신하는 단계(310)를 수행할 수 있다. 복수의 서브 기계학습모델은 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)을 포함할 수 있다.
구체적으로, 기계학습장치(200)는, 복수의 서브 기계학습모델을 수신하기 위하여, 복수의 학습 데이터 세트에 포함되는 제 1 학습 데이터 세트(421)에 기초하여 기계학습된 제 1 서브 기계학습모델(422)을 수신하는 단계를 수행할 수 있다. 또한 기계학습장치(200)는 복수의 학습 데이터 세트에 포함되는 제 2 학습 데이터 세트(431)에 기초하여 기계학습된 제 2 서브 기계학습모델(432)을 수신하는 단계를 수행할 수 있다. 제 1 서브 기계학습모델(422) 및 제 2 서브 기계학습모델(432)은 각각 제 1 서버(420) 및 제 2 서버(430)에서 독립적으로 생성될 수 있다.
또한 기계학습장치(200)는 복수의 서브 기계학습모델에 기초하여 통합기계학습모델(410)을 획득하는 단계(320)를 수행할 수 있다. 기계학습장치(200)는 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)을 병합하여 통합기계학습모델(410)을 생성할 수 있다. 즉, 통합기계학습모델(410)은 k개의 기계학습모델의 그룹일 수 있다. 예를 들어, 기계학습장치(200)가 제 1 서브 기계학습모델(422) 및 제 2 서브 기계학습모델(432)을 수신하였다면, 기계학습장치(200)는 제 1 서브 기계학습모델(422) 및 제 2 서브 기계학습모델(432)을 병합하여 통합기계학습모델(410)을 획득하는 단계를 수행할 수 있다. 이 경우 모든 데이터 센터의 학습 데이터 세트를 이용하여 기계학습장치(200)가 통합기계학습모델(410)을 생성하므로, 통합기계학습모델(410)에 기초하여 생성되는 최종기계학습모델의 정확도도 높아지는 효과가 있다. 즉 최종기계학습모델은 새로운 분석 대상 데이터를 정확하게 분석하여 예측 결과 데이터를 생성할 수 있다.
기계학습장치(200)는 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442) 중 하나의 서브 기계학습모델을 통합기계학습모델(410)로 결정할 수 있다. 예를 들어 복수의 데이터 센터들 중 하나의 데이터 센터가 가장 포괄적인 데이터를 포함하고 있는 경우 사용자 또는 기계학습장치(200)는 하나의 데이터 센터의 서브 기계학습모델을 통합기계학습모델(410)로 결정할 수 있다. 왜냐하면 하나의 데이터 센터가 복수의 데이터 센터들을 대표할 수 있기 때문이다.
또한 통합기계학습모델(410)은 임의의 데이터 센터의 서브 기계학습모델로 결정될 수 있다. 예를 들어, 제 1 서버(420)는 제 1 분석 대상 데이터 및 제 1 분석 결과 데이터를 포함하는 제 1 학습 데이터 세트(421)를 기계학습하여 제 1 서브 기계학습모델(422)을 획득할 수 있다. 기계학습장치(200)는 제 1 서브 기계학습모델(422)을 통합기계학습모델(410)로 결정할 수 있다. 통합기계학습모델(410)은 특징 데이터와 같은 중간 단계의 데이터를 획득하기 위한 구성이다. 따라서 기계학습장치(200)는 임의의 서브 기계학습모델을 이용하여 본 개시의 최종기계학습모델을 획득할 수 있다.
기계학습장치(200)는 도 3과 같은 과정을 거치지 않고, 위와 같이 하나의 서버에서 생성된 서브 기계학습모델을 수신할 수 있다. 이 경우, 기계학습장치(200)는 유무선 통신으로 전송할 데이터의 양을 줄이고 서버의 처리 능력을 절약할 수 있다.
또한, 기계학습장치(200)는 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442) 중 적어도 하나를 이용하여 통합기계학습모델(410)을 생성할 수 있다. 기계학습장치(200)는 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)의 유사도를 결정할 수 있다. 기계학습장치(200)는 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442) 중 2개의 서브 기계학습모델을 임의로 선택하여 유사도를 측정할 수 있다. 기계학습장치(200)는 유사도가 미리 결정된 임계값 이상인 경우, 2 개의 서브 기계학습모델 중 하나를 제거하여 통합기계학습모델(410)을 생성할 수 있다. 예를 들어, 2개의 데이터 센터들이 아주 유사한 환경에 있다면 각각의 데이터 센터들에 포함된 서버들이 도출한 서브 기계학습모델들은 서로 유사할 수 있다. 기계학습장치(200)는 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)에서 선택된 2개의 서브 기계학습모델의 모든 조합에 대하여 위와 같은 과정을 수행하여 통합기계학습모델(410)을 생성할 수 있다. 이렇게 기계학습장치(200)는 중복되는 서브 기계학습모델을 제거함으로써 프로세서의 데이터 처리량을 줄이고, 데이터의 송수신 부담을 줄일 수 있다.
또한, 기계학습장치(200)는 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442) 중 적어도 하나를 이용하지 않고 통합기계학습모델(410)을 생성할 수 있다. 기계학습장치(200)는 임의의 기본모델을 통합기계학습모델(410)으로 생성할 수 있다. 이 경우, 기계학습장치(200)는 도 3 과 같은 과정을 수행하지 않을 수 있으므로, 프로세서의 데이터 처리량을 줄이고, 데이터의 송수신 부담을 줄일 수 있다.
도 6은 본 개시의 일 실시예에 따라 최종기계학습모델을 생성하는 방법을 나타낸 흐름도이다. 도 7은 본 개시의 일 실시예에 따른 최종기계학습모델을 생성하는 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 기계학습장치(200)는 통합기계학습모델(410)을 획득하는 단계(610)를 수행할 수 있다. 통합기계학습모델(410)을 획득하는 단계에 대해서는 위에서 이미 설명한 바 있으므로 중복되는 설명은 생략한다.
기계학습장치(200)는 통합기계학습모델(410)을 제 1 서버(420) 내지 제 k 서버(440)로 송신할 수 있다. 제 1 서버(420) 내지 제 k 서버(440)는 통합기계학습모델(410)을 이용하여 복수의 분석 대상 데이터(711, 712, 713)를 암호화할 수 있다. 암호화된 복수의 분석 대상 데이터에서 개인정보와 같은 민감정보가 식별되지 않을 수 있다. 또한 암호화된 복수의 분석 대상 데이터에서 다시 복수의 분석 대상 데이터(711, 712, 713)로 복원되는 것은 불가능할 수 있다. 제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)는 제 1 분석 대상 데이터(711) 내지 제 k 분석 대상 데이터(713)를 손실 압축한 데이터일 수 있다. 제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)는 손실 압축되 데이터이므로, 민감 정보, 예를 들면 개인정보가 식별되지 않을 수 있다. 또한, 제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)는 제 1 분석 대상 데이터(711) 내지 제 k 분석 대상 데이터(713)로 복원 가능하지 않을 수 있다. 복수의 분석 대상 데이터(711, 712, 713)는 개인정보를 포함하므로 공유가능하지 않을 수 있다. 하지만 제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)는 개인정보가 식별되지 않으므로 공유가능할 수 있다. 또한, 제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)는 제 1 분석 대상 데이터(711) 내지 제 k 분석 대상 데이터(713)보다 데이터의 양이 적으므로 프로세서가 처리할 데이터의 양을 줄일 수 있다.
제 1 서버(420)는 제 1 분석 대상 데이터(711)를 통합기계학습모델(410)에 적용하여 제 1 특징 데이터(721)를 획득할 수 있다. 제 2 서버(430)는 제 2 분석 대상 데이터(712)를 통합기계학습모델(410)에 적용하여 제 2 특징 데이터(722)를 획득할 수 있다. 제 k 서버(440)는 제 k 분석 대상 데이터(713)를 통합기계학습모델(410)에 적용하여 제 k 특징 데이터(723)를 획득할 수 있다. 제 1 서버(420) 내지 제 k 서버(440)는 제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)를 기계학습장치(200)로 송신할 수 있다.
복수의 분석 결과 데이터는 복수의 분석 대상 데이터(711, 712, 713)에 각각 대응될 수 있다. 하지만, 복수의 분석 대상 데이터(711, 712, 713)가 암호화되는 경우, 복수의 분석 결과 데이터가 누구에 대한 것인지 특정되지 않는다. 따라서 제 1 서버(420) 내지 제 k 서버(440)는 분석 결과 데이터를 별도로 암호화하지 않을 수 있다. 제 1 서버(420) 내지 제 k 서버(440)는 분석 결과 데이터를 기계학습장치(200)로 송신할 수 있다.
제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)는 예측 결과 데이터가 아닐 수 있다. 즉, 제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)는 제 1 서버(420) 내지 제 k 서버(440)가 통합기계학습모델(410)을 이용하여 도출한 복수의 분석 대상 데이터(711, 712, 713)에 대응하는 분석 결과가 아닐 수 있다. 하지만 이에 한정되는 것은 아니며, 제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)는 제 1 서버(420) 내지 제 k 서버(440)가 통합기계학습모델(410)을 이용하여 도출한 복수의 분석 대상 데이터(711, 712, 713)에 대응하는 분석 결과일 수도 있다.
제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)를 도 8 내지 도 10과 함께 보다 자세히 설명한다.
도 8은 본 개시의 일 실시예에 따른 특징 데이터를 설명하기 위한 도면이다.
도 8은 도 7의 제 k 서버(440)에서 이루어지는 데이터 처리 과정을 나타낸 도면이다.
도 8을 참조하면, 통합기계학습모델(410)은 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)을 포함할 수 있다. 도 8에서 통합기계학습모델(410)은 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)을 포함하는 것으로 표현되어 있으나 이에 한정 해석되어서는 안된다. 상술한 바와 같이 기계학습장치(200)는 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442) 중 적어도 하나를 이용하여 통합기계학습모델(410)을 생성할 수 있다. 또한 통합기계학습모델(410)은 미리 정해진 기본 모델일 수 있다.
제 k 서버(440)는 제 k 분석 대상 데이터(713)를 통합기계학습모델(410)에 적용할 수 있다. 제 k 서버(440)는 제 k 분석 대상 데이터(713)를 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)에 적용하여 제 1 서브 특징 데이터(811) 내지 제 k 서브 특징 데이터(813)를 획득할 수 있다.
제 k 서버(440)는 제 k 분석 대상 데이터(713)를 제 1 서브 기계학습모델(422)에 적용하여 제 1 서브 특징 데이터(811)를 획득할 수 있다. 제 k 서버(440)는 제 k 분석 대상 데이터(713)를 제 2 서브 기계학습모델(432)에 적용하여 제 2 서브 특징 데이터(812)를 획득할 수 있다. 제 k 서버(440)는 제 k 분석 대상 데이터(713)를 제 k 서브 기계학습모델(442)에 적용하여 제 k 서브 특징 데이터(813)를 획득할 수 있다. 제 k 특징 데이터(723)는 제 1 서브 특징 데이터(811) 내지 제 k 서브 특징 데이터(813)를 포함할 수 있다. 제 k 분석 대상 데이터(713)에는 데이터는 개인정보가 포함되고, 제 k 특징 데이터(723)는 암호화되어 있으므로 개인정보가 식별되지 않을 수 있다. 따라서 제 k 특징 데이터(723)는 외부로 전송이 가능할 수 있다.
제 1 서버(420)는 제 k 서버(440)와 동일한 과정을 수행하여 제 1 분석 대상 데이터(711)로부터 제 1 특징 데이터(721)를 획득할 수 있다. 제 1 서버(420)는 제 1 분석 대상 데이터(711)를 제 1 서브 기계학습모델(422)에 적용하여 제 1-1 서브 특징 데이터를 획득할 수 있다. 제 1 서버(420)는 제 1 분석 대상 데이터(711)를 제 2 서브 기계학습모델(432)에 적용하여 제 1-2 서브 특징 데이터를 획득할 수 있다. 제 1 서버(420)는 제 1 분석 대상 데이터(711)를 제 k 서브 기계학습모델(442)에 적용하여 제 1-k 서브 특징 데이터를 획득할 수 있다. 제 1 특징 데이터(721)는 제 1-1 서브 특징 데이터, 제 1-2 서브 특징 데이터 및 제 1-k 서브 특징 데이터를 포함할 수 있다.
또한 제 2 서버(430)는 제 k 서버(440)와 동일한 과정을 수행하여 제 2 분석 대상 데이터(712)로부터 제 2 특징 데이터(722)를 획득할 수 있다. 제 2 서버(430)는 제 2 분석 대상 데이터(712)를 제 1 서브 기계학습모델(422)에 적용하여 제 2-1 서브 특징 데이터를 획득할 수 있다. 제 2 서버(430)는 제 2 분석 대상 데이터(712)를 제 2 서브 기계학습모델(432)에 적용하여 제 2-2 서브 특징 데이터를 획득할 수 있다. 제 2 서버(430)는 제 2 분석 대상 데이터(712)를 제 k 서브 기계학습모델(442)에 적용하여 제 2-k 서브 특징 데이터를 획득할 수 있다. 제 2 특징 데이터(722)는 제 2-1 서브 특징 데이터, 제 2-2 서브 특징 데이터 및 제 2-k 서브 특징 데이터를 포함할 수 있다.
제 1 분석 대상 데이터(711) 및 제 2 분석 대상 데이터(712) 개인정보가 포함될 수 있다. 또한, 제 1 특징 데이터(721) 및 제 2 특징 데이터(722)는 암호화되어 있으므로 개인정보가 식별되지 않을 수 있다. 따라서 제 1 특징 데이터(721) 및 제 2 특징 데이터(722)는 외부로 전송이 가능할 수 있다. 제 1 서버(420) 내지 제 k 서버(440)는 제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)를 기계학습장치(200)로 송신할 수 있다.
위에서는 통합기계학습모델(410)이 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)을 포함하는 것을 설명하였으나 이에 한정 해석되어서는 안된다. 통합기계학습모델(410)은 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442) 중 적어도 하나를 이용하여 생성될 수 있다. 또한 통합기계학습모델(410)은 미리 정해진 기본 모델일 수 있다.
이하에서는 암호화된 특징 데이터를 생성하는 과정을 보다 자세히 설명하기 위하여 도 9 및 도 10을 참조하여 설명한다.
도 9는 본 개시의 일 실시예에 따라 특징 데이터를 생성하는 과정을 설명하기 위한 도면이다.
도 9는 도 8의 제 k 서버가 제 k 분석 대상 데이터(713)를 제 k 서브 기계학습모델(442)에 적용하여 제 k 서브 특징 데이터(813)를 생성하는 과정을 나타낸 도면이다.
이미 설명한 바와 같이 제 k 분석 대상 데이터(713)를 통합기계학습모델에 적용한다는 것은 제 k 분석 대상 데이터(713)를 통합기계학습모델에 포함된 서브 기계학습모델에 입력하여 순전파(forward propagation)한다는 것이다.
제 k 서버(440)가 제 k 분석 대상 데이터(713)를 제 k 서브 기계학습모델(442)로 순전파하는 경우, 복수의 레이어의 특징 데이터(920)가 생성될 수 있다. 복수의 레이어의 특징 데이터(920)의 각 레이어는 제 k 분석 대상 데이터(713)를 손실 압축하는 생성될 수 있다. 또한 복수의 레이어의 특징 데이터(920)는 제 k 분석 대상 데이터(713)를 사용자가 인식할 수 없게 변형한 데이터일 수 있다. 즉 복수의 레이어의 특징 데이터(920)는 제 k 분석 대상 데이터(713)를 암호화한 데이터일 수 있다. 복수의 레이어의 특징 데이터(920)에 포함된 레이어는 제 k 분석 대상 데이터(713)로 복원이 불가능할 수 있다.
또한 제 k 서버(440)는 제 k 분석 대상 데이터(713)를 제 k 서브 기계학습모델(442)로 순전파하는 경우 최종적으로 제 k 예측 데이터(930)를 생성할 수 있다. 제 k 예측 데이터(930)는 제 k 분석 대상 데이터를 분석한 예측 정보일 수 있다. 도 8의 제 k 서브 특징 데이터(813)는 제 k 예측 데이터(930)와 다를 수 있다. 하지만 이에 한정되는 것은 아니며, 도 8의 제 k 서브 특징 데이터(813)는 제 k 예측 데이터(930)와 동일할 수 있다.
제 k 서버(440)는 복수의 레이어의 특징 데이터(920) 중 적어도 하나의 레이어의 특징 데이터를 선택할 수 있다. 제 k 서버(440)는 미리 정해진 방식에 따라 복수의 레이어 중 중간 레이어(921) 또는 최종 레이어(922)를 제 k 서브 특징 데이터(813)로 결정할 수 있다.
제 k 서버(440)는 통합기계학습모델(410)에 포함된 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442) 모두에 대하여 위와 동일한 과정을 수행할 수 있다.
또한 제 k 서버(440)는 제 k 분석 대상 데이터(713)에 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)을 적용하여 생성된 복수의 레이어의 특징 데이터 중 동일 위치에서 특징 데이터를 선택하여 제 1 서브 특징 데이터(811) 내지 제 k 서브 특징 데이터(813)를 획득할 수 있다.
하지만 이에 한정되는 것은 아니며 제 k 서버(440)는 제 k 분석 대상 데이터(713)에 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)을 적용하여 생성된 복수의 레이어의 특징 데이터 중 서로 다른 방식으로 결정된 위치에서 특징 데이터를 선택할 수 있다. 제 k 서버(440)는 서브 기계학습모델에 기초하여 획득된 복수의 레이어 중 선택할 레이어의 위치를 미리 결정된 방식에 기초하여 결정할 수 있다.
이상에서는 제 k 서버(440)를 기준으로 설명하였으나, 제 1 서버(420) 및 제 2 서버(430)에 대해서도 동일한 과정이 수행될 수 있으므로 중복되는 설명은 생략한다.
이하에서는 도 9를 보다 구체적으로 도시한 도 10을 참조하여 보다 자세하게 설명한다.
도 10은 본 개시의 일 실시예에 따라 특징 데이터를 생성하는 과정을 설명하기 위한 도면이다.
도 10에서 INPUT은 제 k 분석 대상 데이터(713)를 나타낼 수 있다. 제 k 서버(440)는 다음과 같은 과정을 통하여 제 k 분석 대상 데이터(713)에 제 k 서브 기계학습모델(442)을 적용할 수 있다.
제 k 서버(440)는 제 k 분석 대상 데이터(713)에 제 1 컨볼루션(Conv_1)을 수행하여 24x24xn1크기의 제 1 레이어(1010)를 획득할 수 있다. 제 k 서버(440)는 제 1 레이어(1010)에 맥스 풀링을 수행하여 12 x 12 x n1크기의 제 2 레이어(1020)를 획득할 수 있다. 제 k 서버(440)는 제 2 레이어(1020)에 제 2 컨볼루션(Conv_2)을 수행하여 8 x 8 x n2 크기의 제 3 레이어(1030)를 획득할 수 있다. 제 k 서버(440)는 제 3 레이어(1030)에 맥스 풀링을 수행하여 4 x 4 x n2 크기의 제 4 레이어(1040)를 획득할 수 있다. 제 k 서버(440)는 제 4 레이어(1040)에 제 1 풀리 커넥티드 신경망(fc_3)을 적용하여 n3 크기의 최종 레이어(922)를 획득할 수 있다. 또한 제 k 서버(440)는 최종 레이어(922)에 제 2 풀리 커넥티드 신경망(fc_4)을 적용하여 OUTPUT(930)을 출력할 수 있다. OUTPUT(930)은 제 k 서브 기계학습모델(442)에 기초하여 예측된 INPUT에 대응하는 예측 레이블 또는 예측된 분석 결과일 수 있다.
여기서 제 1 레이어(1010) 내지 제 4 레이어(1040) 및 최종 레이어(922)는 제 k 분석 대상 데이터(713)를 제 k 서브 기계학습모델(442)로 순전파하는 경우, 생성된 복수의 레이어에 포함될 수 있다. 제 k 서버(440)는 미리 결정된 방식에 기초하여 복수의 특징 레이어(1010, 1020, 1030, 1040, 922) 중 적어도 하나의 레이어를 선택하여 제 k 서브 특징 데이터(813)를 획득할 수 있다. 예를 들어 제 k 서버(440)는 미리 결정된 위치에서 적어도 하나의 레이어를 선택하여 제 k 서브 특징 데이터(813)를 획득할 수 있다. 여기서 위치는 복수의 특징 레이어(1010, 1020, 1030, 1040, 922)에 대한 하나의 레이어의 위치를 의미한다.
제 1 컨볼루션, 제 2 컨볼루션, 맥스 풀링, 제 1 풀리 커넥티드 신경망(fc_3) 및 제 2 풀리 커넥티드 신경망(fc_4)은 제 k 서브 기계학습모델(442)에 포함되는 구성요소일 수 있다. 도 10은 일 실시예로서, 제 k 기계학습모델은 다양한 구성 요소를 더 포함할 수도 있고, 도 10에서 일부 구성요소를 삭제한 모델일 수 있다. 또한 제 k 기계학습모델의 기계학습과정에서 순전파 및 역전파를 통하여 제 1 컨볼루션, 제 2 컨볼루션, 제 1 풀리 커넥티드 신경망(fc_3) 및 제 2 풀리 커넥티드 신경망(fc_4)에 관련된 복수의 가중치들이 업데이트되어 최적화된 제 k 기계학습모델이 획득될 수 있다.
도 9 및 도 10에서는 일반화를 위하여 제 k 서버(440)가 제 k 분석 대상 데이터(713)를 제 k 서브 기계학습모델(442)로 순전파하는 경우에 대하여 설명하였으나, 제 k 서버(440)가 제 k 분석 대상 데이터(713)를 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)로 순전파하는 경우에도 동일하게 복수의 레이어가 생성될 수 있다. 또한, 제 k 서버(440)는 미리 결정된 방식에 기초하여 복수의 레이어 중 적어도 하나의 레이어를 선택하여 제 1 서브 특징 데이터(811) 내지 제 k 서브 특징 데이터(813)를 획득할 수 있다. 제 k 서버(440)는 복수의 레이어 중 동일한 위치의 레이어를 선택하여 제 1 서브 특징 데이터(811) 내지 제 k 서브 특징 데이터(813)를 획득할 수 있다. 예를 들어, 제 k 서버(440)는 복수의 레이어 중 최종 레이어(922)를 선택하여 제 1 서브 특징 데이터(811) 내지 제 k 서브 특징 데이터(813)를 획득할 수 있다. 제 k 서버(440)는 제 1 서브 특징 데이터(811) 내지 제 k 서브 특징 데이터(813) 중 적어도 하나에 기초하여 제 k 특징 데이터(723)를 획득할 수 있다.
또한, 제 1 서버(420) 및 제 2 서버(430)도 제 k 서버(440)와 동일하게 동작할 수 있다. 예를 들어, 제 1 서버(420)가 제 1 분석 대상 데이터(711)를 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)로 순전파하는 경우에도 동일하게 복수의 레이어가 생성될 수 있다. 제 1 서버(420)는 미리 결정된 방식에 기초하여 적어도 하나의 레이어를 선택하여 제 1-1 서브 특징 데이터 내지 제 1-k 서브 특징 데이터를 획득할 수 있다. 또한 제 1 서버(420)는 제 1-1 서브 특징 데이터 내지 제 1-k 서브 특징 데이터 중 적어도 하나에 기초하여 제 1 특징 데이터(721)를 획득할 수 있다.
제 2 서버(430)가 제 2 분석 대상 데이터(712)를 제 1 서브 기계학습모델(422) 내지 제 k 서브 기계학습모델(442)로 순전파하는 경우에도 동일하게 복수의 레이어가 생성될 수 있다. 제 2 서버(430)는 미리 결정된 방식에 기초하여 적어도 하나의 레이어를 선택하여 제 2-1 서브 특징 데이터 내지 제 2-k 서브 특징 데이터를 획득할 수 있다. 또한 제 2 서버(430)는 제 2-1 서브 특징 데이터 내지 제 2-k 서브 특징 데이터 중 적어도 하나에 기초하여 제 2 특징 데이터(722)를 획득할 수 있다. 제 1 서버(420) 내지 제 k 서버(440)는 생성된 제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)를 기계학습장치(200)로 전송할 수 있다.
이하에서는 미리 결정된 방식에 기초하여 적어도 하나의 레이어를 선택하는 과정을 보다 자세히 설명한다. 또한 설명의 편의를 위해 제 1 서버(420) 및 제 2 서버(430)만 있는 경우에 대하여 설명한다.
도 7을 참조하면, 제 1 특징 데이터(721)는 통합기계학습모델(410)에 포함된 적어도 하나의 서브 기계학습모델을 이용하여 획득될 수 있다. 제 1 특징 데이터(721)는 제 1 분석 대상 데이터(711)를 제 1 서브 기계학습모델에 적용하여 획득되는 제 1 복수의 특징 레이어들 중 적어도 하나의 특징 레이어를 포함할 수 있다. 제 1 복수의 특징 레이어들 중 선택된 적어도 하나의 특징 레이어는 제 1-1 서브 특징 데이터일 수 있다. 또한, 제 1 특징 데이터(721)는 제 1 분석 대상 데이터를 제 2 서브 기계학습모델에 적용하여 획득되는 제 2 복수의 특징 레이어들 중 적어도 하나의 특징 레이어를 포함할 수 있다. 제 2 복수의 특징 레이어들 중 선택된 적어도 하나는 제 1-2 서브 특징 데이터일 수 있다. 제 1 특징 데이터(721)는 제 1-1 서브 특징 데이터 및 제 1-2 서브 특징 데이터를 결합한 데이터일 수 있다. 예를 들어, 제 1-1 서브 특징 데이터가 a 개의 특징 레이어를 포함하고, 제 1-2 서브 특징 데이터가 b 개의 특징 레이어를 포함하는 경우, 제 1 특징 데이터(721)는 a+b개의 특징 레이어를 포함할 수 있다.
또한, 제 1 특징 데이터(721)는 제 1-1 서브 특징 데이터 및 제 1-2 서브 특징 데이터에 오퍼레이션을 취한 데이터일 수 있다. 오퍼레이션은 AND, OR 또는 XOR와 같은 비트 연산자 또는 덧셈, 뺄셈, 곱셈 또는 나눗셈과 같은 사칙연산을 포함할 수 있다. 서버는 제 1-1 서브 특징 데이터 및 제 1-2 서브 특징 데이터에 포함된 요소들 간에 오퍼레이션을 취하여 제 1 특징 데이터(721)를 획득할 수 있다. 동일한 과정이 수행되어 제 2 특징 데이터(722) 내지 제 k 특징 데이터(723)가 획득될 수 있다.
또한, 도 7을 참조하면, 제 2 특징 데이터(722)는 통합기계학습모델(410)에 적어도 하나의 서브 기계학습모델을 이용하여 획득될 수 있다. 제 2 특징 데이터(722)는 제 2 분석 대상 데이터(712)를 제 1 서브 기계학습모델(422)에 적용하여 획득되는 제 3 복수의 특징 레이어들 중 적어도 하나의 특징 레이어를 포함할 수 있다. 제 3 복수의 특징 레이어들 중 적어도 하나의 특징 레이어는 제 2-1 서브 특징 데이터일 수 있다. 또한, 제 2 특징 데이터(722)는 제 2 분석 대상 데이터(712)를 제 2 서브 기계학습모델(432)에 적용하여 획득되는 제 4 복수의 특징 레이어들 중 적어도 하나의 특징 레이어를 포함할 수 있다. 제 4 복수의 특징 레이어들 중 적어도 하나는 제 2-2 서브 특징 데이터일 수 있다. 제 2 특징 데이터(722)는 제 2-1 서브 특징 데이터 및 제 2-2 서브 특징 데이터를 결합한 데이터일 수 있다.
이 때, 기계학습장치(200) 또는 서버는 제 1 복수의 특징 레이어들, 제 2 복수의 특징 레이어들, 제 3 복수의 특징 레이어들 및 제 4 복수의 특징 레이어들에서 동일 위치의 레이어를 선택하여 제 1 특징 데이터 및 제 2 특징 데이터를 획득할 수 있다. 도 9를 참조하면, 기계학습장치(200) 또는 서버는 미드 레이어(921) 또는 최종 레이어(922) 중 하나를 이용하여 제 1 특징 데이터 및 제 2 특징 데이터를 획득할 수 있다.
예를 들어, 최종 레이어를 선택하여 제 1 특징 데이터 및 제 2 특징 데이터를 획득하는 경우가 아래에서 설명된다. 제 1 복수의 특징 레이어들은 도 10의 복수의 특징 레이어(1010, 1020, 1030, 1040, 922)를 포함할 수 있다. 기계학습장치(200) 또는 제 1 서버(420)는 제 1 복수의 특징 레이어들 중 최종 레이어(922)를 선택하여 제 1-1 서브 특징 레이어를 획득할 수 있다. 또한 제 2 복수의 특징 레이어들은 도 10의 복수의 특징 레이어(1010, 1020, 1030, 1040, 922)를 포함할 수 있다. 기계학습장치(200) 또는 제 1 서버(420)는 제 2 복수의 특징 레이어들 중 최종 레이어(922)를 선택하여 제 1-2 서브 특징 레이어를 획득할 수 있다. 제 1 특징 데이터는 제 1-1 서브 특징 레이어 및 제 1-2 서브 특징 레이어를 포함할 수 있다. 제 3 복수의 특징 레이어들은 도 10의 복수의 특징 레이어(1010, 1020, 1030, 1040, 922)를 포함할 수 있다. 기계학습장치(200) 또는 제 2 서버(430)는 제 3 복수의 특징 레이어들 중 최종 레이어(922)를 선택하여 제 2-1 서브 특징 레이어를 획득할 수 있다. 또한 제 4 복수의 특징 레이어들은 도 10의 복수의 특징 레이어(1010, 1020, 1030, 1040, 922)를 포함할 수 있다. 기계학습장치(200) 또는 제 2 서버(430)는 제 4 복수의 특징 레이어들 중 최종 레이어(922)를 선택하여 제 2-2 서브 특징 레이어를 획득할 수 있다. 제 2 특징 데이터는 제 2-1 서브 특징 레이어 및 제 2-2 서브 특징 레이어를 포함할 수 있다.
이하에서는 기계학습장치(200)가 수신하는 데이터의 양을 살펴본다. 각 서버가 a개의 분석 대상 데이터를 포함하고, 서버의 개수가 b이라고 가정하자. 서버의 개수가 b라고 가정한다. 통합기계학습모델(410)에 포함된 서브 기계학습모델의 개수는 서버의 개수와 동일하므로 b개일 수 있다. 하나의 서버의 a개의 분석 대상 데이터에 대하여 b개의 서브 기계학습모델이 적용되면, 하나의 서버에서 a x b개의 서브 특징 데이터가 생성될 수 있다. 또한 b개의 서버에 대하여 동일한 개수의 서브 특징 데이터가 생성되므로 총 a x b x b개의 서브 특징 데이터가 생성될 수 있다. 위에서는 통합기계학습모델(410)에 포함된 서브 기계학습모델의 개수를 서버의 개수와 동일하게 가정하였으나 이에 한정되는 것은 아니다. 통합기계학습모델(410)에 포함된 서브 기계학습모델은 1개 이상일 수 있다. 통합기계학습모델(410)은 하나의 기본모델이거나, 복수의 서브 기계학습모델 중 선택된 적어도 하나의 서브 기계학습모델일 수 있기 때문이다. 이 경우 서브 특징 데이터는 a x b x b보다 작거나 같을 수 있다.
다시 도 6 및 도 7을 참조하면, 제 1 서버(420) 내지 제 k 서버(440)는 제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)를 기계학습장치(200)로 송신할 수 있다. 또한, 제 1 서버(420) 내지 제 k 서버(440)는 분석 결과 데이터를 기계학습장치(200)로 송신할 수 있다. 기계학습장치(200)는 통합기계학습모델(410)을 서로 독립적인 복수의 학습 데이터 세트에 포함된 복수의 분석 대상 데이터(711, 712, 713)에 적용하여 획득된 복수의 특징 데이터(721, 722, 723)를 수신하는 단계(620)를 수행할 수 있다.
예를 들어, 기계학습장치(200)는 제 k 분석 대상 데이터(713)에 통합기계학습모델(410)을 적용하여 획득된 제 k 특징 데이터(723)를 수신하는 단계를 수행할 수 있다. 제 k 특징 데이터(723)는 제 k 분석 대상 데이터(713)에서 식별 가능한 개인 정보가 암호화될 수 있다. 따라서 제 k 특징 데이터(723)는 개인 정보가 식별되지 않을 수 있다. 유사하게, 기계학습장치(200)는 제 1 분석 대상 데이터에 통합기계학습모델을 적용하여 획득된 제 1 특징 데이터를 수신하는 단계를 수행할 수 있다. 또한, 기계학습장치(200)는 제 2 분석 대상 데이터에 통합기계학습모델을 적용하여 획득된 제 2 특징 데이터를 수신하는 단계를 수행할 수 있다.
이미 설명한 바와 같이 학습 데이터 세트는 분석 대상 데이터 및 분석 결과 데이터를 포함할 수 있다. 하지만 분석 대상 데이터는 데이터 센터에서 반출이 불가능하므로, 기계학습장치(200)는 제 1 서버 내지 제 k 서버로부터 복수의 분석 대상 데이터(711, 712, 713) 대신 복수의 특징 데이터(721, 722, 723)를 수신할 수 있다. 복수의 특징 데이터(721, 722, 723)는 개인정보가 식별되지 않고, 분석 대상 데이터로 복원될 수 없기 때문이다. 또한 기계학습장치(200)는 제 1 서버 내지 제 k 서버로부터 복수의 특징 데이터(721, 722, 723)에 각각 대응하는 복수의 분석 결과 데이터를 수신할 수 있다. 복수의 분석 결과 데이터는 암호화되어 있지 않을 수 있다. 복수의 분석 결과 데이터는 실제(ground-truth) 데이터 또는 실제 레이블로 사용될 수 있다. 또한, 복수의 분석 결과 데이터에는 복수의 특징 데이터(721, 722, 723)에 각각 대응하고, 복수의 특징 데이터(721, 722, 723)에서 개인정보가 식별되지 않으므로 복수의 분석 결과 데이터가 누구에 대한 것인지 식별되지 않을 수 있다. 기계학습장치(200)는 복수의 특징 데이터(721, 722, 723) 및 복수의 분석 결과 데이터를 최종데이터세트(730)로써 획득할 수 있다.
기계학습장치(200)는 복수의 특징 데이터(721, 722, 723)와 복수의 학습 데이터 세트에 포함된 복수의 분석 결과 데이터 사이의 관계를 기계학습하여 최종기계학습모델을 획득하는 단계(630)를 수행할 수 있다.
보다 구체적으로 기계학습장치(200)는 제 1 특징 데이터(721) 및 제 1 분석 결과 데이터의 상관 관계, 제 2 특징 데이터(722) 및 제 2 분석 결과 데이터의 상관 관계 또는 제 k 특징 데이터(723) 및 제 k 분석 결과 데이터의 상관 관계를 기계학습하여 최종기계학습모델(710)을 획득하는 단계를 수행할 수 있다.
도 11은 본 개시의 일 실시예에 따라 최종기계학습모델(710)을 생성하는 과정을 나타낸 도면이다.
이미 설명한 바와 같이 최종데이터세트(730)는 특징 데이터(1111) 및 분석 결과 데이터(1112)를 포함할 수 있다. 특징 데이터(1111)는 도 7의 제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)를 포함할 수 있다. 제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)는 제 1 분석 대상 데이터(711) 내지 제 k 분석 대상 데이터(713)에 일대일로 대응될 수 있다. 분석 결과 데이터(1112)는 실제(ground-truth) 데이터 또는 실제 레이블 일 수 있다. 분석 결과 데이터(1112)는 제 1 분석 결과 데이터 내지 제 k 분석 결과 데이터를 포함할 수 있다. 제 1 분석 결과 데이터 내지 제 k 분석 결과 데이터는 제 1 분석 대상 데이터 내지 제 k 분석 대상 데이터에 일대일로 대응될 수 있다. 또한, 제 1 분석 결과 데이터 내지 제 k 분석 결과 데이터는 제 1 특징 데이터(721) 내지 제 k 특징 데이터(723)에 일대일로 대응될 수 있다.
기계학습장치(200)는 데이터 학습부(110)를 포함할 수 있다. 기계학습장치(200)는 특징 데이터(1111) 및 분석 결과 데이터(1112)의 관계를 기계학습하여 최종기계학습모델(710)을 생성할 수 있다. 기계학습장치(200)는 심층신경망을 기반으로 기계학습을 수행할 수 있다. 기계학습장치(200)는 특징 데이터(1111) 및 분석 결과 데이터(1112)를 이용하여 순전파(forward propagation) 및 역전파(back propagation)을 수행하면서 최종기계학습모델(710)의 정확도를 높일 수 있다.
최종기계학습모델(710)은 특징 데이터(1111)와 분석 결과 데이터(1112)의 관계를 학습한 기계학습모델일 수 있다. 따라서, 기계학습이 완료된 최종기계학습모델(710)은 새로운 특징 데이터를 입력받고, 예측 결과 데이터를 출력할 수 있다.
최종기계학습모델(710)이 새로운 특징 데이터를 분석하는 과정에 대해서는 도 12 및 도 13과 함께 보다 자세히 설명한다.
도 12는 본 개시의 일 실시예에 따른 기계학습장치의 동작을 나타내는 흐름도이다. 도 13은 본 개시의 일 실시예에 따라 기계학습장치의 동작을 설명하기 위한 도면이다.
구체적으로, 기계학습장치(200)는 데이터 인식부(120)를 포함할 수 있다. 서버는 테스트 데이터(1310)를 통합기계학습모델에 적용하여 예측 특징 데이터(1320)를 획득하는 단계를 수행할 수 있다. 여기서 서버는 제 1 서버(420) 내지 제 k 서버(440) 중 어느 하나일 수 있다. 테스트 데이터(1310)는 서버가 새롭게 획득한 분석 대상 데이터일 수 있다. 서버는 새롭게 획득한 분석 대상 데이터에 대응되는 분석 결과 데이터를 가지고 있지 않을 수 있다. 테스트 데이터(1310)에는 개인 정보가 포함되어 있을 수 있다.
서버는 테스트 데이터(1310)를 통합기계학습모델(410)에 적용하여 예측 특징 데이터(1320)를 획득할 수 있다. 통합기계학습모델(410)은 최종기계학습모델(710)을 생성할 때 사용되었던 통합기계학습모델(410)과 동일할 수 있다.
예측 특징 데이터(1320)는 테스트 데이터(1310)를 손실압축한 데이터일 수 있다. 예측 특징 데이터(1320)는 테스트 데이터(1310)를 통합기계학습모델에 적용하였을 때 생성되는 복수의 레이어 중 적어도 하나의 레이어일 수 있다. 예측 특징 데이터(1320)는 도 8 내지 도 10과 같은 과정에 의하여 생성될 수 있다. 예를 들어 테스트 데이터(1310)는 도 8의 제 k 분석 대상 데이터(713)에 대응되고, 예측 특징 데이터(1320)는 도 8의 제 k 특징 데이터(723)에 대응될 수 있다. 예측 특징 데이터(1320)는 암호화되어 있을 수 있다. 따라서 예측 특징 데이터(1320)는 개인정보가 식별되지 않을 수 있다. 예측 특징 데이터(1320)에서 개인정보가 식별되지 않으므로 서버는 예측 특징 데이터를 자유롭게 반출할 수 있다. 서버는 예측 특징 데이터(1320)를 기계학습장치(200)로 송신할 수 있다. 반출된 예측 특징 데이터(1320)는 외부의 고성능 장치를 이용하여 신속하고 정확하게 처리될 수 있다. 외부의 고성능 장치는 기계학습장치(200)일 수 있다.
기계학습장치(200)는 테스트 데이터(1310)를 통합기계학습모델에 적용하여 획득된 예측 특징 데이터(1320)를 수신하는 단계(1210)를 수행할 수 있다. 또한 기계학습장치(200)는 예측 특징 데이터(1320)를 최종기계학습모델(710)에 적용하여 테스트 데이터(1310)에 관련된 예측 결과 데이터(1330)를 획득하는 단계(1220)를 수행할 수 있다. 예측 결과 데이터(1330)는 테스트 데이터(1310)를 최종기계학습모델(710)에 의하여 분석한 결과일 수 있다. 예측 결과 데이터(1330)는 테스트 데이터(1310)에 대한 기계학습장치(200)의 분석결과이다. 예측 결과 데이터(1330)는 사용자의 도움 없이 기계학습장치(200)가 자동으로 도출한 데이터일 수 있다. 제 1 서버(420) 내지 제 k 서버(440)의 데이터를 모두 활용한 최종기계학습모델(710)에 의한 결과 데이터이므로, 높은 확률로 실제(ground truth) 데이터와 유사할 수 있다. 또한, 본 개시에 따르면, 제 1 서버(420) 내지 제 k 서버(440)의 데이터를 모두 활용한 최종기계학습모델(710)에 의한 결과 데이터이므로, 제 1 서버 내지 제 k 서버의 어떤 데이터를 이용하더라도 정확도 높은 예측 결과 데이터(1330)를 획득할 수 있다. 또한 제 1 서버(420) 내지 제 k 서버(440) 보다 고성능의 외부의 기계학습장치(200)를 이용하여 대용량의 예측 특징 데이터(1320)를 처리하므로, 예측 결과 데이터(1330)는 빠르고 정확하게 획득될 수 있다.
사용자는 기계학습장치(200)가 도출한 예측 결과 데이터(1330)를 참조하여 테스트 데이터(1310)에 대한 최종 분석 결과를 도출할 수 있다. 사용자는 기계학습장치(200)의 도움을 받으므로, 보다 정확하게 최종 분석 결과를 도출할 수 있다.
위에서는 기계학습장치(200)가 제 1 서브 기계학습모델(422) 내지 제 K 서브 기계학습모델(442) 중 적어도 하나를 이용하여 통합기계학습모델(410)을 생성하고, 통합기계학습모델(410)을 이용하여 최종기계학습모델(710)을 생성하는 구성을 설명하였다. 하지만 이미 설명한 바 있듯이, 통합기계학습모델(410)은 미리 결정된 기본모델을 포함할 수 있다. 기계학습장치(200)는 통합기계학습모델(410)을 생성하는 과정을 수행하지 않고, 미리 결정된 기본모델에 기초하여 최종기계학습모델(710)을 생성할 수 있다. 즉, 도 6 내지 도 13의 통합기계학습모델(410)은 기본모델로 대체될 수 있다.
이하에서는 도 7과 함께, 통합기계학습모델(410)에 포함된 기본모델에 기초하여 최종기계학습모델을 생성하는 과정을 간략하게 설명한다.
도 7을 참조하면, 기계학습장치(200)는 제 1 분석 대상 데이터(711)에 기본모델을 적용하여 획득된 제 1 특징 데이터(721)를 수신하는 단계를 수행할 수 있다. 또한, 기계학습장치(200)는 제 2 분석 대상 데이터(712)에 기본모델을 적용하여 획득된 제 2 특징 데이터(722)를 수신하는 단계를 수행할 수 있다.
여기서, 제 1 분석 대상 데이터(711) 및 제 2 분석 대상 데이터(712)는 서로 다른 환경에서 획득된 의료 영상과 관련된 데이터일 수 있다. 기본모델은 영상을 분류하기 위한 일반적인 기계학습모델이 이용될 수 있다. 기본모델은 미리 학습된 모델일 수 있다. 기본모델은 예를 들어 이미지넷이 사용될 수 있다. 제 1 분석 결과 데이터는 제 1 분석 대상 데이터(711)를 사용자가 분석한 결과이고, 제 2 분석 결과 데이터는 제 2 분석 대상 데이터(712)를 사용자가 분석한 결과일 수 있다. 제 1 분석 결과 데이터 및 제 2 분석 결과 데이터는 실제(ground truth) 데이터 또는 실제 레이블일 수 있다. 제 1 분석 대상 데이터(711) 및 제 1 분석 결과 데이터는 제 1 학습 데이터 세트(421)에 포함될 수 있다. 제 2 분석 대상 데이터(712) 및 제 2 분석 결과 데이터는 제 2 학습 데이터 세트(431)에 포함될 수 있다.
제 1 특징 데이터(721) 및 제 2 특징 데이터(722)는 제 1 분석 대상 데이터(711) 및 제 2 분석 대상 데이터(712)를 손실 압축한 데이터일 수 있다. 제 1 특징 데이터(721) 및 제 2 특징 데이터(722)는 제 1 분석 대상 데이터(711) 및 제 2 분석 대상 데이터(712)를 암호화한 데이터일 수 있다. 제 1 특징 데이터(721) 및 제 2 특징 데이터(722)는 제 1 분석 대상 데이터(711) 및 제 2 분석 대상 데이터(712)로 복원되지 못할 수 있다. 제 1 분석 대상 데이터 및 제 2 분석 대상 데이터는 개인정보가 포함되고, 제 1 특징 데이터 및 제 2 특징 데이터는 개인정보가 식별되지 않을 수 있다. 따라서 개인정보보호를 위하여 서버들(420, 430, 440)은 제 1 분석 대상 데이터(711) 및 제 2 분석 대상 데이터(712)를 기계학습장치(200)로 송신할 수 없다. 하지만 서버들(420, 430, 440)은 제 1 특징 데이터 및 제 2 특징 데이터를 기계학습장치(200)로 송신할 수 있다.
제 1 특징 데이터(721)는 제 1 분석 대상 데이터(711)를 기본모델에 적용하여 획득되는 제 1 복수의 특징 레이어들 중 적어도 하나의 레이어이고, 제 2 특징 데이터(722)는 제 2 분석 대상 데이터(712)를 기본모델에 적용하여 획득되는 제 2 복수의 특징 레이어들 중 적어도 하나의 레이어일 수 있다. 기계학습장치(200)는 제 1 복수의 특징 레이어들 및 제 2 복수의 특징 레이어들에서 동일 위치의 레이어를 선택하여 제 1 특징 데이터(721) 및 제 2 특징 데이터(722)를 각각 획득할 수 있다.
기계학습장치(200)는 제 1 특징 데이터(721), 제 1 분석 결과 데이터, 제 2 특징 데이터(722) 및 제 2 분석 결과 데이터를 서버들(420, 430, 440)로부터 수신할 수 있다.
기계학습장치(200)는 제 1 특징 데이터(721) 및 제 1 분석 결과 데이터의 상관 관계 그리고 제 2 특징 데이터(722) 및 제 2 분석 결과 데이터의 상관 관계를 기계학습하여 최종기계학습모델(710)을 획득하는 단계를 수행할 수 있다.
도 13을 참조하면 서버는 테스트 데이터(1310)에 기본모델을 적용하여 예측 특징 데이터(1320)를 획득할 수 잇다. 기계학습장치(200)는 테스트 데이터(1310)에 기본모델을 적용하여 획득된 예측 특징 데이터(1320)를 수신하는 단계를 수행할 수 있다. 기계학습장치(200)는 예측 특징 데이터(1320)에 최종기계학습모델(710)을 적용하여 테스트 데이터(1310)에 대응하는 예측 결과 데이터(1330)를 획득하는 단계를 수행할 수 있다.
여기서, 예측 특징 데이터는 테스트 데이터를 손실 압축한 데이터일 수 있다. 테스트 데이터는 개인정보가 포함되고, 예측 특징 데이터는 개인정보가 식별되지 않을 수 있다.
예측 결과 데이터(1330)는 테스트 데이터(1310)에 대한 기계학습장치(200)의 분석결과이다. 예측 결과 데이터(1330)는 사용자의 도움 없이 기계학습장치(200)가 자동으로 도출한 데이터일 수 있다. 제 1 서버(420) 내지 제 k 서버(440)의 데이터를 모두 활용한 최종기계학습모델(710)에 의한 결과 데이터이므로, 예측 결과 데이터(1330)는 높은 확률로 실제(ground truth) 데이터와 유사할 수 있다. 또한, 본 개시에 따르면, 제 1 서버(420) 내지 제 k 서버(440)의 데이터를 모두 활용한 최종기계학습모델(710)에 의한 결과 데이터이므로, 제 1 서버 내지 제 k 서버의 어떤 데이터를 이용하더라도 정확도 높은 예측 결과 데이터(1330)를 획득할 수 있다. 또한 제 1 서버(420) 내지 제 k 서버(440) 보다 고성능의 외부의 기계학습장치(200)를 이용하여 대용량의 예측 특징 데이터(1320)를 처리하므로, 예측 결과 데이터(1330)는 빠르고 정확하게 획득될 수 있다.
이제까지 다양한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.

Claims (18)

  1. 컴퓨팅 장치로 동작하는 인공지능 모델의 동작 방법에 있어서,
    서로 다른 복수의 데이터 세트 각각에서 학습된 복수의 인공지능 모델을 획득하는 단계;
    상기 획득된 복수의 인공지능 모델을 병합한 통합 인공지능 모델을 생성하는 단계;
    상기 서로 다른 복수의 데이터 세트에 포함된 적어도 일부의 데이터를 상기 생성된 통합 인공지능 모델에 입력하여 상기 통합 인공지능 모델에서 출력되는 비식별화 데이터를 획득하는 단계; 및
    최종 인공지능 모델의 학습을 위하여, 상기 획득된 비식별화 데이터를 이용하여 상기 적어도 일부의 데이터에 대한 학습 데이터 세트를 생성하는 단계를 포함하는
    인공지능 모델의 동작 방법.
  2. 제1항에 있어서,
    상기 비식별화 데이터는
    상기 통합 인공지능 모델에 포함된 복수의 레이어 중 적어도 하나의 레이어에서 출력되는 특징 데이터인
    인공지능 모델의 동작 방법.
  3. 제2항에 있어서,
    상기 비식별화 데이터는
    상기 입력된 데이터의 민감 정보가 식별되지 않는
    인공지능 모델의 동작 방법.
  4. 제1항에 있어서,
    상기 복수의 인공지능 모델 각각은
    입력된 데이터에서 특징(feature)을 추출하는 특징 추출기를 포함하는
    인공지능 모델의 동작 방법.
  5. 제4항에 있어서,
    상기 특징 추출기는
    CNN(Convolution Neural Network) 기반의 특징 추출기인
    인공지능 모델의 동작 방법.
  6. 제1항에 있어서,
    상기 학습 데이터 세트를 생성하는 단계는
    상기 획득된 비식별화 데이터 및, 상기 적어도 일부의 데이터에 대응하는 레이블(label) 정보를 포함하는 학습 데이터 세트를 생성하는 단계를 포함하는
    인공지능 모델의 동작 방법.
  7. 제6항에 있어서,
    상기 생성된 학습 데이터 세트를 이용하여, 상기 최종 인공지능 모델을 학습시키는 단계를 더 포함하는
    인공지능 모델의 동작 방법.
  8. 제1항에 있어서,
    상기 비식별화 데이터는
    상기 통합 인공지능 모델에 포함된 상기 복수의 인공지능 모델 각각에서 출력되는 복수의 서브 출력 데이터를 포함하는
    인공지능 모델의 동작 방법.
  9. 제1항에 있어서,
    상기 서로 다른 복수의 데이터 세트 각각은
    서로 다른 환경에서 획득된 데이터를 포함하는 데이터 세트인
    인공지능 모델의 동작 방법.
  10. 적어도 하나의 프로세서; 및
    상기 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하고,
    상기 프로세서는 실행 시에,
    서로 다른 복수의 데이터 세트 각각에서 학습된 복수의 인공지능 모델을 획득하고,
    상기 획득된 복수의 인공지능 모델을 병합한 통합 인공지능 모델을 생성하고,
    상기 서로 다른 복수의 데이터 세트에 포함된 적어도 일부의 데이터를 상기 생성된 통합 인공지능 모델에 입력하여 상기 통합 인공지능 모델에서 출력되는 비식별화 데이터를 획득하고,
    최종 인공지능 모델의 학습을 위하여, 상기 획득된 비식별화 데이터를 이용하여 상기 적어도 일부의 데이터에 대한 학습 데이터 세트를 생성하는
    전자 장치.
  11. 제10항에 있어서,
    상기 비식별화 데이터는
    상기 통합 인공지능 모델에 포함된 복수의 레이어 중 적어도 하나의 레이어에서 출력되는 특징 데이터인
    전자 장치.
  12. 제11항에 있어서,
    상기 비식별화 데이터는
    상기 입력된 데이터의 민감 정보가 식별되지 않는
    전자 장치.
  13. 제10항에 있어서,
    상기 복수의 인공지능 모델 각각은
    입력된 데이터에서 특징(feature)을 추출하는 특징 추출기를 포함하는
    전자 장치.
  14. 제13항에 있어서,
    상기 특징 추출기는
    CNN(Convolution Neural Network) 기반의 특징 추출기인
    전자 장치.
  15. 제10항에 있어서,
    상기 프로세서는 실행 시에,
    상기 획득된 비식별화 데이터 및, 상기 적어도 일부의 데이터에 대응하는 레이블(label) 정보를 포함하는 학습 데이터 세트를 생성하는
    전자 장치.
  16. 제15항에 있어서,
    상기 프로세서는 실행 시에,
    상기 생성된 학습 데이터 세트를 이용하여, 상기 최종 인공지능 모델을 학습시키는
    전자 장치.
  17. 제10항에 있어서,
    상기 비식별화 데이터는
    상기 통합 인공지능 모델에 포함된 상기 복수의 인공지능 모델 각각에서 출력되는 복수의 서브 출력 데이터를 포함하는
    전자 장치.
  18. 제10항에 있어서,
    상기 서로 다른 복수의 데이터 세트 각각은
    서로 다른 환경에서 획득된 데이터를 포함하는 데이터 세트인
    전자 장치.
KR1020210007191A 2020-03-20 2021-01-19 데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치 KR102394758B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210007191A KR102394758B1 (ko) 2020-03-20 2021-01-19 데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200034436A KR102211852B1 (ko) 2020-03-20 2020-03-20 데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치
KR1020210007191A KR102394758B1 (ko) 2020-03-20 2021-01-19 데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200034436A Division KR102211852B1 (ko) 2020-03-20 2020-03-20 데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210117917A KR20210117917A (ko) 2021-09-29
KR102394758B1 true KR102394758B1 (ko) 2022-05-06

Family

ID=74572496

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200034436A KR102211852B1 (ko) 2020-03-20 2020-03-20 데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치
KR1020210007191A KR102394758B1 (ko) 2020-03-20 2021-01-19 데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020200034436A KR102211852B1 (ko) 2020-03-20 2020-03-20 데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치

Country Status (1)

Country Link
KR (2) KR102211852B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022215559A1 (ko) * 2021-04-05 2022-10-13
KR20230024233A (ko) * 2021-08-11 2023-02-20 고려대학교 산학협력단 사용자 문진 데이터와 피부 영상 데이터를 이용한 접촉 피부염의 원인 추정 방법 및 장치
WO2024071640A1 (ko) * 2022-09-29 2024-04-04 삼성전자 주식회사 인공 지능 모델을 훈련시키는 전자 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150019214A1 (en) * 2013-07-10 2015-01-15 Tencent Technology (Shenzhen) Company Limited Method and device for parallel processing in model training
JP2015011686A (ja) * 2013-07-02 2015-01-19 日本電信電話株式会社 統合識別器学習装置、統合識別器学習方法、及び統合識別器学習プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2019000713A (es) * 2016-07-18 2019-11-28 Nant Holdings Ip Llc Sistemas, aparatos y metodos para maquina de aprendizaje distribuido.
KR20200014510A (ko) * 2018-08-01 2020-02-11 삼성에스디에스 주식회사 기계 학습 기반의 예측 서비스 제공 방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015011686A (ja) * 2013-07-02 2015-01-19 日本電信電話株式会社 統合識別器学習装置、統合識別器学習方法、及び統合識別器学習プログラム
US20150019214A1 (en) * 2013-07-10 2015-01-15 Tencent Technology (Shenzhen) Company Limited Method and device for parallel processing in model training

Also Published As

Publication number Publication date
KR20210117917A (ko) 2021-09-29
KR102211852B1 (ko) 2021-02-03

Similar Documents

Publication Publication Date Title
KR102394758B1 (ko) 데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치
US10878567B1 (en) System to collect and identify skin conditions from images and expert knowledge
KR102570278B1 (ko) 교사 모델로부터 학생 모델을 트레이닝하는데 사용되는 학습 데이터를 생성하는 장치 및 방법
Moujahid et al. Combining CNN and Grad-Cam for COVID-19 Disease Prediction and Visual Explanation.
CN109378065A (zh) 医疗数据处理方法及装置、存储介质、电子设备
EP3223183A1 (en) Case-based reasoning in the cloud using deep learning
JP2020522794A (ja) ニューラルネットワーク分類
US20190370387A1 (en) Automatic Processing of Ambiguously Labeled Data
KR20230085125A (ko) 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치
KR102542037B1 (ko) 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치
WO2021098534A1 (zh) 相似度确定、网络训练、查找方法及装置、电子装置和存储介质
JP7468675B2 (ja) 機械学習モデル
KR20200080419A (ko) 인공신경망 기반 손동작 인식 방법 및 장치
KR102394759B1 (ko) 데이터의 특징점을 취합하여 기계 학습하는 방법 및 장치
EP4330870A1 (en) Data diversity visualization and quantification for machine learning models
Sengupta et al. Analyzing historical diagnosis code data from NIH N3C and RECOVER Programs using deep learning to determine risk factors for Long Covid
Murad et al. AI powered asthma prediction towards treatment formulation: An android app approach
Henry Deep learning algorithms for predicting the onset of lung cancer
KR102639807B1 (ko) 시계열 데이터에 기반한 알츠하이머병 진행감지를 위한 멀티모드 멀티테스크 딥 러닝 모델
US20210174910A1 (en) Method and apparatus for generating new chemical structure using neural network
US11941513B2 (en) Device for ensembling data received from prediction devices and operating method thereof
US20210335481A1 (en) Augmented inspector interface with targeted, context-driven algorithms
US11783165B1 (en) Generating vectors from data
JP6915604B2 (ja) 装置、方法およびプログラム
CN113822439A (zh) 任务预测方法、装置、设备及存储介质

Legal Events

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