KR102011453B1 - Predictability of Conditionality Using Recurrent Neural Networks - Google Patents

Predictability of Conditionality Using Recurrent Neural Networks Download PDF

Info

Publication number
KR102011453B1
KR102011453B1 KR1020177037617A KR20177037617A KR102011453B1 KR 102011453 B1 KR102011453 B1 KR 102011453B1 KR 1020177037617 A KR1020177037617 A KR 1020177037617A KR 20177037617 A KR20177037617 A KR 20177037617A KR 102011453 B1 KR102011453 B1 KR 102011453B1
Authority
KR
South Korea
Prior art keywords
neural network
time step
recurrent neural
input
internal state
Prior art date
Application number
KR1020177037617A
Other languages
Korean (ko)
Other versions
KR20180014063A (en
Inventor
그레고리 션 콜라도
일리야 수트스케베르
제프리 애드게이트 딘
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20180014063A publication Critical patent/KR20180014063A/en
Application granted granted Critical
Publication of KR102011453B1 publication Critical patent/KR102011453B1/en

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
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Pathology (AREA)
  • Epidemiology (AREA)
  • Databases & Information Systems (AREA)
  • Neurology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

리커런트 뉴럴 네트워크를 이용하여 충족되는 컨디션들의 가능성을 예측하기 위한 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램을 포함하는 방법들, 시스템들, 및 장치가 개시된다. 상기 시스템들 중 하나는, 복수의 타임 스텝들 각각에서 각각의 입력을 포함하는 시간적 시퀀스를 프로세싱하도록 구성되고 그리고 하나 이상의 리커런트 뉴럴 네트워크 계층들; 및 하나 이상의 로지스틱 회귀 노드들을 포함하고, 상기 로지스틱 회귀 노드들 각각은 미리결정된 컨디션들의 세트의 각각의 컨디션에 대응하고, 상기 로지스틱 회귀 노드들 각각은 상기 복수의 타임 스텝들 각각에 대하여, 상기 타임 스텝에 대한 네트워크 내부 상태를 수신하고, 그리고 상기 타임 스텝에 대한 상기 대응 컨디션에 대한 미래 컨디션 점수를 생성하도록, 상기 로지스틱 회귀 노드의 파라미터들의 세트의 현재 값들에 따라 상기 타임 스텝에 대한 네트워크 내부 상태를 프로세싱한다.Methods, systems, and apparatus are disclosed that include a computer program encoded on a computer storage medium for predicting the likelihood of conditions met using a recurrent neural network. One of the systems comprises one or more concurrent neural network layers configured to process a temporal sequence comprising respective inputs in each of a plurality of time steps; And one or more logistic regression nodes, wherein each of the logistic regression nodes corresponds to a respective condition of a set of predetermined conditions, each of the logistic regression nodes for each of the plurality of time steps; Process the network internal state for the time step according to the current values of the set of parameters of the logistic regression node to receive a network internal state for and to generate a future condition score for the corresponding condition for the time step. do.

Description

리커런트 뉴럴 네트워크를 이용한 컨디션들의 충족 가능성에 대한 예측Predictability of Conditionality Using Recurrent Neural Networks

본 발명은 리커런트 뉴럴 네트워크들을 이용하여 시간적 시퀀스들을 처리하는 것에 관한 발명이다. The present invention is directed to processing temporal sequences using current neural networks.

뉴럴 네트워크는 수신된 입력에 대한 출력을 예측하기 위해 비선형 유닛들의 하나 이상의 계층들(layers)을 이용하는 머신 러닝 모델이다. 일부 뉴럴 네트워크들은 출력 계층 이외에도 하나 이상의 숨겨진 계층들을 포함한다. 숨겨진 계층들 각각의 출력은 네트워크의 다음 계층(next layer)(즉, 다음 숨겨진 계층 또는 출력 계층)에 대한 입력으로 이용된다. 네트워크의 각 계층은 각각의 파라미터 세트의 현재 값들에 따라, 수신된 입력으로부터 출력을 생성한다. A neural network is a machine learning model that uses one or more layers of nonlinear units to predict the output on a received input. Some neural networks include one or more hidden layers in addition to the output layer. The output of each of the hidden layers is used as input to the next layer of the network (ie, the next hidden layer or output layer). Each layer of the network generates an output from the received input, according to the current values of each parameter set.

일부 뉴럴 네트워크는 리커런트 뉴럴 네트워크이다. 리커런트 뉴럴 네트워크는 입력 시퀀스를 수신하고 입력 시퀀스로부터 출력 시퀀스를 생성하는 뉴럴 네트워크이다. 특히, 리커런트 뉴럴 네트워크는 현재의 타임 스텝에서의 출력을 계산함에 있어서 이전 타임 스텝에서의 네트워크 내부 상태의 전부 또는 일부를 이용할 수 있다. Some neural networks are recurrent neural networks. Recurrent neural networks are neural networks that receive an input sequence and generate an output sequence from the input sequence. In particular, the recurrent neural network may use all or part of the network internal state at the previous time step in calculating the output at the current time step.

일반적으로, 본 명세서에서 기술된 본 발명의 혁신적인 일 양태는 하나 이상의 리커런트 뉴럴 네트워크 계층들과 하나 이상의 로지스틱 회귀 노드들을 포함하는 리커런트 뉴럴 네트워크 시스템을 이용하여, 복수의 타임 스텝들 각각에서 각각의 입력을 포함하는 시간적 시퀀스를 프로세싱하는 방법으로 구현될 수 있으며, 상기 방법은 상기 복수의 타임 스텝들 각각에 대하여, 상기 타임 스텝에서 상기 입력을 수신하는 동작; 상기 타임 스텝에 대한 네트워크 내부 상태를 생성하도록, 하나 이상의 리커런트 뉴럴 네트워크 계층들을 통해 상기 타임 스텝에서의 상기 입력을 프로세싱하는 동작; 및 상기 하나 이상의 로지스틱 회귀 노드들 각각을 이용하여 상기 네트워크 내부 상태를 프로세싱하는 동작을 포함하며, 상기 로지스틱 회귀 노드들 각각은 미리결정된 컨디션들의 세트의 각각의 컨디션에 대응하고, 상기 하나 이상의 로지스틱 회귀 노드들 각각을 이용하여 상기 네트워크 내부 상태를 프로세싱하는 동작은: 상기 타임 스텝에 대한 상기 대응 컨디션에 대한 미래 컨디션 점수를 생성하도록, 상기 로지스틱 회귀 노드의 파라미터들의 세트의 현재 값들에 따라 상기 로지스틱 회귀 노드를 이용하여 상기 타임 스텝에 대한 네트워크 내부 상태를 프로세싱하는 동작을 포함하고, 상기 대응 컨디션에 대한 미래 컨디션 점수는, 상기 타임 스텝에서의 상기 입력의 특정한 시간 기간 내에서 상기 대응 컨디션이 충족될 가능성을 나타낸다. In general, one innovative aspect of the invention described herein utilizes a recurrent neural network system that includes one or more recurrent neural network layers and one or more logistic regression nodes, each of which in each of a plurality of time steps. And a method for processing a temporal sequence comprising an input, the method comprising: for each of the plurality of time steps, receiving the input at the time step; Processing the input at the time step via one or more concurrent neural network layers to generate a network internal state for the time step; And processing the network internal state using each of the one or more logistic regression nodes, wherein each of the logistic regression nodes corresponds to a respective condition of a set of predetermined conditions, and the one or more logistic regression nodes. The processing of the network internal state using each of the following steps includes: generating the logistic regression node according to current values of the set of parameters of the logistic regression node to generate a future condition score for the corresponding condition for the time step. Processing the network internal state for the time step, wherein a future condition score for the corresponding condition indicates the likelihood that the corresponding condition is met within a particular time period of the input in the time step. .

본 양태의 다른 실시예들은 그 각각이 상기 방법들의 동작들을 수행하도록 구성된 대응하는 컴퓨터 시스템들, 장치들, 및 하나 이상의 컴퓨터 저장 디바이스들에 기록된 컴퓨터 프로그램들을 포함한다. Other embodiments of this aspect include computer programs recorded on corresponding computer systems, apparatuses, and one or more computer storage devices, each of which is configured to perform the operations of the methods.

하나 이상의 컴퓨터들의 시스템은, 동작시에 상기 시스템으로 하여금 이러한 동작들을 수행하게 하는 시스템 상에 설치된 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 갖는 것에 의해 특정 연산들 또는 동작들을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램은 데이터 프로세싱 장치에 의해 실행될 때 상기 장치로 하여금 동작들을 수행하게 하는 명령들을 포함함으로써 특정 연산들 또는 동작들을 수행하도록 구성될 수 있다. A system of one or more computers may be configured to perform specific operations or operations by having software, firmware, hardware, or a combination thereof, installed on the system that, in operation, causes the system to perform these operations. . One or more computer programs may be configured to perform particular operations or operations by including instructions that cause the apparatus to perform operations when executed by a data processing apparatus.

전술한 실시예 및 다른 실시예들은 각각 단독으로 또는 조합하여 하기의 특징들 중 하나 이상을 선택적으로 포함할 수 있다. The foregoing and other embodiments may each optionally include one or more of the following features, alone or in combination.

리커런트 뉴럴 네트워크 시스템은 출력 계층을 더 포함할 수 있다. 복수의 타임 스텝들 각각에 대해, 타임 스텝에 대한 네트워크 내부 상태는, 복수의 가능한 다음 입력들 각각에 대한 다음 입력 점수 각각을 생성하도록, 출력 계층의 파라미터들의 세트의 현재 값들에 따라 출력 계층을 사용하여 프로세싱될 수 있다. 복수의 가능한 다음 입력들 각각에 대한 다음 입력 점수 각각은, 상기 가능한 다음 입력이 시간 시퀀스의 다음 타임 스텝에서의 입력이 될 가능성을 나타낼 수 있다. 하나 이상의 리커런트 뉴럴 네트워크 계층들 각각은, 복수의 타임 스텝들 각각에 대하여: 타임 스텝에 대한 계층 입력을 수신하고; 그리고 타임 스텝에 대한 리커런트 뉴럴 네트워크 계층에 대한 계층 내부 상태를 생성하도록, 상기 리커런트 뉴럴 네트워크 계층에 대한 파라미터들의 세트의 현재 값들에 따라, 선행 타임 스텝에 대한 리커런트 뉴럴 네트워크 계층에 대한 계층 내부 상태 및 상기 타임 스텝에 대한 계층 입력을 프로세싱하도록 구성될 수 있다. 리커런트 뉴럴 네트워크 시스템은 오직 하나의 리커런트 뉴럴 네트워크 계층을 포함할 수 있다. 상기 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층에 대한 상기 계층 내부 상태는, 상기 타임 스텝에 대한 상기 네트워크 내부 상태가 될 수 있다. 리커런트 뉴럴 네트워크 시스템은 시퀀스로 배열된 복수의 리커런트 뉴럴 네트워크 계층들을 포함할 수 있다. 타임 스텝에 대한 네트워크 내부 상태는 상기 타임 스텝에 대한 상기 시퀀스의 최상위 리커런트 뉴럴 네트워크 계층의 계층 내부 상태가 될 수 있다. 리커런트 뉴럴 네트워크 시스템은 복수의 리커런트 뉴럴 네트워크 계층들을 포함할 수 있다. 타임 스텝에 대한 상기 네트워크 내부 상태는 상기 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층들의 계층 내부 상태들의 조합이 될 수 있다. 상기 시간적 시퀀스 내의 각각의 입력은, 상기 리커런트 뉴럴 네트워크 시스템에 대한 가능한 입력들의 세트로부터 선택될 수 있다. 미리결정된 컨디션들의 세트는, 리커런트 뉴럴 네트워크 시스템에 대한 가능한 입력들의 세트에 포함되지 않은 이벤트들이 상기 타임 스텝에서의 입력의 특정 시간 기간 내에 발생하는 경우에 충족되는 컨디션들을 포함할 수 있다. 복수의 타임 스텝들에서의 입력들 각각은 환자와 관련된 헬스-관련 데이터(health-related data)가 될 수 있다. 상기 미리결정된 컨디션들의 세트 내의 컨디션들은, 헬스-관련 이벤트가 상기 환자와 관련하여 발생하는 때에 충족되는 컨디션들이 될 수 있다. The recurrent neural network system may further comprise an output layer. For each of the plurality of time steps, the network internal state for the time step uses the output layer according to the current values of the set of parameters of the output layer to generate each of the next input scores for each of the plurality of possible next inputs. Can be processed. Each of the next input scores for each of the plurality of possible next inputs may indicate the likelihood that the possible next input will be the input at the next time step of the time sequence. Each of the one or more concurrent neural network layers is configured to: for each of the plurality of time steps: receive a layer input for a time step; And, in order to generate a layer internal state for the recurrent neural network layer for the time step, according to the current values of the set of parameters for the recurrent neural network layer, in-layer for the recurrent neural network layer for the preceding time step. And process hierarchical input for the state and time step. A recurrent neural network system can include only one recurrent neural network layer. The layer internal state for the recurrent neural network layer for the time step may be the network internal state for the time step. The recurrent neural network system may include a plurality of recurrent neural network layers arranged in a sequence. The network internal state for a time step may be the layer internal state of the highest relative neural network layer of the sequence for the time step. The recurrent neural network system may include a plurality of recurrent neural network layers. The network internal state for a time step may be a combination of hierarchical internal states of the concurrent neural network layers for the time step. Each input in the temporal sequence may be selected from a set of possible inputs for the recurrent neural network system. The set of predetermined conditions may include conditions that are met if events that are not included in the set of possible inputs to the recurrent neural network system occur within a certain time period of input at the time step. Each of the inputs in the plurality of time steps may be health-related data associated with the patient. The conditions within the predetermined set of conditions may be conditions met when a health-related event occurs in relation to the patient.

본 명세서에서 설명된 본 발명의 특정 실시예는 다음의 이점들 중 하나 이상을 실현하도록 구현될 수 있다. 리커런트 뉴럴 네트워크는 헬스 이벤트들과 같은 이벤트들의 시퀀스 예컨대, 현재 환자에 대한 전자 의료 기록으로부터 도출된 헬스 이벤트들의 시퀀스를 분석하는데 효율적으로 사용될 수 있다. 리커런트 뉴럴 네트워크는 상기 이벤트들이 리커런트 뉴럴 네트워크에 대한 가능한 입력들의 세트에 포함되지 않는 경우라 하여도, 시간적 시퀀스 내의 가장 최근의 이벤트의 특정 시간 기간 내에 이벤트들이 발생할 가능성들을 예측하는데 효율적으로 이용될 수 있다. 리커런트 뉴럴 네트워크 내부 상태들은, 다른 환자들에 대응하는 다른 시간적 시퀀스들을 식별하는데 효율적으로 사용될 수 있는데, 이는 현재 환자와 관련되게 될 수도 있는 미래 헬스 이벤트들에 대한 예측인 헬스 이벤트들을 포함할 수 있다. 따라서, 본 발명의 실시예는 시간적 시퀀스를 프로세싱하기 위한 개선된 시스템 및 방법을 제공한다. Particular embodiments of the invention described herein may be implemented to realize one or more of the following advantages. Recurrent neural networks can be efficiently used to analyze a sequence of events, such as health events, eg, a sequence of health events derived from an electronic medical record for the current patient. A recursive neural network can be used effectively to predict the likelihood that events will occur within a particular time period of the most recent event in a temporal sequence, even if the events are not included in the set of possible inputs to the recursive neural network. Can be. Recurrent neural network internal states can be effectively used to identify different temporal sequences corresponding to different patients, which can include health events that are predictions for future health events that may be associated with the current patient. . Accordingly, embodiments of the present invention provide an improved system and method for processing temporal sequences.

리커런트 뉴럴 네트워크의 출력을 특징으로 하는 정보 또는 리커런트 뉴럴 네트워크에 의해서 생성된 출력으로부터 도출된 출력들이 의사 또는 다른 헬스케어 전문가와 같은 최종 사용자에게 제공될 수 있어, 양질의 의료 서비스를 환자들에게 제공하는 헬스케어 전문가의 능력을 향상시킬 수 있다. 예를 들어, 헬스케어 전문가는 현재 환자와 관련될 수도 있는 미래 헬스 이벤트에 대한 유용한 정보, 예컨대, 환자와 관련된 다음 헬스 이벤트가 될 수도 있는 헬스 이벤트들 또는 상기 시퀀스 내의 가장 최근의 이벤트의 특정 시간 기간 내에 발생하는 이벤트들에 의해 소정의 이벤트들이 충족될 가능성에 대한 유용한 정보를 제공받을 수 있다. 또한, 헬스케어 의료 전문가는 이벤트들이 발생할 가능성들에 대한 제안된 치료의 잠재적인 효과를 식별하는 정보를 제공받을 수 있는바, 예컨대, 제안된 치료가 장래에 환자에게 바람직하지 않은 헬스-관련 컨디션을 충족시킬 가능성을 감소 또는 증가시키는지의 여부를 제공받을 수 있다. 또한, 헬스케어 전문가는 과거 이력의 일 시점에서 그들의 헬스케어 기록들이 현재 환자와 유사했던 환자들의 헬스케어 기록들을 제공받을 수 있거나 또는 이들 환자들의 헬스케어 결과들의 요약을 제공받을 수 있다. 또한, 일부 경우들에서, 의료 전문가가 취할 제안 행동이 해당 환자의 향후 예측된 결과들에 대해 위험을 현저하게 증가시키는 경우에 트리거링되는 경고가 헬스케어 전문가에게 발행될 수 있다. 또한, 리커런트 뉴럴 네트워크를 포함하는 헬스케어 분석 시스템은, 표준 의료 행위를 성문화하고(codify), 치료 및 결과에 있어서 패턴들을 발견하고, 기존의 의료 기술들 또는 헬스케어 시스템을 분석하고, 또는 새로운 추천들을 수행하거나 과학적 발견들을 촉진시키는데 이용될 수 있다. Information characterizing the output of the recurrent neural network or outputs derived from the output generated by the recurrent neural network can be provided to end users, such as doctors or other healthcare professionals, to provide patients with quality medical care. Improve the ability of healthcare professionals to offer. For example, a healthcare professional may use useful information about future health events that may be associated with the current patient, such as health events that may be the next health event associated with the patient or a specific time period of the most recent event in the sequence. Events that occur within can be provided with useful information about the likelihood that certain events will be met. In addition, the healthcare medical professional may be provided with information identifying the potential effect of the proposed treatment on the likelihood of events occurring, e.g., the proposed treatment may result in health-related conditions that are undesirable for the patient in the future. It may be provided whether to reduce or increase the likelihood of meeting. In addition, the healthcare professional may be provided with the healthcare records of patients whose healthcare records were similar to the current patient at one point in the past history or may be provided with a summary of the healthcare results of these patients. In addition, in some cases, a warning may be issued to a healthcare professional that is triggered if the suggested action to be taken by the healthcare professional significantly increases the risk for future predicted outcomes of that patient. In addition, a healthcare analysis system comprising a recurrent neural network can codify standard medical behavior, discover patterns in treatment and outcomes, analyze existing medical technologies or healthcare systems, or It can be used to make recommendations or to promote scientific findings.

본 명세서에서 본 발명의 하나 이상의 실시예들의 세부 사항은 첨부된 도면 및 이하의 설명에서 서술될 것이다. 본 발명의 주제의 다른 특징들, 양상들 및 장점들은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다. The details of one or more embodiments of the invention herein will be set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter of the present invention will become apparent from the description, the drawings, and the claims.

도 1은 헬스 케어 분석 시스템의 일례를 도시한다.
도 2는 시간적 시퀀스에 대한 헬스 이벤트 데이터를 생성하기 위한 예시적인 프로세스의 흐름도이다.
도 3은 다음 입력 점수들로부터 시간 시퀀스에 대한 헬스 분석 데이터를 생성하기위한 예시적인 프로세스의 흐름도이다.
도 4는 네트워크 내부 상태로부터 시간 시퀀스에 대한 헬스 이벤트 데이터를 생성하기 위한 예시적인 프로세스의 흐름도이다.
도 5는 미래 컨디션 점수들로부터 시간 시퀀스에 대한 헬스 이벤트 데이터를 생성하기 위한 예시적인 프로세스의 흐름도이다.
도 6은 미래 컨디션 점수들에 대한 시간 시퀀스에 이벤트를 추가하는 효과를 결정하기 위한 예시적인 프로세스의 흐름도이다.
도 7은 미래 컨디션 점수를 생성하도록 구성된 리커런트 뉴럴 네트워크의 일례를 도시한다.
도 8은 주어진 타임 스텝에 대한 미래 컨디션 점수를 생성하기 위한 예시적인 프로세스의 흐름도이다.
도 9는 미래 컨디션 점수를 생성하기 위해 리커런트 뉴럴 네트워크를 훈련시키는 예시적인 프로세스의 흐름도이다.
다양한 도면들에서 유사한 참조 번호들 및 명칭들은 유사한 요소들을 나타낸다.
1 illustrates an example of a healthcare analysis system.
2 is a flow diagram of an example process for generating health event data for a temporal sequence.
3 is a flow diagram of an example process for generating health analysis data for a time sequence from subsequent input scores.
4 is a flow diagram of an example process for generating health event data for a time sequence from a network internal state.
5 is a flowchart of an example process for generating health event data for a time sequence from future condition scores.
6 is a flowchart of an example process for determining the effect of adding an event to a time sequence for future condition scores.
7 illustrates an example of a recurrent neural network configured to generate a future condition score.
8 is a flow diagram of an example process for generating a future condition score for a given time step.
9 is a flow diagram of an example process for training a reactive neural network to generate a future condition score.
Like reference numbers and designations in the various drawings indicate like elements.

본 명세서는 일반적으로 리커런트 뉴럴 네트워크(recurrent neural network)를 사용하여 헬스 이벤트(health event)들과 같은 복수의 이벤트(event)들을 식별시키는 데이터를 포함하는 시간적 시퀀스(temporal sequence)로부터 헬스 분석 데이터(health analysis data)와 같은 분석 데이터를 발생시킬 수 있는 시스템을 설명한다.The present disclosure generally relates to health analysis data from a temporal sequence comprising data identifying a plurality of events, such as health events using a recurrent neural network. Describe a system that can generate analytical data, such as health analysis data.

도 1은 예시적인 헬스케어 분석 시스템(healthcare analysis system)(100)을 보여준다. 헬스케어 분석 시스템(100)은 아래에서 설명되는 시스템들, 컴포넌트들, 및 기법들이 구현될 수 있는 하나 이상의 위치(location)들에서 하나 이상의 컴퓨터들 상의 컴퓨터 프로그램들로서 구현되는 시스템의 예이다.1 shows an example healthcare analysis system 100. Healthcare analysis system 100 is an example of a system implemented as computer programs on one or more computers at one or more locations in which the systems, components, and techniques described below may be implemented.

헬스케어 분석 시스템(100)은 시간적 시퀀스(temporal sequence)들을 수신하고, 그리고 수신된 시간적 시퀀스들을 리커런트 뉴럴 네트워크(recurrent neural network)(110)를 사용하여 프로세싱함으로써, 수신된 시간적 시퀀스들로부터 헬스 분석 데이터(health analysis data)를 발생시킨다. 예를 들어, 헬스케어 분석 시스템(100)은 시간적 시퀀스(102)를 수신할 수 있고, 그리고 시간적 시퀀스(102)로부터 헬스 분석 데이터(122)를 발생시킬 수 있다.The healthcare analysis system 100 receives the temporal sequences and processes the received temporal sequences using the recurrent neural network 110 to thereby analyze the health from the received temporal sequences. Generate health analysis data. For example, healthcare analysis system 100 may receive temporal sequence 102, and generate health analysis data 122 from temporal sequence 102.

시간적 시퀀스들은 복수의 타임 스텝(time step)들 각각에서 헬스-관련 데이터(health-related data), 예를 들어, 헬스 이벤트를 식별시키는 데이터를 포함하는 시퀀스들이다. 각각의 시간적 시퀀스는 소정의 환자와 관련된 헬스-관련 데이터를 포함하고, 여기서 시간적 시퀀스 내의 헬스-관련 데이터에 의해 식별되는 헬스 이벤트들은 시간 순으로 정렬되고, 이에 따라 가장-최근에 일어난 헬스 이벤트가 시퀀스 내의 마지막 타입 스텝에서의 헬스 이벤트가 된다.Temporal sequences are sequences that include health-related data, eg, data identifying a health event, in each of a plurality of time steps. Each temporal sequence includes health-related data associated with a given patient, where the health events identified by the health-related data in the temporal sequence are sorted in chronological order, such that the most recently occurring health event is sequenced. This is the health event at the last type step in the.

일부 구현예들에서, 시간적 시퀀스 발생 시스템(temporal sequence generation system)(104)은 대응하는 환자에 대한 전자 의료 기록(electronic medical record)으로부터 시간적 시퀀스(102)를 발생시킨다. 전자 의료 기록은 대응하는 환자에 대한 헬스 정보의 전자적 콜렉션(electronic collection)이다. 예를 들어, 시간적 시퀀스 발생 시스템은, 환자에 대한 전자 의료 기록을 전자 의료 기록 리포지터리(electronic medical record repository)(106)로부터 획득할 수 있고, 그리고 전자 의료 기록에서 헬스 이벤트들을 식별함으로써 그리고 헬스 이벤트들을 시간 순으로 정렬함으로써 전자 의료 기록으로부터 시간적 시퀀스(102)를 발생킬 수 있다. 특히, 시간적 시퀀스(102)는 복수의 타임 스텝들 각각에서 토큰(token)들의 시퀀스를 포함할 수 있고, 여기서 각각의 토큰은 전자 의료 기록에서 식별된 헬스 이벤트를 나타낸다. 일부 구현예들에서, 시간적 시퀀스 발생 시스템은 헬스 이벤트가 일어난 시간을 식별시키는 데이터를 시간적 시퀀스(102) 내의 헬스 이벤트를 식별시키는 데이터에 첨부(append)할 수 있다.In some implementations, temporal sequence generation system 104 generates temporal sequence 102 from an electronic medical record for the corresponding patient. An electronic medical record is an electronic collection of health information for the corresponding patient. For example, a temporal sequence generation system can obtain an electronic medical record for a patient from an electronic medical record repository 106, and identify health events in the electronic medical record and By sorting in chronological order, a temporal sequence 102 can be generated from the electronic medical record. In particular, temporal sequence 102 may include a sequence of tokens in each of the plurality of time steps, where each token represents a health event identified in an electronic medical record. In some implementations, the temporal sequence generation system can append data identifying the time at which the health event occurred to data identifying the health event in temporal sequence 102.

일반적으로, 헬스케어 분석 시스템(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)), 또는 이들 모두를 포함할 수 있다.In general, health events identified within the temporal sequences received by the healthcare analysis system 100 may include symptoms, tests, test results, diagnostics, and medications. one or more of medications, outcomes, and the like, each of which is represented by a token from a pre-determined vocabulary of tokens. Optionally, each token is combined with data identifying the time at which the health event occurred within the temporal sequence. In addition, in some cases, the temporal sequence may identify health events other than health events identified by tokens from the vocabulary. For example, in some implementations, health events in temporal sequences can also be health-related images (eg, X-Ray or other diagnostic images). images)), health-related electronic documents (eg, free-form notes generated by a physician during an appointment), or both. .

또한, 선택에 따라, 헬스-관련 데이터는 환자의 헬스에 영향을 미치는 것으로서 분류될 수 있는 다른 헬스-관련 데이터를 포함할 수 있다. 예를 들어, 다른 데이터는, 환자의 활동을 특징짓는 데이터를 포함할 수 있거나, 또는 환자의 디바이스들(예를 들어, 활동 추적 디바이스들) 혹은 모바일 디바이스들 상에서 실행되는 활동 추적 애플리케이션들에 의해 수집되는 다른 헬스-관련 데이터를 포함할 수 있다. 예를 들어, 활동 데이터는, 특정 날짜에 환자가 이동한 거리, 환자가 참여한 운동(workout) 혹은 다른 신체단련 활동(fitness activity), 환자가 먹은 음식(meals), 등을 식별시키는 데이터를 포함할 수 있다. 다른 헬스-관련 데이터는 또한, 환자의 헬스에 영향을 미칠 것으로 고려될 수 있는 다른 데이터, 예를 들어, 환자에 대한 처방 이행 데이터(prescription fulfillment data) 혹은 환자에 의해 행해진 구매(purchases)를 식별시키는 데이터를 포함할 수 있다.In addition, optionally, the health-related data may include other health-related data that may be classified as affecting the patient's health. For example, other data may include data characterizing the patient's activity, or collected by activity tracking applications running on the patient's devices (eg, activity tracking devices) or mobile devices. Other health-related data. For example, activity data may include data identifying the distance a patient traveled on a particular date, a workout or other fitness activity in which the patient participated, the foods the patient ate, and the like. Can be. Other health-related data may also identify other data that may be considered to affect the patient's health, such as prescription fulfillment data for the patient or purchases made by the patient. May contain data.

헬스케어 분석 시스템(100)은 시간적 시퀀스(102)에 대한 네트워크 출력(network output)을 발생시키기 위해 리커런트 뉴럴 네트워크(110)를 사용하여 시간적 시퀀스(102)를 프로세싱한다. 헬스케어 분석 시스템(100)은 또한, 헬스케어 분석 엔진(healthcare analysis engine)(120)을 포함하며, 헬스케어 분석 엔진(120)은, 시간적 시퀀스(102)에 대한 네트워크 출력을 수신하고, 그리고 네트워크 출력으로부터 시간적 시퀀스(102)에 대한 분석 데이터(122)를 발생시킨다.The healthcare analysis system 100 processes the temporal sequence 102 using the recurrent neural network 110 to generate a network output for the temporal sequence 102. The healthcare analysis system 100 also includes a healthcare analysis engine 120, which receives the network output for the temporal sequence 102, and the network Generate output analysis data 122 for temporal sequence 102 from the output.

일반적으로, 시간적 시퀀스(102)에 대한 네트워크 출력은, 리커런트 뉴럴 네트워크(110)의 다음 입력 점수들(next input scores)(112)의 세트(set), 미래 컨디션 점수들(future condition scores)(114)의 세트, 또는 네트워크 내부 상태(network internal state)(116) 중 하나 이상을 포함한다.In general, the network output for the temporal sequence 102 is a set of next input scores 112 of the recurrent neural network 110, future condition scores ( 114, or one or more of 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)들, 등을 포함할 수 있다.Recurrent neural network 110 includes one or more recurrent neural network layers that generate a network internal state for each time step of a given input temporal sequence. In some implementations, the recurrent neural network 110 also includes an output layer, or a set of logistic regression nodes, or both, which receive network internal state. And process the network internal state to generate a network output for the time step. Additionally, in some implementations, the recurrent neural network can also include one or more other types of neural network layers, eg, forward layers, such as a fully-connected layer. , Convolutional layers, pooling layers, regulation layers, and the like.

특히, 리커런트 뉴럴 네트워크 계층들 각각은, 타임 스텝에 대한 계층 입력을 수신하고 타임 스텝에 대한 계층에 대한 계층 내부 상태를 계산(compute)하도록 구성된다. 리커런트 뉴럴 네트워크 계층은, 계층의 파라미터들(parameters)의 세트의 현재 값들에 따라, 현재 타임 스텝에 대한 계층 입력 그리고 이전의 타임 스텝에 대한 계층의 계층 내부 상태로부터 현재 타임 스텝에 대한 계층 내부 상태를 계산한다. 일부 구현예들에서, 리커런트 뉴럴 네트워크 계층들 중 하나 이상은 타임 스텝에 대한 계층 내부 상태를 계산할 때 다른 내부 상태들을 또한 사용하도록 구성되는데, 예를 들어, 다른 이전의 타임 스텝들로부터의 계층에 대한 내부 상태들, 또는 다른 리커런트 계층들에 대한 현재 타임 스텝 혹은 이전의 타임 스텝들에 대한 내부 상태들을 사용하도록 구성된다. 만약 현재 타임 스텝이 시퀀스 내에서 첫 번째 타임 스텝이라면, 이전의 타임 스텝에 대한 계층 내부 상태는, 예를 들어, 시스템 관리자(system administrator)에 의해 특정되는 바와 같이, 또는 헬스케어 분석 시스템(100)에 의해 발생되는 바와 같이, 초기 계층 내부 상태이다.In particular, each of the recurrent neural network layers is configured to receive a layer input for a time step and compute a layer internal state for the layer for the time step. The recurrent neural network layer is a layer internal state for the current time step from the layer input for the current time step and the layer internal state of the previous time step according to the current values of the set of layer parameters. Calculate In some implementations, one or more of the recurrent neural network layers are configured to also use other internal states when calculating the layer internal state for a time step, eg, in a layer from other previous time steps. Internal states for the current time step or previous time steps for the other concurrent layers. If the current time step is the first time step in the sequence, the hierarchical internal state for the previous time step may be, for example, as specified by the system administrator, or the healthcare analysis system 100. As generated by, the initial layer internal state.

만약 리커런트 뉴럴 네트워크(110) 내에 단지 하나의 리커런트 뉴럴 네트워크 계층만이 존재한다면, 소정의 타임 스텝에 대한 네트워크 내부 상태는 타임 스텝에 대한 리커런트 뉴럴 네트워크 계층에 대한 계층 내부 상태이다.If there is only one concurrent neural network layer in the recurrent neural network 110, then the network internal state for a given time step is the layer internal state for the concurrent neural network layer for the time step.

만약 리커런트 뉴럴 네트워크(110) 내에 복수의 리커런트 뉴럴 네트워크 계층들이 존재한다면, 계층들은 시퀀스 내에서 정렬되는데, 시퀀스 내의 가장 낮은 계층으로부터 시퀀스 내의 가장 높은 계층으로 정렬되고, 그리고 타임 스텝에 대한 네트워크 내부 상태를 계산하기 위해 타임 스텝에서 헬스 이벤트를 집합적으로(collectively) 프로세싱한다. 만약 리커런트 뉴럴 네트워크(110) 내에 다른 타입의 뉴럴 네트워크 계층들이 존재한다면, 다른 뉴럴 네트워크 계층들은, 시퀀스 내의 다양한 위치에서 배치(intersperse)될 수 있는데, 예를 들어, 첫 번째 리커런트 계층 이전에, 또는 두 개의 리커런트 계층들 사이에, 또는 모든 리커런트 계층들 이후에, 또는 이러한 것들의 어떤 조합으로 배치될 수 있다. 소정의 타임 스텝에 대해, 리커런트 뉴럴 네트워크(110)는 각각의 리커런트 뉴럴 네트워크 계층으로부터의 계층 내부 상태를, 시퀀스 내의 계층 위에 있는 리커런트 뉴럴 네트워크 계층에 대한 계층 입력으로서 제공할 수 있다. 일부 구현예들에서, 리커런트 뉴럴 네트워크 계층들 중 하나 이상은 리커런트 계층 아래에 있는 계층과는 다른 그러한 시퀀스 내의 하나 이상 다른 계층들로부터 입력들을 또한 수신하도록 구성된다.If there are multiple concurrent neural network layers in the recurrent neural network 110, the layers are arranged in a sequence, from the lowest layer in the sequence to the highest layer in the sequence, and within the network for the time step. The health event is collectively processed in the time step to calculate the state. If there are other types of neural network layers in the recurrent neural network 110, the other neural network layers may be intersperated at various locations in the sequence, eg, before the first recurrent layer, Or may be placed between two separate layers, or after all the concurrent layers, or in any combination thereof. For a given time step, the recurrent neural network 110 may provide the layer internal state from each of the recurrent neural network layers as a layer input to the recurrent neural network layer above the layer in the sequence. In some implementations, one or more of the recurrent neural network layers are also configured to receive inputs from one or more other layers in such a sequence that are different from the layer below the recurrent layer.

일부 구현예들에서, 시퀀스 내의 계층들 중 하나 이상은, 타임 스텝들의 서브세트(subset)에서, 예를 들어, 첫 번째 타임 스텝에서, 혹은 각각의 타임 스텝에서, 계층에 대한 계층 입력의 일부로서, 글로벌 입력(global input), 또는 레코드별 입력(per-record input), 또는 이들 모두를 수신하도록 구성될 수 있다. 글로벌 입력들은 리커런트 뉴럴 네트워크(110)에 의해 프로세싱되는 현재 시간적 시퀀스에 의존하지 않는 입력들이다. 글로벌 입력의 예는 1년 중 현재 시간, 예를 들어, 현재 날짜를 특징짓는 데이터이다. 레코드별 입력들은 상이한 시간적 시퀀스들에 대해 서로 다를 수 있는 입력들이다. 레코드별 입력의 예들은, 현재 시간적 시퀀스와 관련된 환자의 유전자 시퀀스(genetic sequence) 또는 환자를 특징짓는 다른 정보, 예를 들어, 환자에 대한 인구통계학적 정보(demographic information)를 포함할 수 있다.In some implementations, one or more of the layers in the sequence are part of a layer input to the layer in a subset of time steps, eg, in the first time step or in each time step. , Global input, or per-record input, or both. Global inputs are inputs that do not depend on the current temporal sequence being processed by the recurrent neural network 110. An example of a global input is data characterizing the current time of year, for example the current date. Record-by-record inputs are inputs that may be different for different temporal sequences. Examples of record-by-record inputs may include the patient's genetic sequence associated with the current temporal sequence or other information characterizing the patient, such as demographic information about the patient.

일부 구현예들에서, 만약 복수의 리커런트 뉴럴 네트워크 계층들이 존재한다면, 타임 스텝에 대한 네트워크 내부 상태는 타임 스텝에 대한 시퀀스 내의 가장 높은 계층의 계층 내부 상태이다. 일부 다른 구현예들에서, 헬스케어 분석 시스템(100)은 타임 스텝에 대한 네트워크 내부 상태를 발생시키기 위해 타임 스텝에 대한 계층 내부 상태들을 결합한다. 예를 들어, 헬스케어 분석 시스템(100)은 네트워크 내부 상태를 발생시키기 위해, 계층 내부 상태들의 합(sum), 곱(product), 혹은 평균(average)을 계산할 수 있거나 계층 내부 상태들을 연결(concatenate)시킬 수 있다.In some implementations, if there are a plurality of concurrent neural network layers, the network internal state for the time step is the highest layer inner state in the sequence for the time step. In some other implementations, the healthcare analysis system 100 combines the hierarchical internal states for the time step to generate a network internal state for the time step. For example, healthcare analysis system 100 may calculate the sum, product, or average of intra-layer states, or concatenate intra-layer states, to generate a network internal state. You can.

일부 구현예들에서, 리커런트 뉴럴 네트워크 계층들은 장단-기간 기억(Long Short-Term Memory, LSTM) 계층들이다. 각각의 LSTM 계층은 하나 이상 LSTM 기억 블록(memory block)들을 포함한다. 각각의 LSTM 기억 블록은 하나 이상 셀(cell)들을 포함할 수 있고, 각각의 셀은 입력 게이트(input gate), 망각 게이트(forget gate), 및 출력 게이트(output gate)를 포함하고, 이들은 셀이 셀에 대한 이전의 상태들을 저장할 수 있게 하는데, 예를 들어, 현재 활성화(current activation)를 발생시킬 때 사용하기 위한, 혹은 LSTM 뉴럴 네트워크의 다른 컴포넌트들에게 제공될, 셀에 대한 이전의 상태들을 저장할 수 있게 한다.In some implementations, the concurrent neural network layers are Long Short-Term Memory (LSTM) layers. Each LSTM layer includes one or more LSTM memory blocks. Each LSTM memory block may comprise one or more cells, each cell comprising an input gate, a forget gate, and an output gate, which are cells It is possible to store previous states for the cell, for example to store previous states for the cell for use in generating current activation or to be provided to other components of the LSTM neural network. To be able.

리커런트 뉴럴 네트워크(110)가 출력 계층을 포함하는 구현예들에서, 출력 계층은, 타임 스텝들 각각에 대해, 타임 스텝에 대한 네트워크 내부 상태를 수신하고 그리고 타임 스텝에 대한 다음 입력 점수들의 세트를 발생시키도록 구성된다. 타임 스텝에 대한 다음 입력 점수들의 세트는 토큰들의 어휘 내에서 토큰에 의해 나타내어지는 각각의 헬스 이벤트에 대한 각각의 점수를 포함한다. 리커런트 뉴럴 네트워크(110)가 훈련(train)된 경우, 소정의 헬스 이벤트에 대한 다음 입력 점수는 헬스 이벤트가 시간적 시퀀스 내에서 다음 헬스 이벤트가 될 가능성(likelihood)을 나타낸다. 따라서, 리커런트 뉴럴 네트워크(110)가 출력 계층을 포함하는 경우, 리커런트 뉴럴 네트워크(110)는, 소정의 입력 시간적 시퀀스의 각각의 타임 스텝에 대해, 미래 헬스 이벤트들, 즉 시간적 시퀀스 내의 다음 타임 스텝에서의 헬스 이벤트를 예측(predict)하도록 훈련된 네트워크이다. 리커런트 뉴럴 네트워크(110)는 종래의 머신 러닝 훈련 기법(machine learning training technique)들, 예를 들어, 시간 훈련 기법을 통한 역전파(backpropagation)를 이용해 훈련 시퀀스들 상에서 훈련될 수 있다.In implementations where the recursive neural network 110 includes an output layer, for each of the time steps, the output layer receives the network internal state for the time step and sets the next set of input scores for the time step. It is configured to generate. The next set of input scores for the time step includes a respective score for each health event represented by the token within the vocabulary of tokens. When the recurrent neural network 110 is trained, the next input score for a given health event indicates the likelihood that the health event will be the next health event in a temporal sequence. Thus, when the recurrent neural network 110 includes an output layer, for each time step of a given input temporal sequence, the future neural network 110, the future time events, i.e., the next time in the temporal sequence. A network trained to predict health events at a step. Recurrent neural network 110 may be trained on training sequences using conventional machine learning training techniques, eg, backpropagation via a time training technique.

이러한 구현예들에서, 시간적 시퀀스(102)에 대한 다음 입력 점수들(112)은 시간적 시퀀스(102) 내의 마지막 타임 스텝에 대한 출력 계층에 의해 발생되는 다음 입력 점수들이다.In such implementations, the next input scores 112 for the temporal sequence 102 are the next input scores generated by the output layer for the last time step in the temporal sequence 102.

리커런트 뉴럴 네트워크(110)가 로지스틱 회귀 노드들의 세트를 포함하는 구현예들에서, 로지스틱 회귀 노드들의 세트는, 각각의 타임 스텝에서, 타임 스텝에 대한 네트워크 내부 상태를 수신하고, 그리고 타임 스텝에 대한 미래 컨디션 점수들의 세트를 발생시키도록 구성된다. 미래 컨디션 점수들의 세트는 컨디션들의 미리-결정된 세트 내의 각각의 컨디션에 대한 각각의 점수를 포함한다. 소정의 컨디션에 대한 점수는 현재 타임 스텝에서 헬스 이벤트의 특정된 기간 내에 컨디션이 충족될 가능성을 나타낸다.In implementations in which the recursive neural network 110 includes a set of logistic regression nodes, the set of logistic regression nodes receives, at each time step, a network internal state for the time step, and for the time step. And generate a set of future condition scores. The set of future condition scores includes a respective score for each condition in a pre-determined set of conditions. The score for a given condition indicates the likelihood that the condition is met within the specified duration of the health event at the current time step.

컨디션들은 이벤트의 발생(occurrence)에 의해 충족되는 컨디션들, 예를 들어, 어휘 내의 토큰에 의해 나타내어지는 헬스 이벤트의 발생에 의해 충족되는 컨디션들을 포함한다. 일부 경우, 어휘 내의 토큰에 의해 나타내어지는 이벤트의 발생에 의해 충족되는 컨디션들을 포함하는 것에 추가하여 혹은 그 대신에, 컨디션들의 미리결정된 세트 내의 컨디션들은 또한, 어휘 내의 토큰들에 의해 나타내어지지 않는 이벤트들, 즉 리커런트 뉴럴 네트워크(110)에 의해 프로세싱된 시간적 시퀀스들 내에 포함되는 가능한 헬스 이벤트들이 아닌 이벤트들이, 현재 타임 스텝에서 헬스 이벤트의 특정 기간 내에 일어날 때 충족되는 컨디션들을 포함할 수 있다. 따라서, 미리결정된 컨디션들의 세트 내의 컨디션들을 충족시킬 수 있는 이벤트들은 토큰들에 의해 나타내어지는 이벤트들과 겹쳐(overlap)질 수 있지만, 컨디션들의 세트는 또한, 세트 내에 존재하지 않는 다른 컨디션들의 발생에 의해 충족되는 컨디션들을 포함할 수 있다.Conditions include conditions that are met by the occurrence of an event, for example, conditions that are met by the occurrence of a health event represented by a token in the vocabulary. In some cases, in addition to or instead of including the conditions met by the occurrence of an event represented by a token in the vocabulary, the conditions in the predetermined set of conditions may also be events not represented by the tokens in the vocabulary. That is, events that are not possible health events included in the temporal sequences processed by the recurrent neural network 110 may include conditions that are met when they occur within a specific time period of the health event at the current time step. Thus, events that can satisfy conditions within a predetermined set of conditions may overlap with the events represented by tokens, but the set of conditions is also caused by the occurrence of other conditions not present in the set. It may include conditions that are met.

로지스틱 회귀 노드들의 세트를 포함하는 리커런트 뉴럴 네트워크는 도 7 및 도 8을 참조하여 더 상세히 설명된다. 컨디션들이 충족될 가능성을 예측하도록 리커런트 뉴럴 네트워크를 훈련시키는 것은 도 9를 참조하여 아래에서 더 상세히 설명된다.A recurrent neural network comprising a set of logistic regression nodes is described in more detail with reference to FIGS. 7 and 8. Training the recurrent neural network to predict the likelihood that the conditions will be met is described in more detail below with reference to FIG. 9.

이러한 구현예들에서, 시간적 시퀀스(102)에 대한 컨디션 점수들(114)은 시간적 시퀀스(102) 내의 마지막 타임 스텝에 대한 로지스틱 회귀 노드들에 의해 발생되는 미래 컨디션 점수들이다.In such implementations, the condition scores 114 for the temporal sequence 102 are future condition scores generated by logistic regression nodes for the last time step in the temporal sequence 102.

네트워크 내부 상태(116)가 시간적 시퀀스(102)에 대한 네트워크 출력 내에 포함되는 구현예들에서, 시간적 시퀀스(102)에 대한 네트워크 내부 상태(116)는, 시퀀스 내의 마지막 타임 스텝에 대한 리커런트 뉴럴 네트워크(110)에 의해 발생되는 네트워크 내부 상태이거나, 또는 시퀀스 내의 복수의 타임 스텝들에 대한 리커런트 뉴럴 네트워크(110)에 의해 발생되는 네트워크 내부 상태들의 결합(combination), 예를 들어, 네트워크 내부 상태들의 가중된(weighted) 합, 곱, 혹은 연결(concatenation)이다.In embodiments where the network internal state 116 is included in the network output for the temporal sequence 102, the network internal state 116 for the temporal sequence 102 is a recursive neural network for the last time step in the sequence. A combination of network internal states generated by the recurrent neural network 110 for a plurality of time steps in the sequence, or generated by the 110, for example, of network internal states. It is a weighted sum, product, or concatenation.

헬스케어 분석 엔진(120)은, 시간적 시퀀스(122)에 대한 네트워크 출력을 수신하고, 그리고 시간적 시퀀스(102)에 대한 헬스 분석 데이터(122)를 발생시키고, 그리고 사용자에게, 예를 들어, 시간적 시퀀스(102)에 대응하는 환자를 치료하는 의사에게 제시(presentation)하기 위해 헬스 분석 데이터(122)를 제공한다. 일반적으로, 헬스 분석 데이터(122)는 시간적 시퀀스(102)와 관련될 수 있는 미래 이벤트들을 특징짓는 데이터인데, 즉, 시간적 시퀀스(102) 내의 현재 마지막 헬스 이벤트 이후 일어날 수 있는 헬스 이벤트들 혹은 다른 이벤트들을 특징짓는 데이터이다.The healthcare analysis engine 120 receives the network output for the temporal sequence 122, generates the healthcare analysis data 122 for the temporal sequence 102, and sends the user, eg, a temporal sequence. Health analysis data 122 is provided for presentation to a doctor treating a patient corresponding to 102. In general, health analysis data 122 is data characterizing future events that may be associated with temporal sequence 102, ie, health events or other events that may occur after the current last health event in temporal sequence 102. To characterize the data.

시간적 시퀀스(102)에 대한 뉴럴 네트워크 출력이 다음 입력 점수들(112)을 포함하는 구현예들에서, 헬스케어 분석 엔진(120)은 시간적 시퀀스(102) 내에서 다음에 일어날 수 있는 헬스 이벤트들을 식별시키는 헬스 분석 데이터(122)를 발생시킨다. 다음 입력 점수들로부터 시간적 시퀀스에 대한 헬스 분석 데이터를 발생시키는 것은 도 3을 참조하여 아래에서 더 상세히 설명된다.In implementations in which the neural network output for temporal sequence 102 includes the following input scores 112, healthcare analysis engine 120 identifies health events that may occur next within temporal sequence 102. Health analysis data 122 is generated. Generating health analysis data for the temporal sequence from the following input scores is described in more detail below with reference to FIG. 3.

시간적 시퀀스(102)에 대한 뉴럴 네트워크 출력이 네트워크 내부 상태(116)를 포함하는 구현예들에서, 헬스케어 분석 엔진(120)은 시간적 시퀀스(102) 내에서 미래 이벤트들을 예측할 확률이 높은 다른 시간적 시퀀스들로부터 헬스 이벤트들을 식별시키는 헬스 분석 데이터(122)를 발생시킨다. 특히, 헬스케어 분석 엔진(120)은 내부 상태 리포지터리(130)에 저장된 내부 상태들로부터 네트워크 내부 상태(116)와 유사한 내부 상태들을 식별하고, 그리고 시간적 시퀀스(102) 내에서 미래 이벤트들을 예측할 확률이 높은 다른 시간적 시퀀스들로부터 헬스 이벤트들을 결정하기 위해 이러한 유사한 내부 상태들을 사용한다. 내부 상태 리포지터리(130)는, 다양한 시간적 시퀀스들 내의 다양한 타임 스텝들에서 발생된 네트워크 내부 상태들을 저장하고, 그리고 각각의 네트워크 내부 상태를, 네트워크 내부 상태가 발생됐을 때 그 대상이 되는 타임 스텝 및 시간적 시퀀스를 식별시키는 데이터와 관련시킨다. 네트워크 내부 상태로부터 시간적 시퀀스에 대한 헬스 분석 데이터를 발생시키는 것은 도 4를 참조하여 아래에서 더 상세히 설명된다.In implementations in which the neural network output for temporal sequence 102 includes network internal state 116, healthcare analysis engine 120 is more likely to predict future events within temporal sequence 102. Health analysis data 122 that identifies health events from the data sets. In particular, the healthcare analysis engine 120 identifies internal states similar to the network internal state 116 from internal states stored in the internal state repository 130, and is likely to predict future events within the temporal sequence 102. Use these similar internal states to determine health events from other high temporal sequences. The internal state repository 130 stores network internal states generated at various time steps in various temporal sequences, and stores each network internal state as a time step and temporal target when the network internal state occurs. Associate with the data identifying the sequence. Generating health analysis data for the temporal sequence from the network internal state is described in more detail below with reference to FIG. 4.

시간적 시퀀스(102)에 대한 뉴럴 네트워크 출력이 미래 컨디션 점수들(114)을 포함하는 구현예들에서, 헬스케어 분석 엔진(120)은 컨디션들에 대한 점수들을 특징짓는 헬스 분석 데이터(122)를 발생시킨다. 미래 헬스 컨디션 점수들로부터 시간적 시퀀스에 대한 헬스 분석 데이터를 발생시키는 것은 도 5를 참조하여 아래에서 더 상세히 설명된다.In embodiments where the neural network output for temporal sequence 102 includes future condition scores 114, healthcare analysis engine 120 generates health analysis data 122 that characterizes scores for conditions. Let's do it. Generating health analysis data for a temporal sequence from future health condition scores is described in more detail below with reference to FIG. 5.

도 2는 시간적 시퀀스에 대한 헬스 이벤트 데이터를 발생시키기 위한 예시적인 프로세스(200)의 흐름도이다. 편의상, 프로세스(200)는 하나 이상 위치들에 위치하는 하나 이상 컴퓨터들의 시스템에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 적절하게 프로그래밍된 뉴럴 네트워크 훈련 시스템, 예를 들어, 도 1의 헬스케어 분석 시스템(100)이 프로세스(200)를 수행할 수 있다.2 is a flow diagram of an example process 200 for generating health event data for a temporal sequence. For convenience, the process 200 will be described as being performed by a system of one or more computers located at one or more locations. For example, a suitably programmed neural network training system, such as healthcare analysis system 100 of FIG. 1, may perform process 200.

시스템은 입력 시간적 시퀀스를 수신한다(단계(202)). 시간적 시퀀스는 복수의 타임 스텝들 각각에서 각각의 헬스 이벤트를 식별시키는 데이터를 포함한다. 일부 구현예들에서, 시간적 시퀀스는, 전자 의료 기록로부터 도출되고, 그리고 복수의 타임 스텝들 각각에서 전자 의료 기록로부터 각각의 헬스 이벤트를 식별시키는 데이터를 포함한다. 시퀀스 내의 헬스 이벤트들은 시간 순으로 정렬되고, 이에 따라 가장-최근에 일어난 헬스 이벤트가 시퀀스 내의 마지막 타입 스텝에서의 헬스 이벤트가 된다.The system receives an input temporal sequence (step 202). The temporal sequence includes data identifying each health event in each of the plurality of time steps. In some implementations, the temporal sequence is derived from an electronic medical record and includes data identifying each health event from the electronic medical record at each of the plurality of time steps. The health events in the sequence are ordered in chronological order, so that the most recently occurring health event becomes the health event at the last type step in the sequence.

시스템은 입력 시간적 시퀀스에 대한 뉴럴 네트워크 출력을 발생시키기 위해 리커런트 뉴럴 네트워크, 예를 들어, 도 1의 리커런트 뉴럴 네트워크(110)를 사용해 입력 시간적 시퀀스를 프로세싱한다(단계(204)).The system processes the input temporal sequence using a recurrent neural network, eg, the recurrent neural network 110 of FIG. 1 to generate a neural network output for the input temporal sequence (step 204).

