IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

<>
  • 特許-判定装置、判定方法およびプログラム 図1
  • 特許-判定装置、判定方法およびプログラム 図2
  • 特許-判定装置、判定方法およびプログラム 図3
  • 特許-判定装置、判定方法およびプログラム 図4
  • 特許-判定装置、判定方法およびプログラム 図5
  • 特許-判定装置、判定方法およびプログラム 図6
  • 特許-判定装置、判定方法およびプログラム 図7
  • 特許-判定装置、判定方法およびプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-08
(45)【発行日】2025-04-16
(54)【発明の名称】判定装置、判定方法およびプログラム
(51)【国際特許分類】
   G06N 3/044 20230101AFI20250409BHJP
   G06F 18/2433 20230101ALI20250409BHJP
   G06F 123/02 20230101ALN20250409BHJP
【FI】
G06N3/044 100
G06F18/2433
G06F123:02
【請求項の数】 8
(21)【出願番号】P 2024513683
(86)(22)【出願日】2021-09-03
(65)【公表番号】
(43)【公表日】2024-08-27
(86)【国際出願番号】 JP2021032562
(87)【国際公開番号】W WO2023032178
(87)【国際公開日】2023-03-09
【審査請求日】2024-02-29
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【弁理士】
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】酒見 悠介
【審査官】大倉 崚吾
(56)【参考文献】
【文献】特表2020-528295(JP,A)
【文献】米国特許出願公開第2015/0190068(US,A1)
【文献】特開2018-000224(JP,A)
【文献】国際公開第2020/194591(WO,A1)
【文献】BAUER, Felix Christian et al.,"Real-Time Ultra-Low Power ECG Anomaly Detection Using an Event-Driven Neuromorphic Processor",IEEE Transactions on Biomedical Circuits and Systems,Vol. 13,Issue 6,IEEE Xplore,2019年,p. 1575-1582,[2024年09月30日検索],インターネット<URL:https://ieeexplore.ieee.org/document/8896021>,DOI: 10.1109/TBCAS.2019.2953001
【文献】HADAEGHI, Fatemeh,"Reservoir Computing Models for Patient-Adaptable ECG Monitoring in Wearable Devices",arXiv [online],2019年,p. 1-27,[2025年02月21日検索],インターネット<URL:https://arxiv.org/abs/1907.09504v1>,1907.09504v1
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00 -99/00
G06F 18/00 -18/40
G06F 123/02
A61B 5/346- 5/366
(57)【特許請求の範囲】
【請求項1】
状態が周期的に変化する判定対象に関するデータの入力を時間ステップ毎に受けて、前記時間ステップ毎に状態が変化する状態変化手段と、
前記判定対象の状態の変化の1周期における基準の時間ステップである基準時間ステップを特定する基準時間ステップ特定手段と、
前記基準時間ステップからの派生した時間ステップにおける前記状態変化手段の状態に基づいて、前記判定対象に関する判定を行う判定手段と、
を備える判定装置。
【請求項2】
前記基準時間ステップ特定手段は、所定の条件を満たす前記判定対象の前記データが入力される時間ステップとして、前記基準時間ステップを特定する、
請求項1に記載の判定装置。
【請求項3】
前記基準時間ステップ特定手段は、前記判定対象の外部から前記判定対象に信号が入力される時間ステップとして、前記基準時間ステップを特定する、
請求項1または請求項2に記載の判定装置。
【請求項4】
前記判定手段は、前記基準時間ステップよりも過去の時間ステップにおける前記状態変化手段の状態に基づいて、前記判定対象に関する判定を行う、
請求項1から3の何れか一項に記載の判定装置。
【請求項5】
前記判定手段は、前記基準時間ステップよりも未来の時間ステップにおける前記状態変化手段の状態に基づいて、前記判定対象に関する判定を行う、
請求項1から4の何れか一項に記載の判定装置。
【請求項6】
前記判定手段は、前記基準時間ステップからの派生した時間ステップで、前記判定対象に関する判定について学習を行う、
請求項1から5の何れか一項に記載の判定装置。
【請求項7】
状態が周期的に変化する判定対象に関するデータの入力を時間ステップ毎に受けて、前記時間ステップ毎に状態が変化する状態変化手段を備える装置が、
前記判定対象の状態の変化の1周期における基準の時間ステップである基準時間ステップを特定することと、
前記基準時間ステップからの派生した時間ステップにおける前記状態変化手段の状態に基づいて、前記判定対象に関する判定を行うことと、
を含む判定方法。
【請求項8】
状態が周期的に変化する判定対象に関するデータの入力を時間ステップ毎に受けて、前記時間ステップ毎に状態が変化する状態変化手段を備え、プログラムを実行する装置に、
前記判定対象の状態の変化の1周期における基準の時間ステップである基準時間ステップを特定することと、
前記基準時間ステップからの派生した時間ステップにおける前記状態変化手段の状態に基づいて、前記判定対象に関する判定を行うことと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、判定装置、判定方法およびプログラムに関する。
【背景技術】
【0002】
心臓の異常の有無を心電図(Electrocardiogram;ECG)に基づいて判定する処理を、ニューラルネットワークを用いて行うことが提案されている。例えば、特許文献1では、実数の行列として表現されるECGに畳み込みニューラルネットワークを適用して、異常の有無を判定することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】米国特許出願公開第2017/0112401号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
畳み込みニューラルネットワークによれば、入力データに対して部分的に畳み込み演算を行う点で、時系列データの一部に特徴がある場合を比較的高精度に検出できると期待される。一方、畳み込みニューラルネットワークでは、一般的に演算量が多いため、演算能力の高い装置が必要になる。畳み込みニューラルネットワークを用いる必要なしに、時系列データの一部に特徴がある場合に対応できれば、演算量が比較的少ないことが期待される。
【0005】
本発明の目的の一例は、上述した課題を解決することのできる判定装置、判定方法およびプログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の第一の態様によれば、判定装置は、状態が周期的に変化する判定対象に関するデータの入力を時間ステップ毎に受けて、前記時間ステップ毎に状態が変化する状態変化手段と、前記判定対象の状態の変化の1周期における基準の時間ステップである基準時間ステップを特定する基準時間ステップ特定手段と、前記基準時間ステップからの派生した時間ステップにおける前記状態変化手段の状態に基づいて、前記判定対象に関する判定を行う判定手段と、を備える。
【0007】
本発明の第二の態様によれば、判定方法は、状態が周期的に変化する判定対象に関するデータの入力を時間ステップ毎に受けて、前記時間ステップ毎に状態が変化する状態変化手段を備える装置が、前記判定対象の状態の変化の1周期における基準の時間ステップである基準時間ステップを特定することと、前記基準時間ステップからの派生した時間ステップにおける前記状態変化手段の状態に基づいて、前記判定対象に関する判定を行うことと、を含む。
【0008】
本発明の第三の態様によれば、プログラムは、状態が周期的に変化する判定対象に関するデータの入力を時間ステップ毎に受けて、前記時間ステップ毎に状態が変化する状態変化手段を備え、プログラムを実行する装置に、前記判定対象の状態の変化の1周期における基準の時間ステップである基準時間ステップを特定することと、前記基準時間ステップからの派生した時間ステップにおける前記状態変化手段の状態に基づいて、前記判定対象に関する判定を行うことと、を実行させるためのプログラムである。
【発明の効果】
【0009】
本発明によれば、畳み込みニューラルネットワークを用いる必要なしに、時系列データの一部に特徴がある場合に対応できる。
【図面の簡単な説明】
【0010】
図1】基準時間ステップ特定部120が、サンプリングデータ取得部110からのサンプリングデータに基づいて基準時間ステップを特定する場合の例を示している。
図2】サンプリングデータ取得部110が取得する心電図のデータの例を示す図である。
図3】基準時間ステップ特定部120がトリガ信号生成部910からのトリガ信号を直接検出する場合の判定装置100の構成例を示す図である。
図4】判定装置100におけるデータの流れの例を示す図である。
図5】判定装置100が判定対象920に関する判定の学習を行う場合の演算システム1の構成の例を示す図である。
図6】実施形態に係る判定装置の構成の、もう1つの例を示す図である。
図7】実施形態に係る判定方法における処理の手順の例を示すフローチャートである。
図8】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、実施形態に係る判定装置の構成例を示す図である。図1に示す構成で、判定装置100は、サンプリングデータ取得部110と、基準時間ステップ特定部120と、状態変化部130と、状態記憶部140と、判定部150とを備える。
【0012】
判定装置100は、判定対象920に関する判定を行う。特に、判定対象920の状態が変化し、判定装置100は、判定対象920の状態に関するタイミングに基づいて、判定の実行タイミングを決定する。
以下では、判定対象920が心臓であり、判定装置100が、心電図のデータに基づいて心臓の異常の有無を判定する場合を例に説明する。ただし、判定装置100による判定対象は特定のものに限定されず、状態が変化し、状態に応じた値を測定可能ないろいろなものとすることができる。
例えば、判定対象920は、工場の機械、人間など、判定対象920の動きについて分類を行うことが考えられるいろいろなものとすることができる。
【0013】
トリガ(Trigger)信号生成部910は、判定対象920の状態変化のトリガとなる信号を出力する。判定対象920の状態変化のトリガとなる信号を、トリガ信号とも称する。
判定対象920が心臓である場合、洞房結節がトリガ信号生成部910の例として挙げられる。
【0014】
サンプリングデータ取得部110は、判定対象920に関する値を測定する。例えば、サンプリングデータ取得部110がセンサを備えて、判定対象920の出力または判定対象920の状態を測定し、測定値をセンシングデータにて出力するようにしてもよい。
サンプリングデータ取得部110が、判定対象920を直接測定するようにしてもよいし、判定対象920の周囲環境の温度を測定するなど、判定対象920を間接的に測定するようにしてもよい。判定対象920を直接測定することと、判定対象920を間接的に測定することとを総称して、判定対象920に関する測定とも表記する。
【0015】
サンプリングデータ取得部110が、判定装置100に含まれていてもよいし、判定対象920に含まれていてもよい。あるいは、サンプリングデータ取得部110が、判定装置100の外部、かつ、判定対象920の外部の構成となっていてもよい。図1では、サンプリングデータ取得部110が判定装置100に含まれる場合の例を示している。
【0016】
判定装置100が、心電図を用いて心臓の異常の有無を判定する場合、サンプリングデータ取得部110が、心電計(Electrocardiograph)を用いて構成され、心電図のデータを所定周期毎に測定し、サンプリングデータとして出力するようにしてもよい。ここでいう心電図のデータは、例えば、心電計の電極間の電位(電位差)の測定データである。
【0017】
図2は、サンプリングデータ取得部110が取得する心電図のデータの例を示す図である。図2のグラフの横軸は時刻を表し、縦軸は電位を表す。
線L11は、心電図の例を示す。線L11上の「X」印は、心電図のデータとしてサンプリングされるデータの例を示している。
【0018】
図2は、サンプリングデータ取得部110が、心電図のデータを一定の周期でサンプリングする場合の例を示している。
サンプリングデータ取得部110による心電図のデータのサンプリング間隔は、特定の時間間隔に限定されない。例えば、サンプリングデータ取得部110が、電位の極大値および極小値をより正確に測定するようにしたい場合、サンプリングデータ取得部110が、より短い時間間隔でサンプリングを行うようにすることが考えられる。
【0019】
以下では、サンプリングデータ取得部110による心電図のデータのサンプリング間隔をΔtと表記する。また、以下では、時間Δt毎の時間ステップ(Time Step)で時刻を表す場合がある。時間ステップにおける個々のステップを、単に時間ステップ、または、時間ステップにおける時刻とも称する。
【0020】
例えば、時間ステップtよりも1つ前の時間ステップをt-Δtと表記する。時間ステップtの次の時間ステップをt+Δtと表記する。時間ステップtよりも1つ前の時間ステップは、時間ステップtよりも1つ過去の時間ステップである。時間ステップtの次の時間ステップは、時間ステップtよりも1つ未来の時間ステップである。
サンプリングデータ取得部110は、時間ステップ毎に心電図のサンプリングデータを取得する。
【0021】
図2では、心臓の一拍分の心電図が示されている。典型的な心電図では、図2に示すようにP波、Q波、R波、S波、T波の順に波形が観測される。P波、R波およびT波では、電位が極大になる。一方、Q波およびS波では、電位が極小になる。Q波とR波とS波とを纏めてQRS群(QRS Complex)とも称される。
【0022】
P波の開始からQ波の開始前までの時間は、PR間隔(PR Interval)とも称される。Q波の開始からT波の終了までの時間は、QT間隔(QT Interval)とも称される。P波の終了からQ波の開始前までの時間は、PRセグメント(PR Segment)とも称される。S波の終了からT波の開始前までの時間は、STセグメント(ST Segment)とも称される。
心電図の部分と心臓の部分とを対応付けることができる。例えば、P波は心房の収縮を表し、QSR群は心室の収縮を表し、T波は心室の収縮からの回復を表す。
【0023】
サンプリングデータ取得部110は、判定対象920に関する測定で得られた測定値を示すデータを出力する。サンプリングデータ取得部110が出力するサンプリングデータを判定対象に関するデータ、または、単にサンプリングデータとも称する。
特に、サンプリングデータ取得部110は、判定対象920に関する測定をサンプリング周期毎に行うことで、サンプリングデータの時系列データを取得し出力する。サンプリングデータ取得部110が出力するサンプリングデータの時系列データを、判定対象時系列データとも称する。
【0024】
基準時間ステップ特定部120は、基準時間ステップを特定する。基準時間ステップは、判定対象920の状態の変化に関する基準の時間ステップである。例えば、判定対象920の状態が周期的に変化する場合、基準時間ステップ特定部120が、判定対象920の状態変化の1周期のうちの所定のタイミングを含む時間ステップとして基準時間ステップを特定するようにしてもよい。
【0025】
基準時間ステップ特定部120が特定する基準時間ステップは、判定装置100の判定部150が、判定対象920の状態変化に応じて特定の時間ステップで判定対象920に関する判定を行うための目安の時間ステップとして用いられる。
基準時間ステップ特定部120は、基準時間ステップ特定手段の例に該当する。
【0026】
基準時間ステップ特定部120が、トリガ信号を直接検出可能であってもよい。例えば、トリガ信号生成部910が判定対象920の外部に位置し、基準時間ステップ特定部120が、トリガ信号生成部910が出力するトリガ信号を検出可能であってもよい。
【0027】
図3は、基準時間ステップ特定部120がトリガ信号生成部910からのトリガ信号を直接検出する場合の判定装置100の構成例を示す図である。
図3の例では、基準時間ステップ特定部120が、サンプリングデータ取得部110からのサンプリングデータに代えてトリガ信号生成部910からの信号を取得する点で、図1の場合と異なる。それ以外の点では、図3における判定装置100の構成は図1の場合の構成と同様である。
トリガ信号生成部910が判定対象920の外部に位置する例として、外部クロック(External Clock)を用いるオーディオシステムなど、外部クロックを用いる装置が挙げられるが、これに限定されない。
【0028】
基準時間ステップ特定部120がトリガ信号生成部910からのトリガ信号を検出する場合、トリガ信号が基準時間ステップ特定部120に入力される時間ステップとして基準時間ステップを特定するようにしてもよい。あるいは、トリガ信号の検出に時間を要する場合など、基準時間ステップ特定部120が、トリガ信号が基準時間ステップ特定部120に入力された時間ステップの次の時間ステップとして基準時間ステップを特定するようにしてもよい。
【0029】
ある時間ステップと、その時間ステップから一定の時間ステップ数だけずれた関連時間ステップとを総称して、その時間ステップからの時間ステップと表記する。基準時間ステップ特定部120が、トリガ信号が基準時間ステップ特定部120に入力される時間ステップに対応して基準時間ステップを特定するようにしてもよい。
【0030】
基準時間ステップ特定部120が、トリガ信号を直接検出することは不可能または困難であってもよい。基準時間ステップ特定部120が、トリガ信号を直接検出することが不可能または困難な場合の例として、トリガ信号生成部910を直接観察することが不可能または困難な場合が挙げられる。また、トリガ信号を直接検出することが不可能または困難な場合の例として、トリガ信号が微弱でありトリガ信号を検出することが不可能または困難な場合が挙げられる。
【0031】
例えば、判定対象920が心臓であり、トリガ信号生成部910が洞房結節である場合、洞房結節は体内にあり、かつ、洞房結節が出力する電気信号は微弱であるため、洞房結節が出力する電気信号を非侵襲で直接検出することは困難と考えられる。また、洞房結節が出力する電気信号を侵襲的に検出することは、一般的には現実的でない。
【0032】
基準時間ステップ特定部120が、トリガ信号を直接検出しない場合、サンプリングデータ取得部110からのサンプリングデータに基づいて基準時間ステップを特定するようにしてもよい。図1は、基準時間ステップ特定部120が、サンプリングデータ取得部110からのサンプリングデータに基づいて基準時間ステップを特定する場合の例を示している。
【0033】
この場合、基準時間ステップ特定部120が、判定対象時系列データのうち特徴的な部分に該当するサンプリングデータを検出するようにしてもよい。そして、基準時間ステップ特定部120が、特徴的な部分に該当するサンプリングデータを検出した時間ステップとして基準時間ステップを特定するようにしてもよい。基準時間ステップ特定部120が、特徴的な部分に該当するサンプリングデータを高精度に検出することができ、基準時間ステップの特定に失敗する可能性が小さいことが期待される。
【0034】
図2の例の場合、基準時間ステップ特定部120が、R波のサンプリングデータを検出するようにすると、前後のサンプリングデータとの電位差が大きく、サンプリングデータの検出を高精度に行えると期待される。
基準時間ステップ特定部120が、サンプリングデータの値(電位測定値)と所定の閾値とを比較し、サンプリングデータの値が閾値以上である場合に、R波のサンプリングデータであると判定するようにしてもよい。
この場合、サンプリングデータの値が閾値以上であるという条件が、所定の条件の例に該当する。サンプリングデータの値が閾値以上になる時間ステップが、判定対象920に関するデータが所定の条件を満たす時間ステップの例に該当する。
【0035】
あるいは、基準時間ステップ特定部120が、トリガ信号生成部910からのトリガ信号と、判定対象920からの判定対象時系列データとの両方に基づいて基準時間ステップを特定するようにしてもよい。例えば、トリガ信号生成部910からのトリガ信号が微弱である場合、基準時間ステップ特定部120が、トリガ信号生成部910からのトリガ信号と、判定対象920からの判定対象時系列データとの両方に基づいて基準時間ステップを特定するようにしてもよい。これにより、基準時間ステップ特定部120が、基準時間ステップの特定に失敗する可能性を軽減できると期待される。
【0036】
基準時間ステップ特定部120が、判定対象時系列データのうち特徴的な部分に該当するサンプリングデータを検出する処理を学習するようにしてもよい。
ここでいう学習は、学習モデルのパラメータ値を調整することである。例えば、基準時間ステップ特定部120が、サンプリングデータが特徴的な部分に該当するか否かを、サンプリングデータを判定式に入力して判定するようにしてもよい。この場合、判定式が、学習モデルの例に該当し、判定式の係数などのパラメータの値を調整することが、学習の例に該当する。
【0037】
状態変化部130は、サンプリングデータ取得部110からのサンプリングデータの入力を受ける。状態変化部130は状態を有し、サンプリングデータの入力によって、状態変化部130の状態が変化する。状態変化部130は、時間ステップ毎にサンプリングデータの入力を受け、時間ステップ毎に、状態変化部130の状態が変化する。
状態変化部130は、状態変化手段の例に該当する。
【0038】
状態変化部130が、リザバーコンピューティングにおけるリザバー層の形態で構成されていてもよい。すなわち、状態変化部130が、再帰型ニューラルネットワーク(Recurrent Neural Network;RNN)を用いて構成されていてもよい。そして、状態変化部130のノード間の重み係数の値が学習対象外とされて予め設定されていてもよい。例えば、状態変化部130のノード間の接続関係および重み係数の値が、予めランダムに設定されていてもよい。
【0039】
状態変化部130を再帰的に構成することで、状態変化部130の状態は、判定対象920の現在の状態だけでなく、判定対象920の過去の状態も反映した状態となる。
時間ステップtにおけるリザバーコンピューティングにおけるリザバー層の状態x(t)は、式(1)のように示される。
【0040】
【数1】
【0041】
x(t-Δt)は、時間ステップt-Δtにおけるリザバー層の状態を示す。上記のように、時間ステップt-Δtは、時間ステップtよりも1つ前の時間ステップである。x(t)、x(t-Δt)は、何れもリザバー層のノードの個数の要素を持つ縦ベクトルで表される。
【0042】
resは、中間ノードの値に対する重み付けの重み係数を示す行列である。式(1)の「Wresx(t-Δt)」は、時間ステップt-Δtにおける中間ノードの値に対する重み付けを示す。行列Wresは、行数、列数の何れもベクトルx(t)の要素数と等しい正方行列である。「Wresx(t-Δt)」の計算結果は、ベクトルx(t)の要素数と同じ要素数の縦ベクトルで表される。
【0043】
u(t)は、時間ステップtにおけるリザバーコンピューティングシステムへの入力値を示すベクトルである。ベクトルu(t)は縦ベクトルで表される。
inは、入力値に対する重み付けの重み係数を示す行列である。式(1)の「Winu(t)」は、時間ステップtにおける入力値に対する重み付けを示す。行列Winの行数はベクトルx(t)の要素数と等しく、列数はベクトルu(t)の要素数と等しい。「Winu(t)」の計算結果は、ベクトルx(t)の要素数と同じ要素数の縦ベクトルで表される。
【0044】
fは、活性化関数を示す。式(1)の「(Wresx(t-Δt)+Winu(t))」の計算結果は、ベクトルx(t)の要素数と同じ要素数の縦ベクトルで表され、「f(Wresx(t-Δt)+Winu(t))」は、この縦ベクトルの要素毎に活性化関数を適用することを表す。
時間ステップtにおけるリザバーコンピューティングシステムの出力y(t)は、式(2)のように示される。
【0045】
【数2】
【0046】
outは、中間ノードの値から出力値を算出するための重み付けの重み係数を示す行列である。行列Woutの行数はベクトルy(t)の要素数と等しく、列数はベクトルx(t)の要素数と等しい。「Woutx(t)」は、出力ノード毎に、時刻tにおける中間ノードの値を重み付け加算することを示している。
判定装置100では、式(2)、または、式(2)を変形した式が、判定対象920に関する判定に相当する。ただし、判定装置100が判定対象920に関する判定を行う判定方法は、特定の方法に限定されない。
【0047】
状態記憶部140は、状態変化部130の過去の状態を記憶する。例えば、状態記憶部140は、直近過去の所定個の時間ステップにおける状態変化部130の状態を記憶する。
状態変化部130と状態記憶部140との組み合わせが、リザバー層の形態で構成されていてもよい。
【0048】
具体的には、状態変化部130を構成するノード毎に、そのノードの値を記憶するための記憶用ノードが設けられていてもよい。この場合、ノード間の重み係数の値を1として、状態変化部130を構成するノードの値をそのまま記憶用ノードに出力する。これにより、状態変化部130を構成するノードの、ある時間ステップにおける値を、次の時間ステップで記憶用ノードが記憶する。
【0049】
状態変化部130を構成するノードの値を、複数の時間ステップの間記憶させたい場合、記憶させたい時間ステップの個数だけ、記憶用ノードを直列接続する(数珠つなぎにする)ようにしてもよい。時間ステップが経過する毎に、ノードの値を、直列接続における次の記憶用ノードに記憶させることで、直列接続した記憶用ノードの個数分の時間ステップだけ、状態変化部130を構成するノードの値を記憶することができる。
【0050】
判定部150は、状態変化部130の状態に基づいて、判定対象920に関する判定を行う。特に、判定部150は、基準時間ステップ特定部120が特定する基準時間ステップからの派生した時間ステップにおける状態変化部130の状態に基づいて、判定対象920に関する判定を行う。
判定部150は、判定手段の例に該当する。
【0051】
判定部150は、基準時間ステップからの派生した時間ステップで判定対象920に関する判定を行うことで、判定対象920の事象の影響が一部の時間ステップのデータにのみ現れる場合に対応する。
例えば、判定装置100が心電図のデータに基づいて心臓の異常の有無を判定する場合について考える。この場合、心電図の部分と心臓の部分との対応関係により、心臓の一部の異常の有無の判定において、心電図のうち注目すべき部分が限定的になることが考えられる。例えば、心房細動の場合、心電図に明確なP波が現れないことがある。この場合、異常を検出するために、P波に相当する時間ステップのサンプリングデータに注目することが有効であると考えられる。
【0052】
このように、サンプリングデータ取得部110が取得するサンプリングデータに、時間ステップによって、異常を示すサンプリングデータと、異常の影響が現れていないサンプリングデータとがある場合が考えられる。
この場合に、仮に、判定部150が全ての時間ステップで判定を行って異常との判定結果を出力し続けることについて考える。そうすると、判定部150は、サンプリングデータが異常を示す時間ステップ、および、サンプリングデータに異常の影響が現れていない時間ステップの何れでも同じ判定結果を出力することになる。入力データにおける異常の有無の違いにかかわらず常に同じ判定結果を出力する点で、判定部150による判定精度が低くなることが考えられる。
【0053】
そこで、基準時間ステップ特定部120が、基準時間ステップを特定する。判定部150は、基準時間ステップからの派生した時間ステップで、状態変化部130の状態に基づいて、判定対象920に関する判定を行う。これにより、判定部150は、判定対象920の状態が同様の状態になる時間ステップ毎に判定を行うことができる。これにより、判定部150が判定を行う各時間ステップで、状態変化部130の状態も同様の状態になり、判定部150が比較的高精度に判定を行えることが期待される。
【0054】
基準時間ステップ特定部120が、判定対象時系列データのうち特徴的な部分に該当するサンプリングデータを検出して基準時間ステップを特定する場合、基準時間ステップと、サンプリングデータに異常の影響が現れる時間ステップとは必ずしも一致しない。
例えば、基準時間ステップ特定部120がR波のサンプリングデータが得られる時間ステップとして基準時間ステップを検出する場合、この基準時間ステップは、心房細動の影響が現れるP波のサンプリングデータが得られる時間ステップとは異なる。
【0055】
かかる時間ステップの相違に対応するために、判定装置100は、判定装置100自らの状態に、過去の時間ステップにおける入力データを反映させる。
具体的には、状態変化部130が再帰的に構成され、判定対象920の過去の状態も反映した状態をとる。また、状態記憶部140が、状態変化部130の過去の状態を記憶する。
【0056】
判定部150が、基準時間ステップにおける状態変化部130の状態に加えて、あるいは代えて、基準時間ステップよりも過去の時間ステップにおける状態変化部130の状態に基づいて、判定対象920に関する判定を行うようにしてもよい。
さらに、判定部150が、基準時間ステップよりも未来の時間ステップにおける状態変化部130の状態に基づいて、判定対象920に関する判定を行うようにしてもよい。
【0057】
図4は、判定装置100におけるデータの流れの例を示す図である。
図4の例で、トリガ信号生成部910がトリガ信号を判定対象920へ出力する。トリガ信号生成部910からのトリガ信号に応じた時間ステップで、判定対象920の状態が変化する。
【0058】
サンプリングデータ取得部110は、時間ステップ毎に判定対象920に関する測定を行い、サンプリングデータを取得する。サンプリングデータ取得部110は、得られたサンプリングデータを基準時間ステップ特定部120および状態変化部130の各々へ出力する。上述したように、基準時間ステップ特定部120が、サンプリングデータに加えて、あるいは代えて、トリガ信号生成部910からのトリガ信号を取得するようにしてもよい。
【0059】
状態変化部130が時間ステップ毎にサンプリングデータの入力を受けることで、時間ステップ毎に状態変化部130の状態が変化する。状態記憶部140は、過去の時間ステップにおける状態変化部130の状態を記憶する。
また、基準時間ステップ特定部120は、サンプリングデータおよびトリガ信号のうち何れか一方、または両方に基づいて基準時間ステップを特定する。基準時間ステップ特定部120は、特定した基準時間ステップからの派生した時間ステップで、タイミング指定信号を判定部150に出力する。タイミング指定信号は、判定部150が判定対象920に関する判定を行う時間ステップを指定する信号である。
【0060】
図4の例では、時間ステップtが基準時間ステップを表す。また、時間ステップt+PΔtが、図4の例における現在の時間ステップを表す。Pは、正の整数の定数である。
図4の例では、状態変化部130と状態記憶部140との組み合わせが、時間ステップt-PΔtから時間ステップt+PΔtまでの各時間ステップにおける状態変化部130の状態を記憶している。Pは、正の整数の定数である。Pの値は、Pの値と同じであってもよいし異なっていてもよい。
【0061】
判定部150は、基準時間ステップ特定部120からのタイミング指令信号に応じた時間ステップt+PΔtにて、時間ステップt-PΔtから時間ステップt+PΔtまでの各時間ステップにおける状態変化部130の状態に基づいて、判定対象920に関する判定を行う。
【0062】
時間ステップt-PΔtから時間ステップt+PΔtまでの各時間ステップにおける状態変化部130の状態を示すデータを結合したデータをx^(t)と表し、判定部150による判定結果をy(t)と表すと、判定部150による判定は、例えば式(3)のように示される。
【0063】
【数3】
【0064】
「Classifier」は、クラス分類器を示し、式(3)は、判定部150がクラス分類による判定を行う場合の例を示している。例えば、判定部150が、データx^(t)を、心臓に異常があるクラス、または、心臓に異常がないクラスの何れかに分類することで、心臓に異常があるか否かの判定を行うようにしてもよい。
【0065】
判定部150がクラス分類を行う方法は、特定の方法に限定されず、学習可能ないろいろな方法を用いることができる。例えば、判定部150が、ロジスティック回帰(logistic regression)、または、リザバーコンピューティングの出力層の学習によってクラス分類を行うようにしてもよいが、これらに限定されない。
【0066】
また、判定部150が行う判定はクラス分類に限定されず、判定対象920に関するいろいろな判定とすることができる。例えば、判定部150が、心臓に異常がある可能性を定量的に評価するなど、判定対象920に関する定量的な判定を行うようにしてもよい。
【0067】
データx^(t)は、式(4)のように表される。
【0068】
【数4】
【0069】
状態変化部130の状態を表すx(t-PΔt)からx(t+PΔt)の各々が縦ベクトルで表される場合、x^(t)が、それらの縦ベクトルを結合した1つの縦ベクトルとして表されてもよい。
判定部150が判定に用いる状態変化部130の状態の時間ステップをアテンション(Attention)とも称する。図4の例の場合、アテンションattention(t)は、式(5)のように示される。
【0070】
【数5】
【0071】
式(4)のx(t-PΔt)からx(t-Δt)までは、基準時間ステップtよりも過去の時間ステップにおける状態変化部130の状態の例に該当する。
x(t)は、基準時間ステップにおける状態変化部130の状態の例に該当する。
x(t+Δt)からx(t+PΔt)までは、基準時間ステップtよりも未来の時間ステップにおける状態変化部130の状態の例に該当する。
【0072】
式(4)のように、判定部150が、基準時間ステップtよりも過去の時間ステップ、基準時間ステップt、および、基準時間ステップtよりも未来の時間ステップのそれぞれにおける状態変化部130の状態に基づいて判定を行うようにしてもよい。
【0073】
例えば、判定部150が、心拍変動における1周期分の時間ステップの各々における状態変化部130の状態に基づいて、心臓の異常の有無を判定するようにしてもよい。これにより、心臓に異常がある場合は、少なくとも何れか1つ以上の時間ステップにおける状態変化部130の状態に、異常に応じた特徴が現れることが期待される。
【0074】
さらに、判定部150が、基準時間ステップ特定部120からのタイミング指定信号に応じた時間ステップで判定を行うことで、心拍変動の周期毎に、基準時間ステップからの相対時間が同じである時間ステップにおける状態変化部130の状態には、同様の特徴が現れることが期待される。
この点で、判定部150が、高精度に判定を行えることが期待される。
【0075】
あるいは、判定部150が、基準時間ステップtよりも過去の時間ステップ、および、基準時間ステップtのみにおける状態変化部130の状態に基づいて判定を行うようにしてもよい。
判定部150が、基準時間ステップt、および、基準時間ステップtよりも未来の時間ステップのみにおける状態変化部130の状態に基づいて判定を行うようにしてもよい。
【0076】
判定部150が、基準時間ステップtよりも過去の時間ステップのみにおける状態変化部130の状態に基づいて判定を行うようにしてもよい。
判定部150が、基準時間ステップtのみにおける状態変化部130の状態に基づいて判定を行うようにしてもよい。
判定部150が、基準時間ステップtよりも未来の時間ステップのみにおける状態変化部130の状態に基づいて判定を行うようにしてもよい。
【0077】
判定部150が、基準時間ステップtよりも未来の時間ステップに基づいて判定を行うために、基準時間ステップ特定部120または判定部150の何れか一方または両方が時間待ちを行うようにしてもよい。
例えば、基準時間ステップ特定部120が、時間ステップtを基準時間ステップとして特定してからP個の時間ステップが経過した時間ステップt+PΔtに、タイミング指定信号を判定部150へ出力するようにしてもよい。
【0078】
あるいは、基準時間ステップ特定部120が、基準時間ステップtにタイミング指定信号を判定部150へ出力するようにしてもよい。そして、判定部150が、タイミング指定信号を受け取った基準時間ステップtからP個の時間ステップが経過した時間ステップt+PΔtに、判定を行うようにしてもよい。
【0079】
判定部150が、基準時間ステップからの派生した時間ステップで、判定対象920に関する判定について学習を行うようにしてもよい。
図5は、判定装置100が判定対象920に関する判定の学習を行う場合の演算システム1の構成の例を示す図である。
【0080】
図5の例では、トリガ信号生成部910および判定対象920に代えて学習制御部210が示されている点で、図1の場合と異なる。学習制御部210が、判定装置100とは別の装置として構成されていてもよいし、判定装置100の一部として構成されていてもよい。判定装置100と学習制御部210との組み合わせを演算システム1とも表記する。
【0081】
また、図5では、学習制御部210が心電図のサンプリングデータを含む訓練データ(Training Data)を判定装置100に入力する場合の例を示しており、サンプリングデータ取得部は示されていない。学習時に、判定装置100がサンプリングデータ取得部110を備えていてもよいし、備えていなくてもよい。
それ以外の点では、図5に示す構成は、図1に示す構成と同様である。
【0082】
学習制御部210は、判定部150による判定の学習を制御する。特に、学習制御部210は、心電図のサンプリングデータと、判定結果の正解を示す正解ラベルデータとを含む時間ステップ毎の訓練データを判定装置100に提供して、判定部150による判定の学習を行わせる。
学習制御部210が、訓練データを記憶していてもよい。あるいは、学習制御部210が、データベース装置など他の装置から訓練データを取得するようにしてもよい。
【0083】
判定部150は、1つ以上の時間ステップにおける状態変化部130の状態と、学習制御部210から取得する正解ラベルデータとに基づいて、学習を行う。特に、判定部150は、基準時間ステップ特定部120からのタイミング指定信号を受け取った時間ステップからの相対時間が判定時と同様の時間ステップで、学習を行う。
これにより、判定部150が高精度に学習を行えると期待される。
【0084】
状態変化部130および判定部150のうち判定部150のみが学習の対象になっていてもよい。これにより、学習時間が比較的短いことが期待される。
さらには、判定部150が、リザバーコンピューティングの出力層と同様、1層のニューラルネットワークで構成されていてもよい。これにより、学習時間が比較的短いことが期待される。また、判定部150が、1層のニューラルネットワークといった簡単な構成であっても、リザバーコンピューティングの場合と同様、比較的高精度に学習を行えると期待される。
【0085】
なお、判定装置100に関する実験で、比較的良好な結果を得られた。
実験では、判定装置100をコンピュータ上にソフトウェア的に構成し、心電図のデータセットを用いて心臓の異常検知を行った。
500個のデータを学習用データとし、別の500個のデータをテスト用データとした。各データを2000ステップの1次元として用いて、2000ステップのうち最初の200ステップはフリーランとして用いた。非異常データとして洞調律(Sinus rhythm)のデータを用いた。異常データとして心房細動(Atrial Fibrillation)のデータを用いた。
状態変化部130を、ニューロンの個数が50個のリザバー層として構成し、アテンションは、心電図のデータのうち[-80, 60, …,160, 180]の時間ステップとした。
異常検知の精度は、学習時で3.4%、テスト時で6.2%であった。
【0086】
以上のように、状態変化部130は、判定対象920に関するデータの入力を時間ステップ毎に受けて、時間ステップ毎に状態が変化する。基準時間ステップ特定部120は、判定対象920の状態の変化に関する基準の時間ステップである基準時間ステップを特定する。判定部150は、基準時間ステップに応じた時間ステップにおける状態変化部130の状態に基づいて、判定対象に関する判定を行う。
【0087】
状態変化部130の状態が、判定対象920に関するデータの入力毎に変化することで、サンプリングデータの時系列データのうち一部のサンプリングデータにのみ判定に資する特徴が表れている場合でも、サンプリングデータにおける特徴が状態変化部130の状態に現れることが期待される。かつ、判定部150は、基準時間ステップに応じた時間ステップにおける状態変化部130の状態に基づいて判定を行うことで、判定対象920の状態変化に関して同様のタイミングで判定を繰り返すことができる。判定装置100によれば、この点で、判定を高精度に行えると期待される。
このように、判定装置100によれば、畳み込みニューラルネットワークを用いる必要なしに、判定対象920に関するサンプリングデータの時系列データの一部に特徴がある場合に対応できる。
【0088】
また、基準時間ステップ特定部120は、判定対象920に関するデータが所定の条件を満たす時間ステップとして、基準時間ステップを特定する。
これにより、判定部150は、基準時間ステップに応じた時間ステップにおける状態変化部130の状態に基づいて判定を行うことで、判定対象920の状態変化に関して同様のタイミングで判定を繰り返すことができる。判定装置100によれば、この点で、判定を高精度に行えると期待される。
【0089】
また、基準時間ステップ特定部120は、判定対象920の外部から判定対象920に信号が入力される時間ステップに応じた時間ステップとして、基準時間ステップを特定する。
これにより、判定部150は、基準時間ステップに応じた時間ステップにおける状態変化部130の状態に基づいて判定を行うことで、判定対象920の状態変化に関して同様のタイミングで判定を繰り返すことができる。判定装置100によれば、この点で、判定を高精度に行えると期待される。
【0090】
また、判定部150は、基準時間ステップよりも過去の時間ステップにおける状態変化部130の状態に基づいて、判定対象920に関する判定を行う。
これにより、サンプリングデータ取得部110が取得するサンプリングデータの時系列データのうち、基準時間ステップよりも過去の時間ステップにおけるサンプリングデータにのみ判定に資する特徴が表れている場合でも、その特徴が状態変化部130の状態に現れ易いことが期待される。
判定装置100によれば、この点で、判定を高精度に行えると期待される。
【0091】
また、判定部150は、基準時間ステップよりも未来の時間ステップにおける状態変化部130の状態に基づいて、判定対象920に関する判定を行う。
これにより、サンプリングデータ取得部110が取得するサンプリングデータの時系列データのうち、基準時間ステップよりも未来の時間ステップにおけるサンプリングデータにのみ判定に資する特徴が表れている場合でも、その特徴に応じた特徴が状態変化部130の状態に現れ易いことが期待される。
判定装置100によれば、この点で、判定を高精度に行えると期待される。
【0092】
また、判定部150は、基準時間ステップに応じた時間ステップで、判定対象920に関する判定について学習を行う。
これにより、判定部150が、判定対象920の状態変化との関係において、判定の場合と同様の時間ステップで学習を行うことができる。これにより、判定部150が高精度に学習を行えると期待される。
【0093】
図6は、実施形態に係る判定装置の構成の、もう1つの例を示す図である。図6に示す構成で、判定装置610は、状態変化部611と、基準時間ステップ特定部612と、判定部613とを備える。
かかる構成で、状態変化部611は、判定対象に関するデータの入力を時間ステップ毎に受けて、時間ステップ毎に状態が変化する。基準時間ステップ特定部612は、判定対象の状態の変化に関する基準の時間ステップである基準時間ステップを特定する。判定部613は、基準時間ステップに応じた時間ステップにおける状態変化部611の状態に基づいて、判定対象に関する判定を行う。
【0094】
状態変化部611の状態が、判定対象に関するデータの入力毎に変化することで、判定対象に関するサンプリングデータの時系列データのうち一部のサンプリングデータにのみ判定に資する特徴が表れている場合でも、サンプリングデータにおける特徴が状態変化部611の状態に現れることが期待される。かつ、判定部613は、基準時間ステップに応じた時間ステップにおける状態変化部611の状態に基づいて判定を行うことで、判定対象の状態変化に関して同様のタイミングで判定を繰り返すことができる。判定装置610によれば、この点で、判定を高精度に行えると期待される。
このように、判定装置610によれば、畳み込みニューラルネットワークを用いる必要なしに、判定対象に関するサンプリングデータの時系列データの一部に特徴がある場合に対応できる。
状態変化部611は、状態変化手段の例に該当する。基準時間ステップ特定部612は、基準時間ステップ特定手段の例に該当する。判定部613は、判定手段の例に該当する。
【0095】
図7は、実施形態に係る判定方法における処理の手順の例を示すフローチャートである。図7は、判定対象に関するデータの入力を時間ステップ毎に受けて、時間ステップ毎に状態が変化する状態変化部を備える装置が判定を行う処理の手順の例を示している。図7に示す判定方法は、基準時間ステップを特定すること(ステップS611)と、判定を行うこと(ステップS612)とを含む。
【0096】
基準時間ステップを特定すること(ステップS611)では、判定対象の状態の変化に関する基準の時間ステップである基準時間ステップを特定する。
判定を行うこと(ステップS612)では、基準時間ステップに応じた時間ステップにおける状態変化手段の状態に基づいて、判定対象に関する判定を行う。
状態変化部は、状態変化手段の例に該当する。
【0097】
状態変化部の状態が、判定対象に関するデータの入力毎に変化することで、判定対象に関するサンプリングデータの時系列データのうち一部のサンプリングデータにのみ判定に資する特徴が表れている場合でも、サンプリングデータにおける特徴が状態変化部の状態に現れることが期待される。かつ、ステップS612の処理で、基準時間ステップに応じた時間ステップにおける状態変化部の状態に基づいて判定を行うことで、判定対象の状態変化に関して同様のタイミングで判定を繰り返すことができる。図7に示す判定方法によれば、この点で、判定を高精度に行えると期待される。
このように、図7に示す判定方法によれば、畳み込みニューラルネットワークを用いる必要なしに、判定対象に関するサンプリングデータの時系列データの一部に特徴がある場合に対応できる。
【0098】
図8は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
図8に示す構成において、コンピュータ700は、CPU(Central Processing Unit、中央処理装置)710と、主記憶装置720と、補助記憶装置730と、インタフェース740とを備える。
【0099】
上記の判定装置100、および、判定装置610のうち何れか1つ以上またはその一部が、コンピュータ700に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。また、CPU710は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置720に確保する。各装置と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。
【0100】
判定装置100がコンピュータ700に実装される場合、サンプリングデータ取得部110、基準時間ステップ特定部120、状態変化部130、状態記憶部140、および、判定部150の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0101】
また、CPU710は、プログラムに従って、状態記憶部140など判定装置100の処理のための記憶領域を主記憶装置720に確保する。判定装置100と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。判定装置100とユーザとのインタラクションは、インタフェース740が表示装置および入力デバイスを備え、CPU710の制御に従って各種画像の表示を行い、ユーザ操作を受け付けることで実行される。
【0102】
判定装置610がコンピュータ700に実装される場合、状態変化部611、基準時間ステップ特定部612、および、判定部613の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0103】
また、CPU710は、プログラムに従って、判定装置610の処理のための記憶領域を主記憶装置720に確保する。判定装置610と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。判定装置610とユーザとのインタラクションは、インタフェース740が表示装置および入力デバイスを備え、CPU710の制御に従って各種画像の表示を行い、ユーザ操作を受け付けることで実行される。
【0104】
なお、判定装置100、および、判定装置610が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)などのソフトウェアや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムのプリインストールプログラムとの組み合わせで実現できる差分プログラム(差分ファイル)であってもよい。
【0105】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明は添付した特許請求の範囲に定義される要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0106】
本発明は、判定装置、判定方法および記録媒体に適用してもよい。
【符号の説明】
【0107】
1 演算システム
100、610 判定装置
110 サンプリングデータ取得部
120、612 基準時間ステップ特定部
130、611 状態変化部
140 状態記憶部
150、613 判定部
210 学習制御部
910 トリガ信号生成部
920 判定対象
図1
図2
図3
図4
図5
図6
図7
図8