KR20170132842A - 순환 신경망들을 사용하는 건강 이벤트들의 분석 - Google Patents

순환 신경망들을 사용하는 건강 이벤트들의 분석 Download PDF

Info

Publication number
KR20170132842A
KR20170132842A KR1020177031387A KR20177031387A KR20170132842A KR 20170132842 A KR20170132842 A KR 20170132842A KR 1020177031387 A KR1020177031387 A KR 1020177031387A KR 20177031387 A KR20177031387 A KR 20177031387A KR 20170132842 A KR20170132842 A KR 20170132842A
Authority
KR
South Korea
Prior art keywords
health
temporal sequence
neural network
events
time step
Prior art date
Application number
KR1020177031387A
Other languages
English (en)
Other versions
KR101991918B1 (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 KR20170132842A publication Critical patent/KR20170132842A/ko
Application granted granted Critical
Publication of KR101991918B1 publication Critical patent/KR101991918B1/ko

Links

Images

Classifications

    • 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/30ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment
    • G06F19/345
    • G06F19/3431
    • 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
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • 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

Abstract

순환 신경망들을 사용하여 건강 이벤트들을 분석하는, 방법들, 시스템들, 및 컴퓨터 저장 매체 상에 인코드된 컴퓨터 프로그램들을 포함하는 장치. 방법들 중 하나는 건강 이벤트들의 제 1 시간적 순차를 획득하는 단계 - 제 1 시간적 순차는 복수의 시간 단계들 각각에서 특정한 환자와 관련된 각각의 건강-관련 데이터를 포함함 -; 순환 신경망을 사용하여 건강 이벤트들의 제 1 시간적 순차를 처리하여 제 1 시간적 순차에 대한 신경망 출력을 발생하는 단계; 및 제 1 시간적 순차에 대한 신경망 출력으로부터, 시간적 순차에서 마지막 시간 단계 이후에 발생할 수 있는 미래의 건강 이벤트들을 특징짓는 건강 분석 데이터를 발생하는 단계를 포함한다.

Description

순환 신경망들을 사용하는 건강 이벤트들의 분석
본 명세서는 순환 신경망들을 사용하여 건강 이벤트들을 분석하는 것에 관한 것이다.
신경망들은 수신된 입력에 대한 출력을 예측하기 위해 비선형 유닛들 중 하나 이상의 층들을 이용하는 머신 러닝 모델들이다. 일부 신경망들은 출력 층 외에 하나 이상의 숨겨진 층들을 포함한다. 각각의 숨겨진 층의 출력은 망 내의 다음의 층, 즉, 다음의 숨겨진 층 또는 출력 층에의 입력으로서 사용된다. 망의 각각의 층은 파라미터들의 각각의 세트의 현재의 값들에 따라 수신된 입력으로부터 출력을 발생한다.
일부 신경망들은 순환 신경망들이다. 순환 신경망은 입력 순차를 수신하고 입력 순차로부터 출력 순차를 발생하는 신경망이다. 특히, 순환 신경망은 현재의 시간 단계에서 출력을 계산하는 데 이전의 시간 단계로부터의 망의 내부 상태의 일부 또는 모두를 사용할 수 있다.
일반적으로, 본 명세서에 설명된 주제의 하나의 혁신적 양태는 건강 이벤트들의 제 1 시간적 순차를 획득하는 단계 - 상기 제 1 시간적 순차는 복수의 시간 단계들 각각에서 특정한 환자와 관련된 각각의 건강-관련 데이터를 포함함 -; 순환 신경망을 사용하여 건강 이벤트들의 상기 제 1 시간적 순차를 처리하여 상기 제 1 시간적 순차에 대한 신경망 출력을 발생하는 단계; 및 상기 제 1 시간적 순차에 대한 상기 신경망 출력으로부터, 상기 시간적 순차에서 마지막 시간 단계 이후에 발생할 수 있는 미래의 건강 이벤트들을 특징짓는 건강 분석 데이터를 발생하는 단계를 포함하는 방법들에서 실시될 수 있다.
상기 시간 단계들 중 하나 이상에 대해, 상기 시간 단계에서의 상기 건강-관련 데이터는 토큰들의 미리 결정된 어휘로부터의 각각의 토큰일 수 있다. 상기 어휘 내의 각각의 토큰은 상이한 건강 이벤트를 나타낼 수 있다. 상기 시간 단계들 중 하나 이상에 대해, 상기 시간 단계에서의 상기 건강-관련 데이터는 상기 특정한 환자의 건강에 영향을 주는 것으로 분류된 다른 건강-관련 데이터일 수 있다.
상기 제 1 시간적 순차를 획득하는 단계는 상기 특정한 환자에 대한 전자 의료 기록에 액세스하는 단계; 상기 전자 의료 기록 내의 건강 이벤트들을 식별하는 단계; 상기 전자 의료 기록에서 식별된 각각의 건강 이벤트에 대해, 상기 건강 이벤트들 나타내는 상기 어휘 내의 토큰을 결정하는 단계; 및 대응하는 건강 이벤트들이 발생한 시간에 따라 정렬된 식별된 건강 이벤트들을 나타내는 상기 토큰들을 포함하는 시간적 순차를 발생하는 단계를 포함할 수 있다.
상기 순환 신경망은 상기 제 1 시간적 순차에서 마지막 시간 단계에 대한 망 내부 상태를 발생하기 위해 상기 제 1 시간적 순차를 총체적으로 처리하도록 트레인된 하나 이상의 순환 신경망 층들을 포함할 수 있다. 상기 순환 신경망은 복수의 가능한 건강 이벤트들 각각에 대한 각각의 스코어를 포함하는 신경망 출력을 발생하기 위해 상기 마지막 시간 단계에 대한 상기 망 내부 상태를 처리하도록 트레인된 출력 층을 더 포함할 수 있다. 상기 가능한 건강 이벤트들 각각에 대한 상기 각각의 스코어는 상기 가능한 건강 이벤트가 상기 제 1 시간적 순차에서 상기 마지막 시간 단계에 후속하는 시간 단계에서의 건강 이벤트일 가능성을 나타낼 수 있다.
상기 건강 분석 데이터를 발생하는 단계는 상기 각각의 스코어들을 사용하여 하나 이상의 최고-스코어링 건강 이벤트들을 식별하는 데이터를 발생하는 단계를 포함할 수 있다.
상기 순환 신경망은 복수의 로지스틱 회귀 노드들을 더 포함할 수 있다. 상기 로지스틱 회귀 노드들 각각은 조건들의 미리 결정된 세트로부터의 각각의 건강-관련 조건에 대응할 수 있다. 각각의 로지스틱 회귀 노드는 상기 대응하는 조건에 대한 미래의 조건 스코어를 발생하기 위해 상기 마지막 시간 단계에 대한 상기 망 내부 상태를 처리하도록 트레인될 수 있다. 상기 조건들 각각에 대한 상기 미래의 조건 스코어는 상기 건강-관련 조건이 상기 시간 단계에서의 상기 건강 이벤트의 지정된 시간 기간 내에 만족될 가능성을 나타낼 수 있다.
상기 건강 분석 데이터를 발생하는 단계는 조건들의 상기 미리 결정된 세트 내의 상기 조건들에 대한 가능성들을 식별하는 데이터를 발생하는 단계를 포함할 수 있다.
추가의 건강 이벤트를 식별하는 데이터가 획득될 수 있다. 상기 제 1 시간적 순차의 상기 마지막 시간 단계 이후에 상기 추가의 건강 이벤트를 식별하는 상기 데이터를 추가함으로써 상기 제 1 시간적 순차로부터 수정된 시간적 순차가 발생될 수 있다. 상기 수정된 시간적 순차에 대한 미래의 조건 스코어들을 발생하기 위해 상기 수정된 시간적 순차가 상기 순환 신경망을 사용하여 처리될 수 있다. 상기 제 1 시간적 순차에 대한 미래의 조건 스코어들과 상기 수정된 시간적 순차에 대한 미래의 조건 스코어들 간의 변화들이 결정될 수 있다. 상기 건강 분석 데이터는 상기 변화들을 식별하는 데이터를 포함할 수 있다.
상기 건강 분석 데이터가 사용자에게 제시하기 위해 제공될 수 있다.
본 양태의 다른 실시예들은 상기 방법들의 액션들을 수행하도록 각각 구성된, 대응하는 컴퓨터 시스템들, 장치들, 및 하나 이상의 컴퓨터 저장 디바이스들 상에 기록된 컴퓨터 프로그램들을 포함한다.
하나 이상의 컴퓨터들의 시스템은 동작 시 시스템으로 하여금 액션들을 수행하게 하는 시스템 상에 설치된 소프트웨어, 펌웨어, 하드웨어, 또는 그들의 조합을 갖는 것에 의해 특정한 동작들 또는 액션들을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램들은 데이터 처리 장치에 의해 실행될 때, 장치로 하여금 액션들을 수행하게 하는 명령어들을 포함하는 것에 의해 특정한 동작들 또는 액션들을 수행하도록 구성될 수 있다.
상기 및 다른 실시 예들은 각각 다음의 특징들 중 하나 이상을 단독으로 또는 조합하여 선택적으로 포함할 수 있다.
본 명세서에 설명된 주제의 특정한 실시 예들이 다음의 장점들 중 하나 이상을 실현하도록 구현될 수 있다. 순환 신경망은 건강 이벤트들의 순차, 예를 들어, 현재의 환자의 전자 의료 기록으로부터 도출된 건강 이벤트들의 순차를 분석하기 위해 효과적으로 사용될 수 있다. 순환 신경망은 이벤트들이 순환 신경망에의 가능한 입력들의 세트 내에 포함되지 않아도, 시간적 순차 내의 가장 최근의 이벤트의 지정된 시간 기간 내에 이벤트들이 발생할 가능성들을 예측하기 위해 효과적으로 사용될 수 있다. 순환 신경망 내부 상태들은 현재의 환자와 관련되어질 수 있는 미래의 건강 이벤트들의 전조가 되는 건강 이벤트들을 포함할 수 있는 다른 환자들에 대응하는 다른 시간적 순차를 식별하기 위해 효과적으로 사용될 수 있다. 그러므로 본 주제의 실시 예들은 건강 이벤트들의 시간적 순차들을 처리하는 개선된 시스템들 및 방법들을 제공한다.
의사 또는 다른 건강관리 전문가와 같은 사용자는 순환 신경망의 출력 또는 순환 신경망에 의해 발생된 출력들로부터 도출된 출력들을 특징짓는 정보를 제공받을 수 있어서, 건강관리 전문가가 그 전문가의 환자들에게 질적 건강관리를 제공하는 능력을 개선시킨다. 예를 들어, 건강관리 전문가는 현재의 환자와 관련되어질 수 있는 미래의 건강 이벤트들, 예를 들어, 다음의 건강 이벤트가 그 환자에 관련될 가능성이 있는 건강 이벤트들 또는 순차에서 가장 최근의 이벤트의 지정된 시간 기간 내에 발생하는 이벤트들에 의해 소정의 조건들이 만족될 가능성들에 관한 유용한 정보를 제공받을 수 있다. 부가적으로, 건강관리 전문가는 이벤트들 발생할 가능성들에 미치는 제안된 치료의 잠재적 영향을 식별하는, 예를 들어, 제안된 치료가 바람직하지 않은 건강-관련 조건이 미래에 환자에게 만족되는지의 가능성을 감소 또는 증가시킬 수 있는지에 관한 정보를 제공받을 수 있다. 부가적으로, 건강관리 전문가는 그 건강관리 기록들이 현재의 환자와 유사한 그들의 이력 내의 한 점에 있었던 환자들의 건강관리 기록들을 제공받을 수 있거나 그들 환자들의 건강관리 결과들의 요약을 제공받을 수 있다. 부가적으로, 일부 경우들에서, 건강관리 전문가가 취하기를 제안한 조치가 그 환자의 미래의 예측된 결과들에 상당한 위험 증가를 야기하는 경우에 트리거되는 경보가 건강관리 전문가에게 발생될 수 있다. 부가적으로, 순환 신경망을 포함하는 건강관리 분석 시스템이 표준 의료 실행을 체계화하고, 치료 및 결과들에서 패턴들을 발견하고, 기존의 의료 기술들 또는 건강관리 시스템들을 분석하고, 또는 신규한 추천들을 하거나 과학적 발견들을 용이하게 하기 위해 사용될 수 있다.
본 명세서의 주제의 하나 이상의 실시 예들의 상세들이 첨부 도면들 및 아래의 설명에서 기술된다. 본 주제의 다른 특징들, 양태들, 및 장점들이 설명, 도면, 및 청구범위로부터 분명해질 것이다.
도 1은 예시적인 건강관리 분석 시스템을 도시한다.
도 2는 시간적 순차에 대한 건강 이벤트 데이터를 발생하는 예시적인 과정의 흐름도이다.
도 3은 다음의 입력 스코어들로부터 시간적 순차에 대한 건강 분석 데이터를 발생하는 예시적인 과정의 흐름도이다.
도 4는 망 내부 상태로부터 시간적 순차에 대한 건강 이벤트 데이터를 발생하는 예시적인 과정의 흐름도이다.
도 5는 미래의 조건 스코어들로부터 시간적 순차에 대한 건강 이벤트 데이터를 발생하는 예시적인 과정의 흐름도이다.
도 6은 미래의 조건 스코어들에 미치는 시간적 순차에 이벤트를 부가하는 영향을 결정하는 예시적인 과정의 흐름도이다.
도 7은 미래의 조건 스코어들을 발생하도록 구성된 예시적인 순환 신경망을 도시한다.
도 8은 주어진 시간 단계에 대한 미래의 조건 스코어들을 발생하는 예시적인 과정의 흐름도이다.
도 9는 미래의 조건 스코어들을 발생하기 위해 순환 신경망을 트레인하는 예시적인 과정의 흐름도이다.
다양한 도면들 내의 유사한 참조 번호들 및 지정들은 유사한 요소들을 표시한다.
본 명세서는 일반적으로 순환 신경망을 사용하여 다수의 건강 이벤트들을 식별하는 데이터를 포함하는 시간적 순차로부터 건강 분석 데이터를 발생할 수 있는 시스템을 설명한다.
도 1은 예시적인 건강관리 분석 시스템(100)을 도시한다. 건강관리 분석 시스템(100)은 아래에 설명되는 시스템들, 소자들, 및 기술들이 구현될 수 있는, 하나 이상의 위치들에 있는 하나 이상의 컴퓨터들 상의 컴퓨터 프로그램들로서 구현되는 시스템의 예이다.
건강 분석 시스템(100)은 시간적 순차들을 수신하고 순환 신경망(110)을 사용하여 시간적 순차들을 처리함으로써 수신된 시간적 순차들로부터 건강 분석 데이터를 발생한다. 예를 들어, 건강관리 분석 시스템(100)은 시간적 순차(102)를 수신하여 시간적 순차(102)로부터 건강 분석 데이터(122)를 발생할 수 있다.
시간적 순차들은 건강-관련 데이터, 예를 들어, 다수의 시간 단계들 각각에서, 건강 이벤트들을 식별하는 데이터를 포함하는 순차들이다. 각각의 시간적 순차는 주어진 환자와 관련된 건강-관련 데이터를 포함하고, 시간적 순차에서 건강-관련 데이터에 의해 식별된 건강 이벤트들은 시간에 따라 정렬되므로, 가장 최근에 발생한 건강 이벤트는 순차에서 마지막 시간 단계에서의 건강 이벤트이다.
일부 구현들에서, 시간적 순차 발생 시스템(104)은 대응하는 환자에 대한 전자 의료 기록으로부터 시간적 순차(102)를 발생한다. 전자 의료 기록은 대응하는 환자에 대한 건강 정보의 전자적 수집이다. 예를 들어, 시간적 순차 발생 시스템은 전자 의료 기록 저장소(106)로부터 환자에 대한 전자 의료 기록을 획득하고 전자 의료 기록에서 건강 이벤트들을 식별하고 건강 이벤트들을 시간에 따라 정렬함으로써 전자 의료 기록으로부터 시간적 순차(102)를 발생할 수 있다. 특히, 시간적 순차(102)는 다수의 시간 단계들 각각에서의 토큰들의 순차를 포함할 수 있고, 각각의 토큰은 전자 의료 기록에서 식별된 건강 이벤트를 나타낸다. 일부 구현들에서, 시간적 순차 발생 시스템은 시간적 순차(102)에서 건강 이벤트를 식별하는 데이터에 건강 이벤트가 발생한 시간을 식별하는 데이터를 부가할 수 있다.
일반적으로, 건강관리 분석 시스템(100)에 의해 수신된 시간적 순차들에서 식별된 건강 이벤트들은 그 각각이 토큰들의 미리 결정된 어휘로부터의 토근에 의해 나타내지는, 증상들, 검사들, 검사 결과들, 진단들, 치료들, 결과들 등 중 하나 이상을 포함할 수 있다. 선택적으로, 각각의 토큰은 건강 이벤트가 시간적 순차에서 발생한 시간을 식별하는 데이터와 조합된다. 부가적으로, 일부 경우들에서, 시간적 순차는 어휘로부터의 토큰들에 의해 식별된 것들 이외의 건강 이벤트들을 식별할 수 있다. 예를 들어, 일부 구현들에서, 시간적 순차들 내의 건강 이벤트들은 또한 건강-관련 영상들, 예를 들어, X-레이 또는 다른 진단 영상들, 건강-관련 전자 문서들, 예를 들어, 예약 동안 의사에 의해 작성된 자유 형태 노트들, 또는 둘 다를 포함할 수 있다.
또한 선택적으로, 건강-관련 데이터는 환자의 건강에 영향을 주는 것으로 분류될 수 있는 다른 건강-관련 데이터를 포함할 수 있다. 예를 들어, 다른 데이터는 환자의 디바이스들, 예를 들어, 활동 추적 디바이스들 또는 모바일 디바이스들 상에서 실행하는 활동 추적 애플리케이션들에 의해 수집된 환자의 활동 또는 다른 건강-관련 데이터를 특징짓는 데이터를 포함할 수 있다. 예를 들어, 활동 데이터는 특정한 날에 환자가 이동한 거리들, 환자가 참여한 운동 또는 다른 휘트니스 활동, 환자가 먹은 식사들 등을 식별하는 데이터를 포함할 수 있다. 다른 건강-관련 데이터는 또한 환자의 건강에 영향을 주는 것으로 고려될 수 있는 다른 데이터, 예를 들어, 환자에 대한 처방 이행 데이터 또는 환자에 의해 이루어진 구매들을 식별하는 데이터를 포함할 수 있다.
건강관리 분석 시스템(100)은 순환 신경망(110)을 사용하여 시간적 순차(102)를 처리하여 시간적 순차(102)에 대한 망 출력을 발생한다. 건강관리 분석 시스템(100)은 또한 시간적 순차(102)에 대한 망 출력을 수신하고 망 출력으로부터 시간적 순차(102)에 대한 분석 데이터(122)를 발생하는 건강관리 분석 엔진(120)을 포함한다.
일반적으로, 시간적 순차(102)에 대한 망 출력은 다음의 입력 스코어들(112)의 세트, 미래의 조건 스코어들(114)의 세트, 또는 순환 신경망(110)의 망 내부 상태(116) 중 하나 이상을 포함한다.
순환 신경망(110)은 주어진 입력 시간적 순차의 각각의 시간 단계에 대해, 망 내부 상태를 발생하는 하나 이상의 순환 신경망 층들을 포함한다. 일부 구현들에서, 순환 신경망(110)은 망 내부 상태를 수신하고 시간 단계에 대한 망 출력을 발생하기 위해 망 내부 상태를 처리하는, 출력 층, 로지스틱 회귀 노드들의 세트, 또는 이 둘 다를 또한 포함한다. 부가적으로, 일부 구현들에서, 순환 신경망은 또한 하나 이상의 다른 종류들의 신경망 층들, 예를 들어, 피드포어드 층들, 예를 들어, 완전 접속된 층들, 콘볼류셔널 층들, 풀링 층들, 규칙화 층들 등을 포함할 수 있다.
특히, 순환 신경망 층들 각각은 시간 단계에 대한 층 입력을 수신하고 시간 단계에 대한 층의 층 내부 상태를 계산하도록 구성된다. 순환 신경망 층은 층의 파라미터들의 세트의 현재의 값들에 따라 선행하는 시간 단계에 대한 층의 층 내부 상태 및 현재의 시간 단계에 대한 층 입력으로부터 현재의 시간 단계에 대한 층 내부 상태를 계산한다. 일부 구현들에서, 순환 신경망 층들 중 하나 이상은 시간 단계에 대한 층 내부 상태, 예를 들어, 다른 이전의 시간 단계들로부터의 층에 대한 내부 상태들, 다른 순환 층들에 대한 현재의 시간 단계에 대한 또는 이전의 시간 단계들에 대한 내부 상태들을 계산하는 데 다른 내부 상태들을 또한 사용하도록 구성된다. 현재의 시간 단계가 순차에서 제 1 시간 단계이면, 선행하는 시간 단계에 대한 층 내부 상태는 예를 들어, 시스템 관리자에 의해 지정되거나 건강관리 분석 시스템(100)에 의해 발생된 것과 같은 초기의 층 내부 상태이다.
순환 신경망(110) 내에 단지 하나의 순환 신경망 층이 있으면, 주어진 시간 단계에 대한 망 내부 상태는 시간 단계에 대한 순환 신경망 층의 층 내부 상태이다.
순환 신경망(110) 내에 다수의 순환 신경망 층들이 있으면, 층들은 순차에 서 최저 층으로부터 순차에서 최고 층까지 순차적으로 배열되고 시간 단계에 대한 망 내부 상태를 계산하기 위해 시간 단계에서 건강 이벤트를 총체적으로 처리한다. 순환 신경망(100) 내에 다른 타입들의 신경망 층들이 있으면, 다른 신경망 층들은 순차에서 다양한 위치들에, 예들 들어, 제 1 순환 층 전에, 2개의 순한 층들 사이에, 순환 층들의 모두 다음에, 또는 이들의 일부 조합으로 배치될 수 있다. 주어진 시간 단계에 대해, 순환 신경망(110)은 순차에서 층 위의 순환 신경망 층에 대한 층 입력으로서 각각의 순환 신경망 층으로부터 층 내부 상태를 제공할 수 있다. 일부 구현들에서, 순환 신경망 층들 중 하나 이상은 순환 층 아래의 층 이외의 순차에서 하나 이상의 다른 층들로부터 입력을 또한 수신하도록 구성된다.
일부 구현들에서, 순차 내의 층들 중 하나 이상은 시간 단계들의 서브세트에서, 예를 들어, 제 1 시간 단계에서, 또는 각각의 시간 단계에서, 층에 대한 층 입력의 부분으로서, 글로벌 입력, 퍼-기록(per-record) 입력, 또는 둘 다를 수신하도록 구성될 수 있다. 글로벌 입력들은 순환 신경망(110)에 의해 처리되고 있는 현재의 시간적 순차에 의존하지 않는 입력들이다. 글로벌 입력의 한 예는 연의 현재 시간, 예를 들어, 현재 날짜를 특징짓는 데이터이다. 퍼-기록 입력들은 상이한 시간적 순차들에 대해 상이할 수 있는 입력들이다. 퍼-기록 입력들의 예들은 현재의 시간적 순차와 관련된 환자의 유전적 순차 또는 환자를 특징짓는 다른 정보, 예를 들어, 환자에 대한 인구통계학적 정보를 포함할 수 있다.
일부 구현들에서, 다수의 순환 신경망 층들이 있으면, 시간 단계에 대한 망 내부 상태는 시간 단계에 대한 순차에서 최고 층의 층 내부 상태이다. 일부 다른 구현들에서, 건강관리 분석 시스템(100)은 시간 단계에 대한 망 내부 상태를 발생하기 위해 시간 단계에 대한 층 내부 상태들을 조합한다. 예를 들어, 건강관리 분석 시스템(100)은 층 내부 상태들의 합, 곱, 또는 평균을 계산할 수 있거나 망 내부 상태를 발생하기 위해 층 내부 상태들을 연쇄시킬 수 있다.
일부 구현들에서, 순환 신경망 층들은 장단기 메모리(LSTM) 층들이다. 각각의 LSTM 층은 하나 이상의 LSTM 메모리 블록들을 포함한다. 각각의 LSTM 메모리 블록은 셀이 예를 들어, 현재의 활성화를 발생하는 데 사용하기 위한, 셀에 대한 이전의 상태들을 저장하게 하거나 LSTM 신경망의 다른 소자들에 제공되게 하는 입력 게이트, 포겟 게이트, 및 출력 게이트를 각각 포함하는 하나 이상의 셀들을 포함할 수 있다.
순환 신경망(110)이 출력 층을 포함하는 구현들에서, 출력 층은 시간 단계들 각각에 대해, 시간 단계에 대한 망 내부 상태를 수신하고 시간 단계에 대한 다음의 입력 스코어들의 세트를 발생하도록 구성된다. 시간 단계에 대한 다음의 입력 스코어들의 세트는 토큰들의 어휘 내의 토큰에 의해 나타내진 각각의 건강 이벤트에 대한 각각의 스코어를 포함한다. 순환 신경망(110)이 트레인되었을 때, 주어진 건강 이벤트에 대한 다음의 입력 스코어는 건강 이벤트가 시간적 순차에서 다음의 건강 이벤트일 가능성을 나타낸다. 그러므로, 순환 신경망(110)이 출력 층을 포함할 때, 순환 신경망(110)은 주어진 입력 시간적 순차의 각각의 시간 단계에 대해, 미래의 건강 이벤트들, 즉, 시간적 순차에서 다음의 시간 단계에서의 건강 이벤트를 예측하도록 트레인된 망이다. 순환 신경망(110)은 종래의 머신 러닝 트레이닝 기술들, 예를 들어, 시간 트레이닝 기술을 통한 역전파를 사용하여 트레이닝 순차들 상에서 트레인될 수 있다.
이들 구현들에서, 시간적 순차(102)에 대한 다음의 입력 스코어들(112)은 시간적 순차(102)에서 마지막 시간 단계에 대한 출력 층에 의해 발생된 다음의 입력 스코어들이다.
순환 신경망(110)이 로지스틱 회귀 노드들의 세트를 포함하는 구현들에서, 로지스틱 회귀 노드들의 세트는 각각의 시간 단계에서, 시간 단계에 대한 망 내부 상태를 수신하고 시간 단계에 대한 미래의 조건 스코어들의 세트를 발생하도록 구성된다. 미래의 조건 스코어들의 세트는 조건들의 미리 결정된 세트 내의 각각의 조건에 대한 각각의 스코어를 포함한다. 주어진 조건에 대한 스코어는 조건이 현재의 시간 단계에서 건강 이벤트의 지정된 시간 기간 내에 만족될 가능성을 나타낸다.
조건들은 이벤트의 발생에 의해, 예를 들어, 어휘 내의 토큰에 의해 나타내진 건강 이벤트의 발생에 의해 만족되는 조건들을 포함할 수 있다. 일부 경우들에서, 어휘 내의 토큰에 의해 나타내진 이벤트의 발생에 의해 만족된 조건들을 포함하는 것에 부가하여 또는 그 대신에, 조건들의 미리 결정된 세트 내의 조건들은 어휘 내의 토큰들에 의해 나타내지지 않은, 즉, 순환 신경망(110)에 의해 처리된 시간적 순차들 내에 포함된 가능한 건강 이벤트들이 아닌 이벤트들이 현재의 시간 단계에서 건강 이벤트의 지정된 시간 기간 내에 발생할 때 만족되는 조건들을 또한 포함할 수 있다. 그러므로, 미리 결정된 조건들의 세트 내의 조건들을 만족시킬 수 있는 이벤트들이 토큰들에 의해 나타내진 이벤트들과 중첩할 수 있지만, 조건들의 세트는 또한 세트 내에 있지 않은 다른 이벤트들의 발생에 의해 만족되는 조건들을 포함할 수 있다.
로지스틱 회귀 노드들의 세트를 포함하는 순환 신경망이 도 7 및 도 8을 참조하여 보다 상세히 설명된다. 조건들이 만족될 가능성을 예측하기 위해 순환 신경망을 트레인하는 것이 도 9를 참조하여 아래에 보다 상세히 설명된다.
이들 구현들에서, 시간적 순차(102)에 대한 조건 스코어들(114)은 시간적 순차(102)에서 마지막 시간 단계에 대한 로지스틱 회귀 노드들에 의해 발생된 미래의 조건 스코어들이다.
망 내부 상태(116)가 시간적 순차(102)에 대한 망 출력 내에 포함되는 구현들에서, 시간적 순차(102)에 대한 망 내부 상태(116)는 순차에서 마지막 시간 단계에 대한 순환 신경망(110)에 의해 발생된 망 내부 상태 또는 순차 내의 다수의 시간 단계들에 대한 순환 신경망(110)에 의해 발생된 망 내부 상태들의 조합, 예를 들어, 망 내부 상태들의 가중된 합, 곱, 또는 연쇄이다.
건강관리 분석 엔진(120)은 시간적 순차(122)에 대한 망 출력을 수신하고 시간적 순차(102)에 대한 건강 분석 데이터(122)를 발생하고 사용자, 예를 들어, 시간적 순차(102)에 대응하는 환자를 치료하는 의사에게 제시하기 위한 건강 분석 데이터(122)를 제공한다. 일반적으로, 건강 분석 데이터(122)는 시간적 순차(102)와 관련될 수 있는 미래의 이벤트들, 즉, 시간적 순차(102)에서 현재의 마지막 건강 이벤트 이후에 발생할 수 있는 건강 이벤트들 또는 다른 이벤트들을 특징짓는 데이터이다.
시간적 순차(102)에 대한 신경망 출력이 다음의 입력 스코어들(112)을 포함하는 구현들에서, 건강관리 분석 엔진(120)은 시간적 순차(102)에서 다음에 발생할 수 있는 건강 이벤트들을 식별하는 건강 분석 데이터(122)를 발생한다. 다음의 입력 스코어들로부터 시간적 순차에 대한 건강 분석 데이터를 발생하는 것이 도 3을 참조하여 아래에 보다 상세히 설명된다.
시간적 순차(102)에 대한 신경망 출력이 망 내부 상태(116)를 포함하는 구현들에서, 건강관리 분석 엔진(120)은 시간적 순차(102)에서 미래의 이벤트들의 전조로 될 것 같은 다른 시간적 순차들로부터 건강 이벤트들을 식별하는 건강 분석 데이터(122)를 발생한다. 특히, 건강관리 분석 엔진(120)은 내부 상태 저장소(130) 내에 저장된 내부 상태들로부터 망 내부 상태(116)와 유사한 내부 상태들을 식별하고 이 유사한 내부 상태들을 사용하여 시간적 순차(102)에서 미래의 이벤트들의 전조로 될 것 같은 다른 시간적 순차들로부터 건강 이벤트들을 결정한다. 내부 상태 저장소(130)는 다양한 시간적 순차들 내의 다양한 시간 단계들에서 발생된 망 내부 상태들을 저장하고 각각의 망 내부 상태를 망 내부 상태가 발생된 시간 단계 및 시간적 순차를 식별하는 데이터와 관련시킨다. 망 내부 상태로부터 시간적 순차에 대한 건강 분석 데이터를 발생하는 것이 도 4을 참조하여 아래에 보다 상세히 설명된다.
시간적 순차(102)에 대한 신경망 출력이 미래의 조건 스코어들(114)을 포함하는 구현들에서, 건강 분석 엔진(120)은 조건들에 대한 스코어를 특징짓는 건강 분석 데이터(122)를 발생한다. 미래의 건강 조건 스코어들로부터 시간적 순차에 대한 건강 분석 데이터를 발생하는 것이 도 5를 참조하여 아래에 보다 상세히 설명된다.
도 2는 시간적 순차에 대한 건강 이벤트 데이터를 발생하는 예시적인 과정(200)의 흐름도이다. 편의상, 과정(200)은 하나 이상의 위치들에 배치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 신경망 트레이닝 시스템, 예를 들어, 적절히 프로그램된, 도 1의 건강관리 분석 시스템(100)은 과정(200)을 수행할 수 있다.
시스템은 입력 시간적 순차를 수신한다(단계 202). 시간적 순차는 다수의 시간 단계들 각각에서 각각의 건강 이벤트를 식별하는 데이터를 포함한다. 일부 구현들에서, 시간적 순차는 전자 의료 기록으로부터 도출되고 다수의 시간 단계들 각각에서 전자 의료 기록으로부터 각각의 건강 이벤트를 식별하는 데이터를 포함한다. 순차 내의 건강 이벤트들은 가장 최근에 발생한 건강 이벤트가 순차에서 마지막 시간 단계에서의 건강 이벤트이도록, 시간에 따라 정렬될 수 있다.
시스템은 순환 신경망, 예를 들어, 도 1의 순환 신경망(110)을 사용하여 입력 시간적 순차를 처리하여, 입력 시간적 순차에 대한 신경망 출력을 발생한다(단계 204).
순환 신경망의 구현 및 아키텍처에 따라, 입력 시간적 순차를 처리함으로써 순환 신경망에 의해 발생된 신경망 출력은 다음의 입력 스코어들, 미래의 조건 스코어들, 또는 망 내부 상태를 포함할 수 있다.
시스템은 신경망 출력으로부터 시간적 순차에 대한 건강 분석 데이터를 발생한다(단계 206). 위에 설명된 바와 같이, 건강 분석 데이터는 순환 신경망에 의해 발생된 신경망 출력의 종류에 의존한다.
도 3은 다음의 입력 스코어들로부터 시간적 순차에 대한 건강 분석 데이터를 발생하는 예시적인 과정(300)의 흐름도이다. 편의상, 과정(300)은 하나 이상의 위치들에 배치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 신경망 트레이닝 시스템, 예를 들어, 적절히 프로그램된, 도 1의 건강관리 분석 시스템(100)은 과정(300)을 수행할 수 있다.
시스템은 입력 시간적 순차를 수신한다(단계 302).
시스템은 순환 신경망을 사용하여 입력 시간적 순차를 처리하여 입력 시간적 순차에 대한 다음의 입력 스코어들을 발생한다(단계 304). 순환 신경망은 하나 이상의 순환 신경망 층들 및 시간적 순차 내의 각각의 시간 단계에 대해, 시간 단계에 대한 순환 신경망 층들에 의해 발생된 망 내부 상태를 수신하고 시간 단계에 대한 다음의 입력 스코어들의 세트를 발생하도록 구성된 출력 층을 포함한다. 시간 단계에 대한 다음의 입력 스코어들의 세트는 토큰들의 어휘 내의 토큰에 의해 나타내진 각각의 건강 이벤트에 대한 각각의 스코어를 포함하고, 주어진 건강 이벤트에 대한 다음의 입력 스코어는 건강 이벤트가 시간적 순차에서 다음의 건강 이벤트일, 즉, 시간적 순차에서 다음의 시간 단계에서의 건강 이벤트일 가능성을 나타낸다.
입력 시간적 순차에 대한 다음의 입력 스코어들은 시간적 순차에서 마지막 시간 단계에 대한 출력 층에 의해 발생된 다음의 입력 스코어들이다.
시스템은 다음의 입력 스코어들을 사용하여 하나 이상의 최고-스코어링 건강 이벤트들을 식별한다(단계 306). 예를 들어, 시스템은 최고의 다음의 입력 스코어들을 갖는 미리 결정된 수의 건강 이벤트들 또는 임계 값 위의 다음의 입력 스코어를 갖는 각각의 건강 이벤트를 선택할 수 있다.
시스템은 최고-스코어링 건강 이벤트들을 식별하는 데이터 및, 선택적으로, 사용자에게 제시하기 위한 각각의 최고-스코어링 건강 이벤트에 대한 다음의 입력 스코어를 특징짓는 데이터를 제공한다(단계 308). 그러므로, 의사 또는 다른 사용자는 입력 시간적 순차에 대응하는 환자와 관련될 다음의 건강 이벤트들일 것 같은 건강 이벤트들에 관한 정보를 볼 수 있을 것이다.
도 4는 망 내부 상태로부터 시간적 순차에 대한 건강 이벤트 데이터를 발생하는 예시적인 과정(400)의 흐름도이다. 편의상, 과정(400)은 하나 이상의 위치들에 배치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 신경망 트레이닝 시스템, 예를 들어, 적절히 프로그램된, 도 1의 신경망 트레이닝 시스템(100)은 과정(400)을 수행할 수 있다.
시스템은 순환 신경망, 예를 들어, 순환 신경망(110)을 사용하여 시간적 순차들의 세트 각각을 처리하여, 각각의 시간적 순차들의 각각의 시간 단계에 대한 망 내부 상태를 발생한다(단계 402). 세트 내의 각각의 시간적 순차는 상이한 환자에 대응하고, 예를 들어, 상이한 전자 의료 기록으로부터 발생되었다. 순환 신경망은 하나 이상의 순환 신경망 층들과 출력 층, 로지스틱 회귀 노드들의 세트, 또는 이 둘 다를 포함한다. 특히, 순환 신경망은 주어진 입력 시간적 순차 내의 각각의 시간 단계에 대해, 미래의 이벤트들, 즉, 현재의 시간 단계에서의 이벤트 이후에 발생하는 이벤트들을, 현재의 시간 단계에 대한 신경망에 의해 발생된 내부 상태로부터 예측하도록 트레인되었다. 예를 들어, 순환 신경망이 출력 층을 포함하면, 순환 신경망은 시간적 순차에서 다음의 이벤트, 즉, 시간적 순차에서 현재의 시간 단계 이후의 다음의 시간 단계에서의 이벤트들을 예측하도록 트레인되었을 것이다. 또 하나의 예로서, 순환 신경망이 로지스틱 회귀 노드들의 세트를 포함하면, 순환 신경망은 이벤트들의 세트 각각이 시간적 순차 내의 현재의 시간 단계에서 이벤트의 지정된 시간 기간 내에 발생할지를 예측하도록 트레인되었을 것이다.
시스템은 내부 상태 저장소 내에 망 내부 상태들을 저장하고 각각의 망 내부 상태를 망 내부 상태가 발생된 시간 단계 및 시간적 순차를 식별하는 데이터와 관련시킨다(단계 404). 일부 구현들에서, 각각의 시간적 순차에 대해, 시스템은 저장소 내에 시간적 순차 내의 각각의 시간 단계에 대해 시스템에 의해 발생된 망 내부 상태를 저장한다. 일부 다른 구현들에서, 시스템은 저장소 내에 망 내부 상태들의 서브세트만을, 예를 들어, 시간적 순차 내의 적어도 임계 수의 다른 건강 이벤트들이 선행하는 건강 이벤트들에 대한 망 내부 상태들만을 저장한다.
시스템은 건강 이벤트들의 입력 시간적 순차를 수신한다(단계 406).
시스템은 순환 신경망을 사용하여 입력 시간적 순차를 처리하여 입력 시간적 순차에 대한 순차 내부 상태를 결정한다(단계 408). 입력 시간적 순차에 대한 순차 내부 상태는 순차에서 마지막 시간 단계에서의 건강 이벤트에 대한 망 내부 상태이다.
시스템은 내부 상태 저장소로부터 순차 내부 상태와 유사한 하나 이상의 망 내부 상태들을 선택한다(단계 410). 시스템은 유사성 정도, 예를 들어, 저장소 내의 순차 내부 상태와 망 내부 상태들 간의 코사인 유사성 정도를 계산함으로써 망 내부 상태들을 선택한다. 예를 들어, 시스템은 순차 내부 상태와 최대 코사인 유사성을 갖는 미리 결정된 수의 망 내부 상태들 또는 임계치 유사성을 초과하는 순차 내부 상태와 코사인 유사성을 갖는 각각의 망 내부 상태를 선택할 수 있다. 일부 구현들에서, 시스템은 내부 상태들 간의 유사성, 예를 들어, 유클리드 거리, 해밍 거리 등을 결정하기 위해 상이한 거리 정도를 사용한다. 유사하게, 시스템은 또한 내부 상태들을 규칙화하고 다음에 규칙화된 내부 상태들 간의 거리를 계산할 수 있다.
시스템은 사용자에게 제시하기 위해 유사한 망 내부 상태들이 발생된 시간적 순차들을 식별하는 데이터를 제공한다(단계 412). 특히, 시스템은 주어진 유사한 망 내부 상태에 대해, 유사한 망 내부 상태가 망 내부 상태가 발생된 시간 단계에 후속하여 발생한 시간적 순차 내의 건강 이벤트들을 식별하는 데이터를 제공한다. 순차 내부 상태와 유사한 망 내부 상태들 둘 다를 발생한 순환 신경망은 망 내부 상태들로부터 미래의 이벤트들을 예측하도록 트레인되었고 유사한 망 내부 상태는 순차 내부 상태와 유사하기 때문에, 주어진 망 내부 상태가 발생된 시간 단계에 후속하여 발생한 이벤트들은 입력 시간적 순차 내에서 미래의 이벤트들 즉, 입력 시간적 순차에서 현재의 마지막 이벤트 이후에 발생하는 이벤트들의 전조일 것 같다. 즉, 주어진 유사한 망 내부 상태가 발생된 시간 단계로부터, 대응하는 환자는 순환 신경망이 입력 시간적 순차에 대응하는 현재의 환자에 대해 예측한 미래와 유사한 미래를 갖는 것으로 순환 신경망에 의해 예측되었다. 그러므로, 망 내부 상태들로부터 후속하는 이벤트들을 봄으로써, 사용자, 예를 들어, 의사에게 입력 시간적 순차에서 현재의 마지막 이벤트를 따를 수 있는 이벤트들, 즉, 현재의 환자에 대해 발생할 수 있는 미래의 건강 이벤트들의 발상이 주어질 수 있다.
일부 다른 구현들에서, 시스템은 주어진 망 내부 상태가 발생된 시간적 순차를 식별하는 데이터의 부분으로서 사용자에게 제시하기 위한 시간적 순차들 내의 다른 건강 이벤트들을 식별하는 데이터를 또한 제공한다.
일부 구현들에서, 사용자에게 제시하기 위한 시간적 순차들을 식별하는 데이터를 제공하기보다는, 시스템은 시간적 순차들 내의 후속하는 이벤트들로부터의 통계들을 계산하고 사용자에게 제시하기 위해 계산된 통계들을 제공한다. 예를 들어, 시스템은 유사한 망 내부 상태가 발생된 시간 단계에 후속하여, 특정한 건강 이벤트, 예를 들어, 심장 마비 또는 스트로크를 포함한 시간적 순차들의 부분을 결정할 수 있다. 시스템은 다음에 사용자에게 제시하기 위한 비율을 식별하는 데이터를 예를 들어, "현재의 환자가 특정한 건강 이벤트를 겪을 때 환자들의 X%가 유사한 미래들을 가질 것으로 예측됨"의 형태로 제공할 수 있다.
일부 구현들에서, 내부 상태 저장소 내에 내부 상태들을 저장하기보다는, 시스템은 다른 시간적 순차들과 비교될 입력 시간적 순차가 수신될 때마다 각각의 다른 시간적 순차에 대한 내부 상태들을 재계산할 수 있다.
도 5는 미래의 조건 스코어들로부터 시간적 순차에 대한 건강 이벤트 데이터를 발생하는 예시적인 과정(500)의 흐름도이다. 편의상, 과정(500)은 하나 이상의 위치들에 배치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 신경망 트레이닝 시스템, 예를 들어, 적절히 프로그램된, 도 1의 신경망 트레이닝 시스템(100)은 과정(500)을 수행할 수 있다.
시스템은 입력 시간적 순차를 수신한다(단계 502).
시스템은 순환 신경망, 예를 들어, 순환 신경망(110)을 사용하여 입력 시간적 순차를 처리하여, 입력 시간적 순차에 대한 미래의 조건 스코어들을 발생한다(단계 504). 미래의 조건 스코어들은 조건의 미리 결정된 세트 각각에 대한 각각의 미래의 조건 스코어를 포함한다. 주어진 조건에 대한 미래의 조건 스코어는 조건이 입력 시간적 순차 내의 마지막 시간 단계에서 이벤트의 지정된 시간 기간 내에 만족될 가능성을 나타낸다.
일부 구현들에서, 순환 신경망은 하나 이상의 순환 신경망 층들 및 로지스틱 회귀 노드들의 세트를 포함한다. 각각의 로지스틱 회귀 노드는 입력 시간적 순차 내의 각각의 시간 단계에서, 조건들의 미리 결정된 세트로부터 대응하는 조건에 대한 미래의 조건 스코어를 발생한다. 미래의 조건 스코어들을 발생하는 로지스틱 회귀 노드들을 포함하는 순환 신경망이 도 7 내지 도 9를 참조하여 아래에 보다 상세히 설명된다. 이들 구현들에서, 입력 시간적 순차에서 마지막 시간 단계에 대한 순환 신경망에 의해 발생된 미래의 조건 스코어들의 세트는 입력 시간적 순차에 대한 미래의 조건 스코어들의 세트이다.
일부 다른 구현들에서, 순환 신경망은 입력 시간적 순차 내의 각각의 시간 단계에 대한 다음의 입력 스코어들의 세트를 발생하는 출력 층을 포함하고 로지스틱 회귀 노드들을 포함하지 않는다. 이들 구현들에서, 시스템은 시간적 순차들 내의 현재의 마지막 시간 단계 이후의 지정된 수의 추가의 시간 단계들 및 추가의 시간 단계들 각각에서의 각각의 가능한 건강 이벤트를 각각 포함하는 다수의 가능한 시간적 순차들을 발생한다. 시스템은 추가의 시간 단계들 각각에 대한 지정된 폭을 갖는 빔 서치를 수행함으로써 다수의 가능한 시간적 순차들을 발생한다. 빔 서치의 폭은 미래의 시간 단계들 각각에서 시스템에 의해 고려되는 최고-스코어링 이벤트들의 수를 정한다. 시스템은 다음에 미래의 조건 스코어들이 발생될 이벤트들 중 하나의 이벤트의 발생에 의해 만족되는 조건들 각각에 대해, 순차 내의 추가의 시간 단계들 중 하나의 단계에서 조건을 만족시키는 이벤트를 포함하는 가능한 시간적 순차들의 비율을 결정한다. 시스템은 다음에 대응하는 조건에 대한 미래의 조건 스코어로서 이 비율을 사용할 수 있다. 선택적으로, 시스템은 이벤트가 발생한 가능한 시간적 순차의 발생의 가능성을 사용하여 이벤트의 각각의 발생을 가중할 수 있다. 가능한 시간적 순차의 발생의 가능성은 예를 들어, 순차 내의 추가의 시간 단계들 각각에서의 건강 이벤트들에 대한 다음의 입력 스코어들의 곱일 수 있다.
시스템은 사용자에게 제시하기 위해 미래의 조건 스코어들을 식별하는 데이터를 제공한다(단계 506). 예를 들어, 시스템은 각각의 조건을 식별하는 데이터 및 각각의 조건에 대한 미래의 조건 스코어를 제공할 수 있거나 사용자에게 제시하기 위한 하나 이상의 최고-스코어링 조건들을 식별하는 데이터만 제공할 수 있다.
일부 구현들에서, 사용자에게 제시하기 위한 미래의 조건 스코어들을 식별하는 데이터를 제공하는 것에 부가하여 또는 그 대신에, 시스템은 미래의 조건 스코들에 미치는 처리의 영향을 결정하고 사용자에게 제시하기 위한 영향을 식별하는 데이터를 제공할 수 있다.
도 6은 미래의 조건 스코어들에 미치는 시간적 순차에 이벤트를 부가하는 영향을 결정하는 예시적인 과정(600)의 흐름도이다. 편의상, 과정(600)은 하나 이상의 위치들에 배치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 신경망 트레이닝 시스템, 예를 들어, 적절히 프로그램된, 도 1의 신경망 트레이닝 시스템(100)은 과정(600)을 수행할 수 있다.
시스템은 초기의 입력 시간적 순차를 수신한다(단계 602).
시스템은 초기의 입력 시간적 순차에 대한 미래의 조건 스코어들을 결정한다(단계 604). 예를 들어, 시스템은 도 5를 참조하여 위에 설명된 바와 같이 초기의 입력 시간적 순차에 대한 미래의 조건 스코어들을 결정할 수 있다.
시스템은 사용자로부터 추가의 건강 이벤트를 식별하는 데이터를 수신한다(단계 606). 예를 들어, 추가의 건강 이벤트는 의사가 환자에게 처방할 잠재적인 치료일 수 있다.
시스템은 초기의 입력 시간적 순차의 끝에, 추가의 건강 이벤트를 식별하는 데이터, 예를 들어, 건강 이벤트를 나타내는 토큰을 부가함으로써 수정된 입력 시간적 순차를 발생한다(단계 608).
시스템은 수정된 입력 시간적 순차에 대한 미래의 조건 스코어들을 결정한다(단계 610). 예를 들어, 시스템은 도 5를 참조하여 위에 설명된 바와 같이 초기의 입력 시간적 순차에 대한 미래의 조건 스코어들을 결정할 수 있다.
시스템은 입력 시간적 순차에 추가의 건강 이벤트를 추가함으로써 야기된 미래의 조건 스코어들의 변화를 결정하고(단계 612) 사용자에게 제시하기 위한 변화를 식별하는 데이터를 제공한다(단계 614). 즉, 시스템은 수정된 입력 시간적 순차에 대한 미래의 조건 스코어들과 초기의 입력 시간적 순차에 대한 대응하는 미래의 조건 스코어들 간의 차이를 계산하고 사용자에게 제시하기 위한 차이들을 식별하는 데이터를 제공한다. 그러므로, 의사는 소정의 조건들이 미래에 만족될 가능성에 미치는 잠재적인 치료들의 영향을 볼 수 있을 것이다.
일부 구현들에서, 시스템은 시간적 순차에 추가되는 새로운 이벤트에 응답하여 과정(600)을 자동으로 수행할 수 있다. 새로운 이벤트가 조건의 미래의 조건 스코어가 임계치보다 많이 증가하게 하거나 임계치를 초과하게 하면, 시스템은 변화를 사용자에게 자동으로 통지하기 위해 경보를 발생할 수 있다. 예를 들어, 시스템 관리자 또는 다른 사용자는 바람직하지 않는 것으로 만족된 하나 이상의 특정한 조건들을 지정할 수 있다. 시스템은 다음에 시간적 순차에 추가되는 새로운 이벤트에 응답하여 과정(600)을 자동으로 수행하고 바람직하지 않은 조건 중 하나에 대한 미래의 조건 스코어가 임계치 스코어를 교차하거나 임계치 증가보다 많이 증가하는 경우에 사용자에게 통지하기 위해 경보를 발생할 수 있다.
부가적으로, 일부 구현들에서, 시스템은 시간적 순차를 수신한 것에 응답하여, 시간적 순차로부터 다수의 수정된 시간적 순차들을 자동으로 발생할 수 있고, 각각의 수정된 시간적 순차가 상이한 가능한 입력 건강 이벤트를 시간적 순차에 추가시킨다. 가능한 입력 건강 이벤트들은 어휘 내의 토큰에 의해 나타내진 건강 이벤트들의 서브세트, 예를 들어, 어휘 내의 토큰들에 의해 나타내진 가능한 치료들 중 일부 또는 모두일 수 있다. 시스템은 다음에 수정된 시간적 순차들 각각에 대해 과정(600)을 수행하고 수정된 순차들 중 어느 것에 대해, 바람직하지 않은 조건들 중 하나 이상에 대한 미래의 조건 스코어가 임계치 감소보다 많이 감소하는지를 결정할 수 있다. 주어진 수정된 시간적 순차에 대해, 바람직하지 않은 조건에 대한 미래의 조건 스코어가 임계치 감소보다 많이 감소한다고 결정한 것에 응답하여, 시스템은 수정된 시간적 순차를 발생하기 위해 시간적 순차에 추가된 건강 이벤트를 식별하는 정보를 사용자에 제공할 수 있다. 그러므로, 의사에게 바람직하지 않은 조건이 미래에 만족될 가능성을 감소시킬 수 있는 추가 치료를 고려할 기회가 주어질 수 있다.
도 7은 미래의 조건 스코어들을 발생하도록 구성된 예시적인 순환 신경망(700)을 도시한다. 순환 신경망(700)은 아래에 설명되는 시스템들, 소자들, 및 기술들이 구현될 수 있는, 하나 이상의 위치들에 배치된 하나 이상의 컴퓨터들 상의 컴퓨터 프로그램으로서 구현된 시스템의 예이다.
순환 신경망(700)은 다수의 시간 단계들 각각에서 각각의 입력을 포함하는 입력 순차들을 수신하고, 시간 단계들 각각에 대해, 이벤트들의 미리 결정된 세트 내의 각각의 조건에 대한 각각의 미래의 조건 스코어를 발생한다. 주어진 시간 단계에서의 주어진 조건에 대한 미래의 조건 스코어는 조건이 시간 단계에서 입력의 지정된 시간 기간 내에 만족될 가능성을 나타낸다.
순환 신경망(700)은 하나 이상의 순환 신경망 층들(710), 다수의 로지스틱 회귀 노드들(720A-N), 및 선택적으로 출력 층(740)을 포함한다.
도 1을 참조하여 위에 설명된 바와 같이, 시간 단계들 각각에 대해, 하나 이상의 순환 신경망 층들(710)은 시간 단계에서 입력을 수신하고 시간 단계에 대한 망 내부 상태를 발생하기 위해 입력을 총체적으로 처리한다.
로지스틱 회귀 노드들(720A-720N) 각각은 조건들의 미리 결정된 세트로부터의 각각의 조건에 대응하고 각각의 시간 단계에서, 시간 단계에 대한 망 내부 상태를 수신하고 대응하는 이벤트에 대한 미래의 조건 스코어를 발생하기 위해 파라미터들의 각각의 세트의 현재의 값들에 따라 망 내부 상태를 처리하도록 구성된다. 그러므로, 각각의 시간 단계에서, 로지스틱 회귀 노드들(720A-720N) 각각은 조건들의 미리 결정된 세트 내의 조건들 중 각각의 하나에 대한 미래의 조건 스코어를 발생한다.
순환 신경망(700)이 출력 층(740)을 포함하면, 출력 층(740)은 시간 단계에 대한 망 내부 상태를 수신하고 가능한 입력들의 세트 내의 각각의 가능한 입력에 대한 각각의 다음의 입력 스코어를 발생하기 위해 내부 상태를 처리하도록 구성된다. 주어진 가능한 입력에 대한 다음의 입력 스코어는 가능한 입력이 입력 순차에서 다음의 입력일, 즉, 입력 순차에서 현재의 시간 단계에서의 입력 바로 뒤를 따를 가능성을 나타낸다.
시간적 순차 내의 입력들은 가능한 입력 이벤트들의 세트를 나타내는 미리 결정된 어휘 내의 토큰들로부터 선택된 입력들을 포함한다. 순환 신경망(700)이 미래의 조건 스코어들을 발생하는 미리 결정된 조건들의 세트 내의 조건들은 미리 결정된 어휘 내의 토큰들에 의해 나타내지지 않은, 즉, 순환 신경망(700)에 의해 처리된 시간적 순차들 내에 포함될 수 있는 가능한 입력 이벤트들이 아닌 이벤트들, 토큰들에 의해 나타내진 이벤트들, 또는 둘 다의 발생에 의해 만족된 조건들을 포함할 수 있다. 그러므로, 순환 신경망(700)이 미래의 조건 스코어들을 발생하는 조건들의 미리 결정된 세트 내의 조건들 중 임의의 조건을 만족시키는 이벤트들의 세트 내의 이벤트들은 토큰들에 의해 나타내진 이벤트들과 중첩할 수 있지만, 이벤트들의 세트는 또한 세트 내에 있지 않은 다른 이벤트들을 포함할 수 있다.
도 8은 주어진 시간 단계에 대한 미래의 조건 스코어들을 발생하는 예시적인 과정(800)의 흐름도이다. 편의상, 과정(800)은 하나 이상의 위치들에 배치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 순환 신경망, 예를 들어, 적절히 프로그램된, 도 7의 순환 신경망(700)은 과정(300)을 수행할 수 있다.
시스템은 시간 단계에 대한 입력, 예를 들어, 건강 이벤트를 나타내는 토큰을 수신한다(단계 802).
시스템은 하나 이상의 순환 신경망 층들, 예를 들어, 도 7의 순환 신경망 층들(710)을 사용하여 입력을 처리하여, 시간 단계에 대한 순환 신경망에 대한 망 내부 상태를 발생한다(단계 804). 하나 이상의 신경망 층들은 예를 들어, 도 1을 참조하여 위에 설명된 바와 같이, 망 내부 상태를 발생한다.
시스템은 로지스틱 회귀 노드들의 세트 각각, 예를 들어, 도 7의 로지스틱 회귀 노드들(720A-720N)을 사용하여 망 내부 상태를 처리하여, 미래의 조건 스코어들의 세트를 발생한다(단계 806). 로지스틱 회귀 노드들 각각은 조건들의 미리 결정된 세트로부터의 각각의 조건에 대응하고 로지스틱 회귀 노드의 파라미터들의 세트의 현재의 값들에 따라 내부 상태를 처리함으로써 대응하는 조건에 대한 미래의 조건 스코어를 발생한다.
선택적으로, 시스템은 또한 출력 층, 예를 들어 도 7의 출력 층(740)을 사용하여 망 내부 상태를 처리하여, 가능한 입력들의 세트 각각에 대한 각각의 다음의 입력 스코어를 발생한다(단계 808). 출력 층은 출력 층 파라미터들의 세트의 현재의 값들에 따라 망 내부 상태를 처리함으로써 각각의 다음의 입력 스코어들을 발생한다.
과정(800)은 원하는 출력, 즉, 입력에 대한 시스템에 의해 발생되어야 하는 신경망 출력이 알려지지 않은 신경망 입력에 대해 수행될 수 있다. 시스템은 시스템을 트레인하기 위해서, 즉, 순환 신경망 층들, 로지스틱 회귀 노드들, 및 일부 구현들에서, 출력 층의 파라미터들에 대한 트레인된 값들을 결정하기 위해서, 트레이닝 순차들의 세트, 즉, 시스템에 의해 예측되어야 하는 출력이 알려진 입력들의 세트 내의 입력들에 대해 과정(800)을 또한 수행할 수 있다. 특히, 과정(800)은 신경망을 트레인하는 머신 러닝 트레이닝 기술의 부분으로서 트레이닝 순차들의 세트로부터의 입력들에 대해 반복적으로, 예를 들어, 시간 트레이닝 기술을 통한 역전파로 수행될 수 있다. 예시적인 트레이닝 과정이 도 9를 참조하여 아래에 보다 상세히 설명된다.
도 9는 미래의 조건 스코어들을 발생하기 위해 순환 신경망을 트레인하는 예시적인 과정(900)의 흐름도이다. 편의상, 과정(900)은 하나 이상의 위치들에 배치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 순환 신경망, 예를 들어, 적절히 프로그램된, 도 7의 순환 신경망(700)은 과정(700)을 수행할 수 있다.
시스템은 라벨된 트레이닝 순차들을 획득한다(단계 502). 획득된 트레이닝 순차들 각각은 다수의 시간 단계들 각각에서의 입력들의 순차이다. 각각의 트레이닝 순차는 또한 시간 단계들 각각에서, 순환 신경망이 미래의 조건 스코어들을 발생하는 조건들의 미리 결정된 세트 내의 조건들 각각에 대한 각각의 표시자 변수를 포함한다. 주어진 시간 단계에서의 주어진 조건에 대한 표시자 변수는 조건이 시간 단계에서의 입력으로부터 지정된 시간 기간 내에 만족되었는지 여부를 표시한다. 예를 들어, 표시자 변수는 조건이 만족되었다면 1의 값 및 조건이 만족되지 않았다면 0의 값을 가질 수 있다. 그러므로, 각각의 시간 단계에서, 라벨된 트레이닝 순차는 입력 및 조건들의 미리 결정된 세트 내의 조건들 각각에 대한 각각의 표시자 변수를 포함한다.
일부 구현들에서, 시스템은 표시자 변수들로 이미 라벨된 트레이닝 순차들을 수신한다. 일부 다른 구현들에서, 시스템은 시간 단계들 각각에서 조건들 각각에 대한 표시자 변수를 계산함으로써 라벨된 트레이닝 순차들을 발생한다. 예를 들어, 시스템은 트레이닝 순차의 주어진 시간 단계에서의 주어진 입력에 대해, 입력이 언제 발생하여 조건들의 미리 결정된 세트 내의 조건들을 만족시키는 이벤트들의 발생을 식별하는 데이터에 액세스하는지를 결정한다. 시스템은 다음에 조건들 각각에 대해, 조건들이 시간 단계에서의 입력이 발생하고 그에 따라 이벤트에 대한 표시자 변수의 값을 설정한 때의 지정된 시간 기간 내에 만족되었는지를 결정할 수 있다.
시스템은 라벨된 트레이닝 순차들 상에서 하나 이상의 순환 신경망 층들, 로지스틱 회귀 노드들, 및 선택적으로, 출력 층을 트레인한다(단계 504). 특히, 시스템은 머신 러닝 트레이닝 기술의 다수의 반복들을 수행함으로써 파라미터들의 초기 값들로부터 순환 신경망 층들, 로지스틱 회귀 노드들, 및 출력 층들의 파라미터들의 트레인된 값들을 결정한다. 트레이닝 기술의 부분으로서, 시스템은 오브젝트 함수를 최소화 또는 최대화한다. 시스템이 로지스틱 회귀 노드들만 포함하고 출력 층을 포함하지 않으면, 오브젝트 함수는 주어진 트레이닝 순차 내의 주어진 시간 단계에 대해, 시간 단계에 대한 로지스틱 회귀 노드들에 의해 발생된 미래의 조건 스코어들과 시간 단계에서의 대응하는 조건들에 대한 표시자 변수들 간의 오차에 의존한다. 시스템이 또한 출력 층을 포함하면, 오브젝트 함수는 또한 시간 단계에 대해, 시간 단계에 대한 출력 층에 의해 발생된 다음의 입력 스코어들과 트레이닝 순차 내의 다음의 시간 단계에서의 입력 간의 오차에 의존한다.
위에 설명된 바와 같이, 순환 신경망(700)은 환자와 관련된 건강 이벤트들을 식별하는 데이터를 포함하는 시간적 순차들을 처리하여 미래의 조건 스코어들을 발생할 수 있다. 그러나, 순환 신경망(700)은 임의의 타입의 시간적 이벤트를 식별하는 데이터를 포함하는 시간적 순차들, 즉, 그들 이벤트들이 시간에 걸쳐 언제 발생하는지에 따라 정렬된 이벤트들을 식별하는 데이터를 포함하는 임의의 시간적 순차들에 대해 미래의 조건 스코어들을 발생하도록 트레인될 수 있다.
예를 들어, 순환 신경망(700)은 사용자의 재무 제표들에서 발견되는 거래들, 예를 들어, 은행 제표 상에 나타날 수 있는 은행 거래들, 신용 카드 제표들 상에 나타날 수 있는 신용 카드 거래들을 식별하는 데이터를 포함하는 시간적 순차들에 대한 미래의 조건 스코어들을 발생하도록 트레인될 수 있다. 미래의 조건 스코어들은 이 맥락에서 이루어지고 있는 다양한 타입들의 금융 거래들에 의해 만족된 조건들에 대한 스코어들, 재무 제표들에서 나타나는 종류의 금융 거래들이 아닌, 예를 들어, 세무 감사에서 발생하는 이벤트들에 의해 만족되는 조건들에 대한 스코어들, 또는 둘 다를 포함할 수 있다.
또 하나의 예로서, 순환 신경망(700)은 주식 시장 거래들을 식별하는 데이터를 포함하는 시간적 순차들에 대한 미래의 조건 스코어들을 발생하도록 트레인될 수 있다. 이 맥락에서, 시간적 순차들은 단일 개체에 의한 또는 주식 시장에 참여하고 있는 모든 개체들에 의한 주식 매입들 및 매수들을 포함할 수 있다.
또 하나의 예로서, 순환 신경망(700)은 기계류 또는 전자 장치들에 대한, 예를 들어, 항공기들, 차량들, 데이터 센터 소자들 등에 대한 유지 기록들을 식별하는 데이터를 포함하는 시간적 순차들에 대한 미래의 조건 스코어들을 발생하도록 트레인될 수 있다. 미래의 조건 스코어들은 이 맥락에서 다양한 타입들의 유지 관련 이벤트들에 의해 만족되는 조건들에 대한 스코어들뿐만 아니라 유지 기록들 상에 전형적으로 나타나지 않은 이벤트들, 예를 들어, 항공기들의 운항 중 고장의 발생에 의해 만족되는 조건들에 대한 스코어들을 포함할 수 있다.
본 명세서에 설명된 주제의 실시 예들 및 기능적 동작들은 본 명세서에 개시된 구조들 및 그들의 구조적 등가물들을 포함하는, 디지털 전자 회로에서, 구체적으로-실시된 컴퓨터 소프트웨어 또는 펌웨어에서, 컴퓨터 하드웨어에서, 또는 이들 중 하나 이상의 조합들에서 구현될 수 있다. 본 명세서에 설명된 주제의 실시 예들은 하나 이상의 컴퓨터 프로그램들, 즉, 데이터 처리 장치에 의한 실행을 위한, 또는 그 동작을 제어하기 위한 구체적인 비일시적 프로그램 캐리어 상에 인코드된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 대안적으로 또는 부가하여, 프로그램 명령어들은 인공적으로 발생된 전파된 신호, 예를 들어, 데이터 처리 장치에 의한 실행을 위해 적합한 수신기 장치에 송신하기 위한 정보를 인코드하도록 발생된, 머신-발생된 전기적, 광학적, 또는 전자기 신호에 대해 인코드될 수 있다. 컴퓨터 저장 매체는 머신-판독가능 저장 디바이스, 머신-판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다.
용어 "데이터 처리 장치"는 예를 들어 프로그래머블 프로세서, 컴퓨터, 다중 프로세서들 또는 컴퓨터들을 포함하는, 데이터를 처리하는 모든 종류들의 장치, 디바이스들, 및 머신들을 포함한다. 장치는 특수 목적 논리 회로, 예를 들어, FPGA(필드 프로그래머블 게이트 어레이) 또는 ASIC(주문형 집적 회로)를 포함할 수 있다. 장치는 또한 하드웨어 외에, 해당 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트, 또는 코드라고도 하거나 표현될 수 있는) 컴퓨터 프로그램은 컴파일되거나 인터프리트된 언어들, 또는 선언적 또는 절차적 언어들을 포함하는, 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 그것은 스탠드-얼론 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 또는 컴퓨팅 환경에 사용하기에 적합한 다른 유닛으로서 포함하는, 임의의 형태로 구축될 수 있다. 컴퓨터 프로그램은 파일 시스템 내의 파일에 대응할 수 있지만, 반드시 그럴 필요는 없다. 프로그램은 다른 프로그램들 또는 데이터, 예를 들어, 마크업 언어 문서 내에, 해당 프로그램 전용의 단일 파일 내에, 또는 다중 조정된 파일들, 예들 들어, 하나 이상의 모듈들, 서브 프로그램들, 또는 코드의 부분들을 저장하는 파일들 내에 저장된 하나 이상의 스크립트들을 홀드하는 파일의 부분 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에서 배치되거나 다수의 사이트들에 걸쳐 분배되고 통신망에 의해 상호접속된 다수의 컴퓨터들 상에서 실행되도록 구축될 수 있다.
본 명세서에 설명된 과정들 및 논리 흐름들은 입력 데이터에 대해 조작하고 출력을 발생함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 컴퓨터들에 의해 수행될 수 있다. 과정들 및 논리 흐름들은 또한 특수 목적 논리 회로, 예를 들어, FPGA(필드 프로그래머블 게이트 어레이) 또는 ASIC(주문형 집적 회로)에 의해 수행될 수 있고, 장치 또한 이들로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터들은 예를 들어, 일반 또는 특수 목적 마이크로프로세서 또는 둘 다, 또는 기타 종류의 중앙 처리 장치를 포함하고, 이들에 기초할 수 있다. 일반적으로, 중앙 처리 장치는 리드 온리 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수적 요소들은 명령어들을 수행하거나 실행하는 중앙 처리 장치 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하는 하나 이상의 대용량 저장 디바이스들, 예를 들어, 자기, 자기 광 디스크들, 또는 광 디스크들을 포함할 것이고, 이들로부터 데이터를 수신하고 이들에 데이터를 전달하고, 또는 둘 다를 하기 위해 동작 결합될 수 있다. 그러나, 컴퓨터는 이러한 디바이스들을 구비할 필요는 없다. 또한, 컴퓨터는 또 하나의 디바이스, 예를 들어, 몇가지 예를 들자면, 이동 전화, 개인 휴대 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 전지구 위치 파악 시스템(GPS) 수신기, 또는 휴대용 저장 디바이스, 예를 들어, 유니버설 시리얼 버스(USB) 플래시 드라이브 내에 내장될 수 있다.
컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예로서 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크들 또는 착탈가능한 디스크들; 자기 광 디스크들; 및 CD ROM 및 DVD-ROM 디스크들을 포함하는, 모든 형태들의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충될 수 있거나, 그 안에 포함될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에 설명된 주제의 실시 예들은 디스플레이 디바이스, 예를 들어, 사용자에게 정보를 디스플레이하는, CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터 및 사용자가 컴퓨터에 입력을 제공할 수 있는, 키보드 및 포인팅 디바이스, 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들이 사용자와의 상호작용을 제공하기 위해 역시 사용될 수 있고; 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 감각적인 피드백, 예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서들을 송신하고 그로부터 문서들을 수신함으로써; 예를 들어, 웹 브라우저로부터 수신된 요구들에 응답하여 사용자의 클라이언트 디바이스 상에서 웹 브라우저에 웹 페이지들을 보냄으로써 사용자와 상호작용할 수 있다.
본 명세서에 설명된 주제의 실시 예들은 예를 들어, 데이터 서버로서 백 엔드 소자를 포함하거나, 미들웨어 소자, 예를 들어 애플리케이션 서버를 포함하거나, 프론트 엔드 소자, 예를 들어, 사용자가 본 명세서에서 설명된 주제의 구현과 상호작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터, 또는 하나 이상의 이러한 백 엔드, 미들웨어, 또는 프론트 엔드 소자들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 소자들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어, 통신망에 의해 상호접속될 수 있다. 통신망들의 예들은 근거리 통신망("LAN") 및 원거리 통신망("WAN"), 예를 들어, 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 떨어져 있고 전형적으로 통신망을 통해 상호작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터들 상에서 실행하고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 야기된다.
본 명세서가 많은 특정한 구현 상세들을 포함하지만, 이들은 여기에 설명된 특정한 예시적인 실시 예들로 특정될 수 있는 특징들의 설명들이지 본 발명의 범위에 대한 제한들로서 해석되어서는 안된다. 별도의 실시 예들의 맥락에서 본 명세서에 설명된 소정의 특징들은 또한 단일 실시 예에서 조합하여 구현될 수 있다. 반대로, 단일 실시 예의 맥락에서 설명된 다양한 특징들은 또한 다수의 실시 예들에서 별도로 또는 임의의 적합한 부조합에서 구현될 수 있다. 더구나, 특징들이 위에서 소정의 조합들에서 동작하는 것으로 설명될 수 있고 심지어 이와 같이 초기에 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서 조합으로부터 삭제될 수 있고, 청구된 조합은 부조합 또는 부조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 특정한 순서로 도면들에 도시되지만, 이것은 이러한 동작들이 원하는 결과들을 달성하기 위해, 도시한 특정한 순서로 또는 순차적 순서로 수행되어야 하거나, 또는 모든 도시된 동작들이 수행되어야 하는 것을 요구하는 것으로 이해되어서는 안된다. 소정의 상황들에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다. 더구나, 위에 설명된 실시 예들에서의 다양한 시스템 모듈들 및 소자들의 분리는 모든 실시 예들에서 이러한 분리를 요구하는 것으로 해석되어서는 안되고, 설명된 프로그램 소자들 및 시스템들이 일반적으로 단일 소프트웨어 제품으로서 함께 통합될 수 있거나 다수의 소프트웨어 제품들 내로 패키지될 수 있다는 것을 이해하여야 한다.
본 주제의 특정한 실시 예들이 설명되었다. 다른 실시 예들이 다음의 청구범위의 범위 내에 있다. 예를 들어, 청구범위에 나열된 액션들은 상이한 순서로 수행될 수 있고 여전히 바람직한 결과들을 달성할 수 있다. 한 예로서, 첨부 도면들에 도시된 과정들은 원하는 결과들을 달성하기 위해, 도시한 특정한 순서, 또는 순차적 순서를 반드시 요구하지 않는다. 소정의 구현들에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다.

