KR20180014063A - 리커런트 뉴럴 네트워크를 이용한 컨디션들의 충족 가능성에 대한 예측 - Google Patents

리커런트 뉴럴 네트워크를 이용한 컨디션들의 충족 가능성에 대한 예측 Download PDF

Info

Publication number
KR20180014063A
KR20180014063A KR1020177037617A KR20177037617A KR20180014063A KR 20180014063 A KR20180014063 A KR 20180014063A KR 1020177037617 A KR1020177037617 A KR 1020177037617A KR 20177037617 A KR20177037617 A KR 20177037617A KR 20180014063 A KR20180014063 A KR 20180014063A
Authority
KR
South Korea
Prior art keywords
neural network
recurrent neural
time step
input
layer
Prior art date
Application number
KR1020177037617A
Other languages
English (en)
Other versions
KR102011453B1 (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 KR20180014063A publication Critical patent/KR20180014063A/ko
Application granted granted Critical
Publication of KR102011453B1 publication Critical patent/KR102011453B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • G06N3/0427
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0445
    • G06N3/0472
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural 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

Abstract

리커런트 뉴럴 네트워크를 이용하여 충족되는 컨디션들의 가능성을 예측하기 위한 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램을 포함하는 방법들, 시스템들, 및 장치가 개시된다. 상기 시스템들 중 하나는, 복수의 타임 스텝들 각각에서 각각의 입력을 포함하는 시간적 시퀀스를 프로세싱하도록 구성되고 그리고 하나 이상의 리커런트 뉴럴 네트워크 계층들; 및 하나 이상의 로지스틱 회귀 노드들을 포함하고, 상기 로지스틱 회귀 노드들 각각은 미리결정된 컨디션들의 세트의 각각의 컨디션에 대응하고, 상기 로지스틱 회귀 노드들 각각은 상기 복수의 타임 스텝들 각각에 대하여, 상기 타임 스텝에 대한 네트워크 내부 상태를 수신하고, 그리고 상기 타임 스텝에 대한 상기 대응 컨디션에 대한 미래 컨디션 점수를 생성하도록, 상기 로지스틱 회귀 노드의 파라미터들의 세트의 현재 값들에 따라 상기 타임 스텝에 대한 네트워크 내부 상태를 프로세싱한다.

Description

리커런트 뉴럴 네트워크를 이용한 컨디션들의 충족 가능성에 대한 예측
본 발명은 리커런트 뉴럴 네트워크들을 이용하여 시간적 시퀀스들을 처리하는 것에 관한 발명이다.
뉴럴 네트워크는 수신된 입력에 대한 출력을 예측하기 위해 비선형 유닛들의 하나 이상의 계층들(layers)을 이용하는 머신 러닝 모델이다. 일부 뉴럴 네트워크들은 출력 계층 이외에도 하나 이상의 숨겨진 계층들을 포함한다. 숨겨진 계층들 각각의 출력은 네트워크의 다음 계층(next layer)(즉, 다음 숨겨진 계층 또는 출력 계층)에 대한 입력으로 이용된다. 네트워크의 각 계층은 각각의 파라미터 세트의 현재 값들에 따라, 수신된 입력으로부터 출력을 생성한다.
일부 뉴럴 네트워크는 리커런트 뉴럴 네트워크이다. 리커런트 뉴럴 네트워크는 입력 시퀀스를 수신하고 입력 시퀀스로부터 출력 시퀀스를 생성하는 뉴럴 네트워크이다. 특히, 리커런트 뉴럴 네트워크는 현재의 타임 스텝에서의 출력을 계산함에 있어서 이전 타임 스텝에서의 네트워크 내부 상태의 전부 또는 일부를 이용할 수 있다.
일반적으로, 본 명세서에서 기술된 본 발명의 혁신적인 일 양태는 하나 이상의 리커런트 뉴럴 네트워크 계층들과 하나 이상의 로지스틱 회귀 노드들을 포함하는 리커런트 뉴럴 네트워크 시스템을 이용하여, 복수의 타임 스텝들 각각에서 각각의 입력을 포함하는 시간적 시퀀스를 프로세싱하는 방법으로 구현될 수 있으며, 상기 방법은 상기 복수의 타임 스텝들 각각에 대하여, 상기 타임 스텝에서 상기 입력을 수신하는 동작; 상기 타임 스텝에 대한 네트워크 내부 상태를 생성하도록, 하나 이상의 리커런트 뉴럴 네트워크 계층들을 통해 상기 타임 스텝에서의 상기 입력을 프로세싱하는 동작; 및 상기 하나 이상의 로지스틱 회귀 노드들 각각을 이용하여 상기 네트워크 내부 상태를 프로세싱하는 동작을 포함하며, 상기 로지스틱 회귀 노드들 각각은 미리결정된 컨디션들의 세트의 각각의 컨디션에 대응하고, 상기 하나 이상의 로지스틱 회귀 노드들 각각을 이용하여 상기 네트워크 내부 상태를 프로세싱하는 동작은: 상기 타임 스텝에 대한 상기 대응 컨디션에 대한 미래 컨디션 점수를 생성하도록, 상기 로지스틱 회귀 노드의 파라미터들의 세트의 현재 값들에 따라 상기 로지스틱 회귀 노드를 이용하여 상기 타임 스텝에 대한 네트워크 내부 상태를 프로세싱하는 동작을 포함하고, 상기 대응 컨디션에 대한 미래 컨디션 점수는, 상기 타임 스텝에서의 상기 입력의 특정한 시간 기간 내에서 상기 대응 컨디션이 충족될 가능성을 나타낸다.
본 양태의 다른 실시예들은 그 각각이 상기 방법들의 동작들을 수행하도록 구성된 대응하는 컴퓨터 시스템들, 장치들, 및 하나 이상의 컴퓨터 저장 디바이스들에 기록된 컴퓨터 프로그램들을 포함한다.
하나 이상의 컴퓨터들의 시스템은, 동작시에 상기 시스템으로 하여금 이러한 동작들을 수행하게 하는 시스템 상에 설치된 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 갖는 것에 의해 특정 연산들 또는 동작들을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램은 데이터 프로세싱 장치에 의해 실행될 때 상기 장치로 하여금 동작들을 수행하게 하는 명령들을 포함함으로써 특정 연산들 또는 동작들을 수행하도록 구성될 수 있다.
전술한 실시예 및 다른 실시예들은 각각 단독으로 또는 조합하여 하기의 특징들 중 하나 이상을 선택적으로 포함할 수 있다.
리커런트 뉴럴 네트워크 시스템은 출력 계층을 더 포함할 수 있다. 복수의 타임 스텝들 각각에 대해, 타임 스텝에 대한 네트워크 내부 상태는, 복수의 가능한 다음 입력들 각각에 대한 다음 입력 점수 각각을 생성하도록, 출력 계층의 파라미터들의 세트의 현재 값들에 따라 출력 계층을 사용하여 프로세싱될 수 있다. 복수의 가능한 다음 입력들 각각에 대한 다음 입력 점수 각각은, 상기 가능한 다음 입력이 시간 시퀀스의 다음 타임 스텝에서의 입력이 될 가능성을 나타낼 수 있다. 하나 이상의 리커런트 뉴럴 네트워크 계층들 각각은, 복수의 타임 스텝들 각각에 대하여: 타임 스텝에 대한 계층 입력을 수신하고; 그리고 타임 스텝에 대한 리커런트 뉴럴 네트워크 계층에 대한 계층 내부 상태를 생성하도록, 상기 리커런트 뉴럴 네트워크 계층에 대한 파라미터들의 세트의 현재 값들에 따라, 선행 타임 스텝에 대한 리커런트 뉴럴 네트워크 계층에 대한 계층 내부 상태 및 상기 타임 스텝에 대한 계층 입력을 프로세싱하도록 구성될 수 있다. 리커런트 뉴럴 네트워크 시스템은 오직 하나의 리커런트 뉴럴 네트워크 계층을 포함할 수 있다. 상기 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층에 대한 상기 계층 내부 상태는, 상기 타임 스텝에 대한 상기 네트워크 내부 상태가 될 수 있다. 리커런트 뉴럴 네트워크 시스템은 시퀀스로 배열된 복수의 리커런트 뉴럴 네트워크 계층들을 포함할 수 있다. 타임 스텝에 대한 네트워크 내부 상태는 상기 타임 스텝에 대한 상기 시퀀스의 최상위 리커런트 뉴럴 네트워크 계층의 계층 내부 상태가 될 수 있다. 리커런트 뉴럴 네트워크 시스템은 복수의 리커런트 뉴럴 네트워크 계층들을 포함할 수 있다. 타임 스텝에 대한 상기 네트워크 내부 상태는 상기 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층들의 계층 내부 상태들의 조합이 될 수 있다. 상기 시간적 시퀀스 내의 각각의 입력은, 상기 리커런트 뉴럴 네트워크 시스템에 대한 가능한 입력들의 세트로부터 선택될 수 있다. 미리결정된 컨디션들의 세트는, 리커런트 뉴럴 네트워크 시스템에 대한 가능한 입력들의 세트에 포함되지 않은 이벤트들이 상기 타임 스텝에서의 입력의 특정 시간 기간 내에 발생하는 경우에 충족되는 컨디션들을 포함할 수 있다. 복수의 타임 스텝들에서의 입력들 각각은 환자와 관련된 헬스-관련 데이터(health-related data)가 될 수 있다. 상기 미리결정된 컨디션들의 세트 내의 컨디션들은, 헬스-관련 이벤트가 상기 환자와 관련하여 발생하는 때에 충족되는 컨디션들이 될 수 있다.
본 명세서에서 설명된 본 발명의 특정 실시예는 다음의 이점들 중 하나 이상을 실현하도록 구현될 수 있다. 리커런트 뉴럴 네트워크는 헬스 이벤트들과 같은 이벤트들의 시퀀스 예컨대, 현재 환자에 대한 전자 의료 기록으로부터 도출된 헬스 이벤트들의 시퀀스를 분석하는데 효율적으로 사용될 수 있다. 리커런트 뉴럴 네트워크는 상기 이벤트들이 리커런트 뉴럴 네트워크에 대한 가능한 입력들의 세트에 포함되지 않는 경우라 하여도, 시간적 시퀀스 내의 가장 최근의 이벤트의 특정 시간 기간 내에 이벤트들이 발생할 가능성들을 예측하는데 효율적으로 이용될 수 있다. 리커런트 뉴럴 네트워크 내부 상태들은, 다른 환자들에 대응하는 다른 시간적 시퀀스들을 식별하는데 효율적으로 사용될 수 있는데, 이는 현재 환자와 관련되게 될 수도 있는 미래 헬스 이벤트들에 대한 예측인 헬스 이벤트들을 포함할 수 있다. 따라서, 본 발명의 실시예는 시간적 시퀀스를 프로세싱하기 위한 개선된 시스템 및 방법을 제공한다.
리커런트 뉴럴 네트워크의 출력을 특징으로 하는 정보 또는 리커런트 뉴럴 네트워크에 의해서 생성된 출력으로부터 도출된 출력들이 의사 또는 다른 헬스케어 전문가와 같은 최종 사용자에게 제공될 수 있어, 양질의 의료 서비스를 환자들에게 제공하는 헬스케어 전문가의 능력을 향상시킬 수 있다. 예를 들어, 헬스케어 전문가는 현재 환자와 관련될 수도 있는 미래 헬스 이벤트에 대한 유용한 정보, 예컨대, 환자와 관련된 다음 헬스 이벤트가 될 수도 있는 헬스 이벤트들 또는 상기 시퀀스 내의 가장 최근의 이벤트의 특정 시간 기간 내에 발생하는 이벤트들에 의해 소정의 이벤트들이 충족될 가능성에 대한 유용한 정보를 제공받을 수 있다. 또한, 헬스케어 의료 전문가는 이벤트들이 발생할 가능성들에 대한 제안된 치료의 잠재적인 효과를 식별하는 정보를 제공받을 수 있는바, 예컨대, 제안된 치료가 장래에 환자에게 바람직하지 않은 헬스-관련 컨디션을 충족시킬 가능성을 감소 또는 증가시키는지의 여부를 제공받을 수 있다. 또한, 헬스케어 전문가는 과거 이력의 일 시점에서 그들의 헬스케어 기록들이 현재 환자와 유사했던 환자들의 헬스케어 기록들을 제공받을 수 있거나 또는 이들 환자들의 헬스케어 결과들의 요약을 제공받을 수 있다. 또한, 일부 경우들에서, 의료 전문가가 취할 제안 행동이 해당 환자의 향후 예측된 결과들에 대해 위험을 현저하게 증가시키는 경우에 트리거링되는 경고가 헬스케어 전문가에게 발행될 수 있다. 또한, 리커런트 뉴럴 네트워크를 포함하는 헬스케어 분석 시스템은, 표준 의료 행위를 성문화하고(codify), 치료 및 결과에 있어서 패턴들을 발견하고, 기존의 의료 기술들 또는 헬스케어 시스템을 분석하고, 또는 새로운 추천들을 수행하거나 과학적 발견들을 촉진시키는데 이용될 수 있다.
본 명세서에서 본 발명의 하나 이상의 실시예들의 세부 사항은 첨부된 도면 및 이하의 설명에서 서술될 것이다. 본 발명의 주제의 다른 특징들, 양상들 및 장점들은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
도 1은 헬스 케어 분석 시스템의 일례를 도시한다.
도 2는 시간적 시퀀스에 대한 헬스 이벤트 데이터를 생성하기 위한 예시적인 프로세스의 흐름도이다.
도 3은 다음 입력 점수들로부터 시간 시퀀스에 대한 헬스 분석 데이터를 생성하기위한 예시적인 프로세스의 흐름도이다.
도 4는 네트워크 내부 상태로부터 시간 시퀀스에 대한 헬스 이벤트 데이터를 생성하기 위한 예시적인 프로세스의 흐름도이다.
도 5는 미래 컨디션 점수들로부터 시간 시퀀스에 대한 헬스 이벤트 데이터를 생성하기 위한 예시적인 프로세스의 흐름도이다.
도 6은 미래 컨디션 점수들에 대한 시간 시퀀스에 이벤트를 추가하는 효과를 결정하기 위한 예시적인 프로세스의 흐름도이다.
도 7은 미래 컨디션 점수를 생성하도록 구성된 리커런트 뉴럴 네트워크의 일례를 도시한다.
도 8은 주어진 타임 스텝에 대한 미래 컨디션 점수를 생성하기 위한 예시적인 프로세스의 흐름도이다.
도 9는 미래 컨디션 점수를 생성하기 위해 리커런트 뉴럴 네트워크를 훈련시키는 예시적인 프로세스의 흐름도이다.
다양한 도면들에서 유사한 참조 번호들 및 명칭들은 유사한 요소들을 나타낸다.
본 명세서는 일반적으로 리커런트 뉴럴 네트워크(recurrent neural network)를 사용하여 헬스 이벤트(health event)들과 같은 복수의 이벤트(event)들을 식별시키는 데이터를 포함하는 시간적 시퀀스(temporal sequence)로부터 헬스 분석 데이터(health analysis data)와 같은 분석 데이터를 발생시킬 수 있는 시스템을 설명한다.
도 1은 예시적인 헬스케어 분석 시스템(healthcare analysis system)(100)을 보여준다. 헬스케어 분석 시스템(100)은 아래에서 설명되는 시스템들, 컴포넌트들, 및 기법들이 구현될 수 있는 하나 이상의 위치(location)들에서 하나 이상의 컴퓨터들 상의 컴퓨터 프로그램들로서 구현되는 시스템의 예이다.
헬스케어 분석 시스템(100)은 시간적 시퀀스(temporal sequence)들을 수신하고, 그리고 수신된 시간적 시퀀스들을 리커런트 뉴럴 네트워크(recurrent neural network)(110)를 사용하여 프로세싱함으로써, 수신된 시간적 시퀀스들로부터 헬스 분석 데이터(health analysis data)를 발생시킨다. 예를 들어, 헬스케어 분석 시스템(100)은 시간적 시퀀스(102)를 수신할 수 있고, 그리고 시간적 시퀀스(102)로부터 헬스 분석 데이터(122)를 발생시킬 수 있다.
시간적 시퀀스들은 복수의 타임 스텝(time step)들 각각에서 헬스-관련 데이터(health-related data), 예를 들어, 헬스 이벤트를 식별시키는 데이터를 포함하는 시퀀스들이다. 각각의 시간적 시퀀스는 소정의 환자와 관련된 헬스-관련 데이터를 포함하고, 여기서 시간적 시퀀스 내의 헬스-관련 데이터에 의해 식별되는 헬스 이벤트들은 시간 순으로 정렬되고, 이에 따라 가장-최근에 일어난 헬스 이벤트가 시퀀스 내의 마지막 타입 스텝에서의 헬스 이벤트가 된다.
일부 구현예들에서, 시간적 시퀀스 발생 시스템(temporal sequence generation system)(104)은 대응하는 환자에 대한 전자 의료 기록(electronic medical record)으로부터 시간적 시퀀스(102)를 발생시킨다. 전자 의료 기록은 대응하는 환자에 대한 헬스 정보의 전자적 콜렉션(electronic collection)이다. 예를 들어, 시간적 시퀀스 발생 시스템은, 환자에 대한 전자 의료 기록을 전자 의료 기록 리포지터리(electronic medical record repository)(106)로부터 획득할 수 있고, 그리고 전자 의료 기록에서 헬스 이벤트들을 식별함으로써 그리고 헬스 이벤트들을 시간 순으로 정렬함으로써 전자 의료 기록으로부터 시간적 시퀀스(102)를 발생킬 수 있다. 특히, 시간적 시퀀스(102)는 복수의 타임 스텝들 각각에서 토큰(token)들의 시퀀스를 포함할 수 있고, 여기서 각각의 토큰은 전자 의료 기록에서 식별된 헬스 이벤트를 나타낸다. 일부 구현예들에서, 시간적 시퀀스 발생 시스템은 헬스 이벤트가 일어난 시간을 식별시키는 데이터를 시간적 시퀀스(102) 내의 헬스 이벤트를 식별시키는 데이터에 첨부(append)할 수 있다.
일반적으로, 헬스케어 분석 시스템(100)에 의해 수신된 시간적 시퀀스들 내에서 식별되는 헬스 이벤트들은, 증상(symptoms), 테스트(tests), 테스트 결과(test results), 진단(diagnoses), 약물치료(medications), 결과(outcomes), 등 중 하나 이상을 포함할 수 있으며, 이들 각각은 토큰들의 미리-결정된 어휘(pre-determined vocabulary)로부터 토큰에 의해 나타내어진다. 선택에 따라, 각각의 토큰은 시간적 시퀀스 내에서 헬스 이벤트가 일어난 시간을 식별시키는 데이터와 결합된다. 추가적으로, 일부 경우에, 시간적 시퀀스는 어휘로부터 토큰들에 의해 식별되는 헬스 이벤트들과는 다른 헬스 이벤트들을 식별시킬 수 있다. 예를 들어, 일부 구현예들에서, 시간적 시퀀스들 내의 헬스 이벤트들은 또한, 헬스-관련 이미지들(health-related images)(예를 들어, X-레이(X-Ray) 혹은 다른 진단 이미지들(diagnostic images)), 헬스-관련 전자적 문서들(electronic documents)(예를 들어, 약속(appointment) 동안 의사에 의해 발생된 자유-형태 노트들(free-form notes)), 또는 이들 모두를 포함할 수 있다.
또한, 선택에 따라, 헬스-관련 데이터는 환자의 헬스에 영향을 미치는 것으로서 분류될 수 있는 다른 헬스-관련 데이터를 포함할 수 있다. 예를 들어, 다른 데이터는, 환자의 활동을 특징짓는 데이터를 포함할 수 있거나, 또는 환자의 디바이스들(예를 들어, 활동 추적 디바이스들) 혹은 모바일 디바이스들 상에서 실행되는 활동 추적 애플리케이션들에 의해 수집되는 다른 헬스-관련 데이터를 포함할 수 있다. 예를 들어, 활동 데이터는, 특정 날짜에 환자가 이동한 거리, 환자가 참여한 운동(workout) 혹은 다른 신체단련 활동(fitness activity), 환자가 먹은 음식(meals), 등을 식별시키는 데이터를 포함할 수 있다. 다른 헬스-관련 데이터는 또한, 환자의 헬스에 영향을 미칠 것으로 고려될 수 있는 다른 데이터, 예를 들어, 환자에 대한 처방 이행 데이터(prescription fulfillment data) 혹은 환자에 의해 행해진 구매(purchases)를 식별시키는 데이터를 포함할 수 있다.
헬스케어 분석 시스템(100)은 시간적 시퀀스(102)에 대한 네트워크 출력(network output)을 발생시키기 위해 리커런트 뉴럴 네트워크(110)를 사용하여 시간적 시퀀스(102)를 프로세싱한다. 헬스케어 분석 시스템(100)은 또한, 헬스케어 분석 엔진(healthcare analysis engine)(120)을 포함하며, 헬스케어 분석 엔진(120)은, 시간적 시퀀스(102)에 대한 네트워크 출력을 수신하고, 그리고 네트워크 출력으로부터 시간적 시퀀스(102)에 대한 분석 데이터(122)를 발생시킨다.
일반적으로, 시간적 시퀀스(102)에 대한 네트워크 출력은, 리커런트 뉴럴 네트워크(110)의 다음 입력 점수들(next input scores)(112)의 세트(set), 미래 컨디션 점수들(future condition scores)(114)의 세트, 또는 네트워크 내부 상태(network internal state)(116) 중 하나 이상을 포함한다.
리커런트 뉴럴 네트워크(110)는, 소정의 입력 시간적 시퀀스(input temporal sequence)의 각각의 타임 스텝에 대해 네트워크 내부 상태를 발생시키는 하나 이상 리커런트 뉴럴 네트워크 계층(recurrent neural network layer)들을 포함한다. 일부 구현예들에서, 리커런트 뉴럴 네트워크(110)는 또한, 출력 계층(output layer), 또는 로지스틱 회귀 노드들(logistic regression nodes)의 세트, 또는 이들 모두를 포함하고, 이러한 것들은 네트워크 내부 상태를 수신하고 그리고 타임 스텝에 대한 네트워크 출력을 발생시키기 위해 네트워크 내부 상태를 프로세싱한다. 추가적으로, 일부 구현예들에서, 리커런트 뉴럴 네트워크는 또한, 하나 이상 다른 종류의 뉴럴 네트워크 계층들, 예를 들어, 포워드 계층(feedforward layer)들, 예컨대, 풀리-커넥티드 계층(fully-connected layer)들, 콘볼루션널 계층(convolutional layer)들, 풀링 계층(pooling layer)들, 레귤러라이제이션 계층(regularization layer)들, 등을 포함할 수 있다.
특히, 리커런트 뉴럴 네트워크 계층들 각각은, 타임 스텝에 대한 계층 입력을 수신하고 타임 스텝에 대한 계층에 대한 계층 내부 상태를 계산(compute)하도록 구성된다. 리커런트 뉴럴 네트워크 계층은, 계층의 파라미터들(parameters)의 세트의 현재 값들에 따라, 현재 타임 스텝에 대한 계층 입력 그리고 이전의 타임 스텝에 대한 계층의 계층 내부 상태로부터 현재 타임 스텝에 대한 계층 내부 상태를 계산한다. 일부 구현예들에서, 리커런트 뉴럴 네트워크 계층들 중 하나 이상은 타임 스텝에 대한 계층 내부 상태를 계산할 때 다른 내부 상태들을 또한 사용하도록 구성되는데, 예를 들어, 다른 이전의 타임 스텝들로부터의 계층에 대한 내부 상태들, 또는 다른 리커런트 계층들에 대한 현재 타임 스텝 혹은 이전의 타임 스텝들에 대한 내부 상태들을 사용하도록 구성된다. 만약 현재 타임 스텝이 시퀀스 내에서 첫 번째 타임 스텝이라면, 이전의 타임 스텝에 대한 계층 내부 상태는, 예를 들어, 시스템 관리자(system administrator)에 의해 특정되는 바와 같이, 또는 헬스케어 분석 시스템(100)에 의해 발생되는 바와 같이, 초기 계층 내부 상태이다.
만약 리커런트 뉴럴 네트워크(110) 내에 단지 하나의 리커런트 뉴럴 네트워크 계층만이 존재한다면, 소정의 타임 스텝에 대한 네트워크 내부 상태는 타임 스텝에 대한 리커런트 뉴럴 네트워크 계층에 대한 계층 내부 상태이다.
만약 리커런트 뉴럴 네트워크(110) 내에 복수의 리커런트 뉴럴 네트워크 계층들이 존재한다면, 계층들은 시퀀스 내에서 정렬되는데, 시퀀스 내의 가장 낮은 계층으로부터 시퀀스 내의 가장 높은 계층으로 정렬되고, 그리고 타임 스텝에 대한 네트워크 내부 상태를 계산하기 위해 타임 스텝에서 헬스 이벤트를 집합적으로(collectively) 프로세싱한다. 만약 리커런트 뉴럴 네트워크(110) 내에 다른 타입의 뉴럴 네트워크 계층들이 존재한다면, 다른 뉴럴 네트워크 계층들은, 시퀀스 내의 다양한 위치에서 배치(intersperse)될 수 있는데, 예를 들어, 첫 번째 리커런트 계층 이전에, 또는 두 개의 리커런트 계층들 사이에, 또는 모든 리커런트 계층들 이후에, 또는 이러한 것들의 어떤 조합으로 배치될 수 있다. 소정의 타임 스텝에 대해, 리커런트 뉴럴 네트워크(110)는 각각의 리커런트 뉴럴 네트워크 계층으로부터의 계층 내부 상태를, 시퀀스 내의 계층 위에 있는 리커런트 뉴럴 네트워크 계층에 대한 계층 입력으로서 제공할 수 있다. 일부 구현예들에서, 리커런트 뉴럴 네트워크 계층들 중 하나 이상은 리커런트 계층 아래에 있는 계층과는 다른 그러한 시퀀스 내의 하나 이상 다른 계층들로부터 입력들을 또한 수신하도록 구성된다.
일부 구현예들에서, 시퀀스 내의 계층들 중 하나 이상은, 타임 스텝들의 서브세트(subset)에서, 예를 들어, 첫 번째 타임 스텝에서, 혹은 각각의 타임 스텝에서, 계층에 대한 계층 입력의 일부로서, 글로벌 입력(global input), 또는 레코드별 입력(per-record input), 또는 이들 모두를 수신하도록 구성될 수 있다. 글로벌 입력들은 리커런트 뉴럴 네트워크(110)에 의해 프로세싱되는 현재 시간적 시퀀스에 의존하지 않는 입력들이다. 글로벌 입력의 예는 1년 중 현재 시간, 예를 들어, 현재 날짜를 특징짓는 데이터이다. 레코드별 입력들은 상이한 시간적 시퀀스들에 대해 서로 다를 수 있는 입력들이다. 레코드별 입력의 예들은, 현재 시간적 시퀀스와 관련된 환자의 유전자 시퀀스(genetic sequence) 또는 환자를 특징짓는 다른 정보, 예를 들어, 환자에 대한 인구통계학적 정보(demographic information)를 포함할 수 있다.
일부 구현예들에서, 만약 복수의 리커런트 뉴럴 네트워크 계층들이 존재한다면, 타임 스텝에 대한 네트워크 내부 상태는 타임 스텝에 대한 시퀀스 내의 가장 높은 계층의 계층 내부 상태이다. 일부 다른 구현예들에서, 헬스케어 분석 시스템(100)은 타임 스텝에 대한 네트워크 내부 상태를 발생시키기 위해 타임 스텝에 대한 계층 내부 상태들을 결합한다. 예를 들어, 헬스케어 분석 시스템(100)은 네트워크 내부 상태를 발생시키기 위해, 계층 내부 상태들의 합(sum), 곱(product), 혹은 평균(average)을 계산할 수 있거나 계층 내부 상태들을 연결(concatenate)시킬 수 있다.
일부 구현예들에서, 리커런트 뉴럴 네트워크 계층들은 장단-기간 기억(Long Short-Term Memory, LSTM) 계층들이다. 각각의 LSTM 계층은 하나 이상 LSTM 기억 블록(memory block)들을 포함한다. 각각의 LSTM 기억 블록은 하나 이상 셀(cell)들을 포함할 수 있고, 각각의 셀은 입력 게이트(input gate), 망각 게이트(forget gate), 및 출력 게이트(output gate)를 포함하고, 이들은 셀이 셀에 대한 이전의 상태들을 저장할 수 있게 하는데, 예를 들어, 현재 활성화(current activation)를 발생시킬 때 사용하기 위한, 혹은 LSTM 뉴럴 네트워크의 다른 컴포넌트들에게 제공될, 셀에 대한 이전의 상태들을 저장할 수 있게 한다.
리커런트 뉴럴 네트워크(110)가 출력 계층을 포함하는 구현예들에서, 출력 계층은, 타임 스텝들 각각에 대해, 타임 스텝에 대한 네트워크 내부 상태를 수신하고 그리고 타임 스텝에 대한 다음 입력 점수들의 세트를 발생시키도록 구성된다. 타임 스텝에 대한 다음 입력 점수들의 세트는 토큰들의 어휘 내에서 토큰에 의해 나타내어지는 각각의 헬스 이벤트에 대한 각각의 점수를 포함한다. 리커런트 뉴럴 네트워크(110)가 훈련(train)된 경우, 소정의 헬스 이벤트에 대한 다음 입력 점수는 헬스 이벤트가 시간적 시퀀스 내에서 다음 헬스 이벤트가 될 가능성(likelihood)을 나타낸다. 따라서, 리커런트 뉴럴 네트워크(110)가 출력 계층을 포함하는 경우, 리커런트 뉴럴 네트워크(110)는, 소정의 입력 시간적 시퀀스의 각각의 타임 스텝에 대해, 미래 헬스 이벤트들, 즉 시간적 시퀀스 내의 다음 타임 스텝에서의 헬스 이벤트를 예측(predict)하도록 훈련된 네트워크이다. 리커런트 뉴럴 네트워크(110)는 종래의 머신 러닝 훈련 기법(machine learning training technique)들, 예를 들어, 시간 훈련 기법을 통한 역전파(backpropagation)를 이용해 훈련 시퀀스들 상에서 훈련될 수 있다.
이러한 구현예들에서, 시간적 시퀀스(102)에 대한 다음 입력 점수들(112)은 시간적 시퀀스(102) 내의 마지막 타임 스텝에 대한 출력 계층에 의해 발생되는 다음 입력 점수들이다.
리커런트 뉴럴 네트워크(110)가 로지스틱 회귀 노드들의 세트를 포함하는 구현예들에서, 로지스틱 회귀 노드들의 세트는, 각각의 타임 스텝에서, 타임 스텝에 대한 네트워크 내부 상태를 수신하고, 그리고 타임 스텝에 대한 미래 컨디션 점수들의 세트를 발생시키도록 구성된다. 미래 컨디션 점수들의 세트는 컨디션들의 미리-결정된 세트 내의 각각의 컨디션에 대한 각각의 점수를 포함한다. 소정의 컨디션에 대한 점수는 현재 타임 스텝에서 헬스 이벤트의 특정된 기간 내에 컨디션이 충족될 가능성을 나타낸다.
컨디션들은 이벤트의 발생(occurrence)에 의해 충족되는 컨디션들, 예를 들어, 어휘 내의 토큰에 의해 나타내어지는 헬스 이벤트의 발생에 의해 충족되는 컨디션들을 포함한다. 일부 경우, 어휘 내의 토큰에 의해 나타내어지는 이벤트의 발생에 의해 충족되는 컨디션들을 포함하는 것에 추가하여 혹은 그 대신에, 컨디션들의 미리결정된 세트 내의 컨디션들은 또한, 어휘 내의 토큰들에 의해 나타내어지지 않는 이벤트들, 즉 리커런트 뉴럴 네트워크(110)에 의해 프로세싱된 시간적 시퀀스들 내에 포함되는 가능한 헬스 이벤트들이 아닌 이벤트들이, 현재 타임 스텝에서 헬스 이벤트의 특정 기간 내에 일어날 때 충족되는 컨디션들을 포함할 수 있다. 따라서, 미리결정된 컨디션들의 세트 내의 컨디션들을 충족시킬 수 있는 이벤트들은 토큰들에 의해 나타내어지는 이벤트들과 겹쳐(overlap)질 수 있지만, 컨디션들의 세트는 또한, 세트 내에 존재하지 않는 다른 컨디션들의 발생에 의해 충족되는 컨디션들을 포함할 수 있다.
로지스틱 회귀 노드들의 세트를 포함하는 리커런트 뉴럴 네트워크는 도 7 및 도 8을 참조하여 더 상세히 설명된다. 컨디션들이 충족될 가능성을 예측하도록 리커런트 뉴럴 네트워크를 훈련시키는 것은 도 9를 참조하여 아래에서 더 상세히 설명된다.
이러한 구현예들에서, 시간적 시퀀스(102)에 대한 컨디션 점수들(114)은 시간적 시퀀스(102) 내의 마지막 타임 스텝에 대한 로지스틱 회귀 노드들에 의해 발생되는 미래 컨디션 점수들이다.
네트워크 내부 상태(116)가 시간적 시퀀스(102)에 대한 네트워크 출력 내에 포함되는 구현예들에서, 시간적 시퀀스(102)에 대한 네트워크 내부 상태(116)는, 시퀀스 내의 마지막 타임 스텝에 대한 리커런트 뉴럴 네트워크(110)에 의해 발생되는 네트워크 내부 상태이거나, 또는 시퀀스 내의 복수의 타임 스텝들에 대한 리커런트 뉴럴 네트워크(110)에 의해 발생되는 네트워크 내부 상태들의 결합(combination), 예를 들어, 네트워크 내부 상태들의 가중된(weighted) 합, 곱, 혹은 연결(concatenation)이다.
헬스케어 분석 엔진(120)은, 시간적 시퀀스(122)에 대한 네트워크 출력을 수신하고, 그리고 시간적 시퀀스(102)에 대한 헬스 분석 데이터(122)를 발생시키고, 그리고 사용자에게, 예를 들어, 시간적 시퀀스(102)에 대응하는 환자를 치료하는 의사에게 제시(presentation)하기 위해 헬스 분석 데이터(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)). 예를 들어, 시스템은, 가장 높은 다음 입력 점수들을 갖는 미리결정된 개수의 헬스 이벤트들을 선택할 수 있거나, 또는 임계 값(threshold value)보다 큰 다음 입력 점수를 갖는 각각의 헬스 이벤트를 선택할 수 있다.
시스템은 가장 높은-점수를 갖는 헬스 이벤트들을 식별시키는 데이터, 그리고 선택에 따라서는, 각각의 가장 높은-점수를 갖는 헬스 이벤트에 대한 다음 입력 점수를 특징짓는 데이터를 사용자에게 제시하기 위해 제공한다(단계(308)). 따라서, 의사 혹은 다른 사용자는 입력 시간적 시퀀스에 대응하는 환자와 관련될 다음 헬스 이벤트들이 될 확률이 높은 헬스 이벤트들에 대한 정보를 관측(view)할 수 있다.
도 4는 네트워크 내부 상태로부터 시간적 시퀀스에 대한 헬스 이벤트 데이터를 발생시키기 위한 예시적인 프로세스(400)의 흐름도이다. 편의상, 프로세스(400)는 하나 이상 위치들에 위치하는 하나 이상 컴퓨터들의 시스템에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 적절하게 프로그래밍된 뉴럴 네트워크 훈련 시스템, 예를 들어, 도 1의 뉴럴 네트워크 훈련 시스템(100)이 프로세스(400)를 수행할 수 있다.
시스템은 각각의 시간적 시퀀스의 각각의 타임 스텝에 대한 네트워크 내부 상태를 발생시키기 위해 리커런트 뉴럴 네트워크, 예를 들어, 리커런트 뉴럴 네트워크(110)를 사용해 일 세트의 시간적 시퀀스들 각각을 프로세싱한다(단계(402)). 이러한 세트 내의 각각의 시간적 시퀀스는 상이한 환자에 대응하는바, 예를 들어, 상이한 전자 의료 기록으로부터 발생된 것이다. 리커런트 뉴럴 네트워크는, 하나 이상의 리커런트 뉴럴 네트워크 계층들을 포함하고, 그리고 출력 계층, 또는 일 세트의 로지스틱 회귀 노드들, 또는 이들 모두를 포함한다. 특히, 리커런트 뉴럴 네트워크는, 소정의 입력 시간적 시퀀스 내의 각각의 타임 스텝에 대해, 현재 타임 스텝에 대한 뉴럴 네트워크에 의해 발생된 내부 상태로부터, 미래 이벤트들, 즉, 현재 타임 스텝에서의 이벤트 이후에 일어나는 이벤트들을 예측하도록 훈련된 것이다. 예를 들어, 만약 리커런트 뉴럴 네트워크가 출력 계층을 포함한다면, 리커런트 뉴럴 네트워크는 시간적 시퀀스 내의 다음 이벤트, 즉, 시간적 시퀀스 내의 현재 타임 스텝 이후 다음 타임 스텝에서의 이벤트를 예측하도록 훈련된 것일 수 있다. 또 하나의 다른 예로서, 만약 리커런트 뉴럴 네트워크가 일 세트의 로지스틱 회귀 노드들을 포함한다면, 리커런트 뉴럴 네트워크는 시간적 시퀀스 내의 현재 타임 스텝에서의 이벤트의 특정 기간 내에 일 세트의 이벤트들 각각이 일어날지 여부를 예측하도록 훈련된 것일 수 있다.
시스템은 네트워크 내부 상태들을 내부 상태 리포지터리 내에 저장하고, 그리고 각각의 네트워크 내부 상태를, 네트워크 내부 상태가 발생됐을 때 그 대상이 되는 타임 스텝 및 시간적 시퀀스를 식별시키는 데이터와 관련시킨다(단계(404)). 일부 구현예들의 경우, 각각의 시간적 시퀀스에 대해, 시스템은 시간적 시퀀스 내의 각각의 타임 스텝에 대한 시스템에 의해 발생된 네트워크 내부 상태를 리포지터리 내에 저장한다. 일부 다른 구현예들의 경우, 시스템은 리포지터리 내에 네트워크 내부 상태들의 서브세트만을 저장하는데, 예를 들어, 시간적 시퀀스 내에서 적어도 임계 개수(threshold number)의 다른 헬스 이벤트들이 선행하고 있는 그러한 헬스 이벤트들에 대한 네트워크 내부 상태들만을 저장한다.
시스템은 헬스 이벤트들의 입력 시간적 시퀀스를 수신한다(단계(406)).
시스템은 입력 시간적 시퀀스에 대한 시퀀스 내부 상태를 결정하기 위해 리커런트 뉴럴 네트워크를 사용해 입력 시간적 시퀀스를 프로세싱한다(단계(408)). 입력 시간적 시퀀스에 대한 시퀀스 내부 상태는 시퀀스 내의 마지막 타임 스텝에서의 헬스 이벤트에 대한 네트워크 내부 상태이다.
시스템은 시퀀스 내부 상태와 유사한 하나 이상 네트워크 내부 상태들을 내부 상태 리포지터리로부터 선택한다(단계(410)). 시스템은 리포지터리 내의 네트워크 내부 상태들과 시퀀스 내부 상태 간의 유사도 측정치(similarity measure), 예를 들어, 코사인 유사도 측정치(cosine similarity measure)를 계산함으로써 네트워크 내부 상태들을 선택한다. 예를 들어, 시스템은, 시퀀스 내부 상태와의 코사인 유사도가 가장 큰 미리결정된 개수의 네트워크 내부 상태들을 선택할 수 있거나, 또는 시퀀스 내부 상태와의 코사인 유사도가 임계 유사도(threshold similarity)를 초과하는 각각의 네트워크 내부 상태를 선택할 수 있다. 일부 구현예들에서, 시스템은 내부 상태들 간의 유사도를 결정하기 위해 다른 거리 측정치(distance measure), 예를 들어, 유클리디안 거리(Euclidian distance), 해밍 거리(Hamming distance) 등을 사용한다. 유사하게, 시스템은 또한 내부 상태들을 정규화(regularize)할 수 있고, 그 다음에, 정규화된 내부 상태들 간의 거리를 계산할 수 있다.
시스템은 유사한 네트워크 내부 상태들이 발생됐을 때 그 대상이 되는 시간적 시퀀스들을 식별시키는 데이터를 사용자에게 제시하기 위해 제공한다(단계(412)). 특히, 시스템은, 소정의 유사한 네트워크 내부 상태에 대해, 유사한 네트워크 내부 상태 상태가 발생됐을 때 그 대상이 되는 시간적 시퀀스 내에서, 네트워크 내부 상태가 발생됐을 때 그 대상이 되는 타임 스텝 이후에 일어난, 헬스 이벤트들을 식별시키는 데이터를 제공한다. 시퀀스 내부 상태 및 유사한 네트워크 내부 상태들을 모두 발생시킨 리커런트 뉴럴 네트워크는 네트워크 내부 상태들로부터 미래 이벤트들을 예측하도록 훈련되었기 때문에, 그리고 유사한 네트워크 내부 상태들은 시퀀스 내부 상태와 유사하기 때문에, 소정의 네트워크 내부 상태가 발생됐을 때 그 대상이 되는 타임 스텝 이후에 일어난 이벤트들은 입력 시간적 시퀀스 내의 미래 이벤트들, 즉, 입력 시간적 시퀀스 내의 현재 마지막 이벤트 이후에 일어나는 이벤트들을 예측할 확률이 높다. 다시 말해, 소정의 유사한 네트워크 내부 상태가 발생됐을 때 그 대상이 되는 타임 스텝으로부터, 대응하는 환자는 리커런트 뉴럴 네트워크가 입력 시간적 시퀀스에 대응하는 현재 환자에 대해 기대(expect)하는 미래와 유사한 미래를 가질 것으로 리커런트 뉴럴 네트워크에 의해 기대된다. 따라서, 네트워크 내부 상태들로부터 후속하는 이벤트들을 관측(viewing)함으로써, 사용자, 예를 들어, 의사는 입력 시간적 시퀀스 내의 현재 마지막 이벤트 이후에 일어날 수 있는 이벤트들, 즉, 현재 환자에 대해 일어날 수 있는 미래 헬스 이벤트들의 아이디어(idea)를 제공받을 수 있다.
일부 다른 구현예들에서, 시스템은 또한, 소정의 네트워크 내부 상태가 발생됐을 때 그 대상이 되는 시간적 시퀀스를 식별시키는 데이터의 일부로서 사용자에게 제시하기 위해 시간적 시퀀스들 내의 다른 헬스 이벤트들을 식별시키는 데이터를 제공한다.
일부 구현예들에서, 사용자에게 제시하기 위해 시간적 시퀀스들을 식별시키는 데이터를 제공하는 대신에, 시스템은 시간적 시퀀스들 내의 후속하는 이벤트들로부터 통계치(statistics)를 계산하고, 계산된 통계치를 사용자에게 제시하기 위해 제공한다. 예를 들어, 시스템은 유사한 네트워크 내부 상태가 발생됐을 때 그 대상이 되는 타임 스텝 이후에 일어나는 특정 헬스 이벤트, 예를 들어, 심장 마비(heart attack) 혹은 뇌졸증(stroke)을 포함했던 시간적 시퀀스들의 일부분을 결정할 수 있다. 이 경우, 시스템은 사용자에게 제시하기 위해 비율(proportion)을 식별시키는 데이터를 제공할 수 있는바, 예를 들어, "환자들 중 X%가 현재 환자가 특정 헬스 이벤트를 경험했던 것과 유사한 미래들을 가질 것으로 기대됨"의 형태로 제공할 수 있다.
일부 구현예들에서, 내부 상태들을 내부 상태 리포지터리 내에 저장하는 대신에, 시스템은 다른 시간적 시퀀스들과 비교되도록 되어 있는 입력 시간적 시퀀스가 수신될 때마다 각각의 다른 시간적 시퀀스에 대한 내부 상태들을 다시-계산(re-compute)할 수 있다.
도 5는 미래 컨디션 점수들로부터 시간적 시퀀스에 대한 헬스 이벤트 데이터를 생성하기 위한 예시적인 프로세스(500)의 흐름도이다. 편의상, 프로세스(500)는 하나 이상의 위치들에 위치되는 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로 서술될 것이다. 예를 들어, 적절하게 프로그래밍된 뉴럴 네트워크 트레이닝 시스템, 예를 들어, 도 1의 뉴럴 네트워크 트레이닝 시스템(100)은 프로세스(500)를 수행할 수 있다.
시스템은 입력 시간적 시퀀스를 수신한다(단계 502).
시스템은, 입력 시간적 시퀀스에 대한 미래 컨디션 점수들을 생성하기 위해 리커런트 뉴럴 네트워크, 예를 들어, 리커런트 뉴럴 네트워크(110)를 사용하여 입력 시간적 시퀀스를 프로세싱한다(단계 504). 미래 컨디션 점수들은, 미리결정된 컨디션 세트 각각에 대한 각각의 미래 컨디션 점수를 포함한다. 주어진 컨디션에 대한 미래 컨디션 점수는, 입력 시간적 시퀀스의 마지막 타임 스텝에서 이벤트의 지정된 기간 내에 컨디션이 충족될 가능성을 나타낸다.
일부 구현들에서, 리커런트 뉴럴 네트워크는 하나 이상의 리커런트 뉴럴 네트워크 계층들 및 로지스틱 회귀 노드들의 세트를 포함한다. 각각의 로지스틱 회귀 노드는, 입력 시간적 시퀀스의 각 타임 스텝에서, 미리결정된 컨디션들의 세트로부터 대응하는 컨디션에 대한 미래 컨디션 점수를 생성한다. 미래 컨디션 점수들을 생성하는 로지스틱 회귀 노드들을 포함하는 리커런트 뉴럴 네트워크는, 도 7 내지 도 9를 참조하여 아래에서 더 상세하게 서술된다. 이러한 구현들에서, 입력 시간적 시퀀스의 마지막 타임 스텝에 대한 리커런트 뉴럴 네트워크에 의해 생성된 미래 컨디션 점수들에 대한 세트는 입력 시간적 시퀀스에 대한 미래 컨디션 점수들의 세트이다.
일부 다른 구현들에서, 리커런트 뉴럴 네트워크는, 입력 시간적 시퀀스의 각 타임 스텝에 대한 다음 입력 점수들의 세트를 생성하고 그리고 로지스틱 회귀 노드들을 포함하지 않는 출력 계층을 포함한다. 이들 구현들에서, 시스템은 다수의 가능한 시간적 시퀀스들을 생성하고, 각 시간적 시퀀스는, 시간적 시퀀스들에서 현재 마지막 단계 이후의 지정된 수의 추가적인 타임 스텝들 및 추가적인 타임 스텝들 각각에서 가능한 헬스 이벤트를 포함한다. 시스템은, 추가적인 타임 스텝들 각각에 대해 특정 폭을 갖는 빔 탐색을 수행함으로써 다수의 가능한 시간적 시퀀스들을 생성한다. 빔 탐색의 폭은, 미래의 타임 스텝들 각각에서 시스템에 의해 고려되는 최고 점수를 받는 이벤트들의 수를 정의한다. 시스템은, 이후, 미래 컨디션 점수들이 생성될 이벤트들 중 하나의 발생에 의해 충족되는 컨디션들 각각에 대해, 시퀀스의 추가적인 타임 스텝들 중 하나에서 컨디션을 충족시키는 이벤트를 포함하는 가능한 시간적 시퀀스들의 비율을 결정한다. 시스템은, 이후, 해당 컨디션에 대한 미래 컨디션 점수로 비율을 사용할 수 있다. 선택적으로, 시스템은, 이벤트가 발생한 가능한 시간적 시퀀스의 발생 가능성을 사용하여 이벤트의 각 발생을 가중시킬 수 있다. 가능한 시간적 시퀀스의 발생 확률은, 예를 들어, 시퀀스 내의 추가적인 타임 스텝들 각각에서의 헬스 이벤트들에 대한 다음 입력 점수들의 곱일 수 있다.
시스템은, 사용자에게 제시하기 위한 미래 컨디션 점수들을 식별하는 데이터를 제공한다(단계 506). 예를 들어, 시스템은, 각 컨디션을 식별하는 데이터 및 각 컨디션에 대한 미래 컨디션 점수를 제공할 수 있거나 또는 사용자에게 제시하기 위한 하나 이상의 최고 점수 컨디션들을 식별하는 데이터만을 제공할 수 있다.
일부 구현들에서, 사용자에게 제시하기 위한 미래 컨디션 점수들을 식별하는 데이터를 제공하는 것에 추가하여 또는 제공하는 것 대신에, 상기 시스템은 미래 컨디션 점수들에 대한 처리의 효과를 결정할 수 있고 그리고 상기 시스템은 사용자에게 제시하기 위해 상기 효과를 식별하는 데이터를 제공할 수 있다.
도 6은, 미래 컨디션 점수들에 대한 시간적 시퀀스에 이벤트를 추가하는 효과를 결정하기 위한 예시적인 프로세스(600)의 흐름도이다. 편의상, 프로세스(600)는 하나 이상의 위치들에 위치되는 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로 서술될 것이다. 예를 들어, 적절하게 프로그래밍된 뉴럴 네트워크 트레이닝 시스템, 예를 들어, 도 1의 뉴럴 네트워크 트레이닝 시스템(100)은 프로세스(600)를 수행할 수 있다.
시스템은 초기 입력 시간적 시퀀스를 수신한다(단계 602).
시스템은 초기 입력 시간적 시퀀스에 대한 미래 컨디션 점수들을 결정한다(단계 604). 예를 들어, 시스템은 도 5를 참조하여 상기 서술된 바와 같이 초기 입력 시간적 시퀀스에 대한 미래 컨디션 점수들을 결정할 수 있다.
시스템은 사용자로부터 추가적인 헬스 이벤트를 식별하는 데이터를 수신한다 (단계 606). 예를 들어, 추가 헬스 이벤트는 의사가 환자에게 처방할 수 있는 잠재적 치료일 수 있다.
시스템은, 추가적인 헬스 이벤트을 식별하는 데이터(예를 들어, 헬스 이벤트를 나타내는 토큰)를 초기 입력 시간적 시퀀스의 끝에 부가함으로써, 수정된 입력 시간적 시퀀스(modified input temporal sequence)를 생성한다(단계 608).
시스템은 수정된 입력 시간적 시퀀스에 대한 미래 컨디션 점수들을 결정한다(단계 610). 예를 들어, 시스템은, 도 5를 참조하여 상기 서술한 바와 같이 초기 입력 시간적 시퀀스에 대한 미래 컨디션 점수들을 결정할 수 있다.
시스템은, 추가적인 헬스 이벤트를 입력 시간적 시퀀스에 추가함으로써 야기된 미래 컨디션 점수의 변화를 결정하고(단계 612) 그리고 사용자에게 제시하기 위해 상기 변화를 식별하는 데이터를 제공한다(단계 614). 즉, 시스템은, 수정된 입력 시간적 시퀀스에 대한 미래 컨디션 점수들과 초기 입력 시간적 시퀀스에 대한 대응하는 미래 컨디션 점수들 사이의 차이를 계산하고 그리고 사용자에게 제시하기 위해 상기 차이들을 식별하는 데이터를 제공한다. 따라서, 의사는, 장래에 특정 컨디션들이 충족될 가능성에 대한 잠재적인 치료들의 효과를 볼 수 있다.
일부 구현들에서, 시스템은, 시간적인 시퀀스에 추가되는 새로운 이벤트에 응답하여 프로세스(600)를 자동으로 수행할 수 있다. 새로운 이벤트로 인해 컨디션의 미래 컨디션 점수가 임계값 이상으로 증가하거나 임계값을 초과하게 되면, 시스템은 사용자에게 자동으로 변화를 알리는 경고를 생성할 수 있다. 예를 들어, 시스템 관리자 또는 다른 사용자는 하나 이상의 특정 컨디션들을 바람직하지 않은 것으로 지정할 수 있다. 시스템은, 이후, 새로운 이벤트가 시간적 시퀀스에 추가되는 것에 응답하여 프로세스(600)를 자동으로 수행할 수 있고, 그리고 바람직하지 않은 컨디션 중 하나에 대한 미래 컨디션 점수가 임계 점수를 넘거나 임계값 증가 이상으로 증가하는 경우 사용자에게 알리는 경고를 생성한다.
또한, 일부 구현들에서, 시스템은, 시간적 시퀀스의 수신에 응답하여, 시간적 시퀀스로부터 다수의 수정된 시간적 시퀀스들을 자동 생성할 수 있으며, 각각의 수정된 시간적 시퀀스는 상이한 가능한 입력 헬스 이벤트를 시간적인 시퀀스에 부가한다. 가능한 입력 헬스 상태 이벤트들은, 어휘 내의 토큰에 의해 표현되는 헬스 이벤트들의 서브세트, 예를 들어, 어휘 내의 토큰들에 의해 표현되는 가능한 치료들의 일부 또는 전부일 수 있다. 시스템은, 이후, 수정된 시간 시퀀스들 각각에 대해 프로세스(600)를 수행할 수 있고, 그리고 수정된 시퀀스들 중 임의의 것에 대해, 하나 이상의 바람직하지 않은 컨디션들에 대한 미래 컨디션 점수가 임계값 감소보다 감소하는지 여부를 결정한다. 주어진 수정된 시간적 시퀀스에 대해, 바람직하지 않은 컨디션들에 대한 미래 컨디션 점수가 임계값 이상으로 감소한다고 결정한 것에 응답하여, 시스템은, 수정된 시간적 시퀀스를 생성하기 위해 시간적 시퀀스에 부가되었던 헬스 이벤트를 식별하는 정보를 사용자에게 제공할 수 있다. 따라서, 의사는, 바람직하지 않은 컨디션이 미래에 충족될 가능성을 감소시킬 수 있는 추가적인 치료 방법을 고려할 기회를 가질 수 있다.
도 7은, 미래 컨디션 점수들을 생성하도록 구성된 예시적인 리커런트 뉴럴 네트워크(700)를 도시한다. 리커런트 뉴럴 네트워크(700)는 하나 이상의 위치들에서 하나 이상의 컴퓨터들 상의 컴퓨터 프로그램들로서 구현되는 시스템의 예이고, 아래에서 서술되는 시스템들, 컴포넌트들 및 기술들은 구현될 수 있다.
리커런트 뉴럴 네트워크(700)는 다수의 타임 스텝들 각각에서 각 입력을 포함하는 입력 시퀀스들을 수신하고, 그리고 타임 스텝들 각각에 대해, 미리 결정된 이벤트들의 세트에서 각 컨디션에 대한 각각의 미래 컨디션 점수를 생성한다. 주어진 타임 스텝에서 주어진 컨디션에 대한 미래 컨디션 점수는, 타임 스텝에서 입력의 지정된 시간 기간 내에 컨디션이 충족될 가능성을 나타낸다.
리커런트 뉴럴 네트워크(700)는, 하나 이상의 리커런트 뉴럴 네트워크 계층(710), 다중 로지스틱 회귀 노드들(720A 내지 720N) 및 선택적으로, 출력 계층(740)을 포함한다.
도 1에 도시된 바와 같이, 각각의 타임 스텝들에 대해, 하나 이상의 리커런트 뉴럴 네트워크 계층들(710)은 타임 스텝에서 입력을 수신하고 그리고 타임 스텝에 대한 네트워크 내부 상태를 생성하기 위해 입력을 집합적으로 프로세싱한다.
로지스틱 회귀 노드들(720A 내지 720N) 각각은 미리 결정된 컨디션들의 세트로부터의 각각의 컨디션에 대응하고, 그리고 각각의 타임 스텝에서, 타임 스텝에 대한 네트워크 내부 상태를 수신 및 대응하는 이벤트에 대한 장래의 컨디션 점수를 생성하기 위해 파라미터들의 각 세트의 현재 값들에 따라 상기 네트워크 내부 상태를 처리하도록 구성된다. 따라서, 각각의 타임 스텝에서, 로지스틱 회귀 노드들(720A 내지 720N) 각각은 미리 결정된 컨디션들의 세트 내의 컨디션들 각각에 대한 미래의 컨디션 점수를 생성한다.
리커런트 뉴럴 네트워크(700)가 출력 계층(740)을 포함하는 경우, 출력 계층(740)은 타임 스텝 동안 네트워크 내부 상태를 수신하고 그리고 가능한 입력들의 세트에서 각각의 가능한 입력에 대한 각각의 다음 입력 점수를 생성하기 위해 내부 상태를 프로세싱하도록 구성된다. 주어진 가능한 입력에 대한 다음 입력 점수는, 가능한 입력이 입력 시퀀스의 다음 입력일 가능성, 즉, 입력 시퀀스의 현재 타임 스텝에서 입력 바로 뒤에 나타날 가능성을 나타낸다.
시간적 시퀀스의 입력들은 가능한 입력 이벤트들의 세트를 나타내는 미리결정된 어휘 내의 토큰들로부터 선택된 입력들을 포함한다. 리커런트 뉴럴 네트워크(700)가 미래 컨디션 점수들을 생성하는 미리 결정된 컨디션들의 세트 내의 컨디션들은, 미리결정된 어휘에서 토큰들에 의해 표현되지 않는 이벤트들의 발생에 의해 만족되는 컨디션들을 포함할 수 있다. 즉, 상기 미리 결정된 컨디션들의 세트 내의 컨디션들은, 리커런트 뉴럴 네트워크(700)에 의해 프로세싱되는 시간적 시퀀스들에 포함될 수 있는 가능한 입력 이벤트들, 토큰들에 의해 표현되는 이벤트들, 또는 양자 모두가 될 수 없다. 따라서, 리커런트 뉴럴 네트워크(700)가 미래 컨디션 점수들을 생성하는 미리결정된 컨디션들의 세트 내의 컨디션들 중 임의의 컨디션을 만족시키는 이벤트들의 세트 내의 이벤트들이 토큰들에 의해 표현되는 이벤트들과 중첩될 수 있지만, 이벤트들의 세트는 또한 세트에 없는 다른 이벤트를 포함할 수 있다.
도 8은 주어진 타임 스텝에 대한 미래 컨디션 점수들을 생성하기 위한 예시적인 프로세스(800)의 흐름도이다. 편의상, 프로세스(800)는 하나 이상의 위치들에 위치되는 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로 서술될 것이다. 예를 들어, 적절히 프로그래밍되는, 리커런트 뉴럴 네트워크, 예를 들어, 도 7의 리커런트 뉴럴 네트워크는 프로세스(300)를 수행할 수 있다.
시스템은, 타임 스텝에 대한 입력, 예를 들어, 헬스 이벤트를 나타내는 토큰을 수신한다(단계 802).
시스템은, 타임 스텝 동안 리커런트 뉴럴 네트워크에 대한 네트워크 내부 상태를 생성하기 위해, 하나 이상의 리커런트 뉴럴 네트워크 계층들, 예를 들어, 도 7의 리커런트 뉴럴 네트워크 계층들(710)을 사용하여 입력을 프로세싱한다(단계 804). 하나 이상의 뉴럴 네트워크 계층들은, 예를 들어, 도 1을 참조하여 상기에서 서술한 것처럼 네트워크의 내부 상태를 생성한다.
시스템은, 미래 컨디션 점수들의 세트를 생성하기 위해, 로지스틱 회귀 노드들, 예를 들어, 도 7의 로지스틱 회귀 노드들(720A 내지 720N) 각각을 사용하여 네트워크 내부 상태를 프로세싱한다(단계 806). 로지스틱 회귀 노드들 각각은, 미리 결정된 컨디션들의 세트로부터의 각각의 컨디션에 대응하고 그리고 로지스틱 회귀 노드의 파라미터들의 세트의 현재 값들에 따라 내부 상태를 처리함으로써 대응하는 컨디션에 대한 미래 컨디션 점수를 생성한다.
선택적으로, 시스템은, 또한, 가능한 입력들의 세트 각각에 대한 각각의 다음 입력 점수를 생성하기 위해 출력 계층, 예를 들어, 도 7의 출력 계층(740)을 사용하여 네트워크 내부 상태를 프로세싱한다(단계 808). 출력 계층은, 한 세트의 출력 계층 파라미터들의 현재 값들에 따라 네트워크 내부 상태를 프로세싱함으로써 각각의 다음 입력 점수들을 생성한다.
프로세스(800)는, 원하는 출력(즉, 입력에 대하여 상기 시스템에 의해 생성되어야 하는 뉴럴 네트워크 출력)이 알려지지 않은 뉴럴 네트워크 입력에 대해 수행될 수 있다. 시스템은, 또한, 시스템을 트레이닝하기 위해, 즉, 리커런트 뉴럴 네트워크 계층들, 로지스틱 휘귀 노드들, 및 일부 구현들에서, 출력 계층의 파라미터들에 대한 트레이닝된 값들을 결정하기 위해, 트레이닝 시퀀스들의 세트에서의 입력들, 시스템에 의해 예측되어야 하는 출력이 알려진 입력들의 세트에 대해 프로세스(800)를 수행할 수 있다. 특히, 프로세스(800)는, 뉴럴 네트워크를 트레이닝하기 위한 머신 러닝 트레이닝 기술, 예를 들어, 시간 경과에 따른 역-전파 트레이닝 기술의 일부로서 트레이닝 시퀀스들의 세트로부터의 입력들에 대해 반복적으로 수행될 수 있다. 예시적인 트레이닝 프로세스는, 도 9을 참조하여 아래에서 보다 상세하게 서술된다.
도 9는 미래 컨디션 점수들을 생성하기 위해 리커런트 뉴럴 네트워크를 트레이닝시키는 예시적인 프로세스(900)의 흐름도이다. 편의상, 프로세스(900)는 하나 이상의 위치들에 위치되는 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로 서술될 것이다. 예를 들어, 적절히 프로그래밍되는 리커런트 뉴럴 네트워크, 예를 들어, 도 7의 리커런트 뉴럴 네트워크(700)는 프로세스(700)를 수행할 수 있다.
시스템은 라벨링된 트레이닝 시퀀스들을 획득한다(단계 502). 획득된 트레이닝 시퀀스들 각각은 다수의 타임 스텝들 각각에서 입력들의 시퀀스이다. 각각의 트레이닝 시퀀스는, 또한, 타임 스텝들 각각에서, 리커런트 뉴럴 네트워크가 미래 컨디션 점수들을 생성하는 미리 결정된 컨디션들의 세트 내의 컨디션들 각각에 대한 각 표시자 변수(indicator variable)를 포함한다. 주어진 타임 스텝에서 주어진 컨디션에 대한 표시자 변수는, 타임 스텝의 입력으로부터 지정된 기간 내에 컨디션이 충족되었는지 여부를 나타낸다. 예를 들어, 표시자 변수는, 컨디션이 충족되면 1의 값을 가질 수 있고 그리고 컨디션이 충족되지 않으면 0의 값을 가질 수 있다. 따라서, 각 타임 스텝에서, 라벨링된 트레이닝 시퀀스는, 미리결정된 컨디션들의 세트 내의 컨디션들 각각에 대한 입력 및 각 표시자 변수를 포함한다.
일부 구현들에서, 시스템은, 표시자 변수들로 이미 라벨링된 트레이닝 시퀀스들을 수신한다. 일부 다른 구현들에서, 시스템은, 타임 스텝들 각각에서 컨디션들 각각에 대한 표시자 변수들을 계산함으로써 라벨링된 트레이닝 시퀀스들을 생성한다. 예를 들어, 시스템은, 트레이닝 시퀀스의 주어진 타임 스텝에서 주어진 입력에 대해, 입력이 언제 발생했는지를 결정하고 그리고 미리 결정된 컨디션들의 세트의 컨디션들을 만족시키는 이벤트들의 발생들을 식별하는 데이터에 액세스할 수 있다. 이후, 시스템은, 각 컨디션들에 대해, 타임 스텝에서 입력이 발생한 지정된 시간 내에서 컨디션이 충족되었는지를 결정하고 그리고 그에 따라 이벤트에 대한 표시자 변수의 값을 적절히 설정한다.
시스템은, 하나 이상의 리커런트 뉴럴 네트워크 계층들, 로지스틱 회귀 노드들, 및 선택적으로, 라벨링된 트레이닝 시퀀스들 상의 출력 계층을 트레이닝한다 (단계 504). 특히, 시스템은, 머신 러닝 트레이닝 기술의 다수의 반복들을 수행함으로써, 파라미터들의 초기값들로부터의 리커런트 뉴럴 네트워크 계층들, 로지스틱 회귀 노드들 및 출력 계층들의 파라미터들의 트레이닝된 값들을 결정한다. 트레이닝 기술의 일부로서, 시스템은 목적 함수를 최소화 또는 최대화한다. 시스템이 로지스틱 회귀 노드들만을 포함하고 그리고 출력 계층을 포함하지 않는 경우, 목적 함수는, 주어진 트레이닝 시퀀스의 주어진 타임 스텝에 대해, 타임 스텝에 대한 로지스틱 회귀 노드에 의해 생성된 미래 컨디션 점수와 타임 스텝에서의 해당 컨디션들에 대한 표시자 변수들 사이의 오차에 의존한다. 시스템이 또한 출력 계층을 포함하는 경우, 목적 함수는, 또한, 타임 스텝에 대해, 타임 스텝에 대한 출력 계층에 의해 생성된 다음 입력 점수들과 훈련 시퀀스의 다음 타임 스텝에서의 입력 사이의 오차에 의존한다.
상기에서 서술한 바와 같이, 리커런트 뉴럴 네트워크(700)는, 미래 컨디션 점수들을 생성하기 위해 환자와 관련된 헬스 이벤트들을 식별하는 데이터를 포함하는 시간적 시퀀스들을 프로세싱할 수 있다. 하지만, 리커런트 뉴럴 네트워크(700)는, 임의의 유형의 시간적 이벤트를 식별하는 데이터가 포함된 시간적 시퀀스들, 즉, 시간 경과에 따라 이벤트들이 발생했을 때 정렬된 이벤트들을 식별하는 데이터가 포함된 임의의 시간적 시퀀스들에 대한 미래 컨디션 점수들을 생성하기 위해 트레이닝될 수 있다.
예를 들어, 리커런트 뉴럴 네트워크(700)는, 사용자의 재무 제표, 예를 들어, 은행 계좌 명세서에 나타날 수 있는 은행 거래들, 신용 카드 명세서에 나타날 수 있는 신용 카드 거래들 등에서 발견된 거래들을 식별하는 데이터를 포함하는 시간적 시퀀스들에 대한 미래 컨디션 점수들을 생성하도록 트레이닝될 수 있다. 이 문맥에서의 미래 컨디션 점수들은, 수행되는 다양한 유형들의 금융 거래들에 의해 충족되는 컨디션들에 대한 점수들, 재무 제표들에 나타나는 종류의 금융 거래들이 아닌 사건으로 인해 충족되는 조건에 대한 점수들(예를 들어, 세금 감사) 또는 둘 모두를 포함할 수 있다.
또 다른 예로서, 리커런트 뉴럴 네트워크(700)는, 주식 시장 거래들을 식별하는 데이터를 포함하는 시간적 시퀀스들 대한 미래 컨디션 점수들을 생성하도록 트레이닝될 수 있다. 이 문맥에서, 시간적 시퀀스들은, 단일 개체 또는 주식 시장에 참여하는 모든 개체들의 주식 구매 및 판매를 포함할 수 있다.
또 다른 예로서, 리커런트 뉴럴 네트워크(700)는, 기계류 또는 전자 장치에 대한, 예를 들어, 항공기, 차량, 데이터 센터 컴포넌트 등에 대한 유지 보수 기록들을 식별하는 데이터를 포함하는 시간적 시퀀스들에 대한 미래 컨디션 점수를 생성하도록 트레이닝될 수 있다. 이 문맥에서 미래 컨디션 점수들은, 다양한 유형들의 유지 보수 관련 이벤트들에 의해 충족되는 컨디션들에 대한 점수들뿐만 아니라 일반적으로 유지 보수 기록들에 나타나지 않는 이벤트들의 발생으로 충족되는 컨디션들(예를 들어, 비행기들의 비행 중 오류)에 대한 점수들을 포함할 수 있다.
본 명세서에 서술된 주제 및 기능적 동작의 실시예들은, 본 명세서에 개시된 구조 및 구조적 등가물, 또는 이들 중 하나 이상의 조합들을 포함하는, 디지털 전자 회로, 실체적으로 구현된 컴퓨터 소프트웨어 또는 펌웨어, 컴퓨터 하드웨어에서 구현될 수 있다. 본 명세서에서 서술된 주제의 실시예들은, 데이터 프로세싱 장치에 의해 실행되거나 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 실체적인 비-일시적인 프로그램 캐리어 상에 인코딩된 하나 이상의 컴퓨터 프로그램들, 즉, 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 선택적으로 또는 부가적으로, 프로그램 명령어들은 인위적으로 생성되어 전파된 신호, 예를 들어, 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 장치로의 송신을 위해 정보를 인코딩하도록 생성된 머신-생성된 전기, 광학 또는 전자기 신호 상에 인코딩될 수 있다. 컴퓨터 저장 매체는, 기계 판독 가능한 저장 디바이스, 기계 판독 가능한 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다.
용어 "데이터 처리 장치"는, 예를 들어, 프로그램 가능 프로세서, 컴퓨터, 또는 복수의 프로세서들 또는 컴퓨터들을 포함하는 데이터 처리를 위한 모든 종류들의 장치들, 디바이스들 및 머신을 포함한다. 이 장치는, 특수 목적의 논리 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 상기 장치는, 또한, 하드웨어 외에도, 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트 또는 코드로 지칭되거나 또는 기술될 수 있음)은, 임의의 형태의 프로그래밍 언어(컴파일된 또는 해석된 언어 또는 선언적 또는 절차적 언어 포함)로 기술될 수 있고, 그리고 독립 실행형 프로그램이나 모듈, 컴포넌트, 서브 루틴 등을 포함한 모든 형태로 배포될 수 있거나 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛에 배포될 수 있다. 컴퓨터 프로그램은, 파일 시스템의 파일에 해당할 수 있지만 반드시 그런 것은 아니다. 프로그램은, 다른 프로그램들 또는 데이터, 예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들을 보유하는 파일의 일부분에서, 해당 프로그램 전용의 단일 파일에서, 또는 하나 이상의 모듈, 서브 프로그램들 또는 코드의 일부들을 저장하는 파일들과 같은 다수의 조정된 파일들에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 상에서 또는 하나의 사이트에 있거나 여러 사이트들에 분산되어 있고 통신 네트워크로 상호연결된 다수의 컴퓨터들 상에서 실행되도록 배포될 수 있다.
본 명세서에서 서술되는 프로세스들 및 논리 흐름들은, 입력 데이터를 조작하고 그리고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그램 가능 컴퓨터들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은, 또한 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)과 같은 특수 목적의 논리 회로에 의해 수행될 수 있고, 장치는 또한 특수 목적 논리 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터는, 예를 들어, 범용 또는 특수 목적의 마이크로 프로세서 또는 둘 모두, 또는 임의의 다른 종류의 중앙 처리 장치를 기반으로 할 수 있다. 일반적으로, 중앙 처리 장치는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은, 명령어들을 수행하거나 또는 실행하기 위한 중앙 처리 장치와 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는, 데이터(예를 들어, 자기, 광 자기 디스크들 또는 광 디스크들)를 저장하기 위한 하나 이상의 대용량 저장 디바이스로부터 데이터를 수신하거나 또는 하나 이상의 대용량 저장 디바이스들에 데이터를 전송하기 위해, 또는 수신 및 전송 모두를 위해 동작 가능하게 결합될 것이다. 하지만, 컴퓨터는 그와 같은 디바이스들이 필요치 않을 수도 있다. 또한, 컴퓨터는, 다른 디바이스, 예를 들어, 이동 전화기, 개인 휴대 정보 단말기(PDA), 이동 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(Global Positioning System) 수신기 또는 휴대용 저장 디바이스(예를 들어, USB (universal serial bus) 플래시 드라이브)에서 내장될 수 있다.
컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는, 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 광 자기 디스크들; 그리고 CD ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비-휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는, 특수 목적의 논리 회로에 의해 보충되거나 또는 특수 목적의 논리 회로에 포함될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 서술된 주제의 실시 예들은, 사용자에게 정보를 디스플레이하기 위한 CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터와 같은 디스플레이 장치, 키보드, 및 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼과 같은 포인팅 장치를 갖는 컴퓨터상에서 구현될 수 있다. 다른 종류들의 디바이스가 사용자와의 상호 작용을 제공하는 데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있고; 그리고 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는, 사용자에 의해 사용되는 디바이스와 문서들을 송신 및 수신함으로써 사용자와 상호 작용할 수 있다. 예를 들어, 컴퓨터는, 웹 브라우저로부터 수신된 요청들에 응답하여, 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지를 전송함으로써 사용자와 상호 작용을 수행할 수 있다.
본 명세서에 서술된 주제의 실시예들은, 예를 들어, 데이터 서버로서 벡 엔드 컴포넌트를 포함하거나, 또는 애플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 또는 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터 또는 사용자가 본 명세서에 설명된 주제의 구현과 상호 작용할 수 있는 웹 브라우저와 같은 프론트 엔드 구성 요소를 포함하거나, 또는 하나 이상의 그와 같은 벡 엔드 컴포넌트, 미들웨어 컴포넌트 또는 프론트 엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은, 디지털 데이터 통신, 예를 들어, 통신 네트워크의 임의의 형태 또는 매체에 의해 상호 접속될 수 있다. 통신 네트워크들의 예들은, 근거리 통신망("LAN") 및 광역 통신망("WAN"), 예를 들어, 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 멀리 떨어져 있으며 그리고 통상적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터들 상에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들로 인해 유발된다.
본 명세서에는 많은 특정 구현들을 포함하지만, 이러한 구현들은 발명의 범위 또는 청구될 수 있는 것에 대한 제한으로서 해석되서는 안되며, 오히려 특정 발명들의 특정 실시예로 구체화될 수 있는 피처들의 서술로서 제공된다. 별도의 실시예의 맥락에서 본 명세서에서 서술되는 특정 피처들은 또한 단일 실시예에서 조합으로 구현될 수 있다. 반대로, 단일 실시예의 맥락에서 서술된 다양한 피처들은 또한 다수의 실시 예들에서 개별적으로 또는 임의의 적합한 하위조합으로 구현될 수 있다. 더욱이, 피처들이 특정 조합들로 작용하고 그리고 상술한 바와 같이 초기에 청구된 것으로서 서술될 수 있지만, 청구된 조합으로부터의 하나 이상의 피처들은 일부 케이스들에서 조합으로부터 제거될 수 있고, 그리고 청구된 조합은 하위조합 또는 하위조합의 변형으로 유도될 수 있다.
유사하게, 동작들이 특정 순서로 도면들에 도시되어 있지만, 이는 바람직한 결과들을 달성하기 위해, 상기 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되거나 또는 도시된 모든 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시예들에서 다양한 시스템 모듈들 및 컴포넌트들의 분리는 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안되며, 그리고 서술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품 내에 함께 통합될 수 있거나 또는 다중 소프트웨어 제품들로 패키징될 수 있음을 이해해야 한다.
본 발명의 특정 실시예들이 서술되었다. 다른 실시예들은, 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구 범위들에 서술된 동작들은 상이한 순서로 수행될 수 있으며 그리고 여전히 바람직한 결과를 달성할 수 있다. 하나의 예로서, 첨부된 도면들에 도시된 프로세스들은 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 요구하지는 않는다. 특정 구현들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다.