구현에 따라, 그리고 리커런트 뉴럴 네트워크의 아키텍처에 따라, 입력 시간적 시퀀스를 프로세싱함으로써 리커런트 뉴럴 네트워크에 의해 발생되는 뉴럴 네트워크 출력은, 다음 입력 점수들, 미래 컨디션 점수들, 혹은 네트워크 내부 상태를 포함할 수 있다.Depending on the implementation and the architecture of the recurrent neural network, the neural network output generated by the recurrent neural network by processing the input temporal sequence may include the following input scores, future condition scores, or network internal state. Can be.

시스템은 뉴럴 네트워크 출력으로부터 시간적 시퀀스에 대한 헬스 분석 데이터를 발생시킨다(단계(206)). 앞에서 설명된 바와 같이, 헬스 분석 데이터는 리커런트 뉴럴 네트워크에 의해 발생되는 뉴럴 네트워크 출력의 종류에 따라 달라진다.The system generates health analysis data for the temporal sequence from the neural network output (step 206). As described above, the health analysis data depends on the type of neural network output generated by the recurrent neural network.

도 3은 다음 입력 점수들로부터 시간적 시퀀스에 대한 헬스 분석 데이터를 발생시키기 위한 예시적인 프로세스(300)의 흐름도이다. 편의상, 프로세스(300)는 하나 이상 위치들에 위치하는 하나 이상 컴퓨터들의 시스템에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 적절하게 프로그래밍된 뉴럴 네트워크 훈련 시스템, 예를 들어, 도 1의 헬스케어 분석 시스템(100)이 프로세스(300)를 수행할 수 있다.3 is a flow diagram of an example process 300 for generating health analysis data for a temporal sequence from subsequent input scores. For convenience, process 300 will be described as being performed by a system of one or more computers located at one or more locations. For example, a properly programmed neural network training system, such as healthcare analysis system 100 of FIG. 1, may perform process 300.

시스템은 입력 시간적 시퀀스를 수신한다(단계(302)).The system receives an input temporal sequence (step 302).

시스템은 입력 시간적 시퀀스에 대한 다음 입력 점수들을 발생시키기 위해 리커런트 뉴럴 네트워크를 사용해 입력 시간적 시퀀스를 프로세싱한다(단계(304)). 리커런트 뉴럴 네트워크는 하나 이상 리커런트 뉴럴 네트워크 계층들 및 출력 계층을 포함하고, 여기서 출력 계층은, 시간적 시퀀스 내의 각각의 타임 스텝에 대해, 타임 스텝에 대한 리커런트 뉴럴 네트워크 계층들에 의해 발생된 네트워크 내부 상태를 수신하고 그리고 타임 스텝에 대한 다음 입력 점수들의 세트를 발생시키도록 구성된다. 타임 스텝에 대한 다음 입력 점수들의 세트는 토큰들의 어휘 내에서 토큰에 의해 나타내어지는 각각의 헬스 이벤트에 대한 각각의 점수를 포함하고, 여기서 소정의 헬스 이벤트에 대한 다음 입력 점수는 헬스 이벤트가 시간적 시퀀스 내에서 다음 헬스 이벤트가 될 가능성, 즉 시간적 시퀀스 내의 다음 타임 스텝에서 헬스 이벤트가 될 가능성을 나타낸다.The system processes the input temporal sequence using the current neural network to generate the next input scores for the input temporal sequence (step 304). The recursive neural network includes one or more recurrent neural network layers and an output layer, where the output layer is generated by the recursive neural network layers for the time step, for each time step in the temporal sequence. Receive an internal state and generate a next set of input scores for the time step. The next set of input scores for the time step includes a respective score for each health event represented by the token in the vocabulary of tokens, where the next input score for a given health event is the health event in the temporal sequence. Denotes the probability of becoming the next health event, i.e., the possibility of becoming a health event at the next time step in the temporal sequence.

입력 시간적 시퀀스에 대한 다음 입력 점수들은 시간적 시퀀스 내의 마지막 타임 스텝에 대한 출력 계층에 의해 발생되는 다음 입력 점수들이다.The next input scores for the input temporal sequence are the next input scores generated by the output layer for the last time step in the temporal sequence.

시스템은 다음 입력 점수들을 사용해 하나 이상의 가장 높은-점수를 갖는 헬스 이벤트들을 식별한다(단계(306)). 예를 들어, 시스템은, 가장 높은 다음 입력 점수들을 갖는 미리결정된 개수의 헬스 이벤트들을 선택할 수 있거나, 또는 임계 값(threshold value)보다 큰 다음 입력 점수를 갖는 각각의 헬스 이벤트를 선택할 수 있다.The system uses the following input scores to identify one or more highest-score health events (step 306). For example, the system may select a predetermined number of health events with the highest next input scores, or may select each health event with a next input score that is greater than a threshold value.

시스템은 가장 높은-점수를 갖는 헬스 이벤트들을 식별시키는 데이터, 그리고 선택에 따라서는, 각각의 가장 높은-점수를 갖는 헬스 이벤트에 대한 다음 입력 점수를 특징짓는 데이터를 사용자에게 제시하기 위해 제공한다(단계(308)). 따라서, 의사 혹은 다른 사용자는 입력 시간적 시퀀스에 대응하는 환자와 관련될 다음 헬스 이벤트들이 될 확률이 높은 헬스 이벤트들에 대한 정보를 관측(view)할 수 있다.The system provides for presenting to the user data identifying the health events with the highest-scores, and optionally data characterizing the next input score for each highest-scores health event. (308)). Thus, the doctor or other user can view information about health events that are likely to be the next health events associated with the patient corresponding to the input temporal sequence.

도 4는 네트워크 내부 상태로부터 시간적 시퀀스에 대한 헬스 이벤트 데이터를 발생시키기 위한 예시적인 프로세스(400)의 흐름도이다. 편의상, 프로세스(400)는 하나 이상 위치들에 위치하는 하나 이상 컴퓨터들의 시스템에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 적절하게 프로그래밍된 뉴럴 네트워크 훈련 시스템, 예를 들어, 도 1의 뉴럴 네트워크 훈련 시스템(100)이 프로세스(400)를 수행할 수 있다.4 is a flow diagram of an example process 400 for generating health event data for a temporal sequence from a network internal state. For convenience, process 400 will be described as being performed by a system of one or more computers located at one or more locations. For example, a properly programmed neural network training system, such as the neural network training system 100 of FIG. 1, may perform the process 400.

시스템은 각각의 시간적 시퀀스의 각각의 타임 스텝에 대한 네트워크 내부 상태를 발생시키기 위해 리커런트 뉴럴 네트워크, 예를 들어, 리커런트 뉴럴 네트워크(110)를 사용해 일 세트의 시간적 시퀀스들 각각을 프로세싱한다(단계(402)). 이러한 세트 내의 각각의 시간적 시퀀스는 상이한 환자에 대응하는바, 예를 들어, 상이한 전자 의료 기록으로부터 발생된 것이다. 리커런트 뉴럴 네트워크는, 하나 이상의 리커런트 뉴럴 네트워크 계층들을 포함하고, 그리고 출력 계층, 또는 일 세트의 로지스틱 회귀 노드들, 또는 이들 모두를 포함한다. 특히, 리커런트 뉴럴 네트워크는, 소정의 입력 시간적 시퀀스 내의 각각의 타임 스텝에 대해, 현재 타임 스텝에 대한 뉴럴 네트워크에 의해 발생된 내부 상태로부터, 미래 이벤트들, 즉, 현재 타임 스텝에서의 이벤트 이후에 일어나는 이벤트들을 예측하도록 훈련된 것이다. 예를 들어, 만약 리커런트 뉴럴 네트워크가 출력 계층을 포함한다면, 리커런트 뉴럴 네트워크는 시간적 시퀀스 내의 다음 이벤트, 즉, 시간적 시퀀스 내의 현재 타임 스텝 이후 다음 타임 스텝에서의 이벤트를 예측하도록 훈련된 것일 수 있다. 또 하나의 다른 예로서, 만약 리커런트 뉴럴 네트워크가 일 세트의 로지스틱 회귀 노드들을 포함한다면, 리커런트 뉴럴 네트워크는 시간적 시퀀스 내의 현재 타임 스텝에서의 이벤트의 특정 기간 내에 일 세트의 이벤트들 각각이 일어날지 여부를 예측하도록 훈련된 것일 수 있다.The system processes each of a set of temporal sequences using a recurrent neural network, eg, the recurrent neural network 110, to generate a network internal state for each time step of each temporal sequence (step (402)). Each temporal sequence in this set corresponds to a different patient, for example from a different electronic medical record. A recurrent neural network includes one or more recurrent neural network layers, and includes an output layer, or a set of logistic regression nodes, or both. In particular, the recurrent neural network may, for each time step in a given input temporal sequence, from the internal state generated by the neural network for the current time step, after future events, i.e., after the event at the current time step. It is trained to predict events that occur. For example, if the recurrent neural network includes an output layer, the recurrent neural network may be trained to predict the next event in the temporal sequence, that is, the event at the next time step after the current time step in the temporal sequence. . As another example, if the recursive neural network includes a set of logistic regression nodes, the recursive neural network may determine whether each of the set of events will occur within a specific period of time at the current time step in the temporal sequence. It may be trained to predict whether or not.

시스템은 네트워크 내부 상태들을 내부 상태 리포지터리 내에 저장하고, 그리고 각각의 네트워크 내부 상태를, 네트워크 내부 상태가 발생됐을 때 그 대상이 되는 타임 스텝 및 시간적 시퀀스를 식별시키는 데이터와 관련시킨다(단계(404)). 일부 구현예들의 경우, 각각의 시간적 시퀀스에 대해, 시스템은 시간적 시퀀스 내의 각각의 타임 스텝에 대한 시스템에 의해 발생된 네트워크 내부 상태를 리포지터리 내에 저장한다. 일부 다른 구현예들의 경우, 시스템은 리포지터리 내에 네트워크 내부 상태들의 서브세트만을 저장하는데, 예를 들어, 시간적 시퀀스 내에서 적어도 임계 개수(threshold number)의 다른 헬스 이벤트들이 선행하고 있는 그러한 헬스 이벤트들에 대한 네트워크 내부 상태들만을 저장한다.The system stores network internal states in an internal state repository, and associates each network internal state with data identifying the time step and temporal sequence that was targeted when the network internal state occurred (step 404). . For some implementations, for each temporal sequence, the system stores in the repository the network internal state generated by the system for each time step in the temporal sequence. For some other implementations, the system only stores a subset of network internal states in the repository, for example for those health events that are preceded by at least a threshold number of other health events in a temporal sequence. Store only network internal states.

시스템은 헬스 이벤트들의 입력 시간적 시퀀스를 수신한다(단계(406)).The system receives an input temporal sequence of health events (step 406).

시스템은 입력 시간적 시퀀스에 대한 시퀀스 내부 상태를 결정하기 위해 리커런트 뉴럴 네트워크를 사용해 입력 시간적 시퀀스를 프로세싱한다(단계(408)). 입력 시간적 시퀀스에 대한 시퀀스 내부 상태는 시퀀스 내의 마지막 타임 스텝에서의 헬스 이벤트에 대한 네트워크 내부 상태이다.The system processes the input temporal sequence using the current neural network to determine the sequence internal state for the input temporal sequence (step 408). The sequence internal state for the input temporal sequence is the network internal state for the health event at the last time step in the sequence.

시스템은 시퀀스 내부 상태와 유사한 하나 이상 네트워크 내부 상태들을 내부 상태 리포지터리로부터 선택한다(단계(410)). 시스템은 리포지터리 내의 네트워크 내부 상태들과 시퀀스 내부 상태 간의 유사도 측정치(similarity measure), 예를 들어, 코사인 유사도 측정치(cosine similarity measure)를 계산함으로써 네트워크 내부 상태들을 선택한다. 예를 들어, 시스템은, 시퀀스 내부 상태와의 코사인 유사도가 가장 큰 미리결정된 개수의 네트워크 내부 상태들을 선택할 수 있거나, 또는 시퀀스 내부 상태와의 코사인 유사도가 임계 유사도(threshold similarity)를 초과하는 각각의 네트워크 내부 상태를 선택할 수 있다. 일부 구현예들에서, 시스템은 내부 상태들 간의 유사도를 결정하기 위해 다른 거리 측정치(distance measure), 예를 들어, 유클리디안 거리(Euclidian distance), 해밍 거리(Hamming distance) 등을 사용한다. 유사하게, 시스템은 또한 내부 상태들을 정규화(regularize)할 수 있고, 그 다음에, 정규화된 내부 상태들 간의 거리를 계산할 수 있다.The system selects one or more network internal states from the internal state repository that are similar to sequence internal states (step 410). The system selects network internal states by calculating a similarity measure, for example, a cosine similarity measure, between the network internal states in the repository and the internal sequence state. For example, the system may select a predetermined number of network internal states with the greatest cosine similarity with the sequence internal state, or each network whose cosine similarity with the sequence internal state exceeds a threshold similarity. The internal state can be selected. In some implementations, the system uses other distance measures such as Euclidian distance, Hamming distance, etc. to determine the similarity between internal states. Similarly, the system can also normalize the internal states, and then calculate the distance between the normalized internal states.

시스템은 유사한 네트워크 내부 상태들이 발생됐을 때 그 대상이 되는 시간적 시퀀스들을 식별시키는 데이터를 사용자에게 제시하기 위해 제공한다(단계(412)). 특히, 시스템은, 소정의 유사한 네트워크 내부 상태에 대해, 유사한 네트워크 내부 상태 상태가 발생됐을 때 그 대상이 되는 시간적 시퀀스 내에서, 네트워크 내부 상태가 발생됐을 때 그 대상이 되는 타임 스텝 이후에 일어난, 헬스 이벤트들을 식별시키는 데이터를 제공한다. 시퀀스 내부 상태 및 유사한 네트워크 내부 상태들을 모두 발생시킨 리커런트 뉴럴 네트워크는 네트워크 내부 상태들로부터 미래 이벤트들을 예측하도록 훈련되었기 때문에, 그리고 유사한 네트워크 내부 상태들은 시퀀스 내부 상태와 유사하기 때문에, 소정의 네트워크 내부 상태가 발생됐을 때 그 대상이 되는 타임 스텝 이후에 일어난 이벤트들은 입력 시간적 시퀀스 내의 미래 이벤트들, 즉, 입력 시간적 시퀀스 내의 현재 마지막 이벤트 이후에 일어나는 이벤트들을 예측할 확률이 높다. 다시 말해, 소정의 유사한 네트워크 내부 상태가 발생됐을 때 그 대상이 되는 타임 스텝으로부터, 대응하는 환자는 리커런트 뉴럴 네트워크가 입력 시간적 시퀀스에 대응하는 현재 환자에 대해 기대(expect)하는 미래와 유사한 미래를 가질 것으로 리커런트 뉴럴 네트워크에 의해 기대된다. 따라서, 네트워크 내부 상태들로부터 후속하는 이벤트들을 관측(viewing)함으로써, 사용자, 예를 들어, 의사는 입력 시간적 시퀀스 내의 현재 마지막 이벤트 이후에 일어날 수 있는 이벤트들, 즉, 현재 환자에 대해 일어날 수 있는 미래 헬스 이벤트들의 아이디어(idea)를 제공받을 수 있다.The system provides for presenting the user with data identifying the temporal sequences of interest when similar network internal conditions occur (step 412). In particular, the system may, for any similar network internal state, occur within a temporal sequence of interest when a similar network internal state occurs, after a time step of that target when the network internal state occurs. Provide data identifying the events. Since a neural network that has generated both a sequence internal state and similar network internal states has been trained to predict future events from network internal states, and because similar network internal states are similar to sequence internal states, some network internal states When is generated, events occurring after the target time step are likely to predict future events in the input temporal sequence, that is, events occurring after the current last event in the input temporal sequence. In other words, from a targeted time step when a certain similar network internal condition occurs, the corresponding patient has a future that is similar to the future that the predictive neural network expects for the current patient corresponding to the input temporal sequence. It is expected by the Recurrent Neural Network to have. Thus, by viewing subsequent events from network internal conditions, the user, e.g., the physician, may experience events that may occur after the current last event in the input temporal sequence, ie the future that may occur for the current patient. Ideas of health events may be provided.

일부 다른 구현예들에서, 시스템은 또한, 소정의 네트워크 내부 상태가 발생됐을 때 그 대상이 되는 시간적 시퀀스를 식별시키는 데이터의 일부로서 사용자에게 제시하기 위해 시간적 시퀀스들 내의 다른 헬스 이벤트들을 식별시키는 데이터를 제공한다.In some other implementations, the system also identifies data that identifies other health events in the temporal sequences to present to the user as part of the data identifying the temporal sequence of interest when a predetermined network internal condition occurs. to provide.

일부 구현예들에서, 사용자에게 제시하기 위해 시간적 시퀀스들을 식별시키는 데이터를 제공하는 대신에, 시스템은 시간적 시퀀스들 내의 후속하는 이벤트들로부터 통계치(statistics)를 계산하고, 계산된 통계치를 사용자에게 제시하기 위해 제공한다. 예를 들어, 시스템은 유사한 네트워크 내부 상태가 발생됐을 때 그 대상이 되는 타임 스텝 이후에 일어나는 특정 헬스 이벤트, 예를 들어, 심장 마비(heart attack) 혹은 뇌졸증(stroke)을 포함했던 시간적 시퀀스들의 일부분을 결정할 수 있다. 이 경우, 시스템은 사용자에게 제시하기 위해 비율(proportion)을 식별시키는 데이터를 제공할 수 있는바, 예를 들어, "환자들 중 X%가 현재 환자가 특정 헬스 이벤트를 경험했던 것과 유사한 미래들을 가질 것으로 기대됨"의 형태로 제공할 수 있다.In some implementations, instead of providing data identifying temporal sequences for presentation to a user, the system calculates statistics from subsequent events in the temporal sequences and presents the calculated statistics to the user. To provide. For example, the system may include a portion of the temporal sequences that involved a particular health event, such as a heart attack or stroke, that occurs after a targeted time step when a similar internal network condition occurs. You can decide. In this case, the system may provide data identifying the proportion to present to the user, for example, "X% of patients will have futures similar to what the current patient has experienced in a particular health event. Expected to ".

일부 구현예들에서, 내부 상태들을 내부 상태 리포지터리 내에 저장하는 대신에, 시스템은 다른 시간적 시퀀스들과 비교되도록 되어 있는 입력 시간적 시퀀스가 수신될 때마다 각각의 다른 시간적 시퀀스에 대한 내부 상태들을 다시-계산(re-compute)할 수 있다.In some implementations, instead of storing internal states in an internal state repository, the system re-calculates internal states for each other temporal sequence each time an input temporal sequence is received that is intended to be compared to other temporal sequences. (re-compute)

도 5는 미래 컨디션 점수들로부터 시간적 시퀀스에 대한 헬스 이벤트 데이터를 생성하기 위한 예시적인 프로세스(500)의 흐름도이다. 편의상, 프로세스(500)는 하나 이상의 위치들에 위치되는 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로 서술될 것이다. 예를 들어, 적절하게 프로그래밍된 뉴럴 네트워크 트레이닝 시스템, 예를 들어, 도 1의 뉴럴 네트워크 트레이닝 시스템(100)은 프로세스(500)를 수행할 수 있다.5 is a flowchart of an example process 500 for generating health event data for a temporal sequence from future condition scores. For convenience, process 500 will be described as being performed by a system of one or more computers located at one or more locations. For example, a suitably programmed neural network training system, such as the neural network training system 100 of FIG. 1, may perform the process 500.

시스템은 입력 시간적 시퀀스를 수신한다(단계 502).The system receives an input temporal sequence (step 502).

시스템은, 입력 시간적 시퀀스에 대한 미래 컨디션 점수들을 생성하기 위해 리커런트 뉴럴 네트워크, 예를 들어, 리커런트 뉴럴 네트워크(110)를 사용하여 입력 시간적 시퀀스를 프로세싱한다(단계 504). 미래 컨디션 점수들은, 미리결정된 컨디션 세트 각각에 대한 각각의 미래 컨디션 점수를 포함한다. 주어진 컨디션에 대한 미래 컨디션 점수는, 입력 시간적 시퀀스의 마지막 타임 스텝에서 이벤트의 지정된 기간 내에 컨디션이 충족될 가능성을 나타낸다.The system processes the input temporal sequence using the recurrent neural network, eg, the recurrent neural network 110, to generate future condition scores for the input temporal sequence (step 504). Future condition scores include respective future condition scores for each of a predetermined set of conditions. The future condition score for a given condition indicates the likelihood that the condition is met within the specified time period of the event at the last time step of the input temporal sequence.

일부 구현들에서, 리커런트 뉴럴 네트워크는 하나 이상의 리커런트 뉴럴 네트워크 계층들 및 로지스틱 회귀 노드들의 세트를 포함한다. 각각의 로지스틱 회귀 노드는, 입력 시간적 시퀀스의 각 타임 스텝에서, 미리결정된 컨디션들의 세트로부터 대응하는 컨디션에 대한 미래 컨디션 점수를 생성한다. 미래 컨디션 점수들을 생성하는 로지스틱 회귀 노드들을 포함하는 리커런트 뉴럴 네트워크는, 도 7 내지 도 9를 참조하여 아래에서 더 상세하게 서술된다. 이러한 구현들에서, 입력 시간적 시퀀스의 마지막 타임 스텝에 대한 리커런트 뉴럴 네트워크에 의해 생성된 미래 컨디션 점수들에 대한 세트는 입력 시간적 시퀀스에 대한 미래 컨디션 점수들의 세트이다. In some implementations, the recurrent neural network includes a set of one or more recurrent neural network layers and logistic regression nodes. Each logistic regression node generates, at each time step of the input temporal sequence, a future condition score for the corresponding condition from a predetermined set of conditions. A recursive neural network that includes logistic regression nodes that generate future condition scores is described in more detail below with reference to FIGS. In such implementations, the set for future condition scores generated by the current neural network for the last time step of the input temporal sequence is the set of future condition scores for the input temporal sequence.

일부 다른 구현들에서, 리커런트 뉴럴 네트워크는, 입력 시간적 시퀀스의 각 타임 스텝에 대한 다음 입력 점수들의 세트를 생성하고 그리고 로지스틱 회귀 노드들을 포함하지 않는 출력 계층을 포함한다. 이들 구현들에서, 시스템은 다수의 가능한 시간적 시퀀스들을 생성하고, 각 시간적 시퀀스는, 시간적 시퀀스들에서 현재 마지막 단계 이후의 지정된 수의 추가적인 타임 스텝들 및 추가적인 타임 스텝들 각각에서 가능한 헬스 이벤트를 포함한다. 시스템은, 추가적인 타임 스텝들 각각에 대해 특정 폭을 갖는 빔 탐색을 수행함으로써 다수의 가능한 시간적 시퀀스들을 생성한다. 빔 탐색의 폭은, 미래의 타임 스텝들 각각에서 시스템에 의해 고려되는 최고 점수를 받는 이벤트들의 수를 정의한다. 시스템은, 이후, 미래 컨디션 점수들이 생성될 이벤트들 중 하나의 발생에 의해 충족되는 컨디션들 각각에 대해, 시퀀스의 추가적인 타임 스텝들 중 하나에서 컨디션을 충족시키는 이벤트를 포함하는 가능한 시간적 시퀀스들의 비율을 결정한다. 시스템은, 이후, 해당 컨디션에 대한 미래 컨디션 점수로 비율을 사용할 수 있다. 선택적으로, 시스템은, 이벤트가 발생한 가능한 시간적 시퀀스의 발생 가능성을 사용하여 이벤트의 각 발생을 가중시킬 수 있다. 가능한 시간적 시퀀스의 발생 확률은, 예를 들어, 시퀀스 내의 추가적인 타임 스텝들 각각에서의 헬스 이벤트들에 대한 다음 입력 점수들의 곱일 수 있다.In some other implementations, the recurrent neural network generates an next set of input scores for each time step of the input temporal sequence and includes an output layer that does not include logistic regression nodes. In these implementations, the system generates a number of possible temporal sequences, each temporal sequence comprising a specified number of additional time steps since the current last step in the temporal sequences and a possible health event in each of the additional time steps. . The system generates a number of possible temporal sequences by performing a beam search with a specific width for each of the additional time steps. The width of the beam search defines the number of highest scored events considered by the system at each of the future time steps. The system then determines, for each of the conditions met by the occurrence of one of the events for which future condition scores are to be generated, the ratio of possible temporal sequences comprising the event meeting the condition in one of the additional time steps of the sequence. Decide The system can then use the ratio as a future condition score for that condition. Optionally, the system can weight each occurrence of the event using the likelihood of occurrence of a possible temporal sequence in which the event occurred. The probability of occurrence of a possible temporal sequence may be, for example, the product of the next input scores for health events at each of the additional time steps in the sequence.

시스템은, 사용자에게 제시하기 위한 미래 컨디션 점수들을 식별하는 데이터를 제공한다(단계 506). 예를 들어, 시스템은, 각 컨디션을 식별하는 데이터 및 각 컨디션에 대한 미래 컨디션 점수를 제공할 수 있거나 또는 사용자에게 제시하기 위한 하나 이상의 최고 점수 컨디션들을 식별하는 데이터만을 제공할 수 있다.The system provides data identifying future condition scores for presentation to the user (step 506). For example, the system may provide data identifying each condition and a future condition score for each condition, or only provide data identifying one or more high score conditions for presentation to a user.

일부 구현들에서, 사용자에게 제시하기 위한 미래 컨디션 점수들을 식별하는 데이터를 제공하는 것에 추가하여 또는 제공하는 것 대신에, 상기 시스템은 미래 컨디션 점수들에 대한 처리의 효과를 결정할 수 있고 그리고 상기 시스템은 사용자에게 제시하기 위해 상기 효과를 식별하는 데이터를 제공할 수 있다.In some implementations, in addition to or in addition to providing data identifying future condition scores for presentation to a user, the system can determine the effect of processing on future condition scores and the system Data identifying the effect may be provided for presentation to the user.

도 6은, 미래 컨디션 점수들에 대한 시간적 시퀀스에 이벤트를 추가하는 효과를 결정하기 위한 예시적인 프로세스(600)의 흐름도이다. 편의상, 프로세스(600)는 하나 이상의 위치들에 위치되는 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로 서술될 것이다. 예를 들어, 적절하게 프로그래밍된 뉴럴 네트워크 트레이닝 시스템, 예를 들어, 도 1의 뉴럴 네트워크 트레이닝 시스템(100)은 프로세스(600)를 수행할 수 있다.6 is a flowchart of an example process 600 for determining the effect of adding an event to a temporal sequence for future condition scores. For convenience, process 600 will be described as being performed by a system of one or more computers located at one or more locations. For example, a properly programmed neural network training system, eg, neural network training system 100 of FIG. 1, may perform process 600.

시스템은 초기 입력 시간적 시퀀스를 수신한다(단계 602).The system receives an initial input temporal sequence (step 602).

시스템은 초기 입력 시간적 시퀀스에 대한 미래 컨디션 점수들을 결정한다(단계 604). 예를 들어, 시스템은 도 5를 참조하여 상기 서술된 바와 같이 초기 입력 시간적 시퀀스에 대한 미래 컨디션 점수들을 결정할 수 있다.The system determines future condition scores for the initial input temporal sequence (step 604). For example, the system may determine future condition scores for the initial input temporal sequence as described above with reference to FIG. 5.

시스템은 사용자로부터 추가적인 헬스 이벤트를 식별하는 데이터를 수신한다 (단계 606). 예를 들어, 추가 헬스 이벤트는 의사가 환자에게 처방할 수 있는 잠재적 치료일 수 있다.The system receives data identifying additional health events from the user (step 606). For example, the additional health event may be a potential treatment that a doctor can prescribe to the patient.

시스템은, 추가적인 헬스 이벤트을 식별하는 데이터(예를 들어, 헬스 이벤트를 나타내는 토큰)를 초기 입력 시간적 시퀀스의 끝에 부가함으로써, 수정된 입력 시간적 시퀀스(modified input temporal sequence)를 생성한다(단계 608).The system generates a modified input temporal sequence by adding data identifying additional health events (eg, tokens representing health events) to the end of the initial input temporal sequence (step 608).

시스템은 수정된 입력 시간적 시퀀스에 대한 미래 컨디션 점수들을 결정한다(단계 610). 예를 들어, 시스템은, 도 5를 참조하여 상기 서술한 바와 같이 초기 입력 시간적 시퀀스에 대한 미래 컨디션 점수들을 결정할 수 있다. The system determines future condition scores for the modified input temporal sequence (step 610). For example, the system may determine future condition scores for the initial input temporal sequence as described above with reference to FIG. 5.

시스템은, 추가적인 헬스 이벤트를 입력 시간적 시퀀스에 추가함으로써 야기된 미래 컨디션 점수의 변화를 결정하고(단계 612) 그리고 사용자에게 제시하기 위해 상기 변화를 식별하는 데이터를 제공한다(단계 614). 즉, 시스템은, 수정된 입력 시간적 시퀀스에 대한 미래 컨디션 점수들과 초기 입력 시간적 시퀀스에 대한 대응하는 미래 컨디션 점수들 사이의 차이를 계산하고 그리고 사용자에게 제시하기 위해 상기 차이들을 식별하는 데이터를 제공한다. 따라서, 의사는, 장래에 특정 컨디션들이 충족될 가능성에 대한 잠재적인 치료들의 효과를 볼 수 있다.The system determines the change in future condition score caused by adding an additional health event to the input temporal sequence (step 612) and provides data identifying the change for presentation to the user (step 614). That is, the system calculates the difference between the future condition scores for the modified input temporal sequence and the corresponding future condition scores for the initial input temporal sequence and provides data identifying the differences for presentation to the user. . Thus, the physician can see the effects of potential treatments on the likelihood that certain conditions will be met in the future.

일부 구현들에서, 시스템은, 시간적인 시퀀스에 추가되는 새로운 이벤트에 응답하여 프로세스(600)를 자동으로 수행할 수 있다. 새로운 이벤트로 인해 컨디션의 미래 컨디션 점수가 임계값 이상으로 증가하거나 임계값을 초과하게 되면, 시스템은 사용자에게 자동으로 변화를 알리는 경고를 생성할 수 있다. 예를 들어, 시스템 관리자 또는 다른 사용자는 하나 이상의 특정 컨디션들을 바람직하지 않은 것으로 지정할 수 있다. 시스템은, 이후, 새로운 이벤트가 시간적 시퀀스에 추가되는 것에 응답하여 프로세스(600)를 자동으로 수행할 수 있고, 그리고 바람직하지 않은 컨디션 중 하나에 대한 미래 컨디션 점수가 임계 점수를 넘거나 임계값 증가 이상으로 증가하는 경우 사용자에게 알리는 경고를 생성한다. In some implementations, the system can automatically perform process 600 in response to a new event added to the temporal sequence. If a new event causes a condition's future condition score to increase or exceed the threshold, the system can automatically generate an alert to notify the user of the change. For example, a system administrator or other user may designate one or more specific conditions as undesirable. The system can then automatically perform the process 600 in response to the addition of a new event to the temporal sequence, and the future condition score for one of the undesirable conditions is above the threshold score or above the threshold increase. It will generate an alert to notify the user when increasing.

또한, 일부 구현들에서, 시스템은, 시간적 시퀀스의 수신에 응답하여, 시간적 시퀀스로부터 다수의 수정된 시간적 시퀀스들을 자동 생성할 수 있으며, 각각의 수정된 시간적 시퀀스는 상이한 가능한 입력 헬스 이벤트를 시간적인 시퀀스에 부가한다. 가능한 입력 헬스 상태 이벤트들은, 어휘 내의 토큰에 의해 표현되는 헬스 이벤트들의 서브세트, 예를 들어, 어휘 내의 토큰들에 의해 표현되는 가능한 치료들의 일부 또는 전부일 수 있다. 시스템은, 이후, 수정된 시간 시퀀스들 각각에 대해 프로세스(600)를 수행할 수 있고, 그리고 수정된 시퀀스들 중 임의의 것에 대해, 하나 이상의 바람직하지 않은 컨디션들에 대한 미래 컨디션 점수가 임계값 감소보다 감소하는지 여부를 결정한다. 주어진 수정된 시간적 시퀀스에 대해, 바람직하지 않은 컨디션들에 대한 미래 컨디션 점수가 임계값 이상으로 감소한다고 결정한 것에 응답하여, 시스템은, 수정된 시간적 시퀀스를 생성하기 위해 시간적 시퀀스에 부가되었던 헬스 이벤트를 식별하는 정보를 사용자에게 제공할 수 있다. 따라서, 의사는, 바람직하지 않은 컨디션이 미래에 충족될 가능성을 감소시킬 수 있는 추가적인 치료 방법을 고려할 기회를 가질 수 있다. Further, in some implementations, the system can automatically generate multiple modified temporal sequences from the temporal sequence in response to receiving the temporal sequence, with each modified temporal sequence generating a different possible input health event in a temporal sequence. Add to Possible input health state events may be a subset of the health events represented by the token in the vocabulary, eg, some or all of the possible treatments represented by the tokens in the vocabulary. The system may then perform process 600 for each of the modified time sequences, and for any of the modified sequences, the future condition score for one or more undesirable conditions is reduced by a threshold. Determine whether to decrease more. In response to determining that for a given modified temporal sequence, the future condition score for undesirable conditions decreases above the threshold, the system identifies the health event that was added to the temporal sequence to generate the modified temporal sequence. Information to the user can be provided. Thus, the physician may have the opportunity to consider additional treatment methods that may reduce the likelihood that undesirable conditions will be met in the future.

도 7은, 미래 컨디션 점수들을 생성하도록 구성된 예시적인 리커런트 뉴럴 네트워크(700)를 도시한다. 리커런트 뉴럴 네트워크(700)는 하나 이상의 위치들에서 하나 이상의 컴퓨터들 상의 컴퓨터 프로그램들로서 구현되는 시스템의 예이고, 아래에서 서술되는 시스템들, 컴포넌트들 및 기술들은 구현될 수 있다.7 illustrates an example recurrent neural network 700 configured to generate future condition scores. Recurrent neural network 700 is an example of a system implemented as computer programs on one or more computers at one or more locations, and the systems, components, and techniques described below may be implemented.

리커런트 뉴럴 네트워크(700)는 다수의 타임 스텝들 각각에서 각 입력을 포함하는 입력 시퀀스들을 수신하고, 그리고 타임 스텝들 각각에 대해, 미리 결정된 이벤트들의 세트에서 각 컨디션에 대한 각각의 미래 컨디션 점수를 생성한다. 주어진 타임 스텝에서 주어진 컨디션에 대한 미래 컨디션 점수는, 타임 스텝에서 입력의 지정된 시간 기간 내에 컨디션이 충족될 가능성을 나타낸다.Recurrent neural network 700 receives input sequences comprising each input in each of a plurality of time steps, and for each of the time steps, obtains a respective future condition score for each condition in a predetermined set of events. Create The future condition score for a given condition at a given time step indicates the likelihood that the condition is met within a specified time period of input at the time step.

리커런트 뉴럴 네트워크(700)는, 하나 이상의 리커런트 뉴럴 네트워크 계층(710), 다중 로지스틱 회귀 노드들(720A 내지 720N) 및 선택적으로, 출력 계층(740)을 포함한다.The recurrent neural network 700 includes one or more recurrent neural network layers 710, multiple logistic regression nodes 720A-720N, and optionally an output layer 740.

도 1에 도시된 바와 같이, 각각의 타임 스텝들에 대해, 하나 이상의 리커런트 뉴럴 네트워크 계층들(710)은 타임 스텝에서 입력을 수신하고 그리고 타임 스텝에 대한 네트워크 내부 상태를 생성하기 위해 입력을 집합적으로 프로세싱한다.As shown in FIG. 1, for each time step, one or more concurrent neural network layers 710 receive input at the time step and aggregate the input to generate a network internal state for the time step. Processing

로지스틱 회귀 노드들(720A 내지 720N) 각각은 미리 결정된 컨디션들의 세트로부터의 각각의 컨디션에 대응하고, 그리고 각각의 타임 스텝에서, 타임 스텝에 대한 네트워크 내부 상태를 수신 및 대응하는 이벤트에 대한 장래의 컨디션 점수를 생성하기 위해 파라미터들의 각 세트의 현재 값들에 따라 상기 네트워크 내부 상태를 처리하도록 구성된다. 따라서, 각각의 타임 스텝에서, 로지스틱 회귀 노드들(720A 내지 720N) 각각은 미리 결정된 컨디션들의 세트 내의 컨디션들 각각에 대한 미래의 컨디션 점수를 생성한다.Each of the logistic regression nodes 720A- 720N corresponds to a respective condition from a set of predetermined conditions, and at each time step receives a network internal state for the time step and a future condition for the corresponding event. And process the network internal state according to current values of each set of parameters to generate a score. Thus, at each time step, each of the logistic regression nodes 720A- 720N generates a future condition score for each of the conditions within the predetermined set of conditions.

리커런트 뉴럴 네트워크(700)가 출력 계층(740)을 포함하는 경우, 출력 계층(740)은 타임 스텝 동안 네트워크 내부 상태를 수신하고 그리고 가능한 입력들의 세트에서 각각의 가능한 입력에 대한 각각의 다음 입력 점수를 생성하기 위해 내부 상태를 프로세싱하도록 구성된다. 주어진 가능한 입력에 대한 다음 입력 점수는, 가능한 입력이 입력 시퀀스의 다음 입력일 가능성, 즉, 입력 시퀀스의 현재 타임 스텝에서 입력 바로 뒤에 나타날 가능성을 나타낸다.If the recurrent neural network 700 includes an output layer 740, the output layer 740 receives the network internal state during the time step and and each next input score for each possible input in the set of possible inputs. Configured to process the internal state to generate a. The next input score for a given possible input indicates the likelihood that the possible input is the next input of the input sequence, that is, the probability that it will appear immediately after the input at the current time step of the input sequence.

시간적 시퀀스의 입력들은 가능한 입력 이벤트들의 세트를 나타내는 미리결정된 어휘 내의 토큰들로부터 선택된 입력들을 포함한다. 리커런트 뉴럴 네트워크(700)가 미래 컨디션 점수들을 생성하는 미리 결정된 컨디션들의 세트 내의 컨디션들은, 미리결정된 어휘에서 토큰들에 의해 표현되지 않는 이벤트들의 발생에 의해 만족되는 컨디션들을 포함할 수 있다. 즉, 상기 미리 결정된 컨디션들의 세트 내의 컨디션들은, 리커런트 뉴럴 네트워크(700)에 의해 프로세싱되는 시간적 시퀀스들에 포함될 수 있는 가능한 입력 이벤트들, 토큰들에 의해 표현되는 이벤트들, 또는 양자 모두가 될 수 없다. 따라서, 리커런트 뉴럴 네트워크(700)가 미래 컨디션 점수들을 생성하는 미리결정된 컨디션들의 세트 내의 컨디션들 중 임의의 컨디션을 만족시키는 이벤트들의 세트 내의 이벤트들이 토큰들에 의해 표현되는 이벤트들과 중첩될 수 있지만, 이벤트들의 세트는 또한 세트에 없는 다른 이벤트를 포함할 수 있다.The inputs of the temporal sequence include inputs selected from tokens in a predetermined vocabulary representing a set of possible input events. Conditions in the set of predetermined conditions for which the recurrent neural network 700 generates future condition scores may include conditions that are satisfied by the occurrence of events that are not represented by tokens in the predetermined vocabulary. That is, the conditions within the predetermined set of conditions may be possible input events, events represented by tokens, or both, which may be included in the temporal sequences processed by the recurrent neural network 700. none. Thus, events in the set of events that satisfy any of the conditions in the set of predetermined conditions for which the recurrent neural network 700 generates future condition scores may overlap with the events represented by the tokens. The set of events may also include other events not in the set.

도 8은 주어진 타임 스텝에 대한 미래 컨디션 점수들을 생성하기 위한 예시적인 프로세스(800)의 흐름도이다. 편의상, 프로세스(800)는 하나 이상의 위치들에 위치되는 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로 서술될 것이다. 예를 들어, 적절히 프로그래밍되는, 리커런트 뉴럴 네트워크, 예를 들어, 도 7의 리커런트 뉴럴 네트워크는 프로세스(300)를 수행할 수 있다. 8 is a flow diagram of an example process 800 for generating future condition scores for a given time step. For convenience, the process 800 will be described as being performed by a system of one or more computers located at one or more locations. For example, a suitably programmed, redundant neural network, such as the redundant neural network of FIG. 7, may perform process 300.

시스템은, 타임 스텝에 대한 입력, 예를 들어, 헬스 이벤트를 나타내는 토큰을 수신한다(단계 802).The system receives an input for a time step, eg, a token representing a health event (step 802).

시스템은, 타임 스텝 동안 리커런트 뉴럴 네트워크에 대한 네트워크 내부 상태를 생성하기 위해, 하나 이상의 리커런트 뉴럴 네트워크 계층들, 예를 들어, 도 7의 리커런트 뉴럴 네트워크 계층들(710)을 사용하여 입력을 프로세싱한다(단계 804). 하나 이상의 뉴럴 네트워크 계층들은, 예를 들어, 도 1을 참조하여 상기에서 서술한 것처럼 네트워크의 내부 상태를 생성한다.The system uses one or more of the concurrent neural network layers, for example, the selective neural network layers 710 of FIG. 7, to generate an in-network state for the concurrent neural network during the time step. Process (step 804). One or more neural network layers, for example, create an internal state of the network as described above with reference to FIG. 1.

시스템은, 미래 컨디션 점수들의 세트를 생성하기 위해, 로지스틱 회귀 노드들, 예를 들어, 도 7의 로지스틱 회귀 노드들(720A 내지 720N) 각각을 사용하여 네트워크 내부 상태를 프로세싱한다(단계 806). 로지스틱 회귀 노드들 각각은, 미리 결정된 컨디션들의 세트로부터의 각각의 컨디션에 대응하고 그리고 로지스틱 회귀 노드의 파라미터들의 세트의 현재 값들에 따라 내부 상태를 처리함으로써 대응하는 컨디션에 대한 미래 컨디션 점수를 생성한다.The system processes the network internal state using each of the logistic regression nodes, eg, logistic regression nodes 720A-720N of FIG. 7, to generate a set of future condition scores (step 806). Each of the logistic regression nodes generates a future condition score for the corresponding condition by corresponding to each condition from a set of predetermined conditions and processing the internal state according to the current values of the set of parameters of the logistic regression node.

선택적으로, 시스템은, 또한, 가능한 입력들의 세트 각각에 대한 각각의 다음 입력 점수를 생성하기 위해 출력 계층, 예를 들어, 도 7의 출력 계층(740)을 사용하여 네트워크 내부 상태를 프로세싱한다(단계 808). 출력 계층은, 한 세트의 출력 계층 파라미터들의 현재 값들에 따라 네트워크 내부 상태를 프로세싱함으로써 각각의 다음 입력 점수들을 생성한다.Optionally, the system also processes the network internal state using an output layer, eg, the output layer 740 of FIG. 7, to generate each next input score for each of the set of possible inputs. 808). The output layer generates each next input score by processing the network internal state according to the current values of the set of output layer parameters.

프로세스(800)는, 원하는 출력(즉, 입력에 대하여 상기 시스템에 의해 생성되어야 하는 뉴럴 네트워크 출력)이 알려지지 않은 뉴럴 네트워크 입력에 대해 수행될 수 있다. 시스템은, 또한, 시스템을 트레이닝하기 위해, 즉, 리커런트 뉴럴 네트워크 계층들, 로지스틱 휘귀 노드들, 및 일부 구현들에서, 출력 계층의 파라미터들에 대한 트레이닝된 값들을 결정하기 위해, 트레이닝 시퀀스들의 세트에서의 입력들, 시스템에 의해 예측되어야 하는 출력이 알려진 입력들의 세트에 대해 프로세스(800)를 수행할 수 있다. 특히, 프로세스(800)는, 뉴럴 네트워크를 트레이닝하기 위한 머신 러닝 트레이닝 기술, 예를 들어, 시간 경과에 따른 역-전파 트레이닝 기술의 일부로서 트레이닝 시퀀스들의 세트로부터의 입력들에 대해 반복적으로 수행될 수 있다. 예시적인 트레이닝 프로세스는, 도 9을 참조하여 아래에서 보다 상세하게 서술된다. Process 800 may be performed on a neural network input for which the desired output (ie, the neural network output that should be generated by the system for input) is unknown. The system also sets a set of training sequences to train the system, that is, to determine the trained values for the parameters of the output layer, such as in recurrent neural network layers, logistic feedback nodes, and in some implementations. The process 800 can be performed on a set of inputs in which the inputs in E, the output that should be predicted by the system are known. In particular, process 800 may be performed repeatedly on inputs from a set of training sequences as part of a machine learning training technique for training a neural network, eg, back-propagation training technique over time. have. An exemplary training process is described in more detail below with reference to FIG. 9.

도 9는 미래 컨디션 점수들을 생성하기 위해 리커런트 뉴럴 네트워크를 트레이닝시키는 예시적인 프로세스(900)의 흐름도이다. 편의상, 프로세스(900)는 하나 이상의 위치들에 위치되는 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로 서술될 것이다. 예를 들어, 적절히 프로그래밍되는 리커런트 뉴럴 네트워크, 예를 들어, 도 7의 리커런트 뉴럴 네트워크(700)는 프로세스(700)를 수행할 수 있다.9 is a flow diagram of an example process 900 of training a recurrent neural network to generate future condition scores. For convenience, the process 900 will be described as being performed by a system of one or more computers located at one or more locations. For example, a properly programmed recurrent neural network, eg, the recurrent neural network 700 of FIG. 7, may perform the process 700.

시스템은 라벨링된 트레이닝 시퀀스들을 획득한다(단계 502). 획득된 트레이닝 시퀀스들 각각은 다수의 타임 스텝들 각각에서 입력들의 시퀀스이다. 각각의 트레이닝 시퀀스는, 또한, 타임 스텝들 각각에서, 리커런트 뉴럴 네트워크가 미래 컨디션 점수들을 생성하는 미리 결정된 컨디션들의 세트 내의 컨디션들 각각에 대한 각 표시자 변수(indicator variable)를 포함한다. 주어진 타임 스텝에서 주어진 컨디션에 대한 표시자 변수는, 타임 스텝의 입력으로부터 지정된 기간 내에 컨디션이 충족되었는지 여부를 나타낸다. 예를 들어, 표시자 변수는, 컨디션이 충족되면 1의 값을 가질 수 있고 그리고 컨디션이 충족되지 않으면 0의 값을 가질 수 있다. 따라서, 각 타임 스텝에서, 라벨링된 트레이닝 시퀀스는, 미리결정된 컨디션들의 세트 내의 컨디션들 각각에 대한 입력 및 각 표시자 변수를 포함한다.The system obtains labeled training sequences (step 502). Each of the acquired training sequences is a sequence of inputs in each of a plurality of time steps. Each training sequence also includes, at each of the time steps, an indicator variable for each of the conditions in the set of predetermined conditions for which the current neural network generates future condition scores. The indicator variable for a given condition at a given time step indicates whether the condition has been met within a specified time period from the input of the time step. For example, the indicator variable may have a value of 1 if the condition is met and may have a value of 0 if the condition is not met. Thus, at each time step, the labeled training sequence includes an input for each condition and each indicator variable in the set of predetermined conditions.

일부 구현들에서, 시스템은, 표시자 변수들로 이미 라벨링된 트레이닝 시퀀스들을 수신한다. 일부 다른 구현들에서, 시스템은, 타임 스텝들 각각에서 컨디션들 각각에 대한 표시자 변수들을 계산함으로써 라벨링된 트레이닝 시퀀스들을 생성한다. 예를 들어, 시스템은, 트레이닝 시퀀스의 주어진 타임 스텝에서 주어진 입력에 대해, 입력이 언제 발생했는지를 결정하고 그리고 미리 결정된 컨디션들의 세트의 컨디션들을 만족시키는 이벤트들의 발생들을 식별하는 데이터에 액세스할 수 있다. 이후, 시스템은, 각 컨디션들에 대해, 타임 스텝에서 입력이 발생한 지정된 시간 내에서 컨디션이 충족되었는지를 결정하고 그리고 그에 따라 이벤트에 대한 표시자 변수의 값을 적절히 설정한다.In some implementations, the system receives training sequences already labeled with indicator variables. In some other implementations, the system generates labeled training sequences by calculating indicator variables for each of the conditions at each of the time steps. For example, the system may access, for a given input at a given time step of the training sequence, data that determines when the input occurred and identifies occurrences of events that satisfy conditions of a predetermined set of conditions. . The system then determines, for each condition, whether the condition has been met within the specified time at which the input occurred in the time step, and accordingly sets the value of the indicator variable for the event accordingly.

시스템은, 하나 이상의 리커런트 뉴럴 네트워크 계층들, 로지스틱 회귀 노드들, 및 선택적으로, 라벨링된 트레이닝 시퀀스들 상의 출력 계층을 트레이닝한다 (단계 504). 특히, 시스템은, 머신 러닝 트레이닝 기술의 다수의 반복들을 수행함으로써, 파라미터들의 초기값들로부터의 리커런트 뉴럴 네트워크 계층들, 로지스틱 회귀 노드들 및 출력 계층들의 파라미터들의 트레이닝된 값들을 결정한다. 트레이닝 기술의 일부로서, 시스템은 목적 함수를 최소화 또는 최대화한다. 시스템이 로지스틱 회귀 노드들만을 포함하고 그리고 출력 계층을 포함하지 않는 경우, 목적 함수는, 주어진 트레이닝 시퀀스의 주어진 타임 스텝에 대해, 타임 스텝에 대한 로지스틱 회귀 노드에 의해 생성된 미래 컨디션 점수와 타임 스텝에서의 해당 컨디션들에 대한 표시자 변수들 사이의 오차에 의존한다. 시스템이 또한 출력 계층을 포함하는 경우, 목적 함수는, 또한, 타임 스텝에 대해, 타임 스텝에 대한 출력 계층에 의해 생성된 다음 입력 점수들과 훈련 시퀀스의 다음 타임 스텝에서의 입력 사이의 오차에 의존한다.The system trains one or more literal neural network layers, logistic regression nodes, and optionally an output layer on labeled training sequences (step 504). In particular, the system determines the trained values of the parameters of the recurrent neural network layers, logistic regression nodes and output layers from the initial values of the parameters by performing multiple iterations of the machine learning training technique. As part of the training technique, the system minimizes or maximizes the objective function. If the system includes only logistic regression nodes and does not include an output layer, the objective function is for the given time step of the given training sequence, at the future condition score and time step generated by the logistic regression node for the time step. It depends on the error between the indicator variables for the corresponding conditions of. If the system also includes an output layer, the objective function also depends on the error between the next input scores generated by the output layer for the time step and the input at the next time step of the training sequence, for the time step. do.

상기에서 서술한 바와 같이, 리커런트 뉴럴 네트워크(700)는, 미래 컨디션 점수들을 생성하기 위해 환자와 관련된 헬스 이벤트들을 식별하는 데이터를 포함하는 시간적 시퀀스들을 프로세싱할 수 있다. 하지만, 리커런트 뉴럴 네트워크(700)는, 임의의 유형의 시간적 이벤트를 식별하는 데이터가 포함된 시간적 시퀀스들, 즉, 시간 경과에 따라 이벤트들이 발생했을 때 정렬된 이벤트들을 식별하는 데이터가 포함된 임의의 시간적 시퀀스들에 대한 미래 컨디션 점수들을 생성하기 위해 트레이닝될 수 있다.As described above, the recurrent neural network 700 may process temporal sequences that include data identifying health events associated with the patient to generate future condition scores. However, the recurrent neural network 700 may include a sequence of temporal sequences that contain data identifying any type of temporal event, i.e., data that identifies aligned events as they occur over time. Can be trained to generate future condition scores for the temporal sequences of.

예를 들어, 리커런트 뉴럴 네트워크(700)는, 사용자의 재무 제표, 예를 들어, 은행 계좌 명세서에 나타날 수 있는 은행 거래들, 신용 카드 명세서에 나타날 수 있는 신용 카드 거래들 등에서 발견된 거래들을 식별하는 데이터를 포함하는 시간적 시퀀스들에 대한 미래 컨디션 점수들을 생성하도록 트레이닝될 수 있다. 이 문맥에서의 미래 컨디션 점수들은, 수행되는 다양한 유형들의 금융 거래들에 의해 충족되는 컨디션들에 대한 점수들, 재무 제표들에 나타나는 종류의 금융 거래들이 아닌 사건으로 인해 충족되는 조건에 대한 점수들(예를 들어, 세금 감사) 또는 둘 모두를 포함할 수 있다. For example, the recurrent neural network 700 may identify transactions found in a user's financial statements, such as bank transactions that may appear on a bank statement, credit card transactions that may appear on a credit card statement, and the like. It can be trained to generate future condition scores for temporal sequences that include data. Future condition scores in this context are scores for conditions met by the various types of financial transactions being performed, scores for conditions met due to events that are not financial transactions of the kind indicated in the financial statements ( For example, tax audits) or both.

또 다른 예로서, 리커런트 뉴럴 네트워크(700)는, 주식 시장 거래들을 식별하는 데이터를 포함하는 시간적 시퀀스들 대한 미래 컨디션 점수들을 생성하도록 트레이닝될 수 있다. 이 문맥에서, 시간적 시퀀스들은, 단일 개체 또는 주식 시장에 참여하는 모든 개체들의 주식 구매 및 판매를 포함할 수 있다.As another example, the recurrent neural network 700 may be trained to generate future condition scores for temporal sequences that include data identifying stock market transactions. In this context, temporal sequences may include buying and selling stocks of a single entity or all entities participating in the stock market.

또 다른 예로서, 리커런트 뉴럴 네트워크(700)는, 기계류 또는 전자 장치에 대한, 예를 들어, 항공기, 차량, 데이터 센터 컴포넌트 등에 대한 유지 보수 기록들을 식별하는 데이터를 포함하는 시간적 시퀀스들에 대한 미래 컨디션 점수를 생성하도록 트레이닝될 수 있다. 이 문맥에서 미래 컨디션 점수들은, 다양한 유형들의 유지 보수 관련 이벤트들에 의해 충족되는 컨디션들에 대한 점수들뿐만 아니라 일반적으로 유지 보수 기록들에 나타나지 않는 이벤트들의 발생으로 충족되는 컨디션들(예를 들어, 비행기들의 비행 중 오류)에 대한 점수들을 포함할 수 있다.As yet another example, the recurrent neural network 700 may include a data or a future sequence of temporal sequences that includes data identifying maintenance records for an electronic device, such as an aircraft, a vehicle, a data center component, or the like. It can be trained to generate a condition score. Future condition scores in this context are conditions that are satisfied with the occurrence of events that do not normally appear in maintenance records, as well as scores for conditions met by various types of maintenance related events (eg, Scores for errors in flight).

본 명세서에 서술된 주제 및 기능적 동작의 실시예들은, 본 명세서에 개시된 구조 및 구조적 등가물, 또는 이들 중 하나 이상의 조합들을 포함하는, 디지털 전자 회로, 실체적으로 구현된 컴퓨터 소프트웨어 또는 펌웨어, 컴퓨터 하드웨어에서 구현될 수 있다. 본 명세서에서 서술된 주제의 실시예들은, 데이터 프로세싱 장치에 의해 실행되거나 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 실체적인 비-일시적인 프로그램 캐리어 상에 인코딩된 하나 이상의 컴퓨터 프로그램들, 즉, 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 선택적으로 또는 부가적으로, 프로그램 명령어들은 인위적으로 생성되어 전파된 신호, 예를 들어, 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 장치로의 송신을 위해 정보를 인코딩하도록 생성된 머신-생성된 전기, 광학 또는 전자기 신호 상에 인코딩될 수 있다. 컴퓨터 저장 매체는, 기계 판독 가능한 저장 디바이스, 기계 판독 가능한 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다.Embodiments of the subject matter and functional operations described herein include, but are not limited to, digital electronic circuitry, substantially implemented computer software or firmware, computer hardware, including the structures and structural equivalents disclosed herein, or combinations of one or more thereof. Can be implemented. Embodiments of the subject matter described in this specification are one or more computer programs, ie computer program instructions, executed by a data processing apparatus or encoded on an actual non-transitory program carrier for controlling the operation of the data processing apparatus. It can be implemented as one or more modules of the. Alternatively or additionally, the program instructions may be artificially generated and propagated to a signal propagated, for example, machine-generated electricity generated to encode information for transmission to an appropriate receiver device for execution by the data processing device, It can be encoded on an optical or electromagnetic signal. The computer storage medium may be a machine readable storage device, a machine readable storage substrate, a random or serial access memory device, or a combination of one or more thereof.

용어 "데이터 처리 장치"는, 예를 들어, 프로그램 가능 프로세서, 컴퓨터, 또는 복수의 프로세서들 또는 컴퓨터들을 포함하는 데이터 처리를 위한 모든 종류들의 장치들, 디바이스들 및 머신을 포함한다. 이 장치는, 특수 목적의 논리 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 상기 장치는, 또한, 하드웨어 외에도, 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.The term "data processing apparatus" includes all types of apparatus, devices and machines for data processing, including, for example, a programmable processor, a computer, or a plurality of processors or computers. The device may include special purpose logic circuits, eg, field programmable gate arrays (FPGAs) or application specific integrated circuits (ASICs). The apparatus may also, in addition to hardware, code that creates an execution environment for a computer program in question, such as processor firmware, protocol stacks, database management systems, operating systems, or combinations of one or more thereof. It may include.

컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트 또는 코드로 지칭되거나 또는 기술될 수 있음)은, 임의의 형태의 프로그래밍 언어(컴파일된 또는 해석된 언어 또는 선언적 또는 절차적 언어 포함)로 기술될 수 있고, 그리고 독립 실행형 프로그램이나 모듈, 컴포넌트, 서브 루틴 등을 포함한 모든 형태로 배포될 수 있거나 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛에 배포될 수 있다. 컴퓨터 프로그램은, 파일 시스템의 파일에 해당할 수 있지만 반드시 그런 것은 아니다. 프로그램은, 다른 프로그램들 또는 데이터, 예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들을 보유하는 파일의 일부분에서, 해당 프로그램 전용의 단일 파일에서, 또는 하나 이상의 모듈, 서브 프로그램들 또는 코드의 일부들을 저장하는 파일들과 같은 다수의 조정된 파일들에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 상에서 또는 하나의 사이트에 있거나 여러 사이트들에 분산되어 있고 통신 네트워크로 상호연결된 다수의 컴퓨터들 상에서 실행되도록 배포될 수 있다.A computer program (which may be referred to or described as a program, software, software application, module, software module, script, or code) may be any form of programming language, including compiled or interpreted or declarative or procedural languages. And may be distributed in any form including standalone programs, modules, components, subroutines, etc., or in other units suitable for use in a computing environment. A computer program may, but is not necessarily, correspond to a file in a file system. A program may be part of a file that holds one or more scripts stored in other programs or data, such as a markup language document, in a single file dedicated to that program, or part of one or more modules, subprograms, or code. Can be stored in a number of coordinated files, such as files that store them. The computer program may be distributed to run on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected to a communication network.

본 명세서에서 서술되는 프로세스들 및 논리 흐름들은, 입력 데이터를 조작하고 그리고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그램 가능 컴퓨터들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은, 또한 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)과 같은 특수 목적의 논리 회로에 의해 수행될 수 있고, 장치는 또한 특수 목적 논리 회로로 구현될 수 있다.The processes and logic flows described herein may be performed by one or more programmable computers executing one or more computer programs to perform functions by manipulating input data and generating output. Processes and logic flows may also be performed by special purpose logic circuits such as field programmable gate arrays (FPGAs) or application specific integrated circuits (ASICs), and the apparatus may also be implemented in special purpose logic circuits.

컴퓨터 프로그램의 실행에 적합한 컴퓨터는, 예를 들어, 범용 또는 특수 목적의 마이크로 프로세서 또는 둘 모두, 또는 임의의 다른 종류의 중앙 처리 장치를 기반으로 할 수 있다. 일반적으로, 중앙 처리 장치는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은, 명령어들을 수행하거나 또는 실행하기 위한 중앙 처리 장치와 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는, 데이터(예를 들어, 자기, 광 자기 디스크들 또는 광 디스크들)를 저장하기 위한 하나 이상의 대용량 저장 디바이스로부터 데이터를 수신하거나 또는 하나 이상의 대용량 저장 디바이스들에 데이터를 전송하기 위해, 또는 수신 및 전송 모두를 위해 동작 가능하게 결합될 것이다. 하지만, 컴퓨터는 그와 같은 디바이스들이 필요치 않을 수도 있다. 또한, 컴퓨터는, 다른 디바이스, 예를 들어, 이동 전화기, 개인 휴대 정보 단말기(PDA), 이동 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(Global Positioning System) 수신기 또는 휴대용 저장 디바이스(예를 들어, USB (universal serial bus) 플래시 드라이브)에서 내장될 수 있다. A computer suitable for the execution of a computer program may be based, for example, on a general purpose or special purpose microprocessor or both, or any other kind of central processing unit. In general, the central processing unit will receive instructions and data from a read only memory or a random access memory or both. Essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data. Generally, a computer is used to receive data from or transmit data to one or more mass storage devices for storing data (eg, magnetic, magneto-optical disks or optical disks). Or operatively combined for both receiving and transmitting. However, a computer may not need such devices. The computer may also include other devices such as mobile phones, personal digital assistants (PDAs), mobile audio or video players, game consoles, global positioning system (GPS) receivers or portable storage devices (e.g., USB ( universal serial bus).

컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는, 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 광 자기 디스크들; 그리고 CD ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비-휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는, 특수 목적의 논리 회로에 의해 보충되거나 또는 특수 목적의 논리 회로에 포함될 수 있다.Computer-readable media suitable for storing computer program instructions and data include, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; Magnetic disks such as internal hard disks or removable disks; Magneto-optical disks; And all forms of non-volatile memory, media and memory devices, including CD ROM and DVD-ROM disks. The processor and memory may be supplemented by or included in special purpose logic circuits.

사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 서술된 주제의 실시 예들은, 사용자에게 정보를 디스플레이하기 위한 CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터와 같은 디스플레이 장치, 키보드, 및 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼과 같은 포인팅 장치를 갖는 컴퓨터상에서 구현될 수 있다. 다른 종류들의 디바이스가 사용자와의 상호 작용을 제공하는 데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있고; 그리고 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는, 사용자에 의해 사용되는 디바이스와 문서들을 송신 및 수신함으로써 사용자와 상호 작용할 수 있다. 예를 들어, 컴퓨터는, 웹 브라우저로부터 수신된 요청들에 응답하여, 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지를 전송함으로써 사용자와 상호 작용을 수행할 수 있다.In order to provide for interaction with a user, embodiments of the subject matter described herein include a display device such as a cathode ray tube (CRT) or liquid crystal display (LCD) monitor for displaying information to a user, a keyboard, and It can be implemented on a computer with a pointing device, such as a mouse or trackball, that a user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user. For example, the feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; And input from the user may be received in any form, including acoustic, voice, or tactile input. The computer may also interact with the user by sending and receiving documents and devices used by the user. For example, the computer may interact with the user by sending a web page to a web browser on the user's client device in response to requests received from the web browser.

본 명세서에 서술된 주제의 실시예들은, 예를 들어, 데이터 서버로서 벡 엔드 컴포넌트를 포함하거나, 또는 애플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 또는 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터 또는 사용자가 본 명세서에 설명된 주제의 구현과 상호 작용할 수 있는 웹 브라우저와 같은 프론트 엔드 구성 요소를 포함하거나, 또는 하나 이상의 그와 같은 벡 엔드 컴포넌트, 미들웨어 컴포넌트 또는 프론트 엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은, 디지털 데이터 통신, 예를 들어, 통신 네트워크의 임의의 형태 또는 매체에 의해 상호 접속될 수 있다. 통신 네트워크들의 예들은, 근거리 통신망("LAN") 및 광역 통신망("WAN"), 예를 들어, 인터넷을 포함한다.Embodiments of the subject matter described herein include, for example, a back end component as a data server, or include a middleware component such as an application server, or a client computer or user having a graphical user interface. To be implemented in a computing system that includes a front end component such as a web browser that can interact with the implementation of the described subject matter, or any combination of one or more such back end components, middleware components, or front end components. Can be. The components of the system may be interconnected by any form or medium of digital data communication, eg, a communication network. Examples of communication networks include local area networks (“LANs”) and wide area networks (“WANs”), such as the Internet.

컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 멀리 떨어져 있으며 그리고 통상적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터들 상에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들로 인해 유발된다.The computing system can include clients and servers. Clients and servers are generally remote from each other and typically interact via a communication network. The relationship of client and server is caused by computer programs running on respective computers and having a client-server relationship with each other.

본 명세서에는 많은 특정 구현들을 포함하지만, 이러한 구현들은 발명의 범위 또는 청구될 수 있는 것에 대한 제한으로서 해석되서는 안되며, 오히려 특정 발명들의 특정 실시예로 구체화될 수 있는 피처들의 서술로서 제공된다. 별도의 실시예의 맥락에서 본 명세서에서 서술되는 특정 피처들은 또한 단일 실시예에서 조합으로 구현될 수 있다. 반대로, 단일 실시예의 맥락에서 서술된 다양한 피처들은 또한 다수의 실시 예들에서 개별적으로 또는 임의의 적합한 하위조합으로 구현될 수 있다. 더욱이, 피처들이 특정 조합들로 작용하고 그리고 상술한 바와 같이 초기에 청구된 것으로서 서술될 수 있지만, 청구된 조합으로부터의 하나 이상의 피처들은 일부 케이스들에서 조합으로부터 제거될 수 있고, 그리고 청구된 조합은 하위조합 또는 하위조합의 변형으로 유도될 수 있다. Although many specific implementations are included herein, these implementations are not to be construed as limitations on the scope of the invention or of what may be claimed, but rather are provided as a description of features that may be embodied in specific embodiments of specific inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented individually or in any suitable subcombination in multiple embodiments. Moreover, although features may act as specific combinations and may be described as initially claimed as described above, one or more features from the claimed combination may be removed from the combination in some cases, and the claimed combination may be Subcombinations or variations of subcombinations.

유사하게, 동작들이 특정 순서로 도면들에 도시되어 있지만, 이는 바람직한 결과들을 달성하기 위해, 상기 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되거나 또는 도시된 모든 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시예들에서 다양한 시스템 모듈들 및 컴포넌트들의 분리는 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안되며, 그리고 서술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품 내에 함께 통합될 수 있거나 또는 다중 소프트웨어 제품들로 패키징될 수 있음을 이해해야 한다.Similarly, although the operations are shown in the drawings in a particular order, it is understood that in order to achieve desirable results, the operations are required to be performed in the specific order or sequential order shown or that all the operations shown are performed. Should not be. In certain situations, multitasking and parallel processing may be advantageous. In addition, the separation of the various system modules and components in the above embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems are generally integrated together in a single software product. It should be understood that it may be or may be packaged into multiple software products.

본 발명의 특정 실시예들이 서술되었다. 다른 실시예들은, 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구 범위들에 서술된 동작들은 상이한 순서로 수행될 수 있으며 그리고 여전히 바람직한 결과를 달성할 수 있다. 하나의 예로서, 첨부된 도면들에 도시된 프로세스들은 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 요구하지는 않는다. 특정 구현들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. Specific embodiments of the invention have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. As one example, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.

Claims (19)

복수의 타임 스텝들(time steps) 각각에서 각각의 입력을 포함하는 시간적 시퀀스(temporal sequence)를 프로세싱하도록 구성된 리커런트(recurrent) 뉴럴 네트워크 시스템으로서,
하나 이상의 리커런트 뉴럴 네트워크 계층들; 및
하나 이상의 로지스틱 회귀 노드들(logistic regression nodes)을 포함하고, 상기 계층들 및 노드들은 라벨링된 트레이닝 시퀀스들 상에서 트레이닝되며,
상기 하나 이상의 리커런트 뉴럴 네트워크 계층들은 상기 복수의 타임 스텝들 각각에 대하여,
상기 타임 스텝에서 상기 입력을 수신하고; 그리고
상기 타임 스텝에 대한 네트워크 내부 상태(network internal state)를 생성하도록, 상기 타임 스텝에서의 상기 입력을 집합적으로 프로세싱하며(collectively process);
상기 로지스틱 회귀 노드들 각각은 미리결정된 컨디션들의 세트의 각각의 컨디션에 대응하고, 상기 로지스틱 회귀 노드들 각각은 상기 복수의 타임 스텝들 각각에 대하여,
상기 타임 스텝에 대한 네트워크 내부 상태를 수신하고, 그리고
상기 타임 스텝에 대한 상기 대응 컨디션에 대한 미래 컨디션 점수를 생성하도록, 상기 로지스틱 회귀 노드의 파라미터들의 세트의 현재 값들에 따라 상기 타임 스텝에 대한 네트워크 내부 상태를 프로세싱하며,
상기 대응 컨디션에 대한 미래 컨디션 점수는, 상기 타임 스텝에서의 상기 입력의 특정한 시간 기간 내에서 상기 대응 컨디션이 충족될 가능성을 나타내는 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
A recurrent neural network system configured to process a temporal sequence comprising respective inputs in each of a plurality of time steps, wherein:
One or more concurrent neural network layers; And
One or more logistic regression nodes, the layers and nodes being trained on labeled training sequences,
The one or more concurrent neural network layers may be generated for each of the plurality of time steps:
Receive the input at the time step; And
Collectively process the input at the time step to create a network internal state for the time step;
Each of the logistic regression nodes corresponds to a respective condition of a set of predetermined conditions, each of the logistic regression nodes for each of the plurality of time steps:
Receive network internal state for the time step, and
Process a network internal state for the time step according to current values of the set of parameters of the logistic regression node to generate a future condition score for the corresponding condition for the time step,
And a future condition score for the corresponding condition indicates the likelihood that the corresponding condition is met within a specific time period of the input in the time step.
제1항에 있어서,
출력 계층(output layer)을 더 포함하고, 상기 출력 계층은 상기 복수의 타임 스텝들 각각에 대하여,
상기 타임 스텝에 대한 상기 네트워크 내부 상태를 수신하고;
복수의 가능한 다음 입력들 각각에 대한 다음 입력 점수 각각을 생성하기 위해 상기 출력 계층의 파라미터들의 세트의 현재 값들에 따라 상기 타임 스텝에 대한 상기 네트워크 내부 상태를 프로세싱하며,
상기 복수의 가능한 다음 입력들 각각에 대한 다음 입력 점수 각각은, 상기 가능한 다음 입력이 상기 시간적 시퀀스의 다음 타임 스텝에서의 입력이 될 가능성을 나타내는 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
The method of claim 1,
Further comprising an output layer, the output layer for each of the plurality of time steps:
Receive the network internal state for the time step;
Process the network internal state for the time step according to current values of the set of parameters of the output layer to generate each of a next input score for each of a plurality of possible next inputs,
Each of the next input scores for each of the plurality of possible next inputs indicates a likelihood that the possible next input will be an input at a next time step of the temporal sequence.
제1항 또는 제2항에 있어서,
상기 하나 이상의 리커런트 뉴럴 네트워크 계층들 각각은, 상기 복수의 타임 스텝들 각각에 대해,
상기 타임 스텝에 대한 계층 입력을 수신하고; 그리고
상기 타임 스텝에 대한 리커런트 뉴럴 네트워크 계층에 대한 계층 내부 상태를 생성하기 위해, 상기 리커런트 뉴럴 네트워크 계층에 대한 파라미터들의 세트의 현재 값들에 따라, 선행 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층에 대한 계층 내부 상태 및 상기 타임 스텝에 대한 계층 입력을 프로세싱하는 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
The method according to claim 1 or 2,
Each of the one or more concurrent neural network layers may, for each of the plurality of time steps:
Receive a layer input for the time step; And
To generate a layer internal state for the recurrent neural network layer for the time step, according to the current values of the set of parameters for the recurrent neural network layer, for the recurrent neural network layer for a preceding time step. And a hierarchical internal state and hierarchical input for the time step.
제3항에 있어서,
상기 리커런트 뉴럴 네트워크 시스템은 오직 하나의 리커런트 뉴럴 네트워크 계층을 포함하고, 상기 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층에 대한 상기 계층 내부 상태는, 상기 타임 스텝에 대한 상기 네트워크 내부 상태인 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
The method of claim 3,
Wherein said recurrent neural network system includes only one recurrent neural network layer, and said layer internal state for said recurrent neural network layer for said time step is said network internal state for said time step. Recurrent neural network system.
제3항에 있어서,
상기 리커런트 뉴럴 네트워크 시스템은 시퀀스로 배열된 복수의 리커런트 뉴럴 네트워크 계층들을 포함하고, 상기 타임 스텝에 대한 상기 네트워크 내부 상태는 상기 타임 스텝에 대한 상기 시퀀스의 최상위 리커런트 뉴럴 네트워크 계층의 계층 내부 상태인 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
The method of claim 3,
The recurrent neural network system includes a plurality of recurrent neural network layers arranged in a sequence, wherein the network internal state for the time step is a hierarchical internal state of the highest recurrent neural network layer of the sequence for the time step. Recurrent neural network system, characterized in that.
제3항에 있어서,
상기 리커런트 뉴럴 네트워크 시스템은 복수의 리커런트 뉴럴 네트워크 계층들을 포함하고, 상기 타임 스텝에 대한 상기 네트워크 내부 상태는 상기 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층들의 계층 내부 상태들의 조합인 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
The method of claim 3,
Wherein said recurrent neural network system comprises a plurality of recurrent neural network layers, wherein said network internal state for said time step is a combination of hierarchical internal states of said recurrent neural network layers for said time step. Recurrent Neural Network System.
제1항에 있어서,
상기 시간적 시퀀스 내의 각각의 입력은, 상기 리커런트 뉴럴 네트워크 시스템에 대한 가능한 입력들의 세트로부터 선택되는 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
The method of claim 1,
Each input in the temporal sequence is selected from the set of possible inputs to the recurrent neural network system.
제7항에 있어서,
상기 미리결정된 컨디션들의 세트는, 상기 리커런트 뉴럴 네트워크 시스템에 대한 가능한 입력들의 세트에 포함되지 않은 이벤트들이 상기 타임 스텝에서의 상기 입력의 특정 시간 기간 내에 발생하는 경우에 충족되는 컨디션들을 포함하는 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
The method of claim 7, wherein
The predetermined set of conditions includes conditions that are met if events that are not included in the set of possible inputs to the recurrent neural network system occur within a particular time period of the input in the time step. Recurrent neural network system.
제1항에 있어서,
상기 복수의 타임 스텝들에서의 입력들 각각은 환자와 관련된 헬스-관련 데이터(health-related data)이고, 상기 미리결정된 컨디션들의 세트 내의 컨디션들은, 헬스-관련 이벤트가 상기 환자와 관련하여 발생하는 때에 충족되는 컨디션들인 것을 특징으로 하는 리커런트 뉴럴 네트워크 시스템.
The method of claim 1,
Each of the inputs in the plurality of time steps is health-related data associated with a patient, and the conditions within the predetermined set of conditions occur when a health-related event occurs in association with the patient. Recurrent neural network system, characterized in that the conditions met.
하나 이상의 리커런트 뉴럴 네트워크 계층들과 하나 이상의 로지스틱 회귀 노드들을 포함하는 리커런트 뉴럴 네트워크 시스템을 이용하여, 복수의 타임 스텝들 각각에서 각각의 입력을 포함하는 시간적 시퀀스를 프로세싱하는 방법으로서, 상기 계층들 및 노드들은 라벨링된 트레이닝 시퀀스들 상에서 트레이닝되며, 상기 방법은 상기 복수의 타임 스텝들 각각에 대하여,
상기 타임 스텝에서 상기 입력을 수신하는 단계;
상기 타임 스텝에 대한 네트워크 내부 상태를 생성하도록, 하나 이상의 리커런트 뉴럴 네트워크 계층들을 통해 상기 타임 스텝에서의 상기 입력을 프로세싱하는 단계; 및
상기 하나 이상의 로지스틱 회귀 노드들 각각을 이용하여 상기 네트워크 내부 상태를 프로세싱하는 단계를 포함하며,
상기 로지스틱 회귀 노드들 각각은 미리결정된 컨디션들의 세트의 각각의 컨디션에 대응하고, 상기 하나 이상의 로지스틱 회귀 노드들 각각을 이용하여 상기 네트워크 내부 상태를 프로세싱하는 단계는,
상기 타임 스텝에 대한 상기 대응 컨디션에 대한 미래 컨디션 점수를 생성하도록, 상기 로지스틱 회귀 노드의 파라미터들의 세트의 현재 값들에 따라 상기 로지스틱 회귀 노드를 이용하여 상기 타임 스텝에 대한 네트워크 내부 상태를 프로세싱하는 단계를 포함하고,
상기 대응 컨디션에 대한 미래 컨디션 점수는, 상기 타임 스텝에서의 상기 입력의 특정한 시간 기간 내에서 상기 대응 컨디션이 충족될 가능성을 나타내는 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
A method of processing a temporal sequence comprising respective inputs in each of a plurality of time steps using a recurrent neural network system comprising one or more logical neural network layers and one or more logistic regression nodes, the layers And nodes are trained on labeled training sequences, the method for each of the plurality of time steps:
Receiving the input at the time step;
Processing the input at the time step via one or more concurrent neural network layers to generate a network internal state for the time step; And
Processing the network internal state using each of the one or more logistic regression nodes,
Each of the logistic regression nodes corresponds to a respective condition of a set of predetermined conditions, and processing the network internal state using each of the one or more logistic regression nodes,
Processing the network internal state for the time step using the logistic regression node according to current values of the set of parameters of the logistic regression node to generate a future condition score for the corresponding condition for the time step. Including,
A future condition score for the corresponding condition indicates a likelihood that the corresponding condition is satisfied within a particular time period of the input in the time step.
제10항에 있어서,
상기 리커런트 뉴럴 네트워크 시스템은 출력 계층을 더 포함하고, 상기 방법은 상기 복수의 타임 스텝들 각각에 대해,
복수의 가능한 다음 입력들 각각에 대한 다음 입력 점수 각각을 생성하기 위해 상기 출력 계층의 파라미터들의 세트의 현재 값들에 따라 상기 출력 계층을 이용하여 상기 타임 스텝에 대한 상기 네트워크 내부 상태를 프로세싱하는 단계를 포함하고,
상기 복수의 가능한 다음 입력들 각각에 대한 다음 입력 점수 각각은, 상기 가능한 다음 입력이 상기 시간적 시퀀스의 다음 타임 스텝에서의 입력이 될 가능성을 나타내는 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
The method of claim 10,
The recurrent neural network system further comprises an output layer, the method further comprising: for each of the plurality of time steps:
Processing the network internal state for the time step using the output layer according to current values of the set of parameters of the output layer to generate each of a next input score for each of a plurality of possible next inputs. and,
Each next input score for each of the plurality of possible next inputs indicates the likelihood that the possible next input will be an input at a next time step of the temporal sequence.
제10항 또는 제11항에 있어서,
상기 하나 이상의 리커런트 뉴럴 네트워크 계층들 각각은, 상기 복수의 타임 스텝들 각각에 대해,
상기 타임 스텝에 대한 계층 입력을 수신하고; 그리고
상기 타임 스텝에 대한 리커런트 뉴럴 네트워크 계층에 대한 계층 내부 상태를 생성하기 위해, 상기 리커런트 뉴럴 네트워크 계층에 대한 파라미터들의 세트의 현재 값들에 따라, 선행 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층에 대한 계층 내부 상태 및 상기 타임 스텝에 대한 계층 입력을 프로세싱하는 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
The method according to claim 10 or 11, wherein
Each of the one or more concurrent neural network layers may, for each of the plurality of time steps:
Receive a layer input for the time step; And
To generate a layer internal state for the recurrent neural network layer for the time step, according to the current values of the set of parameters for the recurrent neural network layer, for the recurrent neural network layer for a preceding time step. Processing a temporal sequence characterized by processing a layer internal state and a layer input for the time step.
제12항에 있어서,
상기 리커런트 뉴럴 네트워크 시스템은 오직 하나의 리커런트 뉴럴 네트워크 계층을 포함하고, 상기 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층에 대한 상기 계층 내부 상태는, 상기 타임 스텝에 대한 상기 네트워크 내부 상태인 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
The method of claim 12,
Wherein said recurrent neural network system includes only one recurrent neural network layer, and said layer internal state for said recurrent neural network layer for said time step is said network internal state for said time step. A method of processing temporal sequences.
제12항에 있어서,
상기 리커런트 뉴럴 네트워크 시스템은 시퀀스로 배열된 복수의 리커런트 뉴럴 네트워크 계층들을 포함하고, 상기 타임 스텝에 대한 상기 네트워크 내부 상태는 상기 타임 스텝에 대한 상기 시퀀스의 최상위 리커런트 뉴럴 네트워크 계층의 계층 내부 상태인 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
The method of claim 12,
The recurrent neural network system includes a plurality of recurrent neural network layers arranged in a sequence, wherein the network internal state for the time step is a hierarchical internal state of the highest recurrent neural network layer of the sequence for the time step. And a temporal sequence characterized in that.
제12항에 있어서,
상기 리커런트 뉴럴 네트워크 시스템은 복수의 리커런트 뉴럴 네트워크 계층들을 포함하고, 상기 타임 스텝에 대한 상기 네트워크 내부 상태는 상기 타임 스텝에 대한 상기 리커런트 뉴럴 네트워크 계층들의 계층 내부 상태들의 조합인 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
The method of claim 12,
Wherein said recurrent neural network system comprises a plurality of recurrent neural network layers, wherein said network internal state for said time step is a combination of hierarchical internal states of said recurrent neural network layers for said time step. How to process a temporal sequence.
제10항에 있어서,
상기 시간적 시퀀스 내의 각각의 입력은, 상기 리커런트 뉴럴 네트워크 시스템에 대한 가능한 입력들의 세트로부터 선택되는 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
The method of claim 10,
Each input in the temporal sequence is selected from a set of possible inputs to the recurrent neural network system.
제16항에 있어서,
상기 미리결정된 컨디션들의 세트는, 상기 리커런트 뉴럴 네트워크 시스템에 대한 가능한 입력들의 세트에 포함되지 않은 이벤트들이 상기 타임 스텝에서의 상기 입력의 특정 시간 기간 내에 발생하는 경우에 충족되는 컨디션들을 포함하는 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
The method of claim 16,
The predetermined set of conditions includes conditions that are met if events that are not included in the set of possible inputs to the recurrent neural network system occur within a particular time period of the input in the time step. A method of processing temporal sequences.
제10항에 있어서,
상기 복수의 타임 스텝들에서의 입력들 각각은 환자와 관련된 헬스-관련 데이터(health-related data)이고, 상기 미리결정된 컨디션들의 세트 내의 컨디션들은, 헬스-관련 이벤트가 상기 환자와 관련하여 발생하는 때에 충족되는 컨디션들인 것을 특징으로 하는 시간적 시퀀스를 프로세싱하는 방법.
The method of claim 10,
Each of the inputs in the plurality of time steps is health-related data associated with a patient, and the conditions within the predetermined set of conditions occur when a health-related event occurs in association with the patient. A method for processing a temporal sequence characterized in that the conditions are met.
하나 이상의 비일시적인 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 으로서, 상기 컴퓨터 프로그램은 명령들을 포함하고, 상기 명령들은 하나 이상의 컴퓨터들에 의해 실행될 때 상기 하나 이상의 컴퓨터들로 하여금, 하나 이상의 리커런트 뉴럴 네트워크 계층들과 하나 이상의 로지스틱 회귀 노드들을 포함하는 리커런트 뉴럴 네트워크 시스템을 이용하여 복수의 타임 스텝들 각각에서 각각의 입력을 포함하는 시간적 시퀀스를 프로세싱하기 위한 동작들을 수행하게 하며, 상기 동작들은 제10항에 따른 방법을 포함하는 것을 특징으로 하는 컴퓨터 프로그램. A computer program stored on one or more non-transitory computer readable media, the computer program comprising instructions that when executed by one or more computers cause the one or more computers to perform: one or more concurrent neural network layers. 12. A method of processing a temporal sequence comprising a respective input at each of a plurality of time steps using a recurrent neural network system comprising a and a one or more logistic regression nodes, the operations according to claim 10 A computer program comprising a method.
KR1020177037617A 2015-07-27 2016-07-26 Predictability of Conditionality Using Recurrent Neural Networks KR102011453B1 (en)

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 KR20180014063A (en) 2018-02-07
KR102011453B1 true KR102011453B1 (en) 2019-08-19

Family

ID=55860023

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177037617A KR102011453B1 (en) 2015-07-27 2016-07-26 Predictability of Conditionality Using Recurrent Neural Networks

Country Status (6)

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

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9336482B1 (en) * 2015-07-27 2016-05-10 Google Inc. Predicting likelihoods of conditions being satisfied using recurrent neural networks
US9652712B2 (en) 2015-07-27 2017-05-16 Google Inc. Analyzing health events using recurrent neural networks
US10212876B2 (en) * 2015-10-12 2019-02-26 Droneseed Co. Aerial deployment planting methods and systems
CN115456151A (en) * 2016-05-20 2022-12-09 渊慧科技有限公司 Systems, methods, and media for predicting a future state of an interactive object
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 (en) * 2017-03-27 2018-09-27 Conti Temic Microelectronic Gmbh Method and system for predicting sensor signals of a vehicle
US11276495B2 (en) * 2017-07-11 2022-03-15 Cambia Health Solutions, Inc. Systems and methods for predicting multiple health care outcomes
US11990242B2 (en) * 2017-08-24 2024-05-21 Cerner Innovation, Inc. Reducing the risk of potentially preventable events
EP3528172B1 (en) 2018-02-19 2023-12-27 Braun GmbH System for classifying the usage of a handheld consumer device
KR102225894B1 (en) * 2018-04-24 2021-03-11 네이버 주식회사 Method and system for predicting disease prognosis from patient medical history using deep attention network
JP7198474B2 (en) * 2018-06-07 2023-01-04 国立大学法人静岡大学 modeling system
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
US11416733B2 (en) * 2018-11-19 2022-08-16 Google Llc Multi-task recurrent neural networks
KR102230239B1 (en) * 2018-11-20 2021-03-22 동국대학교 산학협력단 Prognosis management system based on measuring patient biometric data terminal and cloud server
CN113039561A (en) * 2018-11-21 2021-06-25 渊慧科技有限公司 Aligning sequences by generating encoded representations of data items
KR102206905B1 (en) * 2018-12-28 2021-01-25 (주)아이쿱 Method for inferring life pattern and changed factor based on blood test result
US20210082575A1 (en) * 2019-09-18 2021-03-18 Cerner Innovation, Inc. Computerized decision support tool for post-acute care patients
CN111210017B (en) * 2019-12-24 2023-09-26 北京迈格威科技有限公司 Method, device, equipment and storage medium for determining layout sequence and data processing
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

Family Cites Families (33)

* 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 (en) * 1994-09-02 2004-06-14 松下電器産業株式会社 Monitoring device
WO1996012187A1 (en) 1994-10-13 1996-04-25 Horus Therapeutics, Inc. Computer assisted methods for diagnosing diseases
JPH0973440A (en) * 1995-09-06 1997-03-18 Fujitsu Ltd System and method for time-series trend estimation by recursive type neural network in column structure
US5839438A (en) 1996-09-10 1998-11-24 Neuralmed, Inc. Computer-based neural network system and method for medical diagnosis and interpretation
EP0910023A2 (en) 1997-10-17 1999-04-21 Siemens Aktiengesellschaft Method and device for the neuronal modelling of a dynamic system with non-linear stochastic behavior
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 (en) * 2002-12-19 2005-06-15 松下電器産業株式会社 Monitoring device
KR100784072B1 (en) * 2003-09-22 2007-12-10 김형윤 Sensors and systems for structural health monitoring
EP1810197A4 (en) 2004-05-07 2009-08-05 Intermed Advisor Inc Method and apparatus for real time predictive modeling for chronically ill patients
JP2006120136A (en) 2004-09-27 2006-05-11 Kyoto Univ Language processor, language processing method, language processing program and computer readable recording medium with the same recorded thereon
JP4885463B2 (en) * 2005-03-03 2012-02-29 株式会社日立製作所 Sensor network system, sensor data processing method and program
JP2007200108A (en) * 2006-01-27 2007-08-09 Nippon Telegr & Teleph Corp <Ntt> Singular event detection device and singular event detection method
JP2007243342A (en) * 2006-03-06 2007-09-20 Yokogawa Electric Corp Image-monitoring apparatus and image-monitoring system
JP2009015493A (en) * 2007-07-03 2009-01-22 Toshiba Corp Action execution device and method
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 (en) * 2009-09-07 2011-03-24 Sony Corp Apparatus and method for processing information and program
EP2534597B1 (en) * 2010-03-15 2018-10-17 Singapore Health Services Pte Ltd Method of predicting the survivability of a patient
US8463721B2 (en) * 2010-08-05 2013-06-11 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for recognizing events
DE102011081197A1 (en) * 2011-08-18 2013-02-21 Siemens Aktiengesellschaft Method for the computer-aided modeling of a technical system
JP2014178800A (en) 2013-03-14 2014-09-25 Gifu Univ Medical information processing device and program
CN103336908B (en) * 2013-07-23 2016-01-20 哈尔滨工业大学 The method for predicting residual useful life of dull echo state network
US10181098B2 (en) * 2014-06-06 2019-01-15 Google Llc Generating representations of input sequences using neural networks
CN104636751A (en) * 2014-12-11 2015-05-20 广东工业大学 Crowd abnormity detection and positioning system and method based on time recurrent neural network
CN104615983B (en) * 2015-01-28 2018-07-31 中国科学院自动化研究所 Activity recognition method based on recurrent neural network and human skeleton motion sequence
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 (en) * 2015-12-15 2020-04-28 北京中电普华信息技术有限公司 Load balance prediction method and prediction analyzer for distributed database
CN105787561B (en) * 2016-03-22 2019-04-30 新疆金风科技股份有限公司 Recognition with Recurrent Neural Network model building method, gearbox fault detection method and device

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102011453B1 (en) Predictability of Conditionality Using Recurrent Neural Networks
US10402721B2 (en) Identifying predictive health events in temporal sequences using recurrent neural network
KR101991918B1 (en) Analysis of health events using recurrent neural networks
CN113614757A (en) System and method for human-machine hybrid prediction of events
US20180285969A1 (en) Predictive model training and selection for consumer evaluation
Taloba et al. Estimation and prediction of hospitalization and medical care costs using regression in machine learning
CN112232515A (en) Self-healing machine learning system for transformed data
US20230088484A1 (en) Artificial Intelligence Assisted Live Sports Data Quality Assurance
CN115516473A (en) Hybrid human-machine learning system
Bolger et al. Reliability updating in linear opinion pooling for multiple decision makers
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
US20240105289A1 (en) Clinical endpoint adjudication system and method
US20230206195A1 (en) Systems and methods for circumstantial auto-pausing of recurrent transactions
Velamuri et al. A Profound Inquiry of Diversified Application and Trends in Big Data Analytics

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