Claims (13)

  1. 방법으로서,
    건강 이벤트들의 제 1 시간적 순차를 획득하는 단계 - 상기 제 1 시간적 순차는 복수의 시간 단계들 각각에서 특정한 환자와 관련된 각각의 건강-관련 데이터를 포함함 -;
    순환 신경망을 사용하여 건강 이벤트들의 상기 제 1 시간적 순차를 처리하여 상기 제 1 시간적 순차에 대한 신경망 출력을 발생하는 단계; 및
    상기 제 1 시간적 순차에 대한 상기 신경망 출력으로부터, 상기 시간적 순차에서 마지막 시간 단계 이후에 발생할 수 있는 미래의 건강 이벤트들을 특징짓는 건강 분석 데이터를 발생하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 시간 단계들 중 하나 이상에 대해, 상기 시간 단계에서의 상기 건강-관련 데이터는 토큰들의 미리 결정된 어휘로부터의 각각의 토큰이고, 상기 어휘 내의 각각의 토큰은 상이한 건강 이벤트를 나타내는 것을 특징으로 하는 방법.
  3. 제2항에 있어서, 상기 시간 단계들 중 하나 이상에 대해, 상기 시간 단계에서의 상기 건강-관련 데이터는 상기 특정한 환자의 건강에 영향을 주는 것으로 분류된 다른 건강-관련 데이터인 것을 특징으로 하는 방법.
  4. 제2항 또는 제3항에 있어서, 상기 제 1 시간적 순차를 획득하는 단계는
    상기 특정한 환자에 대한 전자 의료 기록에 액세스하는 단계;
    상기 전자 의료 기록 내의 건강 이벤트들을 식별하는 단계;
    상기 전자 의료 기록에서 식별된 각각의 건강 이벤트에 대해, 상기 건강 이벤트들 나타내는 상기 어휘 내의 토큰을 결정하는 단계; 및
    대응하는 건강 이벤트들이 발생한 시간에 따라 정렬된 식별된 건강 이벤트들을 나타내는 상기 토큰들을 포함하는 시간적 순차를 발생하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 순환 신경망은 상기 제 1 시간적 순차에서 마지막 시간 단계에 대한 망 내부 상태를 발생하기 위해 상기 제 1 시간적 순차를 총체적으로 처리하도록 트레인된 하나 이상의 순환 신경망 층들을 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서, 상기 순환 신경망은 복수의 가능한 건강 이벤트들 각각에 대한 각각의 스코어를 포함하는 신경망 출력을 발생하기 위해 상기 마지막 시간 단계에 대한 상기 망 내부 상태를 처리하도록 트레인된 출력 층을 더 포함하고, 상기 가능한 건강 이벤트들 각각에 대한 상기 각각의 스코어는 상기 가능한 건강 이벤트가 상기 제 1 시간적 순차에서 상기 마지막 시간 단계에 후속하는 시간 단계에서의 건강 이벤트일 가능성을 나타내는 것을 특징으로 하는 방법.
  7. 제6항에 있어서, 상기 건강 분석 데이터를 발생하는 단계는 상기 각각의 스코어들을 사용하여 하나 이상의 최고-스코어링 건강 이벤트들을 식별하는 데이터를 발생하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제5항 내지 제7항 중 어느 한 항에 있어서, 상기 순환 신경망은 복수의 로지스틱 회귀 노드들을 더 포함하고, 상기 로지스틱 회귀 노드들 각각은 조건들의 미리 결정된 세트로부터의 각각의 건강-관련 조건에 대응하고, 각각의 로지스틱 회귀 노드는 상기 대응하는 조건에 대한 미래의 조건 스코어를 발생하기 위해 상기 마지막 시간 단계에 대한 상기 망 내부 상태를 처리하도록 트레인되고, 상기 조건들 각각에 대한 상기 미래의 조건 스코어는 상기 건강-관련 조건이 상기 시간 단계에서의 상기 건강 이벤트의 지정된 시간 기간 내에 만족될 가능성을 나타내는 것을 특징으로 하는 방법.
  9. 제8항에 있어서, 상기 건강 분석 데이터를 발생하는 단계는 조건들의 상기 미리 결정된 세트 내의 상기 조건들에 대한 가능성들을 식별하는 데이터를 발생하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제8항 또는 제9항에 있어서,
    추가의 건강 이벤트를 식별하는 데이터를 획득하는 단계;
    상기 제 1 시간적 순차의 상기 마지막 시간 단계 이후에 상기 추가의 건강 이벤트를 식별하는 상기 데이터를 추가함으로써 상기 제 1 시간적 순차로부터 수정된 시간적 순차를 발생하는 단계;
    상기 순환 신경망을 사용하여 상기 수정된 시간적 순차를 처리하여 상기 수정된 시간적 순차에 대한 미래의 조건 스코어들을 발생하는 단계; 및
    상기 제 1 시간적 순차에 대한 미래의 조건 스코어들과 상기 수정된 시간적 순차에 대한 미래의 조건 스코어들 간의 변화들을 결정하는 단계 - 상기 건강 분석 데이터는 상기 변화들을 식별하는 데이터를 포함함 - 를 더 포함하는 것을 특징으로 하는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    사용자에게 제시하기 위한 상기 건강 분석 데이터를 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  12. 하나 이상의 컴퓨터들 및 상기 하나 이상의 컴퓨터들에 의해 실행될 때 상기 하나 이상의 컴퓨터들로 하여금 제1항 내지 제11항 중 어느 한 항에 따른 방법을 수행하게 하는 명령어들을 저장하는 하나 이상의 저장 디바이스들을 포함하는 것을 특징으로 하는 시스템.
  13. 하나 이상의 비일시적 컴퓨터 판독가능 매체들 상에 인코드되고, 하나 이상의 컴퓨터들에 의해 실행될 때 상기 하나 이상의 컴퓨터들로 하여금 제1항 내지 제12항 중 어느 한 항에 따른 방법을 수행하게 하는 명령어들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