Claims (19)

  1. 복수의 타임 스텝들(time steps) 각각에서 각각의 입력을 포함하는 시간적 시퀀스(temporal sequence)를 프로세싱하도록 구성된 리커런트(recurrent) 뉴럴 네트워크 시스템으로서,
    하나 이상의 리커런트 뉴럴 네트워크 계층들; 및
    하나 이상의 로지스틱 회귀 노드들(logistic regression nodes)
    을 포함하고,
    상기 하나 이상의 리커런트 뉴럴 네트워크 계층들은 상기 복수의 타임 스텝들 각각에 대하여,
    상기 타임 스텝에서 상기 입력을 수신하고; 그리고
    상기 타임 스텝에 대한 네트워크 내부 상태(network internal state)를 생성하도록, 상기 타임 스텝에서의 상기 입력을 집합적으로 프로세싱하며(collectively process);
    상기 로지스틱 회귀 노드들 각각은 미리결정된 컨디션들의 세트의 각각의 컨디션에 대응하고, 상기 로지스틱 회귀 노드들 각각은 상기 복수의 타임 스텝들 각각에 대하여,
    상기 타임 스텝에 대한 네트워크 내부 상태를 수신하고, 그리고
    상기 타임 스텝에 대한 상기 대응 컨디션에 대한 미래 컨디션 점수를 생성하도록, 상기 로지스틱 회귀 노드의 파라미터들의 세트의 현재 값들에 따라 상기 타임 스텝에 대한 네트워크 내부 상태를 프로세싱하며,
    상기 대응 컨디션에 대한 미래 컨디션 점수는, 상기 타임 스텝에서의 상기 입력의 특정한 시간 기간 내에서 상기 대응 컨디션이 충족될 가능성을 나타내는 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
  2. 제1항에 있어서,
    출력 계층(output layer)을 더 포함하고, 상기 출력 계층은 상기 복수의 타임 스텝들 각각에 대하여,
    상기 타임 스텝에 대한 상기 네트워크 내부 상태를 수신하고;
    복수의 가능한 다음 입력들 각각에 대한 다음 입력 점수 각각을 생성하기 위해 상기 출력 계층의 파라미터들의 세트의 현재 값들에 따라 상기 타임 스텝에 대한 상기 네트워크 내부 상태를 프로세싱하며,
    상기 복수의 가능한 다음 입력들 각각에 대한 다음 입력 점수 각각은, 상기 가능한 다음 입력이 상기 시간적 시퀀스의 다음 타임 스텝에서의 입력이 될 가능성을 나타내는 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 하나 이상의 리커런트 뉴럴 네트워크 계층들 각각은, 상기 복수의 타임 스텝들 각각에 대해,
    상기 타임 스텝에 대한 계층 입력을 수신하고; 그리고
    상기 타임 스텝에 대한 리커런트 뉴럴 네트워크 계층에 대한 계층 내부 상태를 생성하기 위해, 상기 리커런트 뉴럴 네트워크 계층에 대한 파라미터들의 세트의 현재 값들에 따라, 선행 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층에 대한 계층 내부 상태 및 상기 타임 스텝에 대한 계층 입력을 프로세싱하는 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
  4. 제3항에 있어서,
    상기 리커런트 뉴럴 네트워크 시스템은 오직 하나의 리커런트 뉴럴 네트워크 계층을 포함하고, 상기 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층에 대한 상기 계층 내부 상태는, 상기 타임 스텝에 대한 상기 네트워크 내부 상태인 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
  5. 제3항에 있어서,
    상기 리커런트 뉴럴 네트워크 시스템은 시퀀스로 배열된 복수의 리커런트 뉴럴 네트워크 계층들을 포함하고, 상기 타임 스텝에 대한 상기 네트워크 내부 상태는 상기 타임 스텝에 대한 상기 시퀀스의 최상위 리커런트 뉴럴 네트워크 계층의 계층 내부 상태인 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
  6. 제3항에 있어서,
    상기 리커런트 뉴럴 네트워크 시스템은 복수의 리커런트 뉴럴 네트워크 계층들을 포함하고, 상기 타임 스텝에 대한 상기 네트워크 내부 상태는 상기 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층들의 계층 내부 상태들의 조합인 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
  7. 임의의 선행하는 청구항에 있어서,
    상기 시간적 시퀀스 내의 각각의 입력은, 상기 리커런트 뉴럴 네트워크 시스템에 대한 가능한 입력들의 세트로부터 선택되는 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
  8. 제7항에 있어서,
    상기 미리결정된 컨디션들의 세트는, 상기 리커런트 뉴럴 네트워크 시스템에 대한 가능한 입력들의 세트에 포함되지 않은 이벤트들이 상기 타임 스텝에서의 상기 입력의 특정 시간 기간 내에 발생하는 경우에 충족되는 컨디션들을 포함하는 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
  9. 임의의 선행하는 청구항에 있어서,
    상기 복수의 타임 스텝들에서의 입력들 각각은 환자와 관련된 헬스-관련 데이터(health-related data)이고, 상기 미리결정된 컨디션들의 세트 내의 컨디션들은, 헬스-관련 이벤트가 상기 환자와 관련하여 발생하는 때에 충족되는 컨디션들인 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
  10. 하나 이상의 리커런트 뉴럴 네트워크 계층들과 하나 이상의 로지스틱 회귀 노드들을 포함하는 리커런트 뉴럴 네트워크 시스템을 이용하여, 복수의 타임 스텝들 각각에서 각각의 입력을 포함하는 시간적 시퀀스를 프로세싱하는 방법으로서, 상기 방법은 상기 복수의 타임 스텝들 각각에 대하여,
    상기 타임 스텝에서 상기 입력을 수신하는 단계;
    상기 타임 스텝에 대한 네트워크 내부 상태를 생성하도록, 하나 이상의 리커런트 뉴럴 네트워크 계층들을 통해 상기 타임 스텝에서의 상기 입력을 프로세싱하는 단계; 및
    상기 하나 이상의 로지스틱 회귀 노드들 각각을 이용하여 상기 네트워크 내부 상태를 프로세싱하는 단계를 포함하며,
    상기 로지스틱 회귀 노드들 각각은 미리결정된 컨디션들의 세트의 각각의 컨디션에 대응하고, 상기 하나 이상의 로지스틱 회귀 노드들 각각을 이용하여 상기 네트워크 내부 상태를 프로세싱하는 단계는,
    상기 타임 스텝에 대한 상기 대응 컨디션에 대한 미래 컨디션 점수를 생성하도록, 상기 로지스틱 회귀 노드의 파라미터들의 세트의 현재 값들에 따라 상기 로지스틱 회귀 노드를 이용하여 상기 타임 스텝에 대한 네트워크 내부 상태를 프로세싱하는 단계를 포함하고,
    상기 대응 컨디션에 대한 미래 컨디션 점수는, 상기 타임 스텝에서의 상기 입력의 특정한 시간 기간 내에서 상기 대응 컨디션이 충족될 가능성을 나타내는 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
  11. 제10항에 있어서,
    상기 리커런트 뉴럴 네트워크 시스템은 출력 계층을 더 포함하고, 상기 방법은 상기 복수의 타임 스텝들 각각에 대해,
    복수의 가능한 다음 입력들 각각에 대한 다음 입력 점수 각각을 생성하기 위해 상기 출력 계층의 파라미터들의 세트의 현재 값들에 따라 상기 출력 계층을 이용하여 상기 타임 스텝에 대한 상기 네트워크 내부 상태를 프로세싱하는 단계를 포함하고,
    상기 복수의 가능한 다음 입력들 각각에 대한 다음 입력 점수 각각은, 상기 가능한 다음 입력이 상기 시간적 시퀀스의 다음 타임 스텝에서의 입력이 될 가능성을 나타내는 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
  12. 제10항 또는 제11항에 있어서,
    상기 하나 이상의 리커런트 뉴럴 네트워크 계층들 각각은, 상기 복수의 타임 스텝들 각각에 대해,
    상기 타임 스텝에 대한 계층 입력을 수신하고; 그리고
    상기 타임 스텝에 대한 리커런트 뉴럴 네트워크 계층에 대한 계층 내부 상태를 생성하기 위해, 상기 리커런트 뉴럴 네트워크 계층에 대한 파라미터들의 세트의 현재 값들에 따라, 선행 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층에 대한 계층 내부 상태 및 상기 타임 스텝에 대한 계층 입력을 프로세싱하는 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
  13. 제12항에 있어서,
    상기 리커런트 뉴럴 네트워크 시스템은 오직 하나의 리커런트 뉴럴 네트워크 계층을 포함하고, 상기 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층에 대한 상기 계층 내부 상태는, 상기 타임 스텝에 대한 상기 네트워크 내부 상태인 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
  14. 제12항에 있어서,
    상기 리커런트 뉴럴 네트워크 시스템은 시퀀스로 배열된 복수의 리커런트 뉴럴 네트워크 계층들을 포함하고, 상기 타임 스텝에 대한 상기 네트워크 내부 상태는 상기 타임 스텝에 대한 상기 시퀀스의 최상위 리커런트 뉴럴 네트워크 계층의 계층 내부 상태인 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
  15. 제12항에 있어서,
    상기 리커런트 뉴럴 네트워크 시스템은 복수의 리커런트 뉴럴 네트워크 계층들을 포함하고, 상기 타임 스텝에 대한 상기 네트워크 내부 상태는 상기 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층들의 계층 내부 상태들의 조합인 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
  16. 제10항 내지 제15항 중 어느 한 항에 있어서,
    상기 시간적 시퀀스 내의 각각의 입력은, 상기 리커런트 뉴럴 네트워크 시스템에 대한 가능한 입력들의 세트로부터 선택되는 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
  17. 제16항에 있어서,
    상기 미리결정된 컨디션들의 세트는, 상기 리커런트 뉴럴 네트워크 시스템에 대한 가능한 입력들의 세트에 포함되지 않은 이벤트들이 상기 타임 스텝에서의 상기 입력의 특정 시간 기간 내에 발생하는 경우에 충족되는 컨디션들을 포함하는 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
  18. 제10항 내지 제17항 중 어느 한 항에 있어서,
    상기 복수의 타임 스텝들에서의 입력들 각각은 환자와 관련된 헬스-관련 데이터(health-related data)이고, 상기 미리결정된 컨디션들의 세트 내의 컨디션들은, 헬스-관련 이벤트가 상기 환자와 관련하여 발생하는 때에 충족되는 컨디션들인 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
  19. 하나 이상의 비일시적인 컴퓨터 판독 가능 매체에 인코딩된 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 명령들을 포함하고, 상기 명령들은 하나 이상의 컴퓨터들에 의해 실행될 때 상기 하나 이상의 컴퓨터들로 하여금, 하나 이상의 리커런트 뉴럴 네트워크 계층들과 하나 이상의 로지스틱 회귀 노드들을 포함하는 리커런트 뉴럴 네트워크 시스템을 이용하여 복수의 타임 스텝들 각각에서 각각의 입력을 포함하는 시간적 시퀀스를 프로세싱하기 위한 동작들을 수행하게 하며, 상기 동작들은 제10항 내지 제18항 중 어느 한 항에 따른 방법을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
KR1020177037617A 2015-07-27 2016-07-26 리커런트 뉴럴 네트워크를 이용한 컨디션들의 충족 가능성에 대한 예측 KR102011453B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/810,381 US9336482B1 (en) 2015-07-27 2015-07-27 Predicting likelihoods of conditions being satisfied using recurrent neural networks
US14/810,381 2015-07-27
PCT/US2016/044101 WO2017019703A1 (en) 2015-07-27 2016-07-26 Predicting likelihoods of conditions being satisfied using recurrent neural networks

Publications (2)

Publication Number Publication Date
KR20180014063A true KR20180014063A (ko) 2018-02-07
KR102011453B1 KR102011453B1 (ko) 2019-08-19

Family

ID=55860023

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177037617A KR102011453B1 (ko) 2015-07-27 2016-07-26 리커런트 뉴럴 네트워크를 이용한 컨디션들의 충족 가능성에 대한 예측

Country Status (6)

Country Link
US (4) US9336482B1 (ko)
EP (2) EP3989127A1 (ko)
JP (1) JP6541868B2 (ko)
KR (1) KR102011453B1 (ko)
CN (1) CN107743630B (ko)
WO (1) WO2017019703A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190123609A (ko) * 2018-04-24 2019-11-01 네이버 주식회사 딥 어텐션 네트워크를 이용하여 환자 의료 기록으로부터 질병 예후를 예측하는 방법 및 시스템
KR20200059373A (ko) * 2018-11-20 2020-05-29 동국대학교 산학협력단 환자의 생체 데이터를 측정하는 이동 단말기 및 클라우드 서버를 이용한 예후 관리 시스템
WO2020138707A1 (ko) * 2018-12-28 2020-07-02 (주)아이쿱 혈액검사 결과 기반 생활패턴 및 변화인자 추정방법
KR20200127028A (ko) * 2018-11-19 2020-11-09 구글 엘엘씨 다중-태스크 순환 신경망

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US10212876B2 (en) * 2015-10-12 2019-02-26 Droneseed Co. Aerial deployment planting methods and systems
US20200320377A1 (en) * 2016-05-20 2020-10-08 Deepmind Technologies Limited Interaction networks
US10417788B2 (en) * 2016-09-21 2019-09-17 Realize, Inc. Anomaly detection in volumetric medical images using sequential convolutional and recurrent neural networks
SG10201610116PA (en) * 2016-11-03 2018-06-28 Avanseus Holdings Pte Ltd Method and system for machine failure prediction
US11494654B2 (en) * 2016-11-03 2022-11-08 Avanseus Holdings Pte. Ltd. Method for machine failure prediction using memory depth values
US10671908B2 (en) 2016-11-23 2020-06-02 Microsoft Technology Licensing, Llc Differential recurrent neural network
US10241684B2 (en) * 2017-01-12 2019-03-26 Samsung Electronics Co., Ltd System and method for higher order long short-term memory (LSTM) network
DE102017205093A1 (de) * 2017-03-27 2018-09-27 Conti Temic Microelectronic Gmbh Verfahren und System zur Vorhersage von Sensorsignalen eines Fahrzeugs
US11276495B2 (en) * 2017-07-11 2022-03-15 Cambia Health Solutions, Inc. Systems and methods for predicting multiple health care outcomes
CN111742328A (zh) 2018-02-19 2020-10-02 博朗有限公司 用于对手持式消费装置的使用进行分类的系统
JP7198474B2 (ja) * 2018-06-07 2023-01-04 国立大学法人静岡大学 モデリングシステム
WO2020081582A1 (en) * 2018-10-16 2020-04-23 Anixa Diagnostics Corporation Methods of diagnosing cancer using multiple artificial neural networks to analyze flow cytometry data
US20220004883A1 (en) * 2018-11-21 2022-01-06 Deepmind Technologies Limited Aligning sequences by generating encoded representations of data items
US20210082575A1 (en) * 2019-09-18 2021-03-18 Cerner Innovation, Inc. Computerized decision support tool for post-acute care patients
CN111210017B (zh) * 2019-12-24 2023-09-26 北京迈格威科技有限公司 确定布局顺序及数据处理的方法、装置、设备及存储介质
US11488256B1 (en) * 2020-02-17 2022-11-01 Infiniteintel, Inc. Machine learning systems, methods, components, and software for recommending and ordering independent medical examinations
US11641665B2 (en) * 2020-09-09 2023-05-02 Self Financial, Inc. Resource utilization retrieval and modification
US20220075877A1 (en) 2020-09-09 2022-03-10 Self Financial, Inc. Interface and system for updating isolated repositories
EP3985681A1 (en) * 2020-10-13 2022-04-20 Diabeloop Computerized system for the repeated determination of a set of at least one control parameters of a medical device

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 (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109475A (en) 1988-09-19 1992-04-28 Hitachi, Ltd. Method and a system for selection of time series data
US5446829A (en) 1993-06-24 1995-08-29 The United States Of America As Represented By The Department Of Health And Human Services Artificial network for temporal sequence processing
JP3538906B2 (ja) * 1994-09-02 2004-06-14 松下電器産業株式会社 監視装置
AU1837495A (en) 1994-10-13 1996-05-06 Horus Therapeutics, Inc. Computer assisted methods for diagnosing diseases
JPH0973440A (ja) * 1995-09-06 1997-03-18 Fujitsu Ltd コラム構造の再帰型ニューラルネットワークによる時系列トレンド推定システムおよび方法
US5839438A (en) 1996-09-10 1998-11-24 Neuralmed, Inc. Computer-based neural network system and method for medical diagnosis and interpretation
US6090044A (en) 1997-12-10 2000-07-18 Bishop; Jeffrey B. System for diagnosing medical conditions using a neural network
US20040010481A1 (en) 2001-12-07 2004-01-15 Whitehead Institute For Biomedical Research Time-dependent outcome prediction using neural networks
JP3661686B2 (ja) * 2002-12-19 2005-06-15 松下電器産業株式会社 監視装置
CN101365928A (zh) * 2003-09-22 2009-02-11 金炯胤 用于结构健康监测的传感器和系统
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 言語処理装置、言語処理方法、言語処理プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
JP4885463B2 (ja) * 2005-03-03 2012-02-29 株式会社日立製作所 センサネットワークシステム、センサデータの処理方法及びプログラム
JP2007200108A (ja) * 2006-01-27 2007-08-09 Nippon Telegr & Teleph Corp <Ntt> 特異イベント検出装置、及び特異イベント検出方法
JP2007243342A (ja) * 2006-03-06 2007-09-20 Yokogawa Electric Corp 画像監視装置及び画像監視システム
JP2009015493A (ja) * 2007-07-03 2009-01-22 Toshiba Corp アクション実行装置、及び方法
US8244656B2 (en) 2008-09-25 2012-08-14 Air Products And Chemicals, Inc. System and method for predicting rare events
US8705849B2 (en) * 2008-11-24 2014-04-22 Toyota Motor Engineering & Manufacturing North America, Inc. Method and system for object recognition based on a trainable dynamic system
JP2011059815A (ja) * 2009-09-07 2011-03-24 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
CN103038772B (zh) * 2010-03-15 2017-10-24 新加坡保健服务集团有限公司 预测患者的存活性的系统和装置
US8463721B2 (en) * 2010-08-05 2013-06-11 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for recognizing events
DE102011081197A1 (de) * 2011-08-18 2013-02-21 Siemens Aktiengesellschaft Verfahren zur rechnergestützten Modellierung eines technischen Systems
JP2014178800A (ja) 2013-03-14 2014-09-25 Gifu Univ 医療情報処理装置、及び、プログラム
CN103336908B (zh) * 2013-07-23 2016-01-20 哈尔滨工业大学 单调回声状态网络的剩余寿命预测方法
US10181098B2 (en) * 2014-06-06 2019-01-15 Google Llc Generating representations of input sequences using neural networks
CN104636751A (zh) * 2014-12-11 2015-05-20 广东工业大学 基于时间递归神经网络的人群异常检测和定位系统及方法
CN104615983B (zh) * 2015-01-28 2018-07-31 中国科学院自动化研究所 基于递归神经网络和人体骨架运动序列的行为识别方法
US20170032241A1 (en) 2015-07-27 2017-02-02 Google Inc. Analyzing health events using recurrent neural networks
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
CN105550323B (zh) * 2015-12-15 2020-04-28 北京中电普华信息技术有限公司 一种分布式数据库负载均衡预测方法和预测分析器
CN105787561B (zh) * 2016-03-22 2019-04-30 新疆金风科技股份有限公司 循环神经网络模型构建方法、齿轮箱故障检测方法和装置

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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190123609A (ko) * 2018-04-24 2019-11-01 네이버 주식회사 딥 어텐션 네트워크를 이용하여 환자 의료 기록으로부터 질병 예후를 예측하는 방법 및 시스템
KR20200127028A (ko) * 2018-11-19 2020-11-09 구글 엘엘씨 다중-태스크 순환 신경망
KR20200059373A (ko) * 2018-11-20 2020-05-29 동국대학교 산학협력단 환자의 생체 데이터를 측정하는 이동 단말기 및 클라우드 서버를 이용한 예후 관리 시스템
WO2020138707A1 (ko) * 2018-12-28 2020-07-02 (주)아이쿱 혈액검사 결과 기반 생활패턴 및 변화인자 추정방법
KR20200082062A (ko) * 2018-12-28 2020-07-08 (주)아이쿱 혈액검사 결과 기반 생활패턴 및 변화인자 추정방법

Also Published As

Publication number Publication date
CN107743630B (zh) 2021-12-17
EP3989127A1 (en) 2022-04-27
EP3292492A1 (en) 2018-03-14
US9646244B2 (en) 2017-05-09
US9336482B1 (en) 2016-05-10
KR102011453B1 (ko) 2019-08-19
JP2018528518A (ja) 2018-09-27
WO2017019703A1 (en) 2017-02-02
US11790216B2 (en) 2023-10-17
US20210019604A1 (en) 2021-01-21
US20170308787A1 (en) 2017-10-26
JP6541868B2 (ja) 2019-07-10
US10726327B2 (en) 2020-07-28
CN107743630A (zh) 2018-02-27
EP3292492B1 (en) 2022-01-19
US20170032242A1 (en) 2017-02-02

Similar Documents

Publication Publication Date Title
US11790216B2 (en) Predicting likelihoods of conditions being satisfied using recurrent neural networks
US10402721B2 (en) Identifying predictive health events in temporal sequences using recurrent neural network
CN107995992B (zh) 使用递归神经网络分析健康事件
US20180285969A1 (en) Predictive model training and selection for consumer evaluation
US20170018030A1 (en) System and Method for Determining Credit Worthiness of a User
US10318710B2 (en) System and method for identifying healthcare fraud
EP3557479A1 (en) Adaptive artificial intelligence system for identifying behaviors associated with mental illness and modifying treatment plans based on emergent recognition of aberrant reactions
Ieva Designing and mining a multicenter observational clinical registry concerning patients with acute coronary syndromes
Bolger et al. Reliability updating in linear opinion pooling for multiple decision makers
US10335092B1 (en) Building predicted future medical profiles
US20230307136A1 (en) Risk assessment systems and methods for predicting and reducing negative health outcomes associated with social determinants of health

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