KR102368520B1 - 인간참여형(human-in-the-loop) 인터랙티브 모델 훈련 - Google Patents

인간참여형(human-in-the-loop) 인터랙티브 모델 훈련 Download PDF

Info

Publication number
KR102368520B1
KR102368520B1 KR1020197034760A KR20197034760A KR102368520B1 KR 102368520 B1 KR102368520 B1 KR 102368520B1 KR 1020197034760 A KR1020197034760 A KR 1020197034760A KR 20197034760 A KR20197034760 A KR 20197034760A KR 102368520 B1 KR102368520 B1 KR 102368520B1
Authority
KR
South Korea
Prior art keywords
predicates
model
predicate
computer
boosting
Prior art date
Application number
KR1020197034760A
Other languages
English (en)
Other versions
KR20190142375A (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 구글 엘엘씨
Publication of KR20190142375A publication Critical patent/KR20190142375A/ko
Application granted granted Critical
Publication of KR102368520B1 publication Critical patent/KR102368520B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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
    • 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
    • G06N5/003
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence

Abstract

최종 사용자를 위한 모델의 해석성 및 신뢰성을 증가시키는 예측 모델을 훈련시키기 위한 방법이 설명된다. 이 모델은 다양한 피처를 가진 데이터로부터 학습된다. 각 피처는 실제 값 및 시간 성분과 연관된다. 많은 술어(모델 학습을 위한 원자 요소)는 피처에 대해 오퍼레이팅하는 2진 함수, 일반적으로 피처의 시간 시퀀스 또는 로직 조합으로 정의된다. 술어는 모델의 예측 태스크와 관련하여 인간이 이해할 수 있거나 전문 지식을 인코딩하는 피처로 제한될 수 있다. 우리는 오퍼레이터 또는 인간-인-루프에서 입력을 통해 부스팅 모델을 반복적으로 학습시켰다. 인간-인-루프는 모델이 반복적으로 빌드(built)될 때 모델을 검사하고 모델의 하나 이상의 술어를 제거하는 툴을 제공받는다(예를 들어, 신뢰성 표시가 없거나 모델의 예측과 인과관계가 없거나 이해가 불가능한 경우). 반복 프로세스를 여러 번 반복하여 최종 부스팅 모델을 생성한다. 최종 모델은 예를 들어 정확성, 복잡성, 신뢰성 및 사후 설명 가능성(post-hoc explainability)에 대해 평가된다.

Description

인간참여형(HUMAN-IN-THE-LOOP) 인터랙티브 모델 훈련
본 명세서는 기계 학습 분야에 관한 것으로, 보다 상세하게는 기초 데이터로부터 예측 모델을 훈련시키는 방법에 관한 것이다.
보건학(건강 과학)에서 예측을 하거나 예측 테스트를 확립하기 위해 사용되는 신경망 모델과 같은 기계 학습 모델은 의사 또는 의료 연구원과 같은 최종 사용자가 이해하기 어려운 문제를 겪는 경향이 있다. 모델의 작동 방식에 대한 이해 부족은 모델에 대한 신뢰 부족으로 이어진다. 다시 말해, 모델은 "해석할 수 있는" 것이 아니며, 종종 알 수 없는 "블랙 박스"로 생각된다. 판사 및 의사와 같은 전문가가 결과적으로 의사 결정을 내릴 수 있도록 기계 학습 모델이 더 널리 채택됨에 따라, 그러한 시스템이 단순히 정확함 이상을 보장하기 위해 상당한 관심이 있으며, 이는 일반적으로 "interpretable"이라고 불리는 특징들의 집합으로 이해 가능하고 신뢰를 심어 주어야 한다(Z. Lipton, The Mythos of Model Intepretability, arXiv:1606.03490 [cs.LG] (June 2016)).
해석성(Interpretability)은 기계 학습 커뮤니티의 기술적 정의에 보편적으로 동의하지 않았지만 일부는,
°복잡성 또는 모델 크기 -스파스 선형 모델(sparse linear model)과 같이 인간이 전체적으로 이해할 수 있는 모델, 이의 변형은 인간이 합리적인 시간 안에 추론을 수행할 수 있는 경우이며, 이는 또한 시뮬라타빌리티(simulatability)라고도함-;
° "Understandable" -의사결정 트리의 노드와 같이 모델에서 입력을 고려하는 방법 사이의 명확한 관계, 이를 분해성(decomposability)이라고도 함-;
°훈련 투명성 -볼록 최적화와 같이 훈련 방법은 선형 모델을 훈련시키는 데 사용되는 것과 같은 속성을 잘 알고 있음-;
°사후 최종 사용자 해석성 -즉, 이 모델을 통해 "Saliency Map"과 같은 예측에 대한 사실을 설명하거나 유사한 예측을 가진 사례의 예를 볼 수 있음-과 같은 특성을 제안했다,
본 개시는 해석 가능한 모델을 생성하는 이 문제에 대한 해결책을 제시한다. 이와 관련하여 최종 사용자가 해석할 수 있는 예측 모델을 생성하는 방법을 설명한다. 본 개시는 전자 건강 기록의 컨텍스트에서 예측 모델을 훈련시키는 방법의 예를 제공하지만, 본 방법은 다른 유형의 최종 사용자에 대해보다 이해 가능하거나 해석 가능한 예측 모델을 생성하고자 하는 다른 상황에서 사용될 수 있기 때문에 제한이 아닌 예로서 제공된다.
본 개시는 최종 사용자에게 해석 가능하고 본질적으로 더 이해 가능하고 따라서 심층 신경망과 같은 다른 유형의 모델보다 신뢰할 수 있는 예측 모델을 훈련시키는 컴퓨터 구현 방법에 관한 것이다. 인간이 이해할 수 있는 형태의 모델에서 "지식(knowledge)"의 표현과 모델 훈련(학습) 도중에 인간 조작자 또는 전문가의 의견 사용을 포함하여 이 목표에 기여하는 몇 가지 양태들이 있다. 예시된 실시 예에서, 모델의 지식은 인간이 이해할 수 있는 술어(predicate)의 형태이다. 이 모델은 술어와 가중치의 세트로 구성되어 있다. 모델 훈련에서 인간으로부터의 입력은 인간이 모델에서 신뢰할 수 없거나 바람직하지 않은 것으로 간주되는 모델에 대해 제안된 술어의 선택해제(deselection)를 허용한다. 따라서 전체 모델은 인간이 이해하고 수정할 수 있다. 이 모델은 또한 술어 유형의 유연한 설계로 인해 매우 바람직한 표현성을 가지고 있다.
일 실시 예에서, 모델은 부스팅(boosting)으로 알려진 기술인 많은 반복에 걸쳐 점진적으로 구축된다. 이 방법은 다수의 피처(feature)를 갖는 데이터 (예를 들어, 텍스트 노트, 약물, 실험실 결과, 바이탈 사인(vital sign), 이전 입원 등과 같은 비정형 데이터)를 사용한다. 각 피처의 모든 인스턴스는 실제 값(예: 바이탈 사인 또는 노트의 워드) 및 시간 컴포넌트와 연결된다. 시간 컴포넌트는 시간 시퀀스의 인덱스일 수도 있고, 과거의 일, 월 또는 분과 같이 모델에 의해 예측이 생성될 때 현재 시간에 대한 과거의 시간일 수도 있다. 일 실시 예에서, 데이터는 {X, xi, ti} 유형의 튜플 형식으로 구성되며, 여기서 X는 피처의 이름며, xi는 피쳐의 실제 값이고, ti는 실제 값 xi의 시간 컴포넌트이다.
이 방법은 다수의 "술어(predicates)"를 정의하는 단계를 포함한다. 술어는 튜플의 시퀀스에서 오퍼레이팅하는 2진 함수이며 0 또는 1의 결과를 리턴한다. 술어는 또한 술어 1 또는 술어 2(Predicate 1 OR Predicate 2)(또는 술어 1 또는 술어 2 (여기서 술어 2 = 술어 2a AND 술어 2B))와 같은 튜플 시퀀스의 논리적 조합의 2진 함수일 수도 있다. 다른 예로서, 술어는 일정 기간 동안 반코마이신 및 조신(vancomycin AND zosyn) 약물에 대한 2개의 "Exists" 술어의 조합일 수 있다. 술어는 "Exists" 또는 "Counts" 유형 술어와 같은 "상대적으로 인간이 이해할 수 있는" 술어와, 상대적으로 사람이 이해할 수 없는 술어 같은 유형으로 그룹화될 수 있다. 피처 X에 대한 "Exists 술어의 예는 "환자에 대한 전자 건강 기록에 토큰/피처 X가 존재했습니까?"입니다. 만약 그렇다면, 1이 리턴되고 그렇지 않으면 0이 리턴된다. "Counts" 술어의 예는 "환자의 전자 건강 기록에서 항상 피처 X의 카운트 개수가 C 값을 초과합니까?"이다. 만약 그렇다면 1이 리턴되고, 그렇지 않으면 0이 리턴된다. 다수의 환자에 대한 구조화되지 않은 전자 건강 기록과 같은 복잡한 데이터 세트에서, 가능한 술어의 수는 매우 많으며 잠재적으로 수백만이다. 그러나 술어는 인간이 이해할 수 있는 방식으로 설계 또는 구조화될 수 있다. 즉, 술어의 정의는 전문가(예를 들어, 최종 사용자)에 의해 지정되어 개념적으로 관련되고 모델에 의해 만들어질 수 있는 예측과 관련이 있다.
이 방법은 부스팅 모델을 반복적으로 훈련시키는 단계를 포함한다. 부스팅 모델은 1과 같은 BT(bias term)에 의해 시딩(seed)되거나 초기화될 수 있다. 반복 훈련 방법은,
1) 무작위로 선택된 다수의 새로운 술어를 생성하는 단계(한 가지 가능성에서 이러한 술어는 인간이 이해할 수 있는 술어일 뿐, 필수는 아니지만; 추가로 인간이 신뢰할 수 없거나 관련이 없는 것으로 삭제하는 술어를 자동으로 제외할 수 있으며, 일 실시 예에서, 5,000 개의 술어가 무작위로 선택된다.);
2) 부스팅 모델의 예측(예: 퇴원시 진단 청구 코드, 입원 환자 사망률 등)과 관련된 클래스 레이블(label)에 대한 가중치 정보 게인(gain)에 의해 모든 새로운 랜덤(무작위) 술어를 스코어링하는 단계;
3) 가중 정보 게인이 가장 높은 새로운 랜덤 술어의 수(예: 10)를 선택하여 이를 부스팅 모델에 추가하는 단계;
4) 부스팅 모델의 모든 술어에 대한 가중치를 계산하는 단계; 그리고
5) 오퍼레이터 또는 인간-인-루프(인간참여형)(Human-in-the-loop)에서의 입력에 응답하여 부스팅 모델로부터 가장 높은 정보 게인을 가진 상기 선택된 새로운 술어 중 하나 이상을 제거하는 단계(예를 들어, 인간 전문가는 술어를 보고 신뢰할 수 없거나 이해하기 어렵거나 관련이 없거나 다른 것으로 간주되는 것을 제거한다)를 포함할 수 있다.
단계 1, 2, 3, 4 및 5는 반복적으로, 예를 들어 10 또는 20회 반복되어 점차적으로 부스팅 모델을 구축한다. 인간-인-루프의 사용은 해석 가능성을 향상시키며, 신뢰할 수 없거나 관련성이 없으며 불필요한 복잡성을 추가하는 등의 술어를 제거함으로써 모델의 복잡성을 줄인다. 이 반복 프로세스는 최종 반복 훈련된 부스팅 모델을 생성한다.
일 실시 예에서, 최종 반복 훈련된 부스팅 모델이 생성된 후, 예를 들어 정확성 또는 성능, 신뢰성, 복잡성, 인간의 이해 가능성, 사후 설명 가능성 등과 같은 해석성(interpretability)의 표시(indicia)에 대해 평가된다.
본 개시는 평가 단계에서 모델을 시각화하기 위한 몇 가지 방법을 포함한다. 이는 다른 것들 중에서, i) 각 부스팅 라운드마다 술어를 추가하여 부스팅 모델을 생성하는 반복 프로세스를 디스플레이하는 것, (ii) 예를 들면, 요지(주제) 또는 관련 개념에 의해, 최종 반복 훈련된 부스팅 모델에서 술어의 그룹화를 디스플레이하는 것, (iii) 인간이 더 잘 이해할 수 있도록 술어를 시각화하는 것, (iv) 가장 가중치가 높은 정보 게인을 갖는 제안된 술어를 제시하고 그리고 제안된 새로운 술어 중 하나 이상을 선택취소하도록 전문 사용자에게 제공하기 위한 사용자 인터페이스 도구를 포함할 수 있다.
다른 양태에서, 다수의 환자에 대한 전자 건강 기록 데이터로부터 예측 모델을 훈련시키는 컴퓨터 구현 방법이 개시된다. 데이터는 다양한 피처를 포함하며, 각 피처는 실제 값 및 시간 컴포넌트와 연관되며, 여기서 상기 데이터는 유형 {X, xi, ti}의 튜플 형식이며, 여기서 X는 피처의 이름이며, xi는 피처의 실제 값이며, ti는 실제 값 xi의 시간 컴포넌트이다. 이 방법은 컴퓨터의 프로세서에서 다음의 명령 또는 단계를 구현하는 것을 포함하며, 상기 명령 또는 단계는,
a) 다수의 술어를 튜플의 시퀀스에 대한 논리 연산 또는 튜플의 시퀀스에 대해 오퍼레이팅하는 이진 함수로 정의하는 것;
b) 이해가능성(understandability)에 기초하여 다수의 술어를 그룹, 즉 비교적 인간이 이해할 수 있는 제1 술어 그룹 및 상대적으로 덜 이해 가능한 제2 술어 그룹으로 나누(분할)는 것; 그리고
c) 단계를 수행하여 부스팅 모델을 반복적으로 훈련시키는 것을 포함하며, 상기 단계는,
1) 제1 술어 그룹으로부터 다수의 새로운 랜덤 술어를 생성하는 단계;
2) 부스팅 모델의 예측과 관련된 클래스 레이블에 대한 가중치 정보 게인(가중치가 부여된 정보 게인)에 의해 모든 새로운 랜덤 술어를 스코어링하는 단계;
3) 가장 가중치가 높은 정보 게인을 갖는 다수의 새로운 랜덤 술어를 선택하고 이를 부스팅 모델에 추가하는 단계;
4) 부스팅 모델의 모든 술어에 대한 가중치를 계산하는 단계;
5) 오퍼레이터(operator)로부터의 입력에 응답하여 부스팅 모델로부터 가장 높은 정보 게인을 갖는 상기 선택된 새로운 술어 중 하나 이상을 제거하는 단계; 그리고
6) 단계 1, 2, 3, 4 및 5의 수행을 복수회 반복함으로써 최종 반복적으로 훈련된 부스팅 모델을 생성하는 단계를 포함할 수 있다.
또 다른 양태에서, 기계 학습 모델을 구현하는 개선된 컴퓨팅 플랫폼, 예를 들어 범용 컴퓨터를 개시하였다. 개선은 실제 값과 시간 컴포넌트를 모두 갖는 피처들의 시퀀스에 대해 오퍼레이팅하는 이진 함수로 정의된 술어에서 빌드된 반복 학습된(훈련된) 부스팅 모델인 기계 학습 모델의 형태를 취한다. 술어는 오퍼레이터 입력으로 정의되며, 반복적으로 훈련된 부스팅 모델에 포함시키기 위한 술어의 선택은 부스팅 모델의 반복 훈련 중에 오퍼레이터에 의해 검토 및 선택 또는 선택해제될 수 있다.
일 실시 예에서, 피처들은 전자 건강 기록의 피처들이다. 다른 유형의 훈련(학습) 데이터 세트가 사용될 수 있고, 전자 건강 기록의 사용이 예로서 제한적으로 제공되지는 않는다.
또 다른 양태에서, 부스팅 모델을 반복적으로 훈련시키기 위해 오퍼레이터 입력을 제공하기 위한 워크스테이션이 개시된다. 워크스테이션은 부스팅 모델을 예측하기 위해 가중치 정보 게인을 갖는 것으로 선택된 술어를 디스플레이하는 인터페이스 및 부스팅 모델을 반복적으로 훈련시키는 데 있어서 술어들 중 하나 이상의 선택 또는 선택해제를 위한 툴을 제공하는 인터페이스를 포함한다.
가장 넓은 의미에서, 본 발명의 방법은 훈련 데이터의 "피처"에 사용될 수 있고, 여기서 "피처"이라는 용어는 기계 학습에서 전통적인 의미로 훈련 데이터에서 개별 원자 요소(atomic elements)로서 사용되며, 이는 예를 들어 의료 기록의 노트에 있는 개별 단어, 실험실 테스트 결과 등과 같은 분류기(classifiers)를 빌드하는 데 사용된다. 다음 설명에서는 특정 요소가 학습 데이터에 존재하는지 여부를 결정하는 더 복잡한 방법을 제공하는 이진 함수(predicates) 형태의 피처를 상기 요소와 관련된 시간 정보를 고려하여 설명한다. 보다 일반적으로, 방법론은 학습 데이터의 멤버에 하나 이상의 피처의 존재를 검출하기 위해 학습(훈련) 데이터의 임의의 멤버에 적용 가능한 함수의 형태로 테스트(또는 쿼리)를 이용할 수 있다.
따라서, 하나의 추가의 양태에서, 학습 데이터로부터 예측 모델을 생성하는 컴퓨터로 구현되는 방법이 설명되며, 예측 모델은 복수의 피처 X 각각에 대해 피처의 값 x를 복수 회 각각 나타내는 입력 데이터에 기초하여 레이블을 예측하기 위한 것이며, 학습 데이터는 복수의 샘플을 포함하고, 각각의 샘플은 하나 이상의 시간 각각에서의 하나 이상의 피처의 값 및 상응하는 레이블을 나타낸다. 이 방법은 프로세서와 함께 명령(명령어)으로서 단계를 구현하는 것을 포함하며, 상기 단계는,
술어 세트를 정의하는 단계 -각각의 술어는 피처들의 시간 시퀀스 또는 피처들의 시간 시퀀스의 논리적 조합에 적용될 때 출력을 생성하는 함수임-;
부스팅 모델을 생성하는 단계 -상기 부스팅 모델은 상기 학습 데이터의 샘플들에 적용될 때 상기 술어 세트 각각의 출력들을 입력으로서 수신함-; 그리고
단계들의 시퀀스를 복수 회 수행하는 단계를 포함하며, 상기 단계들은,
(i) 복수의 추가 술어를 자동으로 생성하는 단계;
(ii) 복수의 추가 술어를 상기 부스팅 모델에 이미 있는 술어들에 추가하여 업데이트된 술어 세트를 형성하는 단계;
(iii) 복수의 업데이트된 술어 세트를 디스플레이하는 단계;
(iv) 상기 업데이트된 술어 세트에서 하나 이상의 술어를 거부하는 데이터 입력을 수신하는 단계; 그리고
(v) 거부된 하나 이상의 술어를 상기 업데이트된 술어 세트에서 제거하는 단계를 포함한다.
도 1은 전처리, 모델 훈련 및 평가 단계를 포함하는 본 개시에 따른 방법을 도시한 흐름도이다.
도 2는 도 1의 훈련 단계의 보다 상세한 흐름도이다.
도 3은 가중치 정보 게인이 가장 높은 초기 술어 세트의 한 반복과 오퍼레이터에 의한 일부 술어의 선택취소(선택해제)에 대한 시각화를 보여준다.
도 4는 부스팅 모델에 술어들을 추가하고 그 중 일부를 제거하는 여러 반복의 시각화를 보여준다.
도 5는 도면 오른쪽의 순수한(purely) 기계 학습 접근 방식에서 인간-인-루프(인간 참여형)(human-in-the-loop) 없는 부스팅 모델의 구성 그리고 도면의 왼쪽에 있는 여러 반복에 걸쳐 인간-인-루프를 사용한 부스팅 모델의 구성의 시각화를 보여준다. 개별 술어는 개념적 유형의 술어(즉, 술어에 대한 데이터가 시작된 건강 기록 부분)에 의해 색상이 구분되며, 크기가 모델의 가중치에 해당하는 다른 크기로 표시된다.
도 6은 오퍼레이터가 마우스로 술어를 가리킬 때(호버링할 때) 나타나는 술어들 중 하나에 대한 자세한 정보 및 부스팅 모델을 구성하는 여러 번의 반복을 보여준다.
도 7은 방법이 실시될 수 있는 컴퓨터 네트워크 환경의 예시이다.
도 8은 도 1의 방법을 실행할 때 인간-인-루프 또는 오퍼레이터가 사용하는 컴퓨터의 사용자 인터페이스의 한 가지 가능한 형태의 스크린 샷이다.
도 9는 모델 학습 동안 사용자가 술어 선택/선택해제 툴을 탐색(navigated)한 경우의 도 8의 사용자 인터페이스의 스크린 샷이다.
본 개시는 최종 사용자에게 해석 가능하고 본질적으로 이해할 수 있고 따라서 신뢰할 수 있는 예측 모델을 훈련(학습)시키는 컴퓨터 구현 방법에 관한 것이다. 인간이 이해할 수 있는 형태의 모델에서 "지식"을 표현하는 것과 모델 훈련 중에 인간 오퍼레이터 입력으로부터의 입력을 이용하는 것을 포함하여 이 목표에 기여하는 여러 양태들이 있다.
이 문서는 특정 문제 영역에서 방법이 작동하는 방식을 설명하지만 위에서 언급했듯이 다른 유형의 문제에보다 일반적으로 사용될 수 있다.
다음 설명에서, 모델에 대한 입력은 타임 스탬프 구조화된 정보(예: 환자에게 제공되는 모든 약물 및 복용량, 실험실 값, 진단, 바이탈 사인, 절차 등) 및 구조화되지 않은 데이터(예: 임상 정보)를 포함하는, 건강 시스템 또는 병원이 환자에 대해 수집한 의료 정보 세트인 전자 건강 기록(electronic health record, EHR) 데이터 세트이다. 최근 미국에서 EHR이 빠르게 채택되면서 이 데이터에 대한 모델링이 특히 치료 제공을 개선하는 데 중요하다.
환자는 수십만 개의 데이터-포인트를 빠르게 축적하며, 임상적으로 이 정보는 단일 EHR 화면으로 시각화할 수도 없다. 이는 개인화된 의약의 경우와 같이 상관된 피처를 가진 고차원 입력의 컨텍스트에서 특히 그렇다.
본 개시에서, 이하의 2개의 예측을 하기 위한 모델의 생성을 예로서 설명한다.
1. 진단(Diagnosis): 환자의 기본 청구 진단을 예측한다. 이러한 예측은 의사가 코드를 찾는 시간을 절약할 수 있으며, 의료 시스템과 연구자들이 정확성을 높여 데이터의 2차 사용을 향상시킬 수 있다.
2. 입원 환자 사망률: 환자가 입원 중 사망할 것인지 예측한다(즉, 환자의 사망률). 모델의 예측은 사망률이 (예기치 않게) 높은 것으로 예측되는 경우 의사가 모니터링 및 검진을 강화하거나 환자와의 예후를 논의하도록 안내하는 데 사용될 수 있다.
두 경우 모두, 예측을 이용하기 위해 의사는 예측이 왜 그런지 이해해야 하며; 다시 말해서 모델을 해석할 수 있어야 한다.
이제 정확도, 복잡성, 분해성(decomposability), 학습 투명성 및 최종 사용자 해석성을 측정할 때 동등한 두 가지 모델의 토이 예제를 구성할 것이다. 그러나 직관적인 해석성은 크게 다르다.
예 1: 모델 A는 환자가 병원에서 EHR의 일부인 간호사가 기록한 아침 식사 수만 카운팅한다. 이 피처와 사망률 사이에는 포지티브 상관관계가 있다. 대신 모델 B는 병원에 체류한 일수를 사용한다. 두 모델 모두 단일 (유도된) 피처만 사용하며, 동일한 정확도를 가지며 동일한 방식으로 학습되었으며 예측을 설명하는 데 사용할 수 있다. 그러나 임상의(clinician)는 모델 B가 해석하기가 더 쉽다는 것을 알게 된다.
이 예는 우리(발명자)가“피처-신뢰성(feature-trustworthiness)”이라고 부르는 해석성의 또 다른 속성을 추가하게 한다. 해석성과 마찬가지로 측정하기 어려운 개념이다. 우리는 "입력 피처는 그 자체로 이해하기 쉽고 그리고 모델의 최종 사용자가 피처가 예측된 결과와 직간접적으로 관련되어 있다고 믿는 경우 "신뢰할 수 있는(trustworthy)" 피처이다"와 같은 정의를 제공한다. 모델의 예측을 설명하는 데 사용된 피처가 신뢰할 수 있으면 모델을 신뢰할 수 있다.
이전에는 이 피처를 사용하여 수작업으로 제작하고 신뢰도를 고려하여 선택한 소수의 피처와 모델을 만들었다. 이 방법은 특정 분야의 전문가의 지식을 통합하지만 데이터 중심은 아니다. 그러나 확장 가능한 기계 학습 방식을 통해 모든 피처에서 오퍼레이팅하고 피처 선택 프로세스를 자동화하는 모델로 더 나은 결과를 얻을 수 있었다. 이 방법은 데이터 중심적이지만 특정 분야의 지식이 필요하지 않으며 결과를 해석할 수 없으므로 반대쪽에 있다. 우리의 방법은 최첨단 결과를 달성하는 데이터 중심 및 특정 분야의 전문가 가이드 기계 학습의 하이브리드로 간주 될 수 있다.
문헌에서 탐구되는 모델 해석성의 차원은 즉시 해석할 수 없는 데이터를 다루고 있다. 예를 들어, 전자 건강 기록(레코드)에는 명목상의 이해를 위해 특정 분야의 전문 지식이 필요한 구조화 및 비구조화 데이터의 시계열 데이터가 포함된다. 최종 사용자가 원시(Raw) 데이터가 알고리즘에 입력된 방식을 이해하려면 원시 데이터를 알고리즘의 피처로 변환하기 위한 전처리, 피처 엔지니어링 및 데이터-보강이 필요하며; 이러한 단계들의 이해가능성(understandability)은 우리가 “전처리 해석성(pre-processing interpretability)”이라고 부르는 것이다.
이러한 서로 다른 해석가능성 컴포넌트의 상호작용에 대한 연구는 거의 없다. 이 문서에서는 해석성의 여러 양태를 촉진하는 새로운 기계 학습 모델을 설명하고 전자 의료 기록을 사용하여 진단 분류 및 입원 환자 사망률 예측에 대한 결과를 보고(리포팅)한다.
도 1과 2에 나와있는 STABLE(Space-Time Aware Boosting LEarner)이라는 새로운 기계 학습 방법을 개발했다. 설계에 따라, 원시 데이터에서 직접 이진 술어를 추출하여 최대 전처리 해석성(해석 능력)과 이해할 수 있는 결정 규칙을 제공한다. 또한, 학습 투명성을 극대화하기 위해 표준 절차(일반화된 모델(additive model)의 변형)를 사용하여 학습했다. 이 모델이 의료 데이터세트의 태스크에서 최첨단 성능을 달성할 수 있음을 보여준다.
모델 생성을 위한 데이터 세트는 MIMIC-III 데이터 세트로서, 이는 2002년과 2012년 사이 매사추세츠 주 보스턴에 있는 "Beth Israel Deaconess Medical Center"의 중요 치료 환자에 대한 비-식별 건강 기록 데이터를 포함하고 있었다. 데이터 세트는 자유롭게 접근 가능한 중요 치료 데이터베이스인 "A.E. Johnson et al., MIMIC-III, a freely accessible critical care database, J. Sci. Data, 2016"에 기술되어 있다.
EHR 데이터는 관련 타임 스탬프가 있는 이벤트 시퀀스처럼 보인다. 예를 들어, 의료 기록은 혈압, 체중 및 심박수와 같은 중요한 측정치를 포함한 과거 값을 포함할 수 있다. 시간이 지남에 따른 실험실 값(Lab value)은 매일부터 매주에서 몇 년에 한번까지 다양한 타임 스케일로 존재한다. 특정 시간에 관련된 의료 기록도 있다. 따라서 이러한 데이터에 대한 모델 아키텍처는 특정 시점에 피처가 발행하므로 표준 피처와 레이블을 간단하게 선택하지 않는다.
도 1을 참조하면, 이 문서는 데이터세트(12)로부터 예측 모델을 생성하고 훈련(학습)시키는 방법(10)을 설명한다. 이 예에서, 데이터세트(12)는 MIMIC-III 전자 건강 기록 데이터세트이지만, 위에서 언급된 바와 같이 다른 유형일 수 있다. 데이터세트는 전자 건강 기록을 저장하기 위해 서로 다른 기본 데이터 형식을 사용하는 여러 기관으로부터 획득한 전자 건강 기록으로 구성될 수 있으며, 이 경우
이 경우 FHIR(Fast Health Interoperability Resources) 형식과 같은 표준화된 형식으로 변환하는 선택적인 단계 14가 있으며(참조: Mandel JC, et al., SMART on FHIR: a standards-based, interoperable apps platform for electronic health records. J Am Med Inform Assoc. 2016;23(5):899-908), 이 경우, 전자 건강 기록은 FHIR 자원으로 변환되어 환자마다 시간 시퀀스 또는 연대순(chronological order)으로 정렬된다. 단계 14(step 14)에 대한 추가 세부사항은 미국 특허 가출원 번호 62/538,112(2017년 7 월 28 출원)에 개시되어 있으며, 이 내용이 여기에 참조로 포함된다.
방법론(Methodology)
데이터 세트(12)의 데이터는 수십만 개 이상의 다수의 피처를 포함한다. 전자 건강 기록의 예에서, 피처는 의사 또는 간호사에 의해 생성된 구조화되지 않은 임상 노트(clinical note)(텍스트)의 특정 단어 또는 문구일 수 있다. 피처는 특정 연구소(실험실) 값(laboratory value), 바이탈 사인, 진단, 의학적 면담, 처방된 약물, 증상 등일 수 있다. 각 피처는 실제 값 및 시간 컴포넌트(시간 성분)와 관련이 있다. 단계 16(step 16)에서 데이터를 {X, xi, ti} 유형의 튜플 형식으로 형식화하며, 여기서 X는 피처의 이름이고, xi는 피처의 실제 값(예: 워드(단어) 또는 문구, 약물, 증상 등)이며, ti는 실제 값 xi의 시간 컴포넌트이다. 시간 컴포넌트는 인덱스(예를 들어, 시간에 따른 이벤트 시퀀스에서 실제 값의 장소를 나타내는 인덱스), 또는 실제 값이 발생한 이후 경과된 시간 및 모델이 생성되거나 예측된 시간일 수 있다. 단계 16에서의 튜플의 생성은 데이터 세트 내의 모든 환자에 대한 모든 전자 건강 기록에 대해 수행된다. 튜플의 예는 {"note:sepsis", 1, 1000 seconds } 및 {"heart_rate_beats_per_minute", 120, 1 day }이다.
단계 18에서, 데이터의 시계열 특성을 처리하기 위해, 소프트웨어 명령어를 통해, 모든 피처를 술어로 이진화하므로 실제 값이 있는 피처는 지난 1시간 동안 분당 "heart_rate > 120 beats"와 같은 시공간 술어로 표시될 수 있다. 이 문서에서 "술어(predicate)"라는 용어는 단계 16의 하나 이상의 튜플의 시퀀스에서 오퍼레이팅하는 이진 함수로서 정의되거나, 또는 튜플의 시퀀스의 논리적 조합에 대해 오퍼레이팅하는 이진 함수로 정의된다. 모든 술어는 참이면 1을, 그렇지 않으면 0을 리턴하는 함수이다. 예를 들어, 지난주(last week) 시퀀스에 대해 "heart_rate_beats_per_minute 튜플"의 전체 시퀀스의 { "heart"heart_rate_beats_per_minute ", 120, 1일}를 갖는 튜플이 있으므로, 술어(predicate Exists)([{ "heart_rate_beats_per_minute", 120, 1 주}]의 "heart_rate_beats_per_minute")가 1을 리턴한다. 술어는 또한 "Exists Predicate 1 OR Predicate 2"와 같은 또는 "Exists Predicate 1 OR Predicate 2 (Predicate 2 = Predicate 2a AND Predicate 2B)"와 같은 튜플 시퀀스의 논리적 조합에 대한 2 진 함수일 수도 있다. 다른 예로서, 술어는 일정 기간 동안 반코마이신 및 조신(vancomycin AND zosyn) 약물에 대한 2 개의 "Exists" 술어의 조합일 수 있다.
단계 20에서, 인간 이해성(즉, 해당 분야의 전문가가 이해할 수 있음)에 기초하여 술어를 두 그룹으로 그룹화하는 선택적인 단계가 있다. 그룹 1의 술어의 예는 최대로 인간이 이해가능한 술어로서, 이하와 같다.
° "Exists": X - 환자의 타임라인의 어느 시점에서 토큰/피처 X가 존재했는가이다. 여기서 X는 노트의 워드이거나 실험실 이름 또는 다른 절차 코드일 수 있다.
° "Counts": # X> C. 토큰/피처 X의 존재 수가 항상 시간 C를 초과했는가이다. 보다 일반적으로, "Counts(카운트)" 술어는 수치 파라미터 C를 기준으로 주어진 환자에 대한 전자 건강 기록 데이터에서 피처의 카운트 수에 따라 0 또는 1의 결과를 리턴한다.
모델이 작성한 예측 유형에 따라 다른 유형의 인간이 이해할 수 있는 술어를 그룹 1에 속하는 것으로 선택할 수 있다. 또한, 사람이 이해할 수 있는 술어는 오퍼레이터 또는 전문가가 모델 훈련 중에 생성하거나 정의할 수 있다.
인간이 이해하기 어려운 그룹 2의 술어는 다음과 같다.
°Any x(i) > V at t(i) < T. 과거(past)에 T보다 작은 시간에 x(i)의 값이 V를 초과했는지를 나타낸다(또는 X <= V).
° Max / Min / Avg_i x(i) > V. 모든 시간에 걸쳐 X> V (또는 X <= V)의 최대 또는 최소 또는 평균인지를 나타낸다.
°호크스 프로세스(Hawkes process). x(i)> V가 시간 윈도우 T에 걸쳐 일부 활성화(activation) A를 초과할 때 지수 시간의 합이 임펄스를 감소시켰는가를 나타낸다(Activation = sum_i I(x(i) > V) * exp(-t(i) / T)).
°위의 술어의 두 가지 결합이 사용되는 의사결정 리스트 술어.
°참(True)-항상 1을 리턴한다. 이는 부스팅 모델에서 첫 번째 술어(seed)이며 "bias term" 역할을 한다. 첫 번째(제1) 배치(batch)에서 포지티브 클래스의 로그 오즈비(log odds ratio)로 초기화된다.
도 1을 참조하면, 단계 22에서 단계 18에서 정의된 술어를 사용하여 (및 선택적으로 단계 20에서 그룹 1로 그룹화된 인간이 이해할 수 있는 술어만을 사용하여) 부스팅 모델 학습을 진행한다. 단계 22는 도 2와 관련하여 설명될 전문가의 입력을 사용하여 부스팅 모델을 점차적으로 구축(building up)하는 반복 프로세스이다.
심층 신경망을 이해하거나 해석하는 데 어려움이 있는 문제를 극복하기 위해, 이해하기 쉽고(덜 복잡한) 인간이 이해할 수 있는 규칙을 생성하여 자연스럽게 해석하고 자연스럽게 평가할 수 있는 부스팅 모델을 만드는 데 주력했다. 부스팅 알고리즘은 일반적으로 성능을 증가시키는 경우 반복적으로 추가되는 일련의 위크 학습자들(weak learners)을 결합한다. 훈련하는 동안 인간-인-루프로부터의 입력을 사용하여 부스팅 모델에 포함될 후보인 술어들을 선택적으로 제거하거나 선택해제한다. 술어 선택과 일부 제거 또는 선택해제를 여러 번 반복한 후, 술어 세트 및 관련 가중치로 정의되는 최종 훈련된 부스팅 모델에 도달한다.
단계 24에서 최종 훈련된 부스팅 모델을 평가한다. 도 1에서 볼 수 있듯이, 이 평가 프로세스는 시각화 기술(32)을 사용하여, 예를 들어 별도의 테스트 세트 또는 검증 세트 또는 다른 모델과 같이 신뢰도(신뢰성)(26)(일반적으로 전문가 또는 전문가 그룹의 의견 사용), 복잡성(28)(최종 부스팅 모델에 남아있는 술어들의 수에 기초함), 정확성 및 성능(30)과 같은 여러 구성 요소를 가질 수 있다. 시각화 단계 32에서, 모델의 속성이 오퍼레이터에 디스플레이되므로 부스팅 모델, 술어들, 가중치 및 성능 메트릭의 구성을 검사하고 평가할 수 있다. 시각화의 예는 도 3-6에 나와 있으며 이후에 설명된다. 대화식 모델 훈련을 위한 사용자 인터페이스는 이후의 도 8 및 도 9와 관련하여 설명될 것이다.
도 2를 참조하면, 도 1의 학습 과정(22)이 보다 상세하게 설명될 것이다. 단계(200)에서, 예를 들어 1과 같은 바이어스 항(bias term)으로 부스팅이 초기화되거나 시딩된다.
단계 202에서, 다수의 새로운 랜덤 술어가 생성되거나 선택된다. 예를 들어, 5,000 개의 새로운 랜덤(무작위) 술어가 생성된다. 잠재적인 술어의 수는 토큰/피처의 수, 피처 값 및 다른 시간의 교차 곱이므로 매우 클 수 있으므로 라운드당 가능한 모든 술어를 생성하지는 않는다. 변수 선택, 값 임계 값 및 시간-임계 값을 포함한 각 규칙의 실제 인스턴스는 다음과 같이 생성되었다. 먼저, 환자의 타임라인에서 랜덤 환자, 랜덤 변수 X 및 랜덤 시간 T를 선택(pick)한다(일부 코딩 태스크에 대해 포지티브 또는 네거티브 레이블이 있는 것 사이에서 포지티브는 매우 드물다). 이벤트 간격이 일정하지 않기 때문에 인덱스가 시간을 선택(pick)한다. V는 시간 T에서 X의 해당 값이고 C는 환자의 타임라인에서 시간 X가 발생하는 횟수이다. 따라서, 선택된(picked) 환자의 경우, 피처 X의 경우 M 튜플들이 있는 경우 [0, M-1]에서 J를 균일하게 선택하여 튜플 {X, x(j), t(j)}을 찾은(locate) 다음 T = t(j) 및 V = x(j)를 찾는다.
그 다음, 이 값을 사용하여 가능한 모든 술어 유형을 생성한다. 또는 모델이 그룹 1의 술어 유형만 사용하도록 모델을 제한하여 최종 모델에서 해석성을 확보할 수 있다. 여기서 모델의 해석성과 신뢰성(trustworthiness)을 높이기 위해 인간의 입력으로 모델을 생성하는 데 사용되는 술어 선택을 디자인할 수 있다.
단계(204)에서, 우리는 부스팅 모델의 예측(예를 들어, 입원 환자 사망률, 퇴원 청구 코드 등)과 관련된 클래스 레이블과 관련하여 가중치 정보 게인에 의해 5,000개의 랜덤 술어 각각을 스코어링한다. 각 샘플(환자 EHR)에 대한 가중치는 현재 부스팅 모델이 주어진 샘플의 확률 p를 계산하는 데 있다. 중요도 q는 "q = |label - prediction|"이다. 즉, 부스팅 모델에서 오류가 발생하는 샘플이 현재 부스팅 라운드에서 더 중요하다. 샘플의 중요도 q 및 레이블(label)을 사용하여, 레이블 및 현재 부스팅 모델에 대한 후보 술어의 가중치 정보 게인을 계산할 수 있다. 또는, 술어를 랜덤으로 선택한 다음 L1 정규화를 사용하여 그래디언트 단계(gradient step)를 수행할 수 있다. 또 다른 방법은 "https://en.wikipedia.org/wiki/Information_gain_in_decision_trees" 또는 "Trivedi et al., An Interactive Tool for Natural Language Processing on Clinical Text, arXiv:1707.01890 [cs.HC] (July 2017)"에 설명된 방법에 따라 술어 그룹을 샘플링하고 정보 게인을 평가하는 것이다.
단계(206)에서, 5, 10 또는 20과 같은 주어진 예측 태스크에 대해 가장 높은 가중치 정보 게인을 갖는 다수의 새로운 랜덤 술어를 선택한다.
단계(208)에서, 모든 술어에 대한 가중치를 계산하기 위해 그라디언트 피팅(gradient fit)을 수행한다. 단계(208)에서, 로그 손실 및 L1 정규화와 함께 그라디언트 하강(gradient descent)을 사용하여 모든 이전 및 새로 추가된 술어에 대한 새로운 가중치를 계산한다. 우리는 적합을 수행하기 위해 FOBOS 알고리즘을 사용한다("Duchi and Singer, Efficient Online and Batch Learning Using Forward Backward Splitting, J. Mach. Learn. Res. (2009)" 논문 참조).
단계(210)에서, 오퍼레이터 입력에 응답하여 선택된 새로운 술어를 제거한다. 특히, 컴퓨터(214)를 운영하는 의사(212)와 같은 전문가는 가장 높은 정보 게인을 갖는 무작위로 선택된 술어를 보고, 모델의 예측 태스크와 인과 관계가 없거나, 신뢰할 수 없는 것으로 간주되는 술어를 제거한다. 예를 들어, 술어들 중 하나가 "number_of_breakfasts"이고 예측 태스크가 입원 환자 사망률인 경우, 환자가 입원 환자 사망률의 위험에 있는지 여부에 인과적으로 연결되어 있지 않기 때문에 오퍼레이터는 해당 술어를 선택해제 할 수 있다.
일 실시 예에서, 컴퓨터(214)의 인터페이스에서 인간(212)에게 술어를 제시하여, "신뢰성"의 루즈 기준(loose criteria)에 기초하여 술어를 삭제할 수 있게 하며, 이는 인간 참가자가 술어가 현재 진행중인 태스크와 밀접하게 관련되어 있다고 믿는지 여부를 정의한다. 이러한 “인간-인-루프”에서, 우리는 제1 그룹의 술어, 즉 인간이 이해하기 쉬운 술어를 사용하여 도 1과 2의 방법으로 모델을 구축하는 것을 선호한다.
또한, 워크스테이션의 사용자 인터페이스에 텍스트 입력 상자와 같은 도구를 포함시킬 수 있으며, 여기서 오퍼레이터는 부스팅 모델을 구축하는 동안 술어를 정의할 수 있다. 예를 들어, 단계들(206 또는 210)에서, 오퍼레이터는 새로운 술어를 삽입할 수 있고, 이는 부스팅 모델에 추가된다.
단계(216)에서,
학습 프로세스가 완료되었는지 확인하는 검사가 있으며, 일반적으로 노우 브랜치(No branch)를 사용하여 첫 번째 반복 후에 프로세스가 루프백되며, 루프(218)는 단계(202), 단계(204), 단계(206), 단계(208) 및 단계(210)를 10회 또는 20회와 같이 여러 번 반복하도록 취해진다. 루프(218)를 통한 각각의 반복은 점점 더 많은 술어를 점차적으로 구축(buildup)시킨다. 각각의 술어는 (단계 204로부터) 가중치 정보 게인 스코어(점수)가 높고, 단계 210에서 인간 오퍼레이터에 의해 일부 술어의 검사 및 선택해제(선택취소)가 가능하다. 따라서 방법론은 점차 정확하고 신뢰할 수 있으며 해석 가능한 모델을 구축한다. 또한, 인간이 이해할 수 있는 술어의 설계 및 선택과, 사람의 검사와 충분한 신뢰성이 부족한 술어의 제거 가능성으로 인해, 상기 방법론은 최종 사용자에게 해석 가능하고 종래 기술의 문제점을 극복하는 최종 생성 부스트 모델을 생성한다.
충분한 수의 부스팅 라운드(루프 218)가 수행된 후, 예를 들어 성능 메트릭이 예상 기준을 충족한후, 예스 브랜치(yes branch)(220)가 취해지고 프로세스는 도 1 및 2의 평가 단계(24)로 진행한다.
앞서 언급한 바와 같이, 평가는 신뢰성, 복잡성(모델에 합리적인 수의 피처가 있는가) 및 정확성에 대한 모델의 인간 평가 형식을 취할 수 있다. 정확도 측정을 위해 데이터에서 생성된 다른 모델과 비교하여 테스트 세트에서 모델이 수행된 방법과 기계 학습에서 알려진 성능 메트릭인 AUROC(receiver operating characteristic curve) 영역과 같은 테스트 메트릭의 사용을 조사할 수 있다.
도 1과 2에 따라 구축된 모델의 성능을 분석하기 위해, 우리는, 단계 212에서 인간-인-루프를 사용하지 않고 도 1과 2의 방법론을 사용하고 그리고 그룹 1과 그룹 2를 포함한 모든 술어 유형을 사용하는 모델; 심플(그룹 1) 술어 유형만 사용하고(그룹 1 술어 유형만 사용하고) 최종 모델을 프루닝(pruned)하여 인간-인-루프의 결과와 동일한 수의 술어만 갖도록 하는 다른 모델를 포함하는, 데이터 세트로부터의 몇 가지 다른 모델을 생성했다. 다양한 모델의 성능은 아래에 자세히 설명되어 있다.
일 실시 예에서, 평가 단계(24)는 다음으로 구성될 수 있다:
1. 정확성. 우리는 검증 세트에서 모델의 성능을 위해 AUROC가 사용했다.
2. 복잡성. 우리는 학습이 끝날 때 술어 수를 카운팅했다.
3. 신뢰성. 각 태스크에 대해, 우리는 각 모델(입원 환자 사망률, 퇴원 진단)에서 X 술어를 랜덤으로 선택했다. 의사는 각 술어를 1에서 3까지의 스케일로 평가했으며, 1은 술어가 현재 태스크와 관련이 없음을 나타내며(예: 심부전과 관련이 없는 항생제) 3은 술어가 태스크와 밀접하게 관련되어 있음을 나타낸다. 우리는 모든 술어의 평균 점수로 모델의“신뢰 점수”또는 신뢰성을 보고한다.
전술한 바와 같이, 도 1 및 도 2에 따라 생성된 모델의 평가 방법 중 하나는 시각화에 의한 것이다. 도 3은 도 1을 사용하여 모델 훈련 세션 동안 인간 및 기계 참가자 선택을 탐구(exploring)하기 위한 대화식 시각화(300)의 일례를 도시한다. 루프(218)의 반복 후에, 우리는 술어를 "마름모꼴(lozenges)" 또는 모양(301)의 행 (310)으로서 렌더링하며, 각각은 현재 모델에서 하나의 술어 및 그 가중치를 나타낸다. 마우스로 마름모꼴 위에 마우스를 갖다 대면(호버링) 가중치가 시각화되거나 마름모꼴 아래에 디스플레이될 수 있다(도 3에는 표시되지 않음). 행(310)은 루프(218)(도 2)의 제1 반복을 도시하며, 여기서 모델은 16개의 술어(위에서 아래로 이어지는 단색 사각형)를 선택하고 추천한다. 행(310)의 술어는 주제, 예를 들어, 제1 그룹(306)(예를 들어, 의료 노트의 워드 또는 문구), 바이탈 사인(308), 약물(309)에 의해 그룹화된다. 이 중 선출된 인간의 참가자, 이 경우 의사는 고려하여 그 술어(7)를 제거한다. 나머지 술어는 라인 312에서 재생된다. 제거된 술어는 빈 정사각형 304로 이어지는 내림차순으로 표시된다. 술어는 가중치를 기준으로 가장 높은 것부터 가장 낮은 것까지 정렬되며, 즉, 그룹 내에서 가장 높은 가중치의 술어는 왼쪽에 있다. 바이어스 항은 311에서 가장 오른쪽(far right)에 있다. 각각의 반복 후에, 컴퓨터(214)는 수치 파라미터로서 제시하고 술어의 시각화와 함께 디스플레이할 수 있는 AUROC 메트릭을 계산한다.
도 4에서, 디스플레이는 동일한 세션으로부터 루프(218)의 3개의 반복(402, 404 및 406)을 더 보여준다. 반복(402)에서, "Turn(턴) 1"은 가장 가중치가 높은 정보 게인을 갖는 랜덤 술어의 선택을 지칭하고 "Turn 2"는 루프의 그 반복에서 선택된 술어를 제거하는 인간-인-루프(human in the loop)를 나타낸다. AUROC 곡선 계산은 반복의 각 단계마다 408로 표시된다. AUROC는 매 턴마다 항상 증가하지는 않지만, 연속적인 부스팅 반복을 통해 모델이 구축될 때 일반적으로 증가한다.
도 5는 많은 반복에 대한 부스팅 모델의 개발(development)을 보여준다. 열 500에서, 인간-인-루프가 있는 부스팅 모델의 점진적인 구축이 표시되며, 반면, 영역(502)은 인간-인-루프가 없는 순수한 기계 학습 부스팅 모델을 점진적으로 구축하는 것을 도시하며, 루프의 각 반복은 가장 높은 가중치 정보 게인을 갖는 10개의 새로운 랜덤 술어를 추가한다. 9회 반복 후 인간-인-루프(의사가 선별한(curated)) 모델은 약 20개의 술어(roughly 20 predicates)가 있지만 순수 기계 학습 모델은 90개의 서로 다른 술어가 있다(9개의 라운드 동안 라운드당 10개의 술어가 추가됨). 프로세스가 10번 더 계속 진행되면 인간 모델은 총 25 또는 30개의 술어로 끝날 수 있으며, 순수 기계 학습 모델에는 190 개의 술어가 있다. 복잡성 측면에서, 열 500으로 표시되는 인간-인-루프 모델은 훨씬 덜 복잡하므로 해석하기가 더 쉽다. 두 모델 모두 19 번째 반복 후 0.89의 AUROC를 달성했다. 그러나, 의사가 선별한 모델에는 더 적은 수의 모델 파라미터가 포함되어 있다.
대화식 시각화를 통해 사용자는 여러 정렬(sorting) 및 색상 옵션 중에서 선택하여 학습된 술어를 동적으로 탐색할 수 있다. 도 6에서, 술어는 가중치 크기에 따라 정렬되며, "마름모꼴"의 크기는 가중치에 따라 스케일링(조정)되며, 더 높은 가중치의 술어는 더 큰 크기로 렌더링된다. 또한, 사용자가 술어/마름모꼴 위로 마우스를 가져가면(호버링) 가중치, 유형, 피처 이름(토큰), 규칙(rule), 키(key) 및 기타 속성과 같은 술어의 세부 사항을 표시하는 상자(600)가 팝업된다. 또한, "마름모꼴"은 602에 도시된 컬러 코드 키에 의해 표시된 바와 같이 개념 또는 유형에 의해 컬러 코딩될 수 있다.
학습(훈련)을 위한 예제 텍스트 인터페이스
워크스테이션(214)은 모델 훈련 동안 오퍼레이터/전문가가 사용할 텍스트 인터페이스를 제공할 수 있다. 이 섹션은 퇴원시 진단으로서 울혈성 심부전(congestive heart failure)을 예측하기 위한 모델을 구축하기 위한 텍스트 인터페이스의 예를 제공한다.
각 라인은 모델의 술어(predicate)를 나타낸다. 각 라인의 시작 부분에 있는 정보는 각 술어에 대한 메타 정보로서, 인덱스(색인), 술어를 유지할 것인지에 대한 인간 결정, 새로운 술어인지 여부를 나타내는 인간에 대한 시각적 태그 및 술어 가중치이다. 각 라인의 두 번째 부분은 술어 자체이다. "E"는 피처의 존재를 의미하고, "#"은 임계치를 가진 피처의 카운트를 의미한다. "TRUE"는 단순히 데이터 세트의 레이블 바이어스를 캡처한다. 아래 예에서, 피처 카운트의 임계치를 신뢰할 수 없으므로 인간은 인덱스 2에서 술어를 '삭제'하기로 결정한다. 이 모델은 모델 학습의 시작 부분에 있기 때문에 매우 간단하며, 나중에 모델이 훨씬 더 크고(larger) 복잡해진다. 모델은 술어 세트로 구성되므로, 예를 들어 라인을 스크롤하거나 도 3-6과 같은 시각화 기술을 사용하여 사람이 전체 모델을 검사할 수 있다.
Rule #, Keep?, Weight
[ 0, Y, -, 0.0244] E:obsloinc:33762-6 pg/mL (Natriuretic peptide.B prohormone N-Terminal)
[ 1, Y, -, 0.0240] E:Composition.section.text.div.tokenized failure
[ 2, Y, -, 0.0237] #:Composition.section.text.div.tokenized ventricular >= 11
[ 3, Y, -, 0.0237] E:Composition.section.text.div.tokenized congestive
[ 4, Y, -, 0.0232] #:Composition.section.text.div.tokenized regurgitation >= 3
[ 5, Y, -, 0.0232] E:Observation.code.loinc.display.tokenized b
[ 6, Y, -, 0.0228] #:Composition.section.text.div.tokenized exertion >= 2
[ 7, Y, -, 0.0224] E:Composition.section.text.div.tokenized lasix
[ 8, Y, -, 0.0220] E:Composition.section.text.div.tokenized la
[ 9, Y, -, 0.0216] E:Composition.section.text.div.tokenized regurgitation
[10, Y, -, 0.0206] Context age_in_years >= 60.000000 @ t <= 1.000000
[11, Y, -, -0.0101] E:Context Patient.gender male
[12, Y, -, -0.0220] Context age_in_years >= 40.000000 @ t <= 1.000000
[13, Y, -, -0.0244] Context age_in_years >= 18.000000 @ t <= 1.000000
[14, Y, -, -0.0256] E:Context Patient.gender female
[15, Y, -, -3.3718] TRUE
New Model Test Score: 0.883712, Rules: 16
BOOST> delete 2
도 1에 따른 대화식 모델 학습을 위한 사용자 인터페이스가 도 8 및 9에 도시되어있다. 모델 학습 방법론은 범용 컴퓨터에 의해 실행되는 애플리케이션으로 코딩될 수 있다. 도 8은 시작시 애플리케이션 사용자 인터페이스(800)의 스크린 샷이다. 도 9는 몇 차례의 대화식 모델 학습(훈련) 후 사용자 인터페이스를 보여준다. 도 8과 9의 인터페이스는 도 8에 표시된,
현재 모델 라벨링 또는 예측 태스크(이 경우 급성 심근 경색의 예측)를 식별하는 헤더 바(header bar)(802) -(헤더 바(802)는 또한 수신기 오퍼레이터 특성 플롯의 커브 아래의 손실 및 면적과 같은, 현재 세션에 대한 바의 우측 에지에 도시된 일부 통계를 한눈에 볼 수 있다.)-;
학습자 행동을 수정하고 술어를 사용(즉, 술어를 선택 또는 선택해제)하고 술어 가중치와 같은 통계를 표시하기 위한 툴(도구)의 디스플레이를 제공하는 콘텐츠 영역(804)(아래의 도 9의 설명);
현재 세션에서 사용자 액션의 이력 및 모델을 요청 및 저장하기 위한 툴을 디스플레이하는 제어 바(806);
성능 및 모델 크기 메트릭을 표시하여 학습자와의 사용자 세션을 요약하는 타임 라인(808)과 같은 주요 영역으로 구성된다.
콘텐츠 영역(804)은 사용자와 학습자 사이의 대부분의 상호 작용을 구동하는 "카드(cards)"(개별 그래픽 디스플레이 영역)를 포함하는 스크롤 가능 영역이다. 설정 카드(Setting Cards)와 술어 카드(Predicate Cards)의 두 가지 종류 또는 유형의 카드가 있다.
도 8에서, 라벨링 태스크 카드(810), 통지 카드(812) 및 학습 옵션 카드(814)를 포함하는 설정 카드가 도시되어 있다. 설정 카드는 애플리케이션의 시작시에 이용 가능하고 콘텐츠 영역(802)의 상단에 나타난다. 설정 카드를 사용하면 학습 태스크, 학습자의 파라미터 튜닝(학습 속도, 배치(batch) 크기 등)과 같은 전역 설정(global settings)을 수정하여 레이블에 대한 술어를 초기화하고 데스크톱 알림을 토글할 수 있다.
술어 카드는 도 9에 표시되어 있다. 이 카드 902, 904 및 906은 학습자가 술어를 마인(mined)한 후에 나타난다. 각 술어 카드 902, 904 및 906은 카테고리 내에서 술어를 구성한다. 도 9에서 "Demographics, Doctor Notes" 및 "Medications"는 각각 902, 904 및 906에 표시되는 술어 카드이며 사용자는 아래로 스크롤하여 다른 카테고리에 대한 술어를 볼 수 있다. 가중치 정보 게인을 기반으로 새로 선택된 술어는, 912에 표시된 대로, 도 9의 화면과 각 카테고리 내 술어 리스트의 맨 위에 굵은 글씨로 표시된다. 이전 부스팅 라운드에서 사용자가 제안하고 선택한 술어는 새로 제안된 술어 아래에 일반 글꼴로 표시된다. 디스플레이는 각각 "수락(accept)" 및 "삭제(delete)" 아이콘(908 및 910)의 형태로 툴을 제공하며, 오퍼레이터는 제안된 술어를 부스팅 모델에 추가하거나 이를 제거할 수 있다. 예를 들어, 약물의 NDC 서브카테고리에서, 사용자는 "수락" 아이콘(908)을 활성화함으로써 약물 "17714001110..."에 대한 술어를 추가하도록 선택할 수 있으며, 이 경우 이 술어가 부스팅 모델에 추가될 것이다. 사용자가 나열된 술어를 이해하도록 돕기 위해, 인터페이스는 그래픽 툴, 딕셔너리 또는 사용자가 마우스를 술어 위로 가져 가면 술어의 의미를 일반 언어(예를 들어 코드 17714001110으로 제공되는 약물의 평범한 언어 의미)로 설명할 때 팝업되는 기타 도구와 같은 추가 도구를 제공할 수 있다. “수락”및“삭제”아이콘의 바로 왼쪽에 있는 숫자는 현재 부스팅 모델에서 리스트된(나열된) 술어에 지정된(할당된) 가중치이다.
도 9에서, 사용자는 도 9의 디스플레이에 표시된 각 술어 옆에 "수락" 및 "삭제" 아이콘이 있는 것으로 표시되는 것처럼, 이전 라운드에서 추가된 부스팅 모델에서 술어를 제거하도록 하는 옵션을 가진다.
술어의 카테고리의 수와 식별은 물론 다양할 수 있지만, 현재 컨텍스트에서 인구 통계(demographics), 의사 노트(doctor notes), 약물(medications), 실험실 결과(lab results), 간호사 관찰, 이전 상태(previous conditions), 입원/퇴원 및 의료 절차 카테고리가 인식된다. 술어가 이러한 카테고리 중 하나에 맞지 않으면 기타(Other)라는 추가 카테고리에 배치된다.
도 9 하단에 표시된 타임 라인은 부스팅 모델이 점차 구축됨에 따라 선택된 태스크(task)에서 모델 크기와 성능을 추적한다. 사용자가 술어 리스트를 프루닝(prune)하면 학습자는 더 많은 술어를 추가하고, 모델 크기는 안정화되고 성능 메트릭은 해석가능성을 희생하지 않고 계속 개선된다(추가 반복으로 손실 감소). 도 3-5는 기본적으로 도 9의 맨 아래에 표시된 타임 라인의 한 가지 변형을 보여준다. 도 9의 타임 라인에는 술어 수로 모델 크기를 표시하는 세로 바(막대)가 있다. 또한 손실로 표현된 시간 경과에 따른 모델 품질을 추적하는 라인 차트가 포함된다. 손실 및 모델 크기의 스케일은 타임 라인의 왼쪽 및 오른쪽 에지에 각각 표시된다. 여기서 "손실"이라는 용어는 "logistic loss"를 의미한다(예: https://en.wikipedia.org/wiki/Loss_functions_for_classification#Logistic_loss 참조). "손실 최소화"라는 표현은 단순히 부스팅 모델의 가중치를 맞추기(fitting) 위한 절차의 이름이다. 손실이 0에 가까워지면 모델이 컨버지드(converged)되어 본질적으로 "fully cooked"되어 사용할 수 있음을 의미한다.
도 8 및 도 9의 인터페이스는 물론 본 개시에 따라 모델을 구축하기 위해 툴을 인간 조작자에게 제공할 수 있는 하나의 방법을 도시하지만, 인터페이스의 세부 사항은 변할 수 있고 전술한 설명은 예로서 제공되고 한정(제한)되는 것은 아니다.
결과
우리(발명자)는 도 1과 2의 절차를 사용하여 모델을 개발했으며, 결과를 도 2의 인간-인-루프 단계 210없이 술어에서 얻은 부스팅 모델과 비교했다.
우리는 순수 기계 학습 모델("MM") 학습(훈련)에서 그룹 2 유형의 술어를 사용하는 것(더 복잡하고, 이해하기 어려운)과 인간-인-루프 모델("HM")에서 그룹 1 술어를 사용하는 것(덜 복잡하고, 인간이 이해하기 쉬운)의 효과를 조사했다. 그룹 2 술어 사용의 효과는 예측 태스크의 특성에 따라 다르다. 진단 코드(discharge diagnosis code)를 예측하는 태스크의 경우, 그룹 1과 그룹 2 술어(MM1)를 사용하는 것과, 그룹 1 술어(존재 및 카운트 술어)(MM2)를 사용하는 경우는 두 개의 서로 다른 MM 모델 사이의 격차는 그다지 중요하지 않다. 예를 들어, AUROC 메트릭을 사용하는 한 가지 코드 태스크(discharge code task)에서 MM1은 MM2의 0.896(0.4 %의 격차(갭))에 비해 0.910을 달성한다. 또 다른 코드 태스크에서 비교는 0.916 대 0.914(0.2 %의 갭)이다. 사망률 예측의 더 복잡한 태스크에서 갭은 다소 중요하다(즉 0.791 대 0.814(2.3 %의 갭)이다. 그러나, 본 발명의 방법의 목표 중 하나는 모델 해석성을 개선하는 것이기 때문에, 간단한 술어 유형을 사용하는 기계(머신) 모델이 바람직하며, 그렇지 않으면 인간이 모델을 이해하기가 매우 어렵다. 이는 모델 품질과 해석성의 트레이드오프(tradeoff)를 보여 주지만, 해석성과 신뢰성이 매우 중요하기 때문에 우리는 의료 분야에서 적용하는 것이 좋은 트레이드오프라고 생각한다.
또한, 인간-인-루프를 배치하고 그리고 결과 모델의 성능을 두 개의 기계 전용 모델(그룹 1 술어(MM2)가 있는 모델과 MM2와 동일하지만 인간-인-루프 모델(MM3)과 동일한 수의 술어를 갖도록 프루닝된(pruned) 모델과 비교한 결과(도 1과 2에 따라 구성된 HM1)를 살펴 보았다. 이 분야의 전문가(의사)에게 위에 설명된 것처럼 간단한 텍스트 인터페이스를 사용하여 술어를 선택해제하여 모델의 구축 프로세스를 가이드하도록 요청했다. 우리는 모델 품질, 모델 크기 및 신뢰성 측면에서 인간-인-루프의 효과를 보고 싶었다. 두 가지 기계 모델 설정인 MM2 및 MM3를 비교한다.
이 프로세스에서 인간 행동에 대한 두 가지 일반적인 관찰이 있다.
1) 이 분양의 전문가는 주로 신뢰성(신뢰도)을 기반으로 술어를 유지할지 또는 삭제할지 여부를 결정한다. 이 사고 방식에서, 전문가는이 모델을 사용할 최종 사용자를 대신하여 행동한다.
2) 우리는 인간이 결정을 내리도록 돕기 위해 이 분야에 대한 현재 모델을 필요에 따라 평가할 수 있는 메커니즘을 가지고 있다. 그러나 우리는 전문가가 의사 결정에 거의 의존하지 않는다는 것을 관찰한다. 이는 아래 보인 바와 같이 HM1 모델이“신뢰 점수”가 훨씬 높은 이유를 설명할 수 있다. 표 1은 퇴원시 진단으로 울혈성 심부전을 분류하는 태스크에서 세 가지 모델의 품질(quality)(AUROC 곡선), 크기(size) 및 신뢰 점수(trust)를 보여준다.
Figure 112019121058977-pct00001
율동부정(Dysrhythmia)을 퇴원시 진단으로 분류하는 태스크에 대해 유사한 품질 및 크기 결과가 얻어졌다(CCS 코드 106). 모델 품질 측면에서, 인간 모델(HM1)은 두 가지 코딩 태스크에서 기계 모델들(MM2 및 MM3)과 매우 유사하다. 입원 환자 사망률을 예측하는 더 어려운 태스크에서, HM 모델은 MM2보다 악화(worse)(~ 5 %)했으며 MM3과 비교할 수 있다. 이 태스크에서 이 모델은 해석이 가능한 술어를 제안할 수 없었기 때문에 인간에 의해 자주 삭제되므로 술어가 23 개만 있는 지나치게 작은 모델이 된다.
모델 크기 관점에서, 인간 모델은 기계 모델(MM2)보다 훨씬 작다. 더 작은 모델을 사용하면 다른 사람들이 더 쉽게 모델을 검사할 수 있다. 엄격하게 요구되는 것은 아니지만 특히 의료 분야에서 매우 바람직하다.
가장 놀라운 결과는 다른 모델의 "신뢰 점수"이다. 인간 엑스퍼트(expert) 모델(HM1)은 모델의 신뢰성에서 훨씬 높은 등급을 받았으며 이는 매우 바람직한 결과이다. 가장 높은 가중치(MM3)를 가진 기계 모델을 포함하도록 기계 모델의 술어를 프루닝(prune)하면 "신뢰 점수"도 1.70에서 1.97로 향상되어 기계 모델이 더 신뢰할 수 있는 술어에 대해 더 높은 가중치를 연관시킨다. 그럼에도 불구하고, 인간 모델(HM1)의“신뢰 점수”가 훨씬 높을 때, 더 작은 모델 크기와 비슷한 품질의 HM1은 해석 가능하고 신뢰할 수 있는 기계 학습 모델을 얻는 우리의 목표가 달성되었음을 보여준다.
추가 고려 사항
모델 훈련 동안 모델을 프로빙(probing) 및 개선하는 데 있어서 사용자를 추가로 돕기 위해, 인간(사람)에 의한 다양한 동작이 수행될 수 있도록 도 1의 워크스테이션에 추가 특징을 추가하는 것이 바람직할 수 있다. 예를 들어, 사용자는 모델에 술어를 제안하거나 정의할 수 있으며(예: "노트에 X가 존재합니까"), 여기서 X는 모델의 술어와 관련된 워드나 문구이며 부스팅의 다음 반복에서 사용할 수 있다.
다른 예로, 좀 더 복잡한 술어는 처음에는 전문가에게도 이해하기 어려울 수 있지만 전문가가 이해를 높이고 모델에 포함시키기 위해 선택할 수 있도록 그래픽 형식으로 렌더링될 수 있다. 또한, 많은 술어가 중복될 수 있으며 최종 사용자가 이해할 수 있는 더 큰 능력(ability)에 기초하여 특정 모델을 구축하고 선택하기 위해 사용하는 것이 바람직하다. 모델을 작성하는 데 필요한 시간을 줄이려면 중복 술어뿐만 아니라 인간이 어쨌든 삭제할 수 있는 것들, 예를 들어 인간이 이해할 수 없는 것들을 삭제하거나 제거하는 것이 바람직하다.
또한, 보다 구체적인 술어의 우선순위가 높아지도록 술어의 순위를 지정할 수 있다. 예를 들어, 실험 테스트(lab test) 결과는 실험 테스트 이름 술어보다 선호되거나 순위가 높을 수 있다. 이는 일부 정책 규칙을 사용하고 그리고 도 2의 반복 중에 가중치 정보 점수(또는 모델 가중치)를 조정하여 수행할 수 있다.
또한, "Bigram"이 더 많은 컨텍스트를 제공하고 술어를 이해하기 쉽게 하기 때문에 구조화되지 않은 의료 노트에서 얻은 술어에 유니그램(unigrams)(한 단어)보다 "bigrams"(2 단어)를 사용하는 것이 바람직할 수 있다. "bigram"은 정책 규칙 등을 사용하여 가중치가 부여되거나 점수가 매겨길 수 있다. 또한, 도 2의 워크스테이션의 사용자 인터페이스는 이러한 단어가 사용되는 의료 노트의 일부 문장 또는 발췌 부분(excerpts)을 보여줄 수 있다.
도 2의 반복 동안 사용자에 의해 정의된 술어로서 또는 술어에 대한 가중치 정보 게인을 조정함으로써 다른 선호도가 정의될 수 있다. 예를 들어, 인간은 단지 "heat failure", "heart" 또는 "failure"보다 "울혈성 심부전"과 같은 보다 구체적인 노트를 선호한다. 긴 텍스트 술어는 단일 단어보다 모델 성능이 향상될 수 있다. 또한, 의료 교과서나 사전에서 찾은 용어를 사용하거나 그러한 술어만 사용하는 모델 훈련에 대한 노트 술어를 정의할 수 있다. 다른 예에서, 술어(Existence predicates)를 의료 교과서에서 자주 발생하는 토큰(단어)으로 제한할 수도 있다. 본질적으로 모델 훈련(학습) 과정에서 프로세스는 전문가의 브레인에 인코딩된 지식을 요구하고 해당 지식을 모델로 전달한다.
또한, 사용자가 술어를 선택 또는 선택취소하거나 모델이 사용할 새로운 술어를 정의할 수 있도록 돕기 위해, 사용자를 지원하는 통계(statistics)를 제공하는 것이 유용할 수 있다. 예를 들어, "커버리지(coverage)"를 특정 술어가 참인 예제(examples) 수로 정의하고, "정밀도(precision)"를 이 술어가 커버리지로 나누어진 참인 참 레이블(true label)이 있는 예제 수로 정의하고, "리콜(recall)"을 술어와 레이블 사이의 상관관계와, 이 술어가 참 레이블이 있는 예제 수로 나뉘어진 참 레이블이 있는 예제 수로 정의할 수 있다.
인간-인-루프에서 작업(fatigue )을 줄이기 위해 모델 훈련 중에 여러 서버 또는 컴퓨팅 플랫폼에 처리 태스크를 분산시켜 모델을 신속하게 구축할 수 있는 것이 바람직하다. 기본적으로 도 7을 참조하여, 모델을 빠르게 계산할 수 있도록 전체 데이터 세트(모델 개발에 사용된 전자 환자 기록 개발 세트)를 메모리에 로드한다. 이는 데이터 세트의 일부를 다른 서버(702, 704, 706 등)에 로드하고 그리고 각 부스팅 라운드(도 2의 반복)에서 라운드 로빈 방식으로 다른 서버를 쿼리(querying)하여 수행된다. 각 서버(702, 704, 706 등)는 각각 1000명의 환자와 같은 모든 피처를 갖춘 환자 전자 건강 기록의 서브세트를 보유할 수 있으며, 우리는 부스팅 라운드마다 1000명의 환자를 묶어서(in batches) 그 모델을 업데이트한다.
이 방법의 또 다른 개선점은 임의의 시간 대신 마지막 시간, 마지막 날, 마지막 주, 마지막 달과 같이 인간 친화적인 시간으로 기간(정의된 술어의 튜플 시퀀스)을 줄이는 것이다.

Claims (37)

  1. 다수의 피처(feature)들 -각각의 피처는 실제 값 및 시간 성분과 관련됨-을 포함하는 데이터로부터 예측 모델을 훈련시키는 컴퓨터로 구현되는 방법으로서, 컴퓨터의 프로세서에서 명령어들을 실행하는 단계들을 포함하며, 상기 단계들은,
    a) 다수의 술어들(predicates)을 상기 피처들의 시간 시퀀스에 대해 논리 연산 또는 상기 피처들의 시간 시퀀스에 대해 오퍼레이팅하는 이진 함수로 정의하는 단계;
    b) 동작들을 수행함으로써 부스팅 모델을 반복적으로 훈련시키는 단계를 포함하며, 상기 동작들은,
    1) 다수의 새로운 랜덤 술어들을 생성하는 동작;
    2) 상기 부스팅 모델의 예측과 관련된 클래스 레이블에 대한 가중치가 부여된 정보 게인으로 모든 새로운 랜덤 술어들을 스코어링하는 동작;
    3) 가장 가중치가 높은 정보 게인을 갖는 다수의 새로운 랜덤 술어들을 선택하고 이를 상기 부스팅 모델에 추가하는 동작;
    4) 상기 부스팅 모델의 모든 술어들에 대한 가중치를 계산하는 동작;
    5) 오퍼레이터로부터의 입력에 응답하여 상기 부스팅 모델로부터 가장 높은 정보 게인을 갖는 상기 선택된 새로운 술어들 중 하나 이상을 제거하는 동작; 그리고
    6) 동작 1), 2), 3), 4) 및 5)의 수행을 복수 회 반복함으로써 최종 반복 훈련된 부스팅 모델을 생성하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서, c) 상기 최종 반복 훈련된 부스팅 모델을 평가하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 데이터는 {X, xi, ti} 유형의 튜플 형식이고, 상기 X는 피처의 이름이고, xi는 피처의 실제 값이고, ti는 상기 실제 값 xi의 시간 성분이고, 상기 술어들은 튜플 시퀀스에 대해 논리 연산 또는 튜플 시퀀스에 대해 오퍼레이팅하는 이진 함수로서 정의되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제1항에 있어서, 상기 데이터는 다수의 환자들에 대한 전자 건강 기록 데이터를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제1항에 있어서, 상기 방법은,
    이해가능성(understandability)에 기초하여 상기 술어들을 그룹들로 분할하는 단계를 더 포함하고, 상기 그룹들은 상대적으로 인간이 이해하기 쉬운 술어들의 제1 그룹 및 상대적으로 덜 이해가능한 술어들의 제2 그룹을 포함하며, 상기 새로운 랜덤 술어들은 상기 제1 그룹으로부터 선택되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제1항에 있어서, 단계 b)의 5) 동작은 상기 부스팅 모델에 현재 존재하는 술어들을 그래픽으로 표현하고 그리고 오퍼레이터에게 상기 술어들 중 하나 이상의 술어를 제거하도록 하는 능력(ability)을 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제1항에 있어서,
    단계 b)의 6) 동작의 각각의 반복 후에 상기 부스팅 모델에 추가된 술어들의 세트를 그래픽으로 나타내는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제6항에 있어서, 단계 b)의 4) 동작에서 각각의 술어에 대해 계산된 가중치를 그래픽으로 나타내는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 제5항에 있어서, 상기 데이터는 다수의 환자들에 대한 전자 건강 기록 데이터를 포함하고, 상기 술어들의 세트는 술어의 전자 건강 기록 데이터 내에서 주제(subject matter) 또는 소스를 나타내는 방식으로 표현되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 제2항에 있어서, 상기 평가 단계 (c)는 정확성, 복잡성 또는 신뢰성 중 적어도 하나에 대해 상기 최종 반복 훈련된 부스팅 모델을 평가하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 제9항에 있어서, 상기 술어들은 다수의 환자들 내의 소정의 환자에 대한 전자 건강 기록 데이터에 피처가 존재하는지에 따라 0 또는 1의 결과를 리턴하는 존재 술어(existence predicate)를 포함하고; 그리고
    다수의 환자들 내의 소정의 환자에 대한 전자 건강 기록 데이터 내의 피처의 카운트 수에 따라 0 또는 1의 결과를 리턴하는 카운트 술어(counts predicate)를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  12. 제1항에 있어서, 단계 b)는
    오퍼레이터에 의해, 모델 훈련 동안 술어를 정의하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  13. 제1항에 있어서, 단계 b)는 중복 술어들을 제거하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  14. 제3항에 있어서,
    상기 튜플 시퀀스는 1일 이상, 1시간 이상, 1분 이상, 또는 1달 이상으로 이루어진 그룹으로부터 선택된 시간 주기에 의해 정의되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  15. 제1항에 있어서, 상기 컴퓨터로 구현되는 방법은, 단계 b) 3) 동작에서 선택된 술어들을 랭킹화화는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  16. 제1항에 있어서, 상기 컴퓨터로 구현되는 방법은, 상기 부스팅 모델에서 술어들의 통계(statistic)를 생성하고 이를 오퍼레이터에게 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  17. 다수의 환자들에 대한 전자 건강 기록 데이터로부터 예측 모델을 훈련시키는 컴퓨터로 구현되는 방법 -상기 데이터는 다수의 피처들을 포함하며, 각 피처는 실제 값들 및 시간 성분과 연관되고, 상기 데이터는 유형 {X, xi, ti}의 튜플 형식이며, 여기서 X는 피처의 이름이고, xi는 피처의 실제 값이고, ti는 실제 값 xi의 시간 성분임- 으로서, 상기 컴퓨터로 구현되는 방법은 컴퓨터의 프로세서에서 명령어들을 구현하는 단계들을 포함하며, 상기 단계들은,
    a) 다수의 술어들을 튜플 시퀀스에 대한 논리 연산 또는 튜플 시퀀스에 대해 오퍼레이팅하는 이진 함수로서 정의하는 단계;
    b) 이해가능성에 기초하여 다수의 술어들을 그룹들로 분할하는 단계 -상기 그룹들은 상대적으로 인간이 이해할 수 있는 술어들의 제1 그룹 및 상대적으로 덜 이해가능한 술어들의 제2 그룹을 포함함 -;
    c) 동작들을 수행함으로써 부스팅 모델을 반복적으로 훈련시키는 단계를 포함하며, 상기 동작들은,
    1) 술어들의 제1 그룹으로부터 다수의 새로운 랜덤 술어들을 생성하는 동작;
    2) 부스팅 모델의 예측과 관련된 클래스 레이블에 대한 가중치가 부여된 정보 게인으로 모든 새로운 랜덤 술어들을 스코어링하는 동작;
    3) 가장 가중치가 높은 정보 게인을 갖는 다수의 새로운 랜덤 술어들을 선택하고 이를 상기 부스팅 모델에 추가하는 동작;
    4) 상기 부스팅 모델의 모든 술어들에 대한 가중치를 계산하는 동작;
    5) 오퍼레이터로부터의 입력에 응답하여 상기 부스팅 모델로부터 가장 높은 정보 게인을 갖는 상기 선택된 새로운 술어들 중 하나 이상을 제거하는 동작; 그리고
    6) 동작 1), 2), 3), 4) 및 5)를 복수 회 반복함으로써 최종 반복 훈련된 부스팅 모델을 생성하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  18. 제17항에 있어서, 상기 컴퓨터로 구현되는 방법는, 상기 최종 반복 훈련된 부스팅 모델을 평가하는 단계 d)를 더 포함하는 하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  19. 기계 학습 모델을 구현하는 컴퓨팅 플랫폼으로서, 상기 컴퓨팅 플랫폼은 기계 학습 모델을 포함하며,
    상기 기계 학습 모델은 실제 값과 시간 성분을 모두 갖는 피처들의 시퀀스에 대해 오퍼레이팅하는 이진 함수로서 정의된 술어들로부터 구축된 반복 훈련된 부스팅 모델을 포함하며,
    상기 술어들은 오퍼레이터 입력으로 정의되고, 상기 반복 훈련된 부스팅 모델에 포함시키기 위한 술어들의 선택은
    상기 부스팅 모델의 반복 훈련 동안 오퍼레이터에 의해 검토 및 선택 또는 선택해제되는 것을 특징으로 하는 컴퓨팅 플랫폼.
  20. 제19항에 있어서, 상기 피처들은 전자 건강 기록 내의 피처들을 포함하는 것을 특징으로 하는 컴퓨팅 플랫폼.
  21. 부스팅 모델을 반복적으로 훈련하기 위해 오퍼레이터 입력을 제공하는 워크스테이션으로서,
    상기 워크스테이션은 상기 부스팅 모델의 예측을 하기 위해 가중치가 부여된 정보 게인을 갖는 것으로 선택된 술어들을 디스플레이하는 인터페이스를 포함하며, 상기 인터페이스는 상기 부스팅 모델의 술어들 중 하나 이상의 술어의 선택 또는 선택해제를 위한 툴을 제공하는 것을 특징으로 하는 워크스테이션.
  22. 제21항에 있어서, 상기 술어들은 피처들의 시퀀스에 대한 논리 연산, 또는 실제 값 성분 및 시간 성분을 갖는 피처들의 시퀀스에 대해 오퍼레이팅하는 이진 함수로서 정의되는 것을 특징으로 하는 워크스테이션.
  23. 제21항 또는 제22항에 있어서, 상기 인터페이스는 오퍼레이터가 술어를 정의하도록 하는 툴을 더 포함하는 것을 특징으로 하는 워크스테이션.
  24. 훈련 데이터로부터 예측 모델을 생성하는 컴퓨터로 구현되는 방법 -상기 예측 모델은, 다수의 피처들 X 각각에 대해, 복수 회(a plurality of times) 각각에서 피처의 값 x를 나타내는 입력 데이터와, 다수의 샘플들을 포함하는 훈련 데이터에 기초하여 라벨을 예측하기 위한 것이며; 각각의 샘플은 복수 회 각각에서의 하나 이상의 피처의 값 및 해당 레이블을 표시함- 으로서, 상기 방법은 프로세서와의 명령어들로서 다음 단계들을 구현하는 것을 포함하며, 상기 단계들은,
    술어들의 세트를 정의하는 단계 -각각의 술어는 피처들의 시간 시퀀스 또는 피처들의 시간 시퀀스의 로직 조합에 적용될 때 출력을 생성하는 함수임-;
    부스팅 모델을 생성하는 단계 -상기 부스팅 모델은 상기 훈련 데이터의 샘플들에 적용될 때 술어들의 세트 각각의 출력들을 입력으로서 수신함-; 그리고
    동작들의 시퀀스를 복수 회 수행하는 단계를 포함하며, 상기 동작들은,
    (i) 다수의 추가 술어들을 자동으로 생성하는 동작;
    (ii) 상기 다수의 추가 술어들을 부스팅 모델에 이미 있는 술어들에 추가하여 업데이트된 술어 세트를 형성하는 동작;
    (iii) 다수의 업데이트된 술어 세트를 디스플레이하는 동작;
    (iv) 상기 업데이트된 술어 세트에서 하나 이상의 술어를 거부(rejecting)하는 데이터 입력을 수신하는 동작; 그리고
    (v) 상기 업데이트된 술어 세트에서 거부된 하나 이상의 술어를 제거하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  25. 제24항에 있어서, 상기 다수의 추가 술어들을 자동으로 생성하는 동작 (i)은,
    (a) 의사(pseudo)-랜덤 알고리즘에 의해 후보 술어들을 생성하는 동작;
    (b) 상기 부스팅 모델에서 가중치가 부여된 정보 게인에 대한 후보 술어들을 스코어링하는 동작;
    (c) 상기 스코어링에 기초하여 상기 후보 술어들로부터 추가 술어들을 선택하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  26. 제24항에 있어서, 각 술어의 출력은 이진값인 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  27. 제24항에 있어서,
    훈련 데이터 내의 각각의 샘플은 유형 {X, xi, ti)의 튜플 포맷을 갖는 다수의 데이터 아이템들로 포맷되고, 상기 xi는 시간 ti에서 피처 X의 값을 나타내고, i는 샘플의 튜플에 레이블링(label)하며, 각각의 술어는 샘플의 다수의 데이터 아이템들에 대해 수행되는 함수인 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  28. 제24항에 있어서, 상기 훈련 데이터는 다수의 환자들에 대한 전자 건강 기록 데이터를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  29. 제24항에 있어서, 각각의 술어는 피처들 중 하나에 대응하여 관련된 샘플의 일부의 함수인 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  30. 제29항에 있어서, 상기 추가 술어들은,
    특정 횟수(C)와 동일하거나 이상이거나, 이하에서 특정 범위의 값을 갖는 특정 피처를 나타내는 카운트 술어들과,
    적어도 한 번에 특정 범위의 값을 갖는 특정 피처를 각각 나타내는 존재 술어들(existence predicates) 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  31. 제24항에 있어서,
    상기 피처들은 인간이 이해할 수 있는 카테고리들 또는 그룹들의 세트 중 하나에 각각 관련되며, 다수의 술어 세트를 디스플레이하는 동작은 각각의 카테고리 또는 그룹의 피처들에 관한 데이터의 함수인 술어들을 함께 그룹화하여 디스플레이하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  32. 제24항에 있어서, 다수의 술어 세트를 디스플레이하는 동작은 재생된(regenerated) 부스팅 모델의 각각의 가중치를 디스플레이하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  33. 제24항에 있어서, 상기 컴퓨터로 구현되는 방법은,
    훈련 데이터의 검증 서브세트를 사용하여 레이블을 예측할 때 상기 부스팅 모델의 정확성을 평가하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  34. 제1항 또는 제17항에 있어서, 단계 b)의 5) 동작에서, 상기 부스팅 모델의 예측과 인과관련이 없는 하나 이상의 술어들이 제거되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  35. 제18항에 있어서, 오퍼레이터에 의해 선택해제된 술어들은 상기 부스팅 모델의 예측과 인과관계가 없는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  36. 제22항에 있어서,
    오퍼레이터에 의해 선택해제된 술어들은 상기 부스팅 모델의 예측과 인과관계가 없는 것을 특징으로 하는 워크스테이션.
  37. 제24항에있어서, 상기 업데이트된 술어 세트에서 거부된 하나 이상의 술어는 상기 부스팅 모델의 예측과 인과관계가 없는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