KR1020177031387A 2015-07-27 2016-07-26 순환 신경망들을 사용하는 건강 이벤트들의 분석 KR101991918B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/810,368 2015-07-27
US14/810,368 US20170032241A1 (en) 2015-07-27 2015-07-27 Analyzing health events using recurrent neural networks
PCT/US2016/044106 WO2017019706A1 (en) 2015-07-27 2016-07-26 Analyzing health events using recurrent neural networks

Publications (2)

Publication Number Publication Date
KR20170132842A true KR20170132842A (ko) 2017-12-04
KR101991918B1 KR101991918B1 (ko) 2019-06-24

Family

ID=56609967

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177031387A KR101991918B1 (ko) 2015-07-27 2016-07-26 순환 신경망들을 사용하는 건강 이벤트들의 분석

Country Status (6)

Country Link
US (1) US20170032241A1 (ko)
EP (1) EP3274887A1 (ko)
JP (1) JP6530084B2 (ko)
KR (1) KR101991918B1 (ko)
CN (1) CN107995992B (ko)
WO (1) WO2017019706A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190114694A (ko) 2018-03-30 2019-10-10 삼성에스디에스 주식회사 인공지능을 이용한 시계열 데이터 학습 및 분석 방법

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11894143B2 (en) * 2013-08-27 2024-02-06 Whiskers Worldwide, LLC System and methods for integrating animal health records
US9652712B2 (en) 2015-07-27 2017-05-16 Google Inc. Analyzing health events using recurrent neural networks
US9336482B1 (en) 2015-07-27 2016-05-10 Google Inc. Predicting likelihoods of conditions being satisfied using recurrent neural networks
WO2019070570A1 (en) * 2017-10-06 2019-04-11 Tellus You Care, Inc. NON-CONTACT ACTIVITY DETECTION NETWORK FOR CARE OF OLDER PEOPLE
US20190114531A1 (en) * 2017-10-13 2019-04-18 Cambia Health Solutions, Inc. Differential equations network
US10799189B2 (en) 2017-11-22 2020-10-13 General Electric Company Systems and methods to deliver point of care alerts for radiological findings
US10783634B2 (en) * 2017-11-22 2020-09-22 General Electric Company Systems and methods to deliver point of care alerts for radiological findings
US20210027892A1 (en) * 2018-04-04 2021-01-28 Knowtions Research Inc. System and method for outputting groups of vectorized temporal records
WO2019226954A1 (en) * 2018-05-23 2019-11-28 Google Llc Training sequence generation neural networks using quality scores
CN109003677B (zh) * 2018-06-11 2021-11-05 清华大学 病历数据结构化分析处理方法
JP7297980B2 (ja) 2018-07-27 2023-06-26 キヤノンメディカルシステムズ株式会社 医用情報管理装置
JP7059151B2 (ja) * 2018-09-12 2022-04-25 株式会社日立製作所 時系列データ分析装置、時系列データ分析方法、および時系列データ分析プログラム
US11260872B2 (en) * 2018-10-12 2022-03-01 Honda Motor Co., Ltd. System and method for utilizing a temporal recurrent network for online action detection
EP3864670A1 (en) 2018-11-13 2021-08-18 Google LLC Prediction of future adverse health events using neural networks by pre-processing input sequences to include presence features
EP3888102A2 (en) * 2018-11-30 2021-10-06 Preventice Technologies, Inc. Multi-channel ecg and with rhythm transfer learning
CN109817338A (zh) * 2019-02-13 2019-05-28 北京大学第三医院(北京大学第三临床医学院) 一种慢性病加重风险评估与告警系统
US20230334306A1 (en) * 2019-02-15 2023-10-19 Google Llc Prediction of future adverse health events using state-partitioned recurrent neural networks
CN110610767B (zh) * 2019-08-01 2023-06-02 平安科技(深圳)有限公司 发病率监测方法、装置、设备及存储介质
CN111588349B (zh) * 2020-05-28 2023-12-01 京东方科技集团股份有限公司 一种健康分析装置及电子设备
WO2023164308A2 (en) * 2022-02-28 2023-08-31 The Board Of Trustees Of The Leland Stanford Junior University Systems and methods to assess neonatal health risk and uses thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272480B1 (en) * 1997-10-17 2001-08-07 Siemens Aktiengesellschaft Method and arrangement for the neural modelling of a dynamic system with non-linear stochastic behavior

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010481A1 (en) * 2001-12-07 2004-01-15 Whitehead Institute For Biomedical Research Time-dependent outcome prediction using neural networks
US7647320B2 (en) * 2002-01-18 2010-01-12 Peoplechart Corporation Patient directed system and method for managing medical information
CA2565918A1 (en) * 2004-05-07 2005-11-24 Intermed Advisor, Inc. Method and apparatus for real time predictive modeling for chronically ill patients
JP2006120136A (ja) * 2004-09-27 2006-05-11 Kyoto Univ 言語処理装置、言語処理方法、言語処理プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
WO2006113987A1 (en) * 2005-04-25 2006-11-02 Caduceus Information Systems Inc. System for development of individualised treatment regimens
CN102971755A (zh) * 2010-01-21 2013-03-13 阿斯玛西格诺斯公司 用于慢性病管理的早期告警方法和系统
CN103038772B (zh) * 2010-03-15 2017-10-24 新加坡保健服务集团有限公司 预测患者的存活性的系统和装置
CN102901651B (zh) * 2012-10-16 2015-12-16 南京航空航天大学 电子产品分数阶神经网络性能退化模型及寿命预测方法
JP2014178800A (ja) * 2013-03-14 2014-09-25 Gifu Univ 医療情報処理装置、及び、プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272480B1 (en) * 1997-10-17 2001-08-07 Siemens Aktiengesellschaft Method and arrangement for the neural modelling of a dynamic system with non-linear stochastic behavior

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190114694A (ko) 2018-03-30 2019-10-10 삼성에스디에스 주식회사 인공지능을 이용한 시계열 데이터 학습 및 분석 방법
CN111565633A (zh) * 2018-03-30 2020-08-21 三星Sds 株式会社 利用人工智能的时间序列数据学习及分析方法

Also Published As

Publication number Publication date
WO2017019706A1 (en) 2017-02-02
EP3274887A1 (en) 2018-01-31
US20170032241A1 (en) 2017-02-02
CN107995992B (zh) 2021-10-19
JP2018526697A (ja) 2018-09-13
KR101991918B1 (ko) 2019-06-24
JP6530084B2 (ja) 2019-06-12
CN107995992A (zh) 2018-05-04

Similar Documents

Publication Publication Date Title
KR101953814B1 (ko) 순환 신경망들을 사용하는 건강 이벤트들의 분석
KR101991918B1 (ko) 순환 신경망들을 사용하는 건강 이벤트들의 분석
US11790216B2 (en) Predicting likelihoods of conditions being satisfied using recurrent neural networks
US10431338B2 (en) System and method for weighting manageable patient attributes during criteria evaluations for treatment
US20220215899A1 (en) Affinity prediction method and apparatus, method and apparatus for training affinity prediction model, device and medium
Lafta et al. An intelligent recommender system based on predictive analysis in telehealthcare environment
WO2022046734A1 (en) Robust forecasting system on irregular time series in dialysis medical records
Yaghoubi et al. CNN-DST: Ensemble deep learning based on Dempster–Shafer theory for vibration-based fault recognition
Gong et al. MPD-Model: a distributed multipreference-driven data fusion model and its application in a WSNs-based healthcare monitoring system
Boytcheva et al. Integrating Data Analysis Tools for Better Treatment of Diabetic Patients.
Nasarian et al. Designing Interpretable ML System to Enhance Trustworthy AI in Healthcare: A Systematic Review of the Last Decade to A Proposed Robust Framework
Gautam et al. An overview of big data applications in healthcare: opportunities and challenges
US9165115B2 (en) Finding time-dependent associations between comparative effectiveness variables
US20240105289A1 (en) Clinical endpoint adjudication system and method
Gautam et al. An 2 Overview of Big Data Applications in Healthcare
Nasarian et al. Designing Interpretable ML System to Build Trust in Healthcare: A Systematic Review of the Last Decade to Proposed Responsible Clinician-Ai-Collaboration Framework

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant