KR20230085125A - 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치 - Google Patents

인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치 Download PDF

Info

Publication number
KR20230085125A
KR20230085125A KR1020230072404A KR20230072404A KR20230085125A KR 20230085125 A KR20230085125 A KR 20230085125A KR 1020230072404 A KR1020230072404 A KR 1020230072404A KR 20230072404 A KR20230072404 A KR 20230072404A KR 20230085125 A KR20230085125 A KR 20230085125A
Authority
KR
South Korea
Prior art keywords
data
learning
artificial intelligence
specialized
intelligence model
Prior art date
Application number
KR1020230072404A
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
Priority claimed from KR1020200124142A external-priority patent/KR102542037B1/ko
Application filed by 주식회사 루닛 filed Critical 주식회사 루닛
Publication of KR20230085125A publication Critical patent/KR20230085125A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/20ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/091Active learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H15/00ICT specially adapted for medical reports, e.g. generation or transmission thereof
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/20ICT specially adapted for the handling or processing of medical images for handling medical images, e.g. DICOM, HL7 or PACS
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10072Tomographic images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30096Tumor; Lesion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/03Recognition of patterns in medical or anatomical images
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S128/00Surgery
    • Y10S128/92Computer assisted medical diagnostics
    • Y10S128/922Computer assisted medical diagnostics including image analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S128/00Surgery
    • Y10S128/92Computer assisted medical diagnostics
    • Y10S128/923Computer assisted medical diagnostics by comparison of patient data to other data
    • Y10S128/924Computer assisted medical diagnostics by comparison of patient data to other data using artificial intelligence

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Public Health (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Databases & Information Systems (AREA)
  • Pathology (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

적어도 하나의 프로세서에 의해 동작하는 학습 장치의 동작 방법으로서, 특정 기관이 가지고 있는 데이터 중에서, 특화 학습에 사용할 데이터셋을 추출하는 단계, 사전 학습된 인공지능 모델을 이용하여, 상기 데이터셋에서 어노테이션이 요구되는 어노테이션 대상을 선별하는 단계, 그리고 상기 어노테이션 대상에 대해 레이블이 어노테이션된 데이터를 이용하여, 상기 사전 학습된 인공지능 모델을 지도 학습시키는 단계를 포함한다.

Description

인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치{TRAINING METHOD FOR SPECIALIZING ARTIFICIAL INTELLIGENCE MODEL IN DEPLOYED INSTITUTION, AND APPARATUS FOR TRAINING THE ARTIFICIAL INTELLIGENCE MODEL}
본 개시는 인공지능 기술에 관한 것이다.
딥러닝(deep-learning)으로 대표되는 기계학습(machine-learning) 기술은 이미지, 음성, 텍스트 등 다양한 형태의 데이터 분석에서 기존 방법의 성능을 뛰어 넘는 결과를 제공하고 있다. 또한, 기계학습 기술은 기술 자체에 내재된 확장성 및 유연성으로 인해 다양한 분야에 적용되고 있고, 다양한 종류의 신경망(neural network)이 공개되고 있다.
이렇게, 기계학습 기반의 인공지능(Artificial Intelligence, AI) 기술은 의료 분야에서 활발히 도입되고 있다. 이전에는 CAD(Computer Aided Detection) 장치가 룰 기반(rule based)으로 병변을 검출하거나, 의료 이미지에서 설정된 후보 영역에서 병변을 검출하였다면, 최근의 AI 기반 의료 이미지 판독 기술은 의료 이미지 전체를 AI 알고리즘으로 분석하고, 이상(abnormal) 병변을 시각적으로 제공할 수 있다.
의료진은 AI 기반 의료 이미지 판독 기술이 구현된 진단 보조 장치로부터 의료 이미지에 포함된 이상 병변 정보를 제공받고, 이를 참고하여 진단할 수 있다.
한편, 의료 기관들은 촬영 장비, 촬영 방식, 중증도, 인종 등의 도메인 격차가 있음에도 불구하고, 아직까지 동일한 인공지능 모델을 사용하고 있다. 이 경우, 각 기관에서 인공지능 모델로 분석하고자 하는 데이터와, 인공지능 모델의 학습 데이터의 차이가 있어서, 의료 현장에서 인공지능 모델의 성능이 기대보다 낮은 문제가 발생하고 있다. 각 기관의 데이터를 이용하여 사전 학습된 인공지능 모델을 미세 조정(fine-tuning)해서, 각 기관의 데이터에 최적화될 수 있지만, 인공지능 모델이 학습한 사전 지식을 잃어버리게 되고, 일반화 성능(generalization performance)에 영향을 미치게 되어, 결국 인공지능 모델의 안정적 동작을 보장할 수 없는 문제가 있다.
(특허문헌 1) KR 10-2052624 B
(특허문헌 2) KR 10-2075270 B
(특허문헌 3) KR 10-2039146 B
해결하고자 하는 과제는 사전 학습된 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 그리고 이를 수행하는 장치를 제공하는 것이다.
해결하고자 하는 과제는 사전 학습된 인공지능 모델을 학습시키기 위해서 사용 기관의 데이터를 수집하는 방법을 제공하는 것이고, 구체적으로 사용 기관의 데이터 중에서 인공지능 모델의 학습을 위한 데이터를 선별하고, 어노테이션이 요구되는 데이터를 선별하는 방법을 제공하는 것이다.
해결하고자 하는 과제는 인공지능 모델의 사전 지식을 유지하면서, 사용 기관의 데이터를 이용하여 인공지능 모델을 학습시키는 방법을 제공하는 것이다.
한 실시예에 따라 적어도 하나의 프로세서에 의해 동작하는 학습 장치의 동작 방법으로서, 특정 기관이 가지고 있는 데이터 중에서, 특화 학습에 사용할 데이터셋을 추출하는 단계, 사전 학습된 인공지능 모델을 이용하여, 상기 데이터셋에서 어노테이션이 요구되는 어노테이션 대상을 선별하는 단계, 그리고 상기 어노테이션 대상에 대해 레이블이 어노테이션된 데이터를 이용하여, 상기 사전 학습된 인공지능 모델을 지도 학습시키는 단계를 포함한다.
상기 어노테이션 대상을 선별하는 단계는 상기 데이터셋 중 적어도 일부 데이터에 대한 상기 사전 학습된 인공지능 모델의 예측 결과를 이용하여, 상기 사전 학습된 인공지능 모델에게 불확실한 데이터를 상기 어노테이션 대상으로 선별할 수 있다.
상기 어노테이션 대상을 선별하는 단계는 상기 사전 학습된 인공지능 모델의 예측 결과를 이용하여 측정된 불확실성 점수를 기초로 상기 어노테이션 대상을 선별할 수 있다.
상기 불확실성 점수는, 상기 사전 학습된 인공지능 모델에서 예측된 병변별 점수(score)의 신뢰값(confidence), 상기 사전 학습된 인공지능 모델에서 예측된 병변별 히트맵(heatmap)의 엔트로피(entropy), 그리고 상기 사전 학습된 인공지능 모델에서 예측된 병변의 동시 출현(co-occurrence) 중 적어도 하나를 이용하여, 측정될 수 있다.
상기 어노테이션 대상을 선별하는 단계는 상기 사전 학습된 인공지능 모델의 특징 공간(feature space)에서 상기 데이터셋의 분포를 대표하는 데이터를 상기 어노테이션 대상으로 선별할 수 있다.
상기 동작 방법은, 판독의 리포트(Radiologist report)에서 추출한 정보를 상기 어노테이션 대상에 어노테이션하거나, 상기 어노테이션 대상에 대한 상기 사전 학습된 인공지능 모델의 예측 결과를 주석자에게 제공하여 어노테이션 작업을 지원하는 단계를 더 포함할 수 있다.
상기 특화 학습에 사용할 데이터셋을 추출하는 단계는 상기 특정 기관이 가지고 있는 데이터 보유량 그리고 데이터 특성을 기초로상기 특화 학습에 사용할 데이터량을 결정할 수 있다.
상기 사전 학습된 인공지능 모델을 학습시키는 단계는 상기 사전 학습된 인공지능 모델의 사전 지식을 유지하는 정보를, 상기 지도 학습 중인 인공지능 모델로 제공할 수 있다.
상기 사전 학습된 인공지능 모델을 학습시키는 단계는 상기 지도 학습 중인 인공지능 모델과 교사 모델과의 증류 손실을 계산하고, 상기 증류 손실을 상기 지도 학습 중인 인공지능 모델로 제공하며, 상기 교사 모델은 상기 사전 학습된 인공지능 모델과 동일한 모델일 수 있다.
상기 증류 손실은 상기 지도 학습 중인 인공지능 모델이 상기 교사 모델의 중간 특징 및/또는 최종 출력을 따라가도록 만드는 손실일 수 있다.
다른 실시예에 따라 적어도 하나의 프로세서에 의해 동작하는 학습 장치의 동작 방법으로서, 사전 학습을 위한 제1 데이터셋을 수집하는 단계, 상기 제1 데이터셋을 이용하여 적어도 하나의 태스크를 사전 학습한 제1 인공지능 모델을 출력하는 단계, 그리고 상기 사전 학습에서 습득한 사전 지식을 유지하면서, 특정 기관으로부터 수집한 제2 데이터셋을 이용하여 특화 학습한 제2 인공지능 모델을 출력하는 단계를 포함한다.
상기 제1 인공지능 모델은 입력 데이터의 도메인을 구분하지 못하도록 전처리된 데이터를 이용하여 학습하거나, 추출된 중간 특징으로부터 입력 데이터의 도메인을 구분하지 못하도록 적대 학습할 수 있다.
상기 제2 인공지능 모델을 출력하는 단계는 상기 특화 학습 중인 인공지능 모델과 교사 모델과의 증류 손실을 계산하고, 상기 증류 손실을 상기 특화 학습 중인 인공지능 모델로 제공하여, 상기 제2 인공지능 모델이 상기 사전 지식을 유지하도록 하고, 상기 교사 모델은 상기 사전 학습한 제1 인공지능 모델과 동일한 모델일 수 있다.
상기 제2 인공지능 모델을 출력하는 단계는 상기 제2 데이터셋 중에서 레이블이 어노테이션된 적어도 일부의 어노테이션 데이터를 이용하여 상기 제1 인공지능 모델을 지도 학습시키고, 상기 제1 인공지능 모델의 사전 지식을 유지하는 정보를 상기 지도 학습 중인 인공지능 모델로 제공할 수 있다. 상기 제1 인공지능 모델의 사전 지식을 유지하는 정보는 상기 지도 학습 중인 인공지능 모델과 교사 모델과의 증류 손실일 수 있다. 상기 교사 모델은 상기 제1 인공지능 모델과 동일한 모델일 수 있다.
상기 동작 방법은 상기 특정 기관이 가지고 있는 데이터 중에서, 상기 특화 학습에 사용할 상기 제2 데이터셋을 추출하는 단계, 상기 제1 인공지능 모델을 이용하여, 상기 제2 데이터셋에서 어노테이션이 요구되는 어노테이션 대상을 선별하는 단계, 그리고 상기 어노테이션 대상에 대해 레이블이 어노테이션된 데이터를 획득하는 단계를 더 포함할 수 있다.
상기 어노테이션 대상을 선별하는 단계는 상기 제2 데이터셋 중 적어도 일부 데이터에 대한 상기 제1 인공지능 모델의 예측 결과를 이용하여, 상기 제1 인공지능 모델에게 불확실한 데이터를 상기 어노테이션 대상으로 선별할 수 있다.
상기 어노테이션 대상을 선별하는 단계는 상기 제1 인공지능 모델의 특징 공간(feature space)에서 상기 제2 데이터셋의 분포를 대표하는 데이터를 상기 어노테이션 대상으로 선별할 수 있다.
또 다른 실시예에 따른 학습 장치로서, 명령어들을 저장하는 메모리, 그리고 상기 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는 의료 기관의 데이터 저장소에서 일정량의 의료 기관 데이터를 추출하고, 사전 학습된 인공지능 모델의 사전 지식을 유지하면서 상기 의료 기관 데이터를 이용하여 상기 사전 학습된 인공지능 모델을 특화 학습시킬 수 있다.
상기 프로세서는 상기 의료 기관 데이터에 대한 상기 사전 학습된 인공지능 모델의 예측 결과를 이용하여, 상기 의료 기관 데이터에서 상기 사전 학습된 인공지능 모델에게 불확실한 데이터를 추출하고, 상기 불확실한 데이터를 어노테이션이 요구되는 어노테이션 대상으로 선별하며, 상기 어노테이션 대상에 대해 레이블이 어노테이션된 데이터를 이용하여, 상기 사전 학습된 인공지능 모델을 지도 학습시킬 수 있다. 상기 프로세서는 상기 지도 학습 중인 인공지능 모델로 상기 사전 지식을 유지하는 정보를 제공하여 상기 사전 지식을 유지시킬 수 있다.
상기 프로세서는 상기 의료 기관 데이터의 분포를 대표하는 일정 수의 대표 데이터를 선별하고, 상기 대표 데이터 중에서 상기 사전 학습된 인공지능 모델의 예측이 불확실한 데이터를 선별할 수 있다. 상기 불확실한 데이터는 상기 사전 학습된 인공지능 모델에서 예측된 병변별 점수(score)의 신뢰값(confidence), 상기 사전 학습된 인공지능 모델에서 예측된 병변별 히트맵(heatmap)의 엔트로피(entropy), 그리고 상기 사전 학습된 인공지능 모델에서 예측된 병변의 동시 출현(co-occurrence) 중 적어도 하나를 이용하여, 선별될 수 있다.
실시예에 따르면, 다양한 기관들은 각자의 도메인 특성에 특화된 인공지능 모델을 사용할 수 있으므로, 촬영 장비, 촬영 방식, 중증도, 인종 등의 도메인 격차에 의한 인공지능 모델의 성능 저하를 염려할 필요가 없다.
실시예에 따르면, 인공지능 모델은 안정적 동작을 위한 사전 지식을 유지하면서, 기관마다의 고유 데이터를 학습할 수 있다. 따라서, 실시예에 따르면, 각 기관에 특화된 인공지능 모델은 일반화 성능(generalization performance)을 제공하면서도 각 기관의 고유 특성이 반영된 분석 결과를 제공할 수 있다.
실시예에 따르면, 각 기관의 보유 데이터 중에서 이를 대표하면서도 불확실한 데이터를 어노테이션 대상으로 선별할 수 있으므로, 전체 데이터에 어노테이션할 필요 없이 선별한 데이터에 대해서만 어노테이션을 요구할 수 있다. 따라서, 실시예에 따르면, 학습의 편의성을 높이고, 학습 시간을 줄일 수 있고, 학습 비용을 절약할 수 있다.
실시예에 따르면, 인공지능 모델을 기관들에 제공하는 제공사는, 각 기관과의 계약 조건에 따라 수집하는 데이터량이나 어노테이션이 요구되는 데이터량을 가변하는 방식으로 인공지능 모델을 차별화할 수 있다.
도 1은 한 실시예에 따른 학습 장치의 구성도이다.
도 2는 한 실시예에 따른 특화 학습 방법을 설명하는 도면이다.
도 3과 도 4는 다른 실시예에 따른 특화 학습 방법을 설명하는 도면이다.
도 5는 또 다른 실시예에 따른 특화 학습 방법을 설명하는 도면이다.
도 6은 한 실시예에 따른 특화 학습을 도식적으로 설명한 도면이다.
도 7은 한 실시예에 따른 사전 학습 방법의 흐름도이다.
도 8은 한 실시예에 따른 특화 학습을 위한 데이터 수집 방법의 흐름도이다.
도 9는 한 실시예에 따른 특화 학습 방법의 흐름도이다.
도 10은 한 실시예에 따른 컴퓨팅 장치의 구성도이다.
아래에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
설명에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
설명에서, "전송 또는 제공"은 직접적인 전송 또는 제공하는 것뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.
설명에서, 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
설명에서, 흐름도에 기재된 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.
설명에서, "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
설명에서, 장치는 적어도 하나의 프로세서가 명령어들(instructions)을 실행함으로써, 본 개시의 동작을 수행할 수 있도록 구성 및 연결된다. 컴퓨터 프로그램은 프로세서가 본 개시의 동작을 실행하도록 기술된 명령어들(instructions)을 포함하고, 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장될 수 있다. 컴퓨터 프로그램은 네트워크를 통해 다운로드되거나, 제품 형태로 판매될 수 있다.
본 개시의 인공지능 모델(Artificial Intelligence model, AI model)은 적어도 하나의 태스크(task)를 학습하는 기계학습모델로서, 프로세서에 의해 실행되는 컴퓨터 프로그램으로 구현될 수 있다. 인공지능 모델이 학습하는 태스크란, 기계 학습을 통해 해결하고자 하는 과제 또는 기계 학습을 통해 수행하고자 하는 작업을 지칭할 수 있다. 예를 들어, 의료 이미지(medical image)으로부터 인식, 분류, 예측 등을 수행한다고 할 때, 인식, 분류, 예측 각각이 개별 태스크에 대응될 수 있다.
본 개시의 인공지능 모델은 입력 데이터, 태스크 종류, 학습 방법 등에 맞게, 신경망(neural network) 기반의 다양한 기계학습 모델(machine learning model)을 이용하여 구성될 수 있다. 예를 들어, 인공지능 모델이 의료 이미지를 입력받는 경우, 컨볼루션 신경망(convolutional neural network, CNN) 모델이 사용될 수 있다.
본 개시의 인공지능 모델은 다양한 종류의 데이터를 입력받을 수 있다. 설명에서는 의료 이미지를 학습 데이터 및 분석 데이터로 사용하는 인공지능 모델을 예로 들어 설명할 수 있고, 의료 이미지를 입력받아 적어도 하나의 태스크를 수행하는 인공지능 모델은 다양한 구조로 구성될 수 있다.
본 개시는 다양한 모달리티(modality)로 촬영된 다양한 부위의 의료 이미지에 대해 적용될 수 있고, 예를 들면, 의료 이미지의 모달리티는 엑스레이(X-ray), MRI(magnetic resonance imaging), 초음파(ultrasound), CT(computed tomography), MMG(Mammography), DBT(Digital breast tomosynthesis) 등과 같이 다양할 수 있다.
설명에서, 데이터셋과 데이터를 구분하지 않고 설명할 수 있다.
설명에서, “사용 기관”은 인공지능 모델 또는 이를 포함하는 장치(예를 들면, 진단 보조 장치)를 사용하는 주체 또는 인공지능 모델 또는 이를 포함하는 장치가 사용되는 장소를 의미하고, 예를 들면, 병원, 건강검진 센터, 회사, 학교, 공공기관 등을 포함할 수 있다. "사용 기관"은 간단히 "기관"이라고 부르거나, "타겟 기관", "의료 기관", "타겟 병원", "사용처" 등으로 부를 수 있다.
설명에서, 사용 기관 데이터는 사용 기관이 보유한 데이터로서, 예를 들면, 사용 기관에 설치된 이미지 촬영 장비로 촬영된 의료 이미지거나, 사용 기관이 외부로부터 의뢰받은 의료 이미지일 수 있다. 사용 기관 데이터는 예를 들면, 병원의 PACS(Picture Archiving and Communication System)에 저장된 의료 이미지들일 수 있다.
설명에서, "특화(전문화)(Specialization)"는, 사전 학습된 인공지능 모델이 사용 기관의 데이터(예를 들면, 의료 이미지)에 대해서도 좋은 성능을 출력하도록 만드는 과정 또는 동작을 의미하고, 사전 학습된 인공지능 모델을 사용 기관에 최적화(optimization)하는 동작, 사전 학습된 인공지능 모델을 사용 기관을 위해 미세 조정(fine-tuning)하는 동작, 사전 학습된 인공지능 모델을 사용 기관을 위해 맞춤화(customization)하는 동작 등을 포함할 수 있다. 여기서, "좋은 성능"이란, 사용 기관 데이터에 대해 인공지능 모델에서 출력된 결과가, "기준 성능"과 유사하거나 나은 성능을 나타내는 경우를 의미할 수 있다. "기준 성능"은 다양하게 설정될 수 있고, 예를 들면, 검증 데이터로 평가된 사전 학습된 인공지능 모델의 성능 지표일 수 있다.
설명에서, 사전 학습된 인공지능 모델을 사용 기관에 특화시키기 위한 학습을 "특화 학습"이라고 부를 수 있고, "추가 학습"이라고도 부를 수 있다.
설명에서, 사전 학습된 인공지능 모델은 추가적인 특화 학습을 하지 않더라도 사용 기관에서 사용될 수 있도록 학습 완료된 인공지능 모델일 수 있다.
설명에서, 인공지능 모델의 사전 학습을 위한 데이터를, 사전 학습 데이터라고 부를 수 있고, 이외에도, 인공지능 모델을 개발하는 회사의 사내(In-house) 데이터, 기본 데이터, 소스 데이터 등으로 부를 수 있다.
설명에서, 사용 기관 데이터를 타겟 병원 데이터(Target-hospital data)나 타겟 데이터 등으로 부를 수 있다.
일반적으로, 인공지능 모델은 학습 데이터로 태스크를 학습하고, 검증 데이터로 평가된 결과가 지정된 성능에 도달하면 학습을 종료한다. 이러한 학습 데이터와 검증 데이터는 다양한 조건과 환경에서 획득된 데이터일 수 있지만, 모든 조건과 모든 환경을 반영하기는 어렵다. 따라서, 학습 완료된 인공지능 모델이라고 하더라도, 실제 병원에서 촬영한 데이터를 입력해보면, 검증 성능에 미치지 못한 결과가 나오게 된다.
이러한 문제는 데이터가 수집된/생성된 환경이나 조건에 해당하는 도메인이 달라서 발생할 수 있다. 도메인 격차는 예를 들면, 촬영 장비, 촬영 방식, 중증도, 인종 등의 다양성에 의해 발생될 수 있다.
예를 들면, 사전 학습 데이터를 촬영한 장비와 사용 기관에서 데이터를 촬영한 장비가 다른 경우, 이미지의 텍스쳐(texture) 등이 차이 날 수 있다. 사전 학습 데이터의 촬영 방식과 사용 기관에서 데이터를 촬영하는 방식이 다른 경우, 이미지에 포함된 정보가 차이 날 수 있고, 이미지 차이에 의해 성능이 저하될 수 있다. 예를 들면, 촬영 방식은 AP(anterior posterior) 촬영이나 PA(posterior anterior) 촬영으로 다를 수 있고, 손이 보이게 촬영하거나 손이 안보이게 촬영할 수 있다..
사전 학습 데이터의 중증도 분포와 사용 기관 데이터의 중증도 분포가 차이 날 수 있다. 예를 들면, 사전 학습 데이터는 상대적으로 중증도가 높은 환자들이 많은 병원에서 수집되었는데, 사용 기관은 상대적으로 중증도가 낮은 환자들이 많은 병원일 수 있다.
사전 학습 데이터의 인종 분포와 사용 기관 데이터의 인종 분포가 차이 날 수 있다. 예를 들면, 사전 학습 데이터는 아시아인들이 이용하는 병원에서 수집되었는데, 사용 기관은 인종 분포가 다른 환자들이 이용하는 병원일 수 있다.
이와 같이, 각 사용 기관이 학습 완료된 인공지능 모델을 사용하여 데이터를 분석하는 경우, 도메인 격차에 의해 인공지능 모델의 성능이 기대보다 낮아지는 문제를 해결할 필요가 있다. 이때, 단순히 사용 기관의 데이터를 이용하여 사전 학습된 인공지능 모델을 미세 조정하는 경우, 인공지능 모델이 학습한 사전 지식을 잊어버리게 되고, 일반화 성능(generalization performance)에 영향을 미치게 되어, 결국 인공지능 모델의 안정적 동작을 보장할 수 없는 문제가 있다.
따라서, 다음에서 인공지능 모델의 사전 지식을 유지하면서, 사용 기관의 데이터를 이용하여 인공지능 모델을 학습시키는 방법에 대해 자세히 설명한다. 그리고, 다음에서 사용 기관 데이터 중에서 인공지능 모델의 학습을 위한 데이터를 선별하고, 어노테이션이 요구되는 데이터를 선별하는 방법에 대해 자세히 설명한다.
도 1은 한 실시예에 따른 학습 장치의 구성도이다.
도 1을 참고하면, 학습 장치(training apparatus)(100)는 기본 학습기(basic training apparatus)(110), 특화 학습을 위한 데이터 관리기(간단히, “데이터 관리기”라고 함)(130), 그리고 사용 기관 데이터를 이용하여 기본 학습기(110)에서 사전 학습된 인공지능 모델(200)을 특화 학습시키는 특화 학습기(specialized training apparatus)(150)를 포함할 수 있다. 설명의 편의를 위해, 사용 기관은 타겟 병원(Target hospital)이고, 사용 기관 데이터는 타겟 병원 데이터(Target-hospital data)라고 부를 수 있다.
기본 학습기(110)는 사전 학습 데이터가 저장된 데이터베이스(120)와 연동하고, 데이터베이스(120)의 사전 학습 데이터를 이용하여, 적어도 하나의 태스크(task)를 학습한 인공지능 모델(200)을 출력한다. 인공지능 모델(200)은 기본 인공지능 모델(basic AI model), 사전 학습된 인공지능 모델(pre-trained AI model), 일반 인공지능 모델(general AI model) 등으로 부를 수 있다.
데이터 관리기(130)는 사용 기관의 데이터 저장소(10)에서, 특화 학습을 위한 사용 기관 데이터를 선별하고, 적어도 일부가 어노테이션된 사용 기관 데이터를 데이터베이스(140)에 저장할 수 있다.
특화 학습기(150)는 사용 기관 데이터가 저장된 데이터베이스(140)와 연동하고, 데이터베이스(140)의 사용 기관 데이터를 이용하여, 사전 학습된 인공지능 모델(200)을 사용 기관 데이터로 특화 학습시켜서, 사용 기관용 인공지능 모델(300)을 출력한다. 특화 학습기(150)는 데이터베이스(120)의 사전 학습 데이터를 특화 학습에 이용할 수 있다. 특화 학습기(150)에서 특화 학습된 인공지능 모델(300)은 해당 사용 기관에 제공될 수 있다. 특화 학습된 인공지능 모델(300)은 예를 들면, 해당 기관의 데이터 분석 장치(data analysis apparatus)(예를 들면, 이미지 판독 장치)(20)에 탑재될 수 있다.
데이터 관리기(130)나 특화 학습기(150)가 클라우드 서버와 같은 중앙에 위치하고, 복수의 사용 기관들과 연동하며, 복수의 사용 기관들에서 요청된 특화 학습을 진행한 후, 해당 기관들에 인공지능 모델을 제공할 수 있다. 또는 데이터 관리기(130)나 특화 학습기(150)가 사용 기관마다 배치되고, 개별적으로 특화 학습을 진행할 수 있다.
설명을 위해, 기본 학습기(110), 데이터 관리기(130), 그리고 특화 학습기(150)로 명명하여 부르나, 이들은 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치일 수 있다. 여기서, 기본 학습기(110), 데이터 관리기(130), 그리고 특화 학습기(150)는 하나의 컴퓨팅 장치에 구현되거나, 별도의 컴퓨팅 장치에 분산 구현될 수 있다. 별도의 컴퓨팅 장치에 분산 구현된 경우, 기본 학습기(110), 데이터 관리기(130), 그리고 특화 학습기(150)는 통신 인터페이스를 통해 서로 통신할 수 있다.
한편, 기본 학습기(110), 데이터 관리기(130), 그리고 특화 학습기(150)는 인공지능 모델을 학습시키는 데 필요한 기계학습모델로 구현될 수 있다. 설명에서, 인공지능 모델(200) 및 인공지능 모델(300)을 기계 학습을 통해 구축하고자 하는 목적 모델(target model)이라고 부를 수 있다.
기본 학습기(110)는 사전 학습 데이터를 이용하여 적어도 하나의 태스크를 학습한 인공지능 모델(200)을 출력한다. 이때, 사전 학습 데이터는 다양한 기관들에서 획득된 데이터 및/또는 다양한 장비에서 획득한 데이터로 구성될 수 있다. 이외에도 사전 학습 데이터는 다양한 촬영 방식으로 획득한 데이터를 포함할 수 있다. 이처럼, 최대한 많은 데이터를 사전 학습 데이터로 수집하는 경우, 어쩔 수 없이 도메인 격차가 존재하게 된다. 따라서, 도메인 일반화(domain generalization) 작업을 통해, 입력 데이터의 도메인 격차를 줄일 필요가 있다.
기본 학습기(110)는 입력 데이터의 도메인 격차를 줄이기 위해, 학습 데이터를 전처리한 후, 전처리된 학습 데이터를 이용하여 인공지능 모델(200)을 학습시킬 수 있다.
예를 들면, 서로 다른 도메인에서 획득된 이미지들은 텍스쳐 등에서 차이가 있다. 기본 학습기(110)는, 인공지능 모델(200)에서 입력 이미지가 어느 기관이나 어느 장비에서 획득된 것인지를 구분하지 못하도록, 도메인에서 나타나는 고유의 이미지 특징을 제거할 수 있다. 기본 학습기(110)는 이미지 변환(image-to-image translation)을 통해, 서로 다른 도메인에서 획득된 이미지들이 가지는 도메인 특징을 제거하는 전처리를 할 수 있다. 예를 들면, 기본 학습기(110)는 이미지 변환 모델로서 생성적 적대 신경망(Generative Adversarial Networks, GAN)을 사용할 수 있고, 판별기(discriminator)와 적대 손실(adversarial loss)을 이용하여, 판별기에서 이미지의 도메인을 구분하지 못하도록 이미지 변환할 수 있다.
이미지 수준에서의 도메인 일반화 이외에도, 기본 학습기(110)는 인공지능 모델(200)의 중간 레이어에서 추출된 중간 특징(intermediate feature)에서 도메인 일반화를 할 수 있다. 기본 학습기(110)는, 적대적 학습을 통해, 판별기가 입력 이미지의 중간 특징으로부터 도메인을 구분하지 못하도록 인공지능 모델을 학습시킬 수 있다.
데이터 관리기(130)는 사용 기관의 데이터 저장소(data repository)(10)에서, 사전 학습된 인공지능 모델(200)을 특화 학습시키기 위한 일정량의 사용 기관 데이터를 추출한다. 데이터 관리기(130)는 가져온 사용 기관 데이터의 적어도 일부를 특화 학습을 위한 학습 데이터로 결정하고, 학습 데이터를 특화 학습기(150)로 제공할 수 있다. 이때, 데이터 관리기(130)는 학습 데이터의 적어도 일부를 어노테이션 대상으로 결정하고, 적어도 일부가 어노테이션된 학습 데이터를 특화 학습기(150)로 제공할 수 있다. 학습 데이터는 이상(abnormal) 데이터와 정상(normal) 데이터를 포함할 수 있다.
데이터 관리기(130)는 사용 기관 데이터에서, 특화 학습된 인공지능 모델(300)을 평가하기 위한 검증 데이터를 결정하고, 검증 데이터를 특화 학습기(150)로 제공할 수 있다. 검증 데이터는 학습 데이터와 겹치지 않게 수집될 수 있다. 예를 들어, 검증 데이터의 경우, 이상(abnormal) 데이터를 C개의 병변별로 N건 수집하고, 정상 데이터를 N*C 건 수집할 수 있다.
사용 기관의 데이터 저장소(10)는 예를 들면, 타겟 병원의 PACS(Picture Archiving and Communication System)에 저장된 의료 이미지들일 수 있다. 데이터 관리기(130)는 사용 기관들의 데이터 저장소들로의 접근이 허가되어 데이터를 직접 추출할 수 있거나, 사용 기관들의 데이터 저장소들과 연동하는 중간 장치로부터 필요한 정보를 획득할 수 있다.
데이터 관리기(130)는 사용 기관의 데이터 저장소에서 특화 학습에 사용할 데이터량을 결정할 수 있다. 데이터 관리기(130)는 사용 기관의 데이터 보유량과 데이터 특성 등을 고려하여 학습에 사용할 데이터량을 결정할 수 있다. 데이터 특성은 중증 데이터 비율, 연령 분포, 성별 분포, 인종 분포 등을 포함할 수 있다. 예를 들어, 사용 기관이 대학 병원이거나 건강 검진 센터인 경우, 전체 데이터 중에서 이상(abnormal) 데이터의 비율이 다를 수 있다. 따라서, 각 기관의 데이터 특성을 고려하여 사용 기관마다 가져오는 데이터량이 다를 수 있다.
데이터 관리기(130)는 학습에 필요한 어노테이션 데이터량을 결정할 수 있다. 어노테이션에 시간과 비용이 소요되므로, 사용 기관의 요청 또는 사용 기관과의 계약에 따라, 어노테이션 데이터량이 결정될 수 있다. 비용 절감을 위해, 사용 기관 데이터에 어노테이션을 하지 않고, 특화 학습할 수 있다. 또는, 특화된 인공지능 모델(300)의 성능을 고려하여, 사용 기관 데이터 중 적어도 일부에 어노테이션된 데이터를 이용하여, 특화 학습할 수 있다. 이 경우, 사용 기관의 비용 지불 의사에 따라, 어노테이션 데이터량이 결정될 수 있다.
어노테이션은 이미지 수준의 레이블(image-level label)이나 픽셀 수준 레이블(pixel-level label)이 가능하다. 예를 들면, 악성 병변 유무가 어노테이션된 이미지 수준의 레이블이나, 병변이 컨투어(contour)로 표시된 픽셀 수준 레이블이 가능할 수 있다. 어노테이션 종류 및 수준은 사용 기관에서 제공 가능한 레이블 수준이나, 어노테이션 비용에 따라 다양하게 결정될 수 있다.
어노테이션 방법은 다양할 수 있다. 사람이 수동으로 데이터에 레이블을 어노테이션하거나, 판독의(영상의학과 의사, 방사선과 의사 등)(Radiologist)에 의해 작성된 리포트로부터 추출된 레이블이 해당 이미지에 자동으로 어노테이션될 수 있다.
데이터 관리기(130)는 사용 기관 데이터 중에서 어노테이션이 필요한 데이터(간단히, 어노테이션 대상)를 선별할 수 있다. 이때, 데이터 관리기(130)는 사전 학습된 인공지능 모델(200)에게 불확실한 데이터를 어노테이션 대상으로 선별하거나, 사용 기관 데이터의 분포를 대표하는 데이터를 어노테이션 대상으로 선별할 수 있다. 또는, 데이터 관리기(130)는 사용 기관 데이터의 분포를 대표하면서도, 사전 학습된 인공지능 모델(200)에게 불확실한 데이터를 어노테이션 대상으로 선별할 수 있다. 데이터 관리기(130)는 판독의 리포트(Radiologist report)가 존재하는 데이터가 있다면, 리포트가 존재하는 데이터 중에서 어노테이션 대상을 선별할 수 있다.
데이터 관리기(130)가 어노테이션 대상을 선별하는 방법은 아래 기술되는 예시 또는 예시들의 조합에 따른 방법일 수 있다.
예를 들어, 데이터 관리기(130)는 추출한 사용 기관 데이터의 불확실성(Uncertainty) 및/또는 다양성(Diversity)을 측정해서 어노테이션 대상을 선별할 수 있다. 데이터 관리기(130)는 사용 기관 데이터를 대표하는 일정 수의 대표 데이터 중에서 사전 학습된 인공지능 모델의 예측이 불확실한 데이터를 선별할 수 있다.
데이터 관리기(130)는 사용 기관 데이터에서 적어도 일부 데이터에 대해 불확실성을 측정하고, 어노테이션 대상을 선택할 수 있다. 데이터 관리기(130)는 사전 학습된 인공지능 모델(200)의 예측값을 이용하여 불확실성 점수를 정의하고, 기준 이상의 불확실성 점수를 가지는 데이터 또는 불확실성 점수가 가장 큰 상위 k개의 데이터를 어노테이션 대상으로 선별할 수 있다.
불확실성 점수는 예를 들면 다음과 같이 정의될 수 있다.
한 실시예에 따르면, 사전 학습된 인공지능 모델(200)에서 예측된 병변별 점수(score)의 신뢰값(confidence)을 활용해서, 불확실성이 측정될 수 있다. 사전 학습된 인공지능 모델(200)에서 데이터에 대해 예측한 병변별 불확실성 점수는, 수학식 1과 같이 정의될 수 있고, 데이터의 불확실성 점수는 병변들의 불확실성 점수 중 최댓값 혹은 평균값으로 설정될 수 있다. 여기서, 병변 점수는 0과 1 사이의 확률값이고, 불확실성 점수는 병변 점수가 확실히 양성(positive)이거나 확실히 음성(negative)이 아닌 중간 값일수록 불확실성이 높아지도록 정의된다.
[수학식 1]
병변의 불확실성점수=1 - |병변 점수 - 0.5|
다른 실시예에 따르면, 사전 학습된 인공지능 모델(200)에서 예측된 병변별 히트맵(heatmap)의 엔트로피(entropy)를 활용해서, 불확실성이 측정될 수 있다. 병변별 불확실성 점수는 병변별 2차원 히트맵을 하나의 1차원 벡터로 간주하여 측정한 엔트로피로 정의될 수 있다. 데이터의 불확실성 점수는 병변들의 불확실성 점수 중 최댓값 혹은 평균값으로 설정될 수 있다. 여기서, 엔트로피는 벡터에 놓인 값들이 비슷할수록 높은 값을 가지는데, 이는 사전 학습된 인공지능 모델(200)에서 병변을 확실히 구분하지 못한다는 것이므로, 엔트로피가 높을수록 불확실성 점수가 높아진다.
또 다른 실시예에 따르면, 병변의 동시 출현(co-occurrence)에 따라 불확실성이 측정될 수 있다. 사전 학습된 인공지능 모델(200)에서 예측된 병변들의 점수가 비슷할수록, 인공지능 모델(200)이 데이터로부터 병변 예측을 어려워하는 것이므로, 데이터의 불확실성 점수는 높아진다. 데이터 관리기(130)는 C개의 병변들의 점수를 모아서 길이 C의 벡터를 만들고, 벡터의 엔트로피를 측정하여 데이터의 불확실성 점수를 얻을 수 있다. 앞서 설명한 바와 같이, 벡터에 놓인 값들이 비슷할수록 불확실성 점수가 높아진다.
또는, 데이터 관리기(130)는 수학식 2와 같이, C개의 병변들의 점수 중에서 상위 2개의 병변 점수 차를 이용하여 불확실성 점수를 측정할 수 있다. 즉, 상위 2개의 병변 점수 차가 적을수록 인공지능 모델(200)이 병변들을 확실시 구분하지 못한다는 것이므로, 불확실성 점수가 높아진다.
[수학식 2]
데이터의 불확실성점수= 1 - |가장 큰 병변 점수 - 두 번째로 큰 병변 점수|
병변의 동시 출현(co-occurrence)을 기초로 불확실성 점수를 계산하는 방법을 예를 들어 설명한다. 표 1을 참고하면, 인공지능 모델(200)이 데이터1 및 데이터2에 대해 5개의 병변들 또는 클래스들일 점수(확률)를 출력한다고 가정한다. 데이터1과 데이터2에 대해 예측된 결과를 비교하면, 데이터2의 벡터(0.8, 0.7, 0.2, 0.4, 0.3)를 구성하는 5개의 값들 사이의 차이가 데이터1보다 비슷해서, 데이터2는 데이터1보다 불확실성 점수가 높게 측정될 수 있다. 또는, 데이터2에서 나타나는 상위 2개(a=0.8, b=0.7)의 병변 점수 차는 0.1이고, 데이터1에서 나타나는 상위 2개(a=0.8, b=0.2)의 병변 점수 차는 0.6이라서, 데이터2는 데이터1보다 불확실성 점수가 높게 측정될 수 있다. 따라서, 데이터 관리기(130)는 데이터2를 어노테이션 대상으로 선별하고, 데이터2에 대한 어노테이션을 수행하거나, 어노테이션을 요청할 수 있다.
병변 또는 클래스 a b c d e
데이터1에 대해 예측된 점수 0.8 0.2 0.1 0.2 0.2
데이터2에 대해 예측된 점수 0.8 0.7 0.2 0.4 0.3
데이터 관리기(130)는 사전 학습된 인공지능 모델(200)의 특징 공간(feature space)에서 사용 기관 데이터의 분포를 대표하는 데이터를 어노테이션 대상으로 선택할 수 있다. 데이터 관리기(130)는 다양성(diversity)를 측정해서, k개의 대표 데이터를 선택하고, 이를 어노테이션 대상으로 결정할 수 있다. k개의 대표 데이터를 선택하는 방법은 다양할 수 있다. 예를 들면, 사용 기관 데이터 중에서 k개의 데이터가 무작위 추출(random sampling)될 수 있다. 사용 기관 데이터에 대해 k-means 클러스터링 후, 각 클러스터 중심(cluster centroid)과 가장 가까운 k개의 데이터가 선택될 수 있다. k-center greedy algorithm을 사용해서, 사용 기관 데이터의 전체 분포를 델타(δ) 반지름으로 커버할 수 있는 k개의 데이터가 선택될 수 있다. 또는, Robust k-center algorithm을 사용해서, 사용 기관 데이터의 전체 분포를 델타(δ) 반지름으로 커버할 수 있는 k개의 데이터가 선택될 수 있다.
데이터 관리기(130)는 판독의 리포트(Radiologist report)가 존재하는 데이터가 있다면, 판독의 리포트가 존재하는 데이터 중에서 어노테이션 대상을 선별할 수 있다. 이 경우, 데이터 관리기(130)는 특화 학습을 위한 병변, 그리고 양성/음성 비율을 고려하여 어노테이션 대상을 선별할 수 있다. 데이터 관리기(130)는 리포트에서 병변의 존재 유무를 비롯한 정보를 추출하기 위해, 별도의 언어 처리 모델을 사용할 수 있다. 언어 처리 모델은 예를 들면, 자연어처리(Natural Language Processing, NLP) 모델, 심층 언어 모델(deep language model) 등이 사용될 수 있다.
데이터 관리기(130)는 판독의 리포트가 존재하는 데이터에 대한 사전 학습된 인공지능 모델(200)의 예측값을 이용하여, 어노테이션 대상을 선별할 수 있다. 판독의 리포트의 정보와 인공지능 모델(200)의 예측이 불일치하는 데이터가, 어노테이션 대상으로 선별될 수 있다.
데이터 관리기(130)에 의해 선별된 어노테이션 대상의 어노테이션은 다양하게 수행될 수 있다.
예를 들어, 데이터 관리기(130)는 어노테이션 장치에게 어노테이션 대상을 제공할 수 있고, 어노테이션 장치로부터 레이블이 어노테이션된 데이터를 제공받을 수 있다. 주석자(annotator)가 어노테이션 장치에서 데이터에 레이블을 기재하거나, 어노테이션 장치가 자동/준자동(semi-automatic)으로 데이터에 레이블을 기재할 수 있다.
데이터 관리기(130)는 판독의 리포트가 존재하는 데이터인 경우, 판독의 리포트로부터 추출한 정보를 해당 데이터에 어노테이션할 수 있다.
데이터 관리기(130)는 주석자를 위해, 어노테이션 대상에 대한 인공지능 모델(200)의 예측 결과를 제공하고, 어노테이션 작업이 준자동(semi-automatic)으로 수행되도록 동작할 수 있다. 인공지능 모델(200)의 예측 결과로서, 병변별 점수나 컨투어, 데이터의 이상 점수(abnormality score) 등이 주석자에게 제공될 수 있고, 주석자는 예측 결과를 참고하여 정확하고 빠른 어노테이션 작업을 할 수 있다.
한편, 비용 절감을 위해, 사용 기관 데이터에 어노테이션을 하지 않고, 특화 학습을 하는 경우, 데이터 관리기(130)는 가져온 사용 기관 데이터를 모두 학습 데이터로 제공할 수 있다. 또는, 데이터 관리기(130)는 가져온 사용 기관 데이터 중에서, 병변별 점수, 병변별 불확실성 점수, 이상 점수 등의 메트릭을 이용하여, 일부 데이터를 학습 데이터로 선택할 수 있다. 병변별 점수, 병변별 불확실성 점수, 이상 점수 등의 메트릭은 사전 학습된 인공지능 모델로부터 추출될 수 있다. 예를 들면, 병변별 예측 점수가 높은 상위 N%가 학습 데이터로 선택될 수 있다. 또는, 점수 구간별로 일정 비율의 학습 데이터가 선택될 수 있고, 예를 들면, [0,1]을 나눈 복수의 구간들 각각에서 지정된 비율의 데이터가 학습 데이터로 선택될 수 있다.
특화 학습기(150)는 데이터 관리기(130)에서 제공받은 학습 데이터를 이용하여, 사전 학습된 인공지능 모델(200)을 학습시켜서, 사용 기관을 위한 인공지능 모델(300)을 생성한다. 이때, 사용 기관 데이터나 어노테이션된 데이터가 학습에 충분할 정도로 많지 않을 수 있다. 또한, 이미 학습된 인공지능 모델(200)이 충분하지 않은 새로운 데이터를 이용하여 추가 학습하는 과정에서, 사전 학습한 사전 지식을 잊어버리는 치명적 망각(Catastrophic forgetting)이 문제될 수 있다. 따라서, 특화 학습기(150)는 인공지능 모델(200)의 사전 지식을 기억하는 학습 방법을 사용하고, 이에 대해서는 다음에서 자세히 설명한다. 사전 지식을 기억하는 학습 방법은 사전 지식을 잊지 않는 학습(learning without forgetting)이라고 부를 수 있다.
특화 학습기(150)는 학습 데이터량, 어노테이션된 데이터량, 학습 데이터 특성 등을 고려하여, 특화 학습 방법을 결정할 수 있다.
특화 학습을 위한 학습 데이터는 적어도 일부가 어노테이션된 데이터를 포함할 수 있다. 학습 데이터가 어노테이션된 데이터를 포함하는 경우, 지도 학습(supervised training)이 사용될 수 있다. 학습 데이터가 어노테이션된 데이터를 포함하지 않는 경우, 준지도 학습(semi-supervised learning)이나 비지도 학습(unsupervised domain adaptation)이 사용될 수 있다.
특화 학습기(150)는 사전 학습된 인공지능 모델(200)의 사전 지식이 변하지 않도록 하는 손실을 정의하고, 이를 이용하여 특화 학습할 수 있다. 예를 들면, 어노테이션된 사용 기관 데이터를 위해, 지도 손실(supervised loss)이 사용될 수 있다. 어노테이션되지 않은 사용 기관 데이터를 위해, 비지도 손실(unsupervised loss)이 사용될 수 있다. 또한, 인공지능 모델(200)의 사전 학습에 사용된 일부 데이터의 예측을 변하지 않도록 만드는 손실이 사용될 수 있다. 특화 학습기(150)는 특화 학습을 위해 정의된 손실들 중 적어도 일부를 이용하여, 사용 기관 데이터를 이용한 인공지능 모델의 학습을 수행할 수 있다.
도 2는 한 실시예에 따른 특화 학습 방법을 설명하는 도면이다.
도 2를 참고하면, 특화 학습기(150)는 사전 학습에서 습득한 사전 지식을 기억하면서, 사용 기관 데이터에 특화된 인공지능 모델(300)을 생성한다. 이를 위해, 특화 학습기(150)는 학생 모델(Student model)이 교사 모델(Teacher model)을 모방하면서 학습하는 지식 증류(Knowledge distillation)를 활용할 수 있다.
사용 기관은 타겟 병원(Targeted hospital)이고, 사용 기관 데이터는 타겟 병원 데이터(Target-hospital data)일 수 있다.
지식 증류 기반 학습을 위해, 교사 모델(Teacher model)(400)은 사전 학습된 인공지능 모델(200)이고, 사전 학습된 인공지능 모델(200)로 고정(freeze)된다. 학습 전 학생 모델(Student model)(420)은 사전 학습된 인공지능 모델(200)이고, 가지고 있는 사전 지식을 잊지 않으면서 특화 학습한 후, 특화 학습한 인공지능 모델(300)이 될 수 있다. 일반적으로 지식 증류는 크기가 큰 교사 모델을 모방해서 크기가 작은 학생 모델을 생성하기 위해 사용된다. 이와는 달리, 본 개시에서 초기(initial) 학생 모델(420)은 학습 전에 이미 교사 모델(400)과 동일한 인공지능 모델(200)인 상태에서, 사용 기관 데이터를 이용한 특화 학습을 통해 최종적으로 특화 학습된 인공지능 모델(300)이 될 수 있다. 즉, 본 개시의 학생 모델(420)은 사용 기관 데이터를 이용하여 특화 학습하는 동안, 자신이 원래 가지고 있던 사전 지식을 유지하기 위해 교사 모델(400)의 도움을 받는 것이다. 설명에서는, 학생 모델(420)의 초기 모델이 사전 학습된 인공지능 모델(200)이라고 설명하는데, 학생 모델(420)의 초기 모델이 반드시 사전 학습된 인공지능 모델(200)이 아니더라도, 교사 모델(400)로부터 전달받은 사전 지식을 배울 수 있는 모델이어도 상관 없다.
특화 학습기(150)는 사전 학습된 인공지능 모델(200)을 교사 모델(400)로 배치하고, 사전 학습된 인공지능 모델(200)을 학생 모델(420)로 배치한 후, 학생 모델(420)에 대해 사전 지식 유지 학습과 사용 기관 데이터를 이용한 특화 학습을 진행한다. 학생 모델(420)의 특화 학습 동안에 사전 지식 유지 학습이 함께 진행되도록 함으로써, 학생 모델(420)이 특화 학습에 의해 사전 지식을 잊지 않도록, 학습시킬 수 있다. 특화 학습기(150)는 사전 지식 유지 학습 과정에서 계산된 손실(증류 손실, distillation loss)과 특화 학습 과정에서 계산된 손실(지도 손실, supervised loss)을 가중 합산하고, 가중 합산된 손실을 학생 모델(420)로 역전파(backpropagation)하여 학생 모델(420)을 학습시킬 수 있다. 증류 손실과 지도 손실의 가중치는 다양하게 결정될 수 있다.
사전 지식 유지 학습을 위해, 인공지능 모델(200)의 사전 학습에 사용된 사전 학습 데이터(pre-training data)가 사용되거나, 사용 기관 데이터가 사용될 수 있다. 사전 지식 유지 학습을 위한 데이터는, 특화 학습기(150)가 접근할 수 있는 데이터 범위에 따라 결정될 수 있다. 이때, 사전 지식 유지 학습을 위한 데이터는 레이블이 없어도 무방하다. 사전 지식 유지 학습에 사용되는 데이터는 가지고 있는 사전 학습 데이터나 사용 기관 데이터 중에서, 병변별 점수, 병변별 불확실성 점수, 이상 점수 등의 메트릭을 이용하여, 선택할 수 있다. 예를 들면, 병변별 점수가 높은 상위 N%가 학습 데이터로 선택될 수 있다. 또는, 점수 구간별로 일정 비율의 학습 데이터가 선택될 수 있고, 예를 들면, [0,1]을 나눈 복수의 구간들 각각에서 지정된 비율의 데이터가 학습 데이터로 선택될 수 있다.
사전 지식 유지 학습은 다음과 같이 진행될 수 있다.
특화 학습기(150)는 교사 모델(400)과 학생 모델(420)로 동일한 데이터를 입력하고, 교사 모델(400)과 학생 모델(420)에서 얻을 수 있는 중간 특징(intermediate feature) 및/또는 출력(output)을 비슷하게 만드는 증류 손실(distillation loss)을 계산하고, 증류 손실을 학생 모델(420)로 제공하여, 학생 모델(420)이 교사 모델(400)과 비슷한 값을 출력하도록 학습시킬 수 있다. 이를 통해 학생 모델(420)은 사전 지식을 잊어버리지 않을 수 있다. 중간 특징을 이용한 증류 손실로서, 두 중간 특징들의 그람 행렬(GRAM matrix) 간 L1/L2 손실, 코사인 유사도, L1/L2 손실이 사용될 수 있다. 최종 출력을 이용한 증류 손실로서, 두 모델들의 예측 값 간의 cross-entropy가 사용될 수 있다.
특화 학습을 위해, 레이블이 어노테이션된 사용 기관 데이터가 사용될 수 있다. 한편, 특화 학습을 위해, 인공지능 모델(200)의 사전 학습에 사용된 사전 학습 데이터가 함께 사용될 수 있다.
특화 학습기(150)는 학생 모델(420)을 어노테이션된 데이터 이용하여 지도 학습시킬 수 있다. 특화 학습기(150)는, 학생 모델(420)이 입력 데이터에 대해 예측한 값과 입력 데이터의 레이블의 차이인 지도 손실(supervised loss)을 계산하고, 지도 손실을 학생 모델(420)로 제공하여, 학생 모델(420)을 지도 학습시킬 수 있다. 지도 손실로서, cross-entropy, binary cross-entropy 등이 사용될 수 있다.
특화 학습기(150)는 사용 기관 데이터에서 추출된 검증 데이터를 이용하여, 사전 지식 유지 학습과 특화 학습을 완료한 학생 모델(420)을 검증할 수 있다. 검증 데이터는 학습에 사용된 데이터와 다른 데이터일 수 있다.
성능 검증이 만족된 경우, 특화 학습기(150)는 학생 모델(420)의 학습을 종료하고, 사용 기관에 제공할 수 있다.
만약, 성능 검증이 불만족인 경우, 특화 학습기(150)는 성능 검증이 만족할 때까지 학생 모델(420)을 반복적으로 학습시킬 수 있다. 이를 위해, 특화 학습기(150)는 데이터 관리기(130)로 사용 기관 데이터 중에서 어노테이션 대상의 재선별을 요청하고, 재선별된 데이터를 이용하여, 학습을 반속할 수 있다.
도 3과 도 4는 다른 실시예에 따른 특화 학습 방법을 설명하는 도면이다.
도 3과 도 4를 참고하여, 특화 학습기(150)가, 어노테이션되지 않은 사용 기관 데이터를 이용하여, 학습 대상인 인공지능 모델(500a, 500b)을 학습시키는 방법을 설명한다.
먼저 도 3을 참고하면, 특화 학습기(150)는, 비지도 도메인 적응(unsupervised domain adaptation)을 통해, 사용 기관 데이터를 도메인이 다른 사전 학습 데이터에 적응시키는 학습을 시킬 수 있다. 여기서, 사전 학습 데이터는 태스크에 대한 레이블이 어노테이션된 데이터이고, 사용 기관 데이터(target-hospital data)는 레이블이 어노테이션되지 않은 데이터인 경우를 가정한다. 인공지능 모델(500a)의 초기 모델은 사전 학습된 인공지능 모델(200)일 수 있다. 또는, 인공지능 모델(500a)의 초기 모델은 사전 학습된 인공지능 모델(200)이 아니더라도, 사전 학습 데이터와 사용 기관 데이터를 학습할 수 있는 모델일 수 있다.
인공지능 모델(500a)은 레이블을 가진 사전 학습 데이터를 이용하여, 태스크를 학습하면서, 레이블 없이 가능한 임의의 태스크(Task Free)도 함께 학습한다. 그리고, 인공지능 모델(500a)은, 레이블이 어노테이션되지 않은 사용 기관 데이터를 이용하여, 레이블 없이 가능한 임의의 태스크를 학습한다. 인공지능 모델(500a)은 태스크 손실(task loss)/지도 손실(supervised loss)을 학습하면서, 태스크 무관 손실(Task free loss)/비지도 손실(unsupervised loss)을 학습할 수 있다.
레이블 없이 가능한 학습으로서, 예를 들면, 도메인 분류(domain classification) 학습, 도메인 적대 학습(domain adversarial learning), 자기 지도 학습(Self-supervised learning) 등이 있다. 도메인 분류 학습은 입력 데이터가 어느 기관으로부터 수집된 것인지를 구분하는 학습이다. 도메인 적대 학습은 입력 데이터가 어느 기관으로부터 수집된 것인지를 구분하지 못하도록 특징을 생성하는 학습이다. 자기 지도 학습은 회전 예측(rotation prediction)과 같이, 가지고 있는 데이터로부터 스스로 레이블을 만들어 학습하는 것이다.
특화 학습기(150)는 사용 기관 데이터에서 추출된 검증 데이터를 이용하여, 인공지능 모델(500a)을 검증할 수 있다. 검증 데이터는 학습에 사용된 데이터와 다른 데이터일 수 있다. 성능 검증이 만족된 경우, 인공지능 모델(500a)의 학습이 종료되고, 사용 기관에 제공될 수 있다.
도 4를 참고하면, 특화 학습기(150)는, 사전 학습된 인공지능 모델(200)에서 사용 기관 데이터로부터 예측된 결과를 이용하여, 사용 기관 데이터의 임시 레이블(pseudo-label)을 획득할 수 있다. 여기서, 사전 학습 데이터는 태스크에 대한 레이블이 어노테이션된 데이터이고, 사용 기관 데이터는 레이블이 어노테이션되지 않은 데이터인 경우를 가정한다.
특화 학습기(150)는, 임시 레이블(pseudo-label)이 어노테이션된 사용 기관 데이터와 레이블이 어노테이션된 사전 학습 데이터를 이용하여, 인공지능 모델(500b)을 학습시킬 수 있다. 인공지능 모델(500b)의 초기 모델은 사전 학습된 인공지능 모델(200)일 수 있다. 또는, 인공지능 모델(500a)의 초기 모델은 사전 학습된 인공지능 모델(200)이 아니더라도, 사전 학습 데이터와 사용 기관 데이터를 학습할 수 있는 모델일 수 있다.
특화 학습기(150)는 사용 기관 데이터에서 추출된 검증 데이터를 이용하여, 인공지능 모델(500b)을 검증할 수 있다. 검증 데이터는 학습에 사용된 데이터와 다른 데이터일 수 있다. 성능 검증이 만족된 경우, 인공지능 모델(500b)의 학습이 종료되고, 사용 기관에 제공될 수 있다.
도 5는 또 다른 실시예에 따른 특화 학습 방법을 설명하는 도면이다.
도 5를 참고하면, 어노테이션되지 않은 사용 기관 데이터를 이용한 학습을 위해, 특화 학습기(150)는, 스타일 변환 예측기(Style shift predictor)(600)를 학습시킬 수 있다.
스타일 변환 예측기(600)는, 사용 기관 데이터와 사전 학습 데이터를 입력받고, 사용 기관 데이터와 사전 학습 데이터가 가지는 스타일 분포의 차이를 줄이는 스타일 변환 함수(f)(620)를 찾는 학습을 할 수 있다. 이때, 스타일 변환 함수(f)는 이미지의 정보량을 변환하지 않는 가역(invertible) 함수일 수 있다.
데이터의 스타일 분포는 다양하게 정의될 수 있다. 예를 들면, 이미지의 밝기(brightness)가 스타일로 정의되는 경우, 특화 학습기(150)는, 스타일 변환 예측기(600)를 통해, 사전 학습에 사용된 이미지들의 밝기 평균과 사용 기관에서 가져온 이미지들의 밝기 평균을 조절하는 밝기 변환 함수를 찾을 수 있다. 또는 스타일은 데이터에 포함된 특징의 평균, 분산으로 정의될 수 있다. 스타일은 이미지 스타일을 표현할 수 있는 다양한 스칼라(scalar)나 벡터(vector)로 정의될 수 있다.
특화 학습기(150)는, 새로운 사용 기관 데이터를 스타일 변환 함수(f)로 변환하고, 스타일 변환된 데이터를 사전 학습된 인공지능 모델(200)로 입력하여 스타일 변환 함수를 검증할 수 있다.
이후, 사용 기관에서 생성된 신규 사용 기관 데이터는 스타일 변환 함수(f)로 변환된 후, 사전 학습된 인공지능 모델(200)로 입력된다.
도 6은 한 실시예에 따른 특화 학습을 도식적으로 설명한 도면이다.
도 6을 참고하면, 사전 학습 데이터(pre-training data)에 의해 기본 인공지능 모델(basic AI model)(200)이 사전 학습된다(①). 인공지능 모델(200)은 입력 데이터의 도메인 격차를 줄이기 위해 전처리된 사전 학습 데이터를 입력받을 수 있다. 사전 학습 데이터는 이미지 변환(image-to-image translation)을 통해, 서로 다른 도메인에서 획득된 이미지들이 가지는 도메인 특징이 제거될 수 있다. 또는, 인공지능 모델(200)은, 중간 특징(intermediate feature)이 가지는 도메인 특징을 제거하는 학습을 할 수 있다. 적대 학습을 통해 사전 학습 데이터의 도메인 격차를 줄이는 도메인 일반화가 수행될 수 있다.
사용 기관의 데이터 저장소(data repository)(10)에서, 이상 학습 데이터, 정상 학습 데이터, 그리고 검증 데이터가 추출된다(②, ③, ④). 학습 장치(100)는 데이터 저장소(10)의 데이터 보유량과 데이터 특성 등을 고려하여, 특화 학습에 사용할 데이터량을 결정할 수 있다.
이상 학습 데이터 중에서, 어노테이션이 필요한 어노테이션 대상이 선별된다(⑤). 어노테이션 대상으로서, 사전 학습된 인공지능 모델(200)에게 불확실한 데이터나 사용 기관 데이터의 분포를 대표하는 데이터가 선별될 수 있다. 또는 사용 기관 데이터의 분포를 대표하면서도, 사전 학습된 인공지능 모델(200)에게 불확실한 데이터가 어노테이션 대상으로 선별될 수 있다. 사용 기관 데이터의 불확실성(Uncertainty) 및/또는 다양성(Diversity)을 기초로 어노테이션 대상이 선별될 수 있다. 불확실성은 사전 학습된 인공지능 모델(200)에서 예측된 병변별 점수(score)의 신뢰값(confidence)을 활용해서 측정되거나, 사전 학습된 인공지능 모델(200)에서 예측된 병변별 히트맵(heatmap)의 엔트로피(entropy)를 활용해서 측정되거나, 병변의 동시 출현(co-occurrence)을 고려하여 측정될 수 있다. 사용 기관 데이터의 분포를 대표하는 다양성을 위해, 어노테이션 대상은 무작위 추출(random sampling)되거나, k개의 대표 데이터가 선별될 수 있다. 판독의 리포트(Radiologist report)가 존재하는 데이터 중에서 어노테이션 대상이 선별될 수 있다.
어노테이션 대상에 어노테이션된 레이블을 제공받는다(⑥). 학습 장치(100)는 어노테이션 장치에게 어노테이션 대상을 제공할 수 있고, 어노테이션 장치로부터 레이블이 어노테이션된 데이터를 제공받을 수 있다. 주석자(annotator)가 어노테이션 장치에서 데이터에 레이블을 기재하거나, 어노테이션 장치가 자동/준자동(semi-automatic)으로 데이터에 레이블을 기재할 수 있다. 학습 장치(100)는 판독의 리포트로부터 추출한 정보를 어노테이션 대상의 레이블로 어노테이션할 수 있다. 학습 장치(100)는 주석자를 위해, 어노테이션 대상에 대한 인공지능 모델(200)의 예측 결과를 제공하고, 어노테이션 작업이 준자동(semi-automatic)으로 수행되도록 동작할 수 있다.
인공지능 모델(300)이, 학습 데이터를 이용하여 특화 학습한다(⑦). 인공지능 모델(300)은 사전 지식을 잊지 않으면서 사용 기관 데이터를 이용하여 특화 학습한다. 이를 위해, 인공지능 모델(300)은 도 2에서 설명한 바와 같이, 기본 인공지능 모델(200)에서 제공된 증류 손실을 학습하면서, 기본 인공지능 모델(200)이 가지는 사전 지식을 잊지 않도록 학습(사전 지식 유지 학습)을 할 수 있다. 인공지능 모델(300)은 기본 인공지능 모델(200)을 초기 모델로 사용하여 특화 학습할 수 있다.
특화 학습된 인공지능 모델(300)은 검증 데이터로 검증된다(⑧).
성능 검증이 기준 미달인 경우, 사용 기관의 데이터 저장소(10)에서, 이상 학습 데이터가 재선별되거나, 어노테이션 대상이 재선별될 수 있다(⑨). 재선별된 학습 데이터나 재선별된 어노테이션 대상을 이용하여, 인공지능 모델(300)이 다시 특화 학습을 진행한다.
성능 검증이 만족한 경우, 인공지능 모델(300)의 학습을 종료하고, 사용 기관에 제공된다(⑩).
도 7은 한 실시예에 따른 사전 학습 방법의 흐름도이다.
도 7을 참고하면, 학습 장치(100)는 인공지능 모델의 사전 학습을 위한 데이터셋을 수집한다(S110). 이때, 데이터셋은 다양한 기관들에서 획득된 데이터, 다양한 장비에서 획득한 데이터, 다양한 촬영 방식으로 획득한 데이터 등을 포함할 수 있어서, 도메인 격차가 존재할 수 있다.
학습 장치(100)는 입력 데이터의 도메인 격차를 줄이면서, 데이터셋을 이용하여 인공지능 모델을 학습시킨다(S120). 이를 위한 도메인 일반화 방식으로서, 입력 데이터 전처리를 통해 입력 데이터의 도메인 특징을 제거하는 방식, 그리고 인공지능 모델에서 추출된 특징에서 도메인 특징을 제거하는 방식이 사용될 수 있다.
학습 장치(100)는 입력 데이터의 도메인 특징을 제거하는 전처리하고, 전처리된 입력 데이터를 이용하여 인공지능 모델을 학습시킬 수 있다. 예를 들면, 학습 장치(100)는 이미지 변환(image-to-image translation)을 통해, 서로 다른 도메인에서 획득된 이미지들이 가지는 도메인 특징을 제거하는 전처리를 할 수 있다. 학습 장치(100)는 판별기(discriminator)와 적대 손실(adversarial loss)을 이용하여, 판별기에서 이미지의 도메인을 구분하지 못하도록 입력 데이터를 변환는 이미지 변환 모델을 학습시킬 수 있다.
또는, 학습 장치(100)는, 판별기를 이용하여, 인공지능 모델의 중간에서 추출된 중간 특징(intermediate feature)으로부터 도메인을 구분하지 못하도록 인공지능 모델을 학습시킬 수 있다.
도 8은 한 실시예에 따른 특화 학습을 위한 데이터 수집 방법의 흐름도이다.
도 8을 참고하면, 학습 장치(100)는 사용 기관(예를 들면, 타겟 병원)이 가지고 있는 전체 데이터 중에서, 특화 학습에 사용할 데이터셋을 추출한다(S210). 특화 학습에 사용할 데이터셋은 이상(abnormal) 학습 데이터와 정상(normal) 학습 데이터, 그리고 검증 데이터를 포함할 수 있고, 병변의 수, 병변별 수집 건수에 따라 결정될 수 있다. 이때, 학습 장치(100)는 사용 기관의 데이터 보유량과 데이터 특성 등을 고려하여 학습에 사용할 데이터량을 결정할 수 있다. 특화 학습에 사용할 데이터량은 사용 기관마다 다를 수 있다. 데이터 특성은 이상(abnormal) 데이터의 비율(중증 데이터 비율), 연령 분포, 성별 분포, 인종 분포 등을 포함할 수 있다.
학습 장치(100)는 추출한 데이터셋에서 사용 기관 데이터의 분포를 대표하면서, 사전 학습된 인공지능 모델에게 불확실한 데이터를 어노테이션 대상으로 선별한다(S220). 학습 장치(100)는 사전 학습된 인공지능 모델에게 불확실한 데이터나, 사용 기관 데이터의 분포를 대표하는 데이터를 선별할 수 있다. 학습 장치(100)는 어노테이션 대상을 선별하기 위해, 사용 기관 데이터의 불확실성(Uncertainty) 및/또는 다양성(Diversity)을 이용할 수 있다. 불확실성은 사전 학습된 인공지능 모델에서 예측된 병변별 점수(score)의 신뢰값(confidence)을 활용해서 측정되거나, 사전 학습된 인공지능 모델(200)에서 예측된 병변별 히트맵(heatmap)의 엔트로피(entropy)를 활용해서 측정되거나, 병변의 동시 출현(co-occurrence)을 고려하여 측정될 수 있다. 사용 기관 데이터의 분포를 대표하는 다양성을 위해, 어노테이션 대상은 무작위 추출(random sampling)되거나, k개의 대표 데이터가 선별될 수 있다. 판독의 리포트(Radiologist report)가 존재하는 데이터 중에서 어노테이션 대상이 선별될 수 있다. 어노테이션 데이터량은 특화 학습된 인공지능 모델의 성능에 따라 가변적으로 결정되거나, 사용 기관의 요청에 따라 일정량으로 결정될 수 있다. 한편, 도 3부터 도 5에서 예를 들어 설명한 바와 같이, 사용 기관 데이터에 별도의 어노테이션 작업을 하지 않고, 인공지능 모델을 학습시킬 수도 있다.
학습 장치(100)는 선별된 어노테이션 대상에 대한 어노테이션을 수행하거나, 어노테이션 대상에 대한 인공지능 모델의 예측 결과를 제공하여 주석자의 어노테이션 작업을 지원한다(S230). 학습 장치(100)는 판독의 리포트로부터 추출한 정보를 어노테이션 대상의 레이블로 어노테이션할 수 있다. 학습 장치(100)는 주석자를 위해, 어노테이션 대상에 대한 인공지능 모델(200)의 예측 결과를 제공하고, 어노테이션 작업이 준자동(semi-automatic)으로 수행되도록 동작할 수 있다. 학습 장치(100) 주석자에게 어노테이션 대상을 제공하고, 어노테이션 대상의 레이블을 입력받을 수 있다.
학습 장치(100)는 어노테이션된 데이터를 포함하는 데이터셋을 인공지능 모델의 학습 데이터로 제공한다(S240).
학습 장치(100)는 학습 데이터로 학습된 인공지능 모델의 검증 결과에 따라 인공지능 모델의 재학습을 위한 데이터가 필요한지 판단한다(S250).
학습 장치(100)는 특화 학습된 인공지능 모델의 학습이 종료된 경우, 사용 기관으로부터의 데이터 수집을 종료한다(S260).
학습 장치(100)는 재학습을 위한 데이터가 필요한 경우, 어노테이션되지 않은 데이터를 새로운 어노테이션 대상으로 선별한다(S270). 학습 장치(100)는 사용 기관이 가지고 있는 전체 데이터 중에서 추출하지 않은 새로운 데이터를 선별할 수 있다.
이렇게, 학습 장치(100)는 학습이 종료될 때까지, 반복적으로 어노테이션 대상을 재선별하거나 사용 기관 데이터를 재추출해서, 어노테이션된 데이터를 포함하는 새로운 데이터셋을 인공지능 모델의 특화 학습 데이터로 제공할 수 있다.
도 9는 한 실시예에 따른 특화 학습 방법의 흐름도이다.
도 9를 참고하면, 학습 장치(100)는 사용 기관으로부터 수집한 데이터로 인공지능 모델을 학습시키면서, 사전 학습을 통해 습득한 사전 지식을 잊지 않도록 학습시킨다. 이를 위해, 특화 학습 중인 인공지능 모델(학생 모델)이 사전 학습된 인공지능 모델(교사 모델)의 중간 특징 및/또는 최종 출력을 따라가도록 만드는 증류 손실(distillation loss)을 이용하여, 인공지능 모델이 사전 지식을 잊지 않으면서, 새로운 데이터를 학습할 수 있다.
학습 장치(100)는 사용 기관으로부터 수집한 데이터셋 중에서 어노테이션된 데이터를 이용하여, 인공지능 모델을 지도 학습시킨다(S310). 특화 학습을 위해, 레이블이 어노테이션된 사용 기관 데이터가 사용될 수 있고, 또한 레이블이 어노테이션된 사전 학습 데이터가 사용될 수 있다. 학습 장치(100)는 입력 데이터에 대한 인공지능 모델의 출력과 레이블을 비교하여 지도 손실을 계산하고, 지도 손실을 인공지능 모델로 역전파할 수 있다. 학습 장치(100)는 지도 학습 중인 인공지능 모델로, 교사 모델이 입력 데이터에 대해 출력한 중간 특징 및/또는 최종 출력을 따라가도록 만드는 증류 손실을 제공하여, 사전 지식 유지 학습을 시킨다(S320). 교사 모델은 사전 학습 데이터로 사전 학습된 인공지능 모델일 수 있다. 지도 학습 중인 인공지능 모델의 초기 모델은 사전 학습된 인공지능 모델일 수 있다. 사전 지식 유지 학습을 위해, 사용 기관 데이터나 사전 학습 데이터가 사용될 수 있는데, 레이블이 없는 데이터라도 무방하다. 한편, 학습 장치(100)는 사전 학습 데이터나 사용 기관 데이터 중에서, 병변별 점수, 병변별 불확실성 점수, 이상 점수 등의 메트릭을 이용하여, 사전 지식 유지 학습에 사용되는 데이터를 선택할 수 있다.
학습 장치(100)는 학습된 인공지능 모델을 사용 기관에 제공한다(S330). 즉, 특화 학습된 인공지능 모델이 사용 기관 데이터에 대해서 좋은 성능을 출력하는 경우, 해당 사용 기관에서 사용할 수 있도록 제공된다.
학습 장치(100)는 지도 손실과 증류 손실을 가중치에 따라 가중 합산하고, 가중 합산된 손실을 학습 중인 인공지능 모델로 역전파하여, 사전 지식 유지 학습과 특화 학습을 동시에 진행할 수 있다.
한편, 학습 장치(100)는 사용 기관으로부터 수집한 검증 데이터를 이용하여, 학습된 인공지능 모델을 검증할 수 있다. 검증 데이터를 이용한 검증은 필요에 따라 수행될 수 있다. 검증 결과에 따라, 학습 장치(100)는 재학습을 위한 사용 기관 데이터를 재선별하고, 재선별된 데이터를 이용하여 인공지능 모델의 재학습을 진행한다.
이와 같이, 인공지능 모델은 어노테이션된 사용 기관 데이터를 이용하여 태스크를 학습하면서도, 사전 학습 데이터로 학습한 사전 지식을 잊지 않고 가지고 있다. 따라서, 본 개시에 따르면, 인공지능 모델은 사용 기관 데이터를 이용하여 사용 기관의 도메인에 현지화(localization)되면서도, 사용 기관 데이터에 의해 사전 학습한 사전 지식을 잊어버리는 치명적 망각(Catastrophic forgetting) 없이, 안정적으로 동작하게 된다.
한편, 인공지능 모델은 어노테이션된 사용 기관 데이터를 이용하여 특화 학습할 수 있고, 또한, 도 3부터 도 5에서 설명한 바와 같이, 어노테이션되지 않은 사용 기관 데이터를 이용하여, 특화 학습할 수 있다.
도 10은 한 실시예에 따른 컴퓨팅 장치의 구성도이다.
도 10을 참고하면, 학습 장치(100), 또는 이를 구성하는 기본 학습기(110), 데이터 관리기(130), 그리고 특화 학습기(150)는 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치(700)로 구현될 수 있다.
컴퓨팅 장치(700)는 하나 이상의 프로세서(710), 프로세서(710)에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리(730), 컴퓨터 프로그램 및 각종 데이터를 저장하는 저장 장치(750), 통신 인터페이스(770), 그리고 이들을 연결하는 버스(790)를 포함할 수 있다. 이외에도, 컴퓨팅 장치(700)는 다양한 구성 요소가 더 포함될 수 있다. 프로세서(710)는 컴퓨팅 장치(700)의 동작을 제어하는 장치로서, 컴퓨터 프로그램에 포함된 명령어들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다.
메모리(730)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(730)는 본 개시의 동작을 실행하도록 기술된 명령어들이 프로세서(710)에 의해 처리되도록 해당 컴퓨터 프로그램을 저장 장치(750)로부터 로드할 수 있다. 메모리(730)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다.
저장 장치(750)는 컴퓨터 프로그램, 각종 데이터를 비임시적으로 저장할 수 있다. 저장 장치(750)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
통신 인터페이스(770)는 유/무선 통신을 지원하는 유/무선 통신 모듈일 수 있다.
버스(790)는 컴퓨팅 장치(700)의 구성 요소 간 통신 기능을 제공한다.
컴퓨터 프로그램은, 프로세서(710)에 의해 실행되는 명령어들(instructions)을 포함하고, 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장되며, 명령어들은 프로세서(710)가 본 개시의 동작을 실행하도록 만든다. 컴퓨터 프로그램은 네트워크를 통해 다운로드되거나, 제품 형태로 판매될 수 있다.
한 실시예에 따른 컴퓨터 프로그램은, 인공지능 모델의 사전 학습을 위한 데이터셋을 수집하고, 지정된 도메인 일반화 방식에 따라, 수집된 데이터셋을 이용하여 인공지능 모델을 학습시키는 명령어들을 포함할 수 있다. 컴퓨터 프로그램은, 입력 데이터의 도메인 특징을 제거하는 전처리하고, 전처리된 입력 데이터를 이용하여 인공지능 모델을 학습시키는 명령어들을 포함할 수 있다. 컴퓨터 프로그램은 이미지 변환을 통해, 서로 다른 도메인에서 획득된 이미지들이 가지는 도메인 특징을 제거하는 전처리하고, 판별기(discriminator)와 적대 손실(adversarial loss)을 이용하여, 판별기에서 이미지의 도메인을 구분하지 못하도록 입력 데이터를 변환하도록 이미지 변환 모델을 학습시키는 명령어들을 포함할 수 있다. 컴퓨터 프로그램은 판별기를 통해 인공지능 모델의 중간에서 추출된 중간 특징으로부터 도메인을 구분하지 못하도록 인공지능 모델을 학습시키는 명령어들을 포함할 수 있다.
다른 실시예에 따른 컴퓨터 프로그램은 사용 기관이 가지고 있는 전체 데이터 중에서, 특화 학습에 사용할 데이터셋을 추출하는 명령어, 추출한 데이터셋에서 사용 기관 데이터의 분포를 대표하면서, 사전 학습된 인공지능 모델에게 불확실한 데이터를 어노테이션 대상으로 선별하는 명령어, 선별된 어노테이션 대상에 대한 어노테이션을 수행하거나, 어노테이션 작업을 지원하는 명령어, 어노테이션된 데이터를 포함하는 데이터셋을 인공지능 모델의 학습 데이터로 제공하는 명령어, 학습 데이터로 학습된 인공지능 모델의 검증 결과에 따라 인공지능 모델의 재학습을 위한 데이터가 필요한 경우, 사용 기관이 가지고 있는 전체 데이터 중에서 추출하지 않은 새로운 데이터를 선별하거나, 어노테이션되지 않은 데이터를 새로운 어노테이션 대상으로 선별하여 새로운 데이터셋을 생성하는 명령어를 포함할 수 있다.
또 다른 실시예에 따른 컴퓨터 프로그램은 사용 기관으로부터 수집한 데이터셋 중에서 어노테이션된 데이터를 이용하여, 인공지능 모델을 지도 학습시키는 명령어를 포함할 수 있다. 컴퓨터 프로그램은 지도 학습 중인 인공지능 모델로, 교사 모델이 입력 데이터에 대해 출력한 중간 특징 및/또는 최종 출력을 따라가도록 만드는 증류 손실을 제공하여, 사전 지식 유지 학습을 시키는 명령어를 포함할 수 있다. 컴퓨터 프로그램은 사전 학습 데이터나 사용 기관 데이터 중에서, 병변별 예측 점수, 병변별 불확실성 점수, 이상 점수 등의 메트릭을 이용하여, 사전 지식 유지 학습에 사용되는 데이터를 선택하는 명령어를 포함할 수 있다. 컴퓨터 프로그램은 사용 기관으로부터 수집한 검증 데이터를 이용하여, 학습된 인공지능 모델을 검증하는 명령어, 성능 검증이 기준 미달인 경우, 재학습을 위한 사용 기관 데이터를 재선별하고, 재선별된 데이터를 이용하여 인공지능 모델의 재학습을 진행하는 명령어, 그리고 성능 검증이 만족한 경우, 학습 장치(100)는 학습을 종료하고, 학습된 인공지능 모델을 사용 기관에 제공하는 명령어를 포함할 수 있다.
실시예에 따르면, 다양한 기관들은 각자의 도메인 특성에 특화된 인공지능 모델을 사용할 수 있으므로, 촬영 장비, 촬영 방식, 중증도, 인종 등의 도메인 격차에 의한 인공지능 모델의 성능 저하를 염려할 필요가 없다.
실시예에 따르면, 인공지능 모델은 안정적 동작을 위한 사전 지식을 유지하면서, 기관마다의 고유 데이터를 학습할 수 있다. 따라서, 실시예에 따르면, 각 기관에 특화된 인공지능 모델은 일반화 성능(generalization performance)을 제공하면서도 각 기관의 고유 특성이 반영된 분석 결과를 제공할 수 있다.
실시예에 따르면, 각 기관의 보유 데이터 중에서 이를 대표하면서도 불확실한 데이터를 어노테이션 대상으로 선별할 수 있으므로, 전체 데이터에 어노테이션할 필요 없이 선별한 데이터에 대해서만 어노테이션을 요구할 수 있다. 따라서, 실시예에 따르면, 학습의 편의성을 높이고, 학습 시간을 줄일 수 있고, 학습 비용을 절약할 수 있다.
실시예에 따르면, 인공지능 모델을 기관들에 제공하는 제공사는, 각 기관과의 계약 조건에 따라 어노테이션이 요구되는 데이터량을 가변하는 방식으로 인공지능 모델을 차별화할 수 있다.
이상에서 설명한 본 개시의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 개시의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 개시의 실시예에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속하는 것이다.

Claims (20)

  1. 복수 의료 기관들 중 특정 의료 기관에 관계된 특화 학습용 데이터셋을 기초로, 사전 학습된 인공지능 모델을 상기 특정 의료 기관을 위해 특화 학습시키고, 특화 학습된 인공지능 모델을 상기 특정 의료 기관에 제공하는 특화 학습기,
    상기 복수 의료 기관들의 데이터 저장소들과 연동하고, 상기 특정 의료 기관의 데이터 저장소에 저장된 적어도 일부 데이터를 기초로 상기 특화 학습을 위한 특화 학습용 데이터셋을 생성하는 데이터 관리기를 포함하고,
    상기 데이터 관리기는
    각 의료 기관의 데이터 저장소에서, 저장된 데이터량을 고려하여 해당 의료 기관용 특화 학습을 위한 데이터를 획득하는, 학습 장치.
  2. 제1항에서,
    상기 데이터 관리기는
    각 의료 기관의 PACS(Picture Archiving and Communication System)에 저장된 이미지 데이터량을 고려하여 해당 의료 기관용 특화 학습을 위한 의료 이미지들을 획득하는, 학습 장치.
  3. 제2항에서,
    상기 데이터 관리기는
    각 의료 기관의 PACS에 저장된 의료 이미지들의 데이터 특성을 더 고려하여, 해당 의료 기관용 특화 학습을 위한 의료 이미지들을 획득하는, 학습 장치.
  4. 제3항에서,
    상기 데이터 특성은 이상(abnormal) 데이터 비율, 연령 분포, 성별 분포, 또는 인종 분포 중 적어도 하나를 포함하는, 학습 장치.
  5. 제1항에서,
    상기 데이터 관리기는
    상기 사전 학습된 인공지능 모델을 이용하여, 상기 특정 의료 기관의 데이터 저장소에 저장된 적어도 일부 데이터에 대한 예측 결과를 획득하고, 상기 적어도 일부 데이터에 대한 예측 결과를 이용하여 상기 특화 학습을 위해 어노테이션이 요구되는 어노테이션 대상을 선별하는, 학습 장치.
  6. 제5항에서,
    상기 데이터 관리기는
    상기 특정 의료 기관의 요청 또는 상기 특정 의료 기관과의 계약에 따라 일정량의 어노테이션 대상을 결정하는, 학습 장치.
  7. 제1항에서,
    상기 데이터 관리기는
    접근이 허가된 임의 의료 기관의 데이터 저장소에서 해당 의료 기관용 특화 학습을 위한 데이터를 획득하거나, 임의 의료 기관의 데이터 저장소와 연동하는 중간 장치를 통해 해당 의료 기관용 특화 학습을 위한 데이터를 획득하는, 학습 장치.
  8. 적어도 하나의 프로세서에 의해 동작하는 데이터 관리기의 동작 방법으로서,
    복수 의료 기관들의 데이터 저장소들과 연동하는 단계, 그리고
    상기 복수 의료 기관들 중 특정 의료 기관의 데이터 저장소에서, 저장된 데이터량을 고려하여 추출한 데이터를 기초로, 사전 학습된 인공지능 모델을 상기 특정 의료 기관용 인공지능 모델로 특화 학습시키는데 사용할 데이터셋을 생성하는 단계
    를 포함하는 동작 방법.
  9. 제8항에서,
    상기 특정 의료 기관의 데이터 저장소는 PACS(Picture Archiving and Communication System)를 포함하는, 동작 방법.
  10. 제9항에서,
    상기 데이터셋을 생성하는 단계는
    상기 PACS에 저장된 이미지 데이터량과 데이터 특성을 고려하여, 상기 특화 학습을 위한 의료 이미지들을 획득하는, 동작 방법.
  11. 제10항에서,
    상기 데이터 특성은 이상(abnormal) 데이터 비율, 연령 분포, 성별 분포, 인종 분포 중 적어도 하나를 포함하는, 동작 방법.
  12. 제8항에서,
    상기 사전 학습된 인공지능 모델을 이용하여, 상기 특정 의료 기관의 데이터 저장소에 저장된 적어도 일부 데이터에 대한 예측 결과를 획득하는 단계,
    상기 적어도 일부 데이터에 대한 예측 결과를 이용하여 상기 특화 학습을 위해 어노테이션이 요구되는 어노테이션 대상을 선별하는 단계
    를 더 포함하는, 동작 방법.
  13. 제12항에서,
    상기 어노테이션 대상을 선별하는 단계는
    상기 특정 의료 기관의 요청 또는 상기 특정 의료 기관과의 계약에 따라 일정량의 어노테이션 대상을 결정하는, 동작 방법.
  14. 적어도 하나의 프로세서에 의해 동작하는 특화 학습기의 동작 방법으로서,
    복수 의료 기관들 중 특정 의료 기관에 관계된 특화 학습용 데이터셋을 획득하는 단계,
    상기 특화 학습용 데이터셋을 사용하여 사전 학습된 인공지능 모델을 상기 특정 의료 기관을 위해 특화 학습시키는 단계, 그리고
    특화 학습된 인공지능 모델을 상기 특정 의료 기관에 제공하는 단계
    를 포함하는, 동작 방법.
  15. 제14항에서,
    상기 특화 학습시키는 단계는
    상기 사전 학습된 인공지능 모델의 학습에 사용된 사전 학습 데이터와 상기 특정 의료 기관이 보유한 데이터의 스타일 분포 차이를 줄이는 스타일 변환 함수를 사용하여, 상기 특화 학습용 데이터셋의 스타일을 변환한 후, 스타일 변환된 특화 학습용 데이터셋을 사용하여 상기 특화 학습을 진행하는, 동작 방법.
  16. 제14항에서,
    상기 특화 학습된 인공지능 모델은
    상기 사전 학습된 인공지능 모델의 사전 지식을 유지하는 정보를 제공받아 상기 사전 지식을 유지하면서 상기 특화 학습용 데이터셋을 학습한 모델인, 동작 방법.
  17. 제14항에서,
    상기 특화 학습용 데이터셋은
    상기 특정 의료 기관의 데이터 저장소에서, 저장된 데이터량을 고려하여 획득된 데이터를 기초로 생성된 데이터셋인, 동작 방법.
  18. 제14항에서,
    상기 특화 학습용 데이터셋은
    상기 특정 의료 기관의 PACS(Picture Archiving and Communication System)에 저장된 이미지들을 포함하는, 동작 방법.
  19. 제18항에서,
    상기 특화 학습용 데이터셋은
    상기 PACS에 저장된 이미지 데이터량과 데이터 특성을 고려하여 획득된 데이터를 기초로 생성된 데이터셋인, 동작 방법.
  20. 제19항에서,
    상기 데이터 특성은 이상(abnormal) 데이터 비율, 연령 분포, 성별 분포, 인종 분포 중 적어도 하나를 포함하는, 동작 방법.
KR1020230072404A 2019-09-26 2023-06-05 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치 KR20230085125A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020190118545 2019-09-26
KR20190118545 2019-09-26
KR1020200124142A KR102542037B1 (ko) 2019-09-26 2020-09-24 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200124142A Division KR102542037B1 (ko) 2019-09-26 2020-09-24 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치

Publications (1)

Publication Number Publication Date
KR20230085125A true KR20230085125A (ko) 2023-06-13

Family

ID=75165922

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230072404A KR20230085125A (ko) 2019-09-26 2023-06-05 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치

Country Status (6)

Country Link
US (1) US20220199258A1 (ko)
EP (1) EP4036931A4 (ko)
JP (2) JP7406758B2 (ko)
KR (1) KR20230085125A (ko)
CN (1) CN114467146A (ko)
WO (1) WO2021060899A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11922314B1 (en) * 2018-11-30 2024-03-05 Ansys, Inc. Systems and methods for building dynamic reduced order physical models
KR20210042696A (ko) * 2019-10-10 2021-04-20 삼성전자주식회사 모델 학습 방법 및 장치
US11568284B2 (en) 2020-06-26 2023-01-31 Intuit Inc. System and method for determining a structured representation of a form document utilizing multiple machine learning models
AU2022203636B2 (en) * 2021-04-30 2023-04-20 Intuit Inc. Methods and systems for generating mobile enabled extraction models
US11977842B2 (en) 2021-04-30 2024-05-07 Intuit Inc. Methods and systems for generating mobile enabled extraction models
CN113673254B (zh) * 2021-08-23 2022-06-07 东北林业大学 基于相似度保持的知识蒸馏的立场检测方法
CN116963100A (zh) * 2022-04-15 2023-10-27 维沃移动通信有限公司 模型微调的方法、装置及设备
JP2023181643A (ja) * 2022-06-13 2023-12-25 日立Astemo株式会社 機械学習システム及び機械学習方法
CN114861836B (zh) * 2022-07-05 2022-10-28 浙江大华技术股份有限公司 一种基于人工智能平台的模型部署方法及相关设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101295305B (zh) * 2007-04-25 2012-10-31 富士通株式会社 图像检索装置
US8249892B2 (en) * 2007-06-12 2012-08-21 Bruce Reiner Method of data mining in medical applications
US11481411B2 (en) * 2010-09-01 2022-10-25 Apixio, Inc. Systems and methods for automated generation classifiers
JP6337973B2 (ja) * 2014-11-27 2018-06-06 日本電気株式会社 追学習装置、追学習方法、および、追学習プログラム
KR102492318B1 (ko) * 2015-09-18 2023-01-26 삼성전자주식회사 모델 학습 방법 및 장치, 및 데이터 인식 방법
GB201517462D0 (en) * 2015-10-02 2015-11-18 Tractable Ltd Semi-automatic labelling of datasets
JP6509717B2 (ja) * 2015-12-09 2019-05-08 日本電信電話株式会社 事例選択装置、分類装置、方法、及びプログラム
US20180268292A1 (en) * 2017-03-17 2018-09-20 Nec Laboratories America, Inc. Learning efficient object detection models with knowledge distillation
US20180314943A1 (en) * 2017-04-27 2018-11-01 Jianming Liang Systems, methods, and/or media, for selecting candidates for annotation for use in training a classifier
US10769500B2 (en) * 2017-08-31 2020-09-08 Mitsubishi Electric Research Laboratories, Inc. Localization-aware active learning for object detection
WO2019051411A1 (en) * 2017-09-08 2019-03-14 The General Hospital Corporation METHOD AND SYSTEMS FOR ANALYSIS OF MEDICAL IMAGE DATA BY AUTOMATIC LEARNING
CN108021931A (zh) * 2017-11-20 2018-05-11 阿里巴巴集团控股有限公司 一种数据样本标签处理方法及装置
KR20190062283A (ko) * 2017-11-28 2019-06-05 한국전자통신연구원 선택적 손실 함수를 이용한 생성적 적대 네트워크의 학습을 위한 방법 및 장치
JP6976360B2 (ja) * 2018-01-30 2021-12-08 富士フイルム株式会社 データ処理装置及び方法、認識装置、学習データ保存装置、機械学習装置並びにプログラム
US10794609B2 (en) * 2018-02-05 2020-10-06 Mitsubishi Electric Research Laboratories, Inc. Methods and systems for personalized heating, ventilation, and air conditioning
US10878576B2 (en) * 2018-02-14 2020-12-29 Elekta, Inc. Atlas-based segmentation using deep-learning
JP7022195B2 (ja) * 2018-02-28 2022-02-17 富士フイルム株式会社 機械学習装置、方法およびプログラム並びに記録媒体
CN109711544A (zh) * 2018-12-04 2019-05-03 北京市商汤科技开发有限公司 模型压缩的方法、装置、电子设备及计算机存储介质
KR20190106861A (ko) * 2019-08-27 2019-09-18 엘지전자 주식회사 학습 데이터를 생성하는 인공 지능 장치, 인공 지능 서버 및 그 방법

Also Published As

Publication number Publication date
JP7406758B2 (ja) 2023-12-28
EP4036931A4 (en) 2023-09-20
JP2022550094A (ja) 2022-11-30
WO2021060899A1 (ko) 2021-04-01
JP2024019441A (ja) 2024-02-09
CN114467146A (zh) 2022-05-10
EP4036931A1 (en) 2022-08-03
US20220199258A1 (en) 2022-06-23

Similar Documents

Publication Publication Date Title
KR20230085125A (ko) 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치
KR102542037B1 (ko) 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치
US10825167B2 (en) Rapid assessment and outcome analysis for medical patients
CN108784655B (zh) 针对医疗患者的快速评估和后果分析
US10984905B2 (en) Artificial intelligence for physiological quantification in medical imaging
KR101884609B1 (ko) 모듈화된 강화학습을 통한 질병 진단 시스템
KR20220064395A (ko) 이미지들 및 전문 지식으로부터 피부 상태들을 수집하고 식별하기 위한 시스템
US10692602B1 (en) Structuring free text medical reports with forced taxonomies
KR102289277B1 (ko) 복수의 의료 영상 판독 알고리듬들에 대한 평가 스코어를 생성하는 의료 영상 판독 지원 장치 및 방법
KR102237198B1 (ko) 인공지능 기반의 의료영상 판독 서비스 시스템
US11263744B2 (en) Saliency mapping by feature reduction and perturbation modeling in medical imaging
Selvan et al. Uncertainty quantification in medical image segmentation with normalizing flows
US20220180512A1 (en) Method for predicting disease based on medical image
Hussain et al. Deep learning-based diagnosis of disc degenerative diseases using MRI: a comprehensive review
CN116848588A (zh) 医学图像中的健康状况特征的自动标注
CN114078593A (zh) 临床决策支持
RU2720363C2 (ru) Способ формирования математических моделей пациента с использованием технологий искусственного интеллекта
CN111226287B (zh) 用于分析医学成像数据集的方法、系统、程序产品和介质
US20230126877A1 (en) Synthetic data generation and annotation for tumor diagnostics and treatment
US11809826B2 (en) Assertion detection in multi-labelled clinical text using scope localization
JP7478518B2 (ja) 読影支援装置および読影支援方法
CN114651264A (zh) 将模型输出组合为组合模型输出
CN113316803A (zh) 使用历史校正的统计分析来校正医学图像的分割
US20230196557A1 (en) Late Gadolinium Enhancement Analysis for Magnetic Resonance Imaging
US20240087697A1 (en) Methods and systems for providing a template data structure for a medical report

Legal Events

Date Code Title Description
A107 Divisional application of patent