KR1020197034760A 2017-08-30 2017-09-29 인간참여형(human-in-the-loop) 인터랙티브 모델 훈련 KR102368520B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762552088P 2017-08-30 2017-08-30
US62/552,088 2017-08-30
PCT/US2017/054213 WO2019045758A1 (en) 2017-08-30 2017-09-29 INTERACTIVE MODEL LEARNING WITH HUMAN INTERVENTION

Publications (2)

Publication Number Publication Date
KR20190142375A KR20190142375A (ko) 2019-12-26
KR102368520B1 true KR102368520B1 (ko) 2022-03-02

Family

ID=65525997

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197034760A KR102368520B1 (ko) 2017-08-30 2017-09-29 인간참여형(human-in-the-loop) 인터랙티브 모델 훈련

Country Status (6)

Country Link
US (1) US20210358579A1 (ko)
EP (1) EP3607502A4 (ko)
JP (1) JP6916310B2 (ko)
KR (1) KR102368520B1 (ko)
CN (1) CN110709864A (ko)
WO (1) WO2019045758A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11550970B2 (en) * 2018-11-02 2023-01-10 Wells Fargo Bank, N.A. Resolving opaqueness of complex machine learning applications
US11847424B1 (en) * 2020-03-20 2023-12-19 Amazon Technologies, Inc. Natural language generation
US11593680B2 (en) 2020-07-14 2023-02-28 International Business Machines Corporation Predictive models having decomposable hierarchical layers configured to generate interpretable results
JP2022018415A (ja) * 2020-07-15 2022-01-27 キヤノンメディカルシステムズ株式会社 医用データ処理装置及び方法
US20220027679A1 (en) * 2020-07-24 2022-01-27 Feedzai - Consultadoria E Inovação Tecnológica, S.A. Human-in-the-loop evaluation for explainable artificial intelligence
US20220114259A1 (en) * 2020-10-13 2022-04-14 International Business Machines Corporation Adversarial interpolation backdoor detection
CN113254641B (zh) * 2021-05-27 2021-11-16 中国电子科技集团公司第十五研究所 一种情报数据融合方法与装置
CN113344086B (zh) * 2021-06-16 2022-07-01 深圳市商汤科技有限公司 人机回圈方法、装置、系统、电子设备和存储介质
CN114661407B (zh) * 2022-05-20 2022-08-23 浙江简捷物联科技有限公司 一种界面配置的方法、bms和存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752152B2 (en) * 2006-03-17 2010-07-06 Microsoft Corporation Using predictive user models for language modeling on a personal device with user behavior models based on statistical modeling
US7756800B2 (en) * 2006-12-14 2010-07-13 Xerox Corporation Method for transforming data elements within a classification system based in part on input from a human annotator/expert
US9330127B2 (en) * 2007-01-04 2016-05-03 Health Care Productivity, Inc. Methods and systems for automatic selection of classification and regression trees
US20080195577A1 (en) * 2007-02-09 2008-08-14 Wei Fan Automatically and adaptively determining execution plans for queries with parameter markers
US8533224B2 (en) * 2011-05-04 2013-09-10 Google Inc. Assessing accuracy of trained predictive models
US9582490B2 (en) * 2013-07-12 2017-02-28 Microsoft Technolog Licensing, LLC Active labeling for computer-human interactive learning
US10452992B2 (en) * 2014-06-30 2019-10-22 Amazon Technologies, Inc. Interactive interfaces for machine learning model evaluations
US10318882B2 (en) * 2014-09-11 2019-06-11 Amazon Technologies, Inc. Optimized training of linear machine learning models
CN104361396A (zh) * 2014-12-01 2015-02-18 中国矿业大学 基于马尔可夫逻辑网的关联规则迁移学习方法
CN104503908A (zh) * 2014-12-17 2015-04-08 西北工业大学 基于谓词频率统计的软件故障定位方法
CN110019658B (zh) * 2017-07-31 2023-01-20 腾讯科技(深圳)有限公司 检索项的生成方法及相关装置

Also Published As

Publication number Publication date
EP3607502A4 (en) 2021-01-13
KR20190142375A (ko) 2019-12-26
WO2019045758A1 (en) 2019-03-07
US20210358579A1 (en) 2021-11-18
JP6916310B2 (ja) 2021-08-11
EP3607502A1 (en) 2020-02-12
JP2020529058A (ja) 2020-10-01
CN110709864A (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
KR102368520B1 (ko) 인간참여형(human-in-the-loop) 인터랙티브 모델 훈련
US10614196B2 (en) System for automated analysis of clinical text for pharmacovigilance
Halpern et al. Using anchors to estimate clinical state without labeled data
US20120271612A1 (en) Predictive modeling
US11748384B2 (en) Determining an association rule
CN111066033A (zh) 用于生成模糊结果的标签的机器学习方法
Pokharel et al. Temporal tree representation for similarity computation between medical patients
EP3458986A1 (en) Clinical report retrieval and/or comparison
US20180322942A1 (en) Medical protocol evaluation
Ma et al. Using the shapes of clinical data trajectories to predict mortality in ICUs
US11791048B2 (en) Machine-learning-based healthcare system
Batool et al. Predicting hospital no-shows using machine learning
Ahmed et al. A proposed framework for detecting and predicting diseases through business intelligence applications
US11714964B2 (en) Text processing method and apparatus
Jones et al. Learning tasks of pediatric providers from electronic health record audit logs
Lee et al. Multi-site best practice discovery: from free text to standardized concepts to clinical decisions
Lopatka et al. Classification and Prediction of Diabetes Disease Using Modified k-neighbors Method
Roberts et al. Machine Learning for Enhanced Healthcare: An overview for operational and clinical leads
US20180322959A1 (en) Identification of low-efficacy patient population
Bhadouria et al. Machine learning model for healthcare investments predicting the length of stay in a hospital & mortality rate
Haas et al. Rule-Based Models for Risk Estimation and Analysis of In-hospital Mortality in Emergency and Critical Care
Ramu et al. Diabetic Disease Prediction System using Supervised Machine Learning Approaches
Dabek Analysis of Irregular Event Sequences in Healthcare Using Deep Learning, Reinforcement Learning, and Visualization
Ponnoprat et al. Developing A Visual-Interactive Interface for Electronic Health Record Labeling: An Explainable Machine Learning Approach
Sinha et al. CARDPSoML: Comparative approach to analyze and predict cardiovascular disease based on medical report data and feature fusion approach

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant