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

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

▶ ビュノ インコーポレイテッドの特許一覧

<>
  • 特表-生体信号分析方法 図1
  • 特表-生体信号分析方法 図2
  • 特表-生体信号分析方法 図3
  • 特表-生体信号分析方法 図4
  • 特表-生体信号分析方法 図5
  • 特表-生体信号分析方法 図6
  • 特表-生体信号分析方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-16
(54)【発明の名称】生体信号分析方法
(51)【国際特許分類】
   A61B 5/346 20210101AFI20240409BHJP
   G06N 3/0455 20230101ALI20240409BHJP
【FI】
A61B5/346
G06N3/0455
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023565345
(86)(22)【出願日】2021-11-09
(85)【翻訳文提出日】2023-10-24
(86)【国際出願番号】 KR2021016200
(87)【国際公開番号】W WO2022255564
(87)【国際公開日】2022-12-08
(31)【優先権主張番号】10-2021-0071364
(32)【優先日】2021-06-02
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】520047532
【氏名又は名称】ビュノ インコーポレイテッド
【氏名又は名称原語表記】VUNO, INC.
【住所又は居所原語表記】9F, 479, Gangnam-daero, Seocho-gu, Seoul 06541 REPUBLIC OF KOREA
(74)【代理人】
【識別番号】110002789
【氏名又は名称】弁理士法人IPX
(72)【発明者】
【氏名】ペ・ウン
(72)【発明者】
【氏名】テ・ユンウォン
【テーマコード(参考)】
4C127
【Fターム(参考)】
4C127AA02
4C127BB03
4C127GG16
4C127JJ03
(57)【要約】
本開示の一実施形態によって、コンピューティングデバイスによって実行される生体信号分析方法が開示される。前記方法は、複数のリード(lead)から少なくとも一つのリード別生体信号を獲得する段階;および前記獲得された少なくとも一つのリード別生体信号をニューラルネットワークモデルに入力して分析値を導出する段階;を含むことができる。
【特許請求の範囲】
【請求項1】
少なくとも一つのプロセッサを含むコンピューティングデバイスによって実行される生体信号分析方法であって、
複数のリード(lead)から少なくとも一つのリード別生体信号を獲得する段階;および
前記獲得された少なくとも一つのリード別生体信号をニューラルネットワークモデルに入力して分析値を導出する段階;
を含み、
前記分析値は、前記複数のリードから獲得可能なリード別生体信号の組合に関係なく、前記入力された少なくとも一つのリード別生体信号に基づいて、前記複数のリードの間の相関関係(correlation)が反映されて導出される、
方法。
【請求項2】
請求項1において、
前記分析値を導出する段階は、
前記ニューラルネットワークモデルを用いて、前記獲得された少なくとも一つのリード別生体信号に対する特徴値を抽出する段階;
前記ニューラルネットワークモデルを用いて、前記抽出された特徴値に前記生体信号が獲得されたリードの位置情報をエンコード(encoding)する段階;および
前記ニューラルネットワークモデルを用いて、前記リードの位置情報がエンコードされた特徴値に基づいて、前記複数のリードの間の相関関係が反映された分析値を導出する段階;
を含む、
方法。
【請求項3】
請求項2において、
前記リードの位置情報がエンコードされた特徴値に基づいて、前記複数のリードの間の相関関係が反映された分析値を導出する段階は、
前記ニューラルネットワークモデルを用いて、前記リードの位置情報がエンコードされた特徴値に基づいて、前記複数のリードの間の相関関係を反映するための自己注意(self-attention)に基づく演算を実行する段階;および
前記ニューラルネットワークモデルを用いて、前記自己注意に基づく演算結果に基づいて前記分析値を導出する段階;
を含む、
方法。
【請求項4】
請求項3において、
前記複数のリードの間の相関関係を反映するための自己注意に基づく演算を実行する段階は、
前記ニューラルネットワークモデルを用いて、前記リードの位置情報がエンコードされた特徴値に基づいて、前記複数のリードの間の相関関係を示すためのマトリックスを生成する段階;および
前記ニューラルネットワークモデルを用いて、前記マトリックスに基づいて前記自己注意に基づく演算結果を導出する段階;
を含む、
方法。
【請求項5】
請求項4において、
前記リードの位置情報がエンコードされた特徴値に基づいて、前記複数のリードの間の相関関係を示すためのマトリックスを生成する段階は、
前記ニューラルネットワークモデルを用いて、前記リードの位置情報がエンコードされた特徴値に基づいて、クエリー(query)ベクトル、キー(key)ベクトル、およびバリュー(value)ベクトルを生成する段階;および
前記ニューラルネットワークモデルを用いて、前記クエリーベクトルおよび前記キーベクトルに基づいて、マルチ-ヘッド(multi-head)マトリックスを生成する段階;
を含む、
方法。
【請求項6】
請求項5において、
前記マトリックスに基づいて、前記自己注意に基づく演算結果を導出する段階は、
前記ニューラルネットワークモデルを用いて、前記マルチ-ヘッドマトリックスに基づいて、前記バリューベクトルの加重和(weighted sum)を導出する段階;
を含む、
方法。
【請求項7】
請求項5において、
前記クエリーベクトルおよび前記キーベクトルに基づいて、前記マルチ-ヘッドマトリックスを生成する段階は、
前記マルチ-ヘッドマトリックスの前記生体信号を獲得できなかったリードに対応する行列値をマスキング(masking)する段階;
を含む、
方法。
【請求項8】
請求項7において、
前記マスキングは、
前記マルチ-ヘッドマトリックスの行列値を0に処理する、
方法。
【請求項9】
請求項1において、
前記ニューラルネットワークモデルは、
複数のリード全体で獲得されたリード別生体信号に基づいて生成された、そして前記複数のリードの間の相関関係を示すためのマトリックスを任意にマスキングすることにより事前学習される、
方法。
【請求項10】
コンピュータ判読可能な記録媒体に記録されたコンピュータプログラムであって、前記コンピュータプログラムは、一つ以上のプロセッサで実行される場合、生体信号を分析するための以下の動作を実行するようにし、前記動作は:
複数のリード(lead)から少なくとも一つのリード別生体信号を獲得する動作;および
前記獲得された少なくとも一つのリード別生体信号をニューラルネットワークモデルに入力して、分析値を導出する動作;
を含み、
前記分析値は、前記複数のリードから獲得可能なリード別生体信号の組合に関係なく、前記入力された少なくとも一つのリード別生体信号に基づいて、前記複数のリードの間の相関関係(correlation)が反映されて導出される、
コンピュータ判読可能な記録媒体に記録されたコンピュータプログラム。
【請求項11】
生体信号を分析するコンピューティングデバイスであって、
少なくとも一つのコアを含むプロセッサ;
前記プロセッサで実行可能なプログラムコードを含むメモリ;および
複数のリード(lead)から少なくとも一つのリード別生体信号を獲得するネットワーク部;
を含み、
前記プロセッサは、
前記獲得された少なくとも一つのリード別生体信号をニューラルネットワークモデルに入力して分析値を導出し、
前記分析値は、前記複数のリードから獲得可能なリード別生体信号の組合に関係なく、前記入力された少なくとも一つのリード別生体信号に基づいて、前記複数のリードの間の相関関係(correlation)が反映されて導出される、
装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生体信号の分析方法に関し、より具体的には、ディープラーニングに基づいて、多様な組合の非同期化(asynchronous)生体信号を分析する方法に関する。
【背景技術】
【0002】
スマートヘルスケアは、個人の健康と医療に関する情報、機器、システム、およびプラットフォームなどを扱う産業分野である。スマートヘルスケアは、人の体で生成される多様な生体信号をセンサによって収集して分析することにより、個人に適切な健康管理方法或は個人向け医療案内を提供することを目的とする。したがって、スマートヘルスケア環境では生体信号をどのように確保して、どのように分析するかが重要なイシューの一つである。
【0003】
スマートヘルスケア環境で活用される代表的な生体信号の一つは、心電図信号である。スマートヘルスケア環境で心電図信号は、多様なリード(lead)の組合によって非同期化(asynchronous)された状態で獲得される。従来には、それぞれの組合ごとに独立的なディープラーニングモデルを構築して心電図信号を分析して来た。例えば、12個のリードの組合によって心電図信号が獲得されると仮定すれば、4095個の心電図信号の組合が存在し得る。よって、12個のリードの組合によって心電図信号を獲得する場合、従来の方式によれば、それぞれの組合ごとに独立的な4095個のディープラーニングモデルが必要になるしかない。すなわち、従来の方式は各リードの組合に対応するディープラーニングモデルが個別的に必要となるため、リードの組合の数が増加するにつれて、心電図信号の分析のための演算費用(cost)が増加するしかないという問題を抱えている。
【0004】
米国登録特許第16-827812号(2020.11.12)は、単一リードECGを用いて心房細動を分類する方法について開示する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、前述の背景技術に対応して案出されたものであり、多様な組合の非同期化(asynchronous)生体信号を単一モデルを通じて分析することによって、多様な組合の非同期化生体信号の中で一部だけ存在しても所望の分析値を導出することができる方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
前述したような課題を解決するための本開示の一実施形態によって、コンピューティングデバイスによって実行される生体信号分析方法が開示される。前記方法は、複数のリード(lead)から少なくとも一つのリード別生体信号を獲得する段階;および前記獲得された少なくとも一つのリード別生体信号をニューラルネットワークモデルに入力して、分析値を導出する段階;を含んでもよい。この際、前記分析値は、前記複数のリードから獲得可能なリード別生体信号の組合に関係なく、前記入力された少なくとも一つのリード別生体信号に基づいて、前記複数のリードの間の相関関係(correlation)が反映されて導出されることができる。
【0007】
代替実施形態において、前記ニューラルネットワークモデルが目標とする分析値を導出する段階は、前記ニューラルネットワークモデルを用いて、前記獲得された少なくとも一つのリード別生体信号に対する特徴値を抽出する段階;前記ニューラルネットワークモデルを用いて、前記抽出された特徴値に前記生体信号が獲得されたリードの位置情報をエンコード(encoding)する段階;および前記ニューラルネットワークモデルを用いて、前記リードの位置情報がエンコードされた特徴値に基づいて、前記複数のリードの間の相関関係が反映された分析値を導出する段階を含んでもよい。
【0008】
代替実施形態において、前記リードの位置情報がエンコードされた特徴値に基づいて、前記複数のリードの間の相関関係が反映された分析値を導出する段階は、前記ニューラルネットワークモデルを用いて、前記リードの位置情報がエンコードされた特徴値に基づいて、前記複数のリードの間の相関関係を反映するための自己注意(self-attention)に基づく演算を実行する段階;および前記ニューラルネットワークモデルを用いて、前記自己注意に基づく演算結果に基づいて前記分析値を導出する段階;を含んでもよい。
【0009】
代替実施形態において、前記複数のリードの間の相関関係を反映するための自己注意に基づく演算を実行する段階は、前記ニューラルネットワークモデルを用いて、前記リードの位置情報がエンコードされた特徴値に基づいて前記複数のリードの間の相関関係を示すためのマトリックス(matrix)を生成する段階;および前記ニューラルネットワークモデルを用いて、前記マトリックスに基づいて前記自己注意に基づく演算結果を導出する段階;を含んでもよい。
【0010】
代替実施形態において、前記リードの位置情報がエンコードされた特徴値に基づいて、前記複数のリードの間の相関関係を示すためのマトリックスを生成する段階は、前記ニューラルネットワークモデルを用いて、前記リードの位置情報がエンコードされた特徴値に基づいて、クエリー(query)ベクトル、キー(key)ベクトル、およびバリュー(value)ベクトルを生成する段階;および前記ニューラルネットワークモデルを用いて、前記クエリーベクトルおよび前記キーベクトルに基づいて、マルチ-ヘッド(multi-head)マトリックスを生成する段階;を含んでもよい。
【0011】
代替実施形態において、前記マトリックスに基づいて前記自己注意に基づく演算結果を導出する段階は、前記ニューラルネットワークモデルを用いて、前記マルチ-ヘッドマトリックスに基づいて、前記バリューベクトルの加重和(weighted sum)を導出する段階;を含んでもよい。
【0012】
代替実施形態において、前記クエリーベクトルおよび前記キーベクトルに基づいてマルチ-ヘッドマトリックスを生成する段階は、前記マルチ-ヘッドマトリックスの前記生体信号を獲得できなかったリードに対応する行列値をマスキング(masking)する段階を含んでもよい。
【0013】
代替実施形態において、前記マスキングは、前記マルチ-ヘッドマトリックスの行列値を0に処理してもよい。
【0014】
代替実施形態において、前記ニューラルネットワークモデルは、複数のリード全体で獲得されたリード別生体信号に基づいて生成された、前記複数のリードの間の相関関係を示すためのマトリックスを任意にマスキングすることにより事前学習されてもよい。
【0015】
前述のような課題を実現するための本開示の一実施形態によって、コンピュータ判読可能な記録媒体に記録されたコンピュータプログラムが開示される。前記コンピュータプログラムは、一つ以上のプロセッサで実行される場合、生体信号を分析するための以下の動作を実行するようにし、前記動作は:複数のリードから少なくとも一つのリード別生体信号を獲得する動作;および前記獲得された少なくとも一つのリード別生体信号をニューラルネットワークモデルに入力して、分析値を導出する動作;を含んでもよい。この際、分析値は、前記複数のリードから獲得可能なリード別生体信号の組合に関係なく、前記入力された少なくとも一つのリード別生体信号に基づいて、前記複数のリードの間の相関関係(correlation)が反映されて導出されてもよい。
【0016】
前述のような課題を実現するための本開示の一実施形態によって、生体信号を分析するコンピューティングデバイスが開示される。前記装置は、少なくとも一つのコアを含むプロセッサ;前記プロセッサで実行可能なプログラムコードを含むメモリ;および複数のリードから少なくとも一つのリード別生体信号を獲得するネットワーク部;を含み、前記プロセッサは、前記獲得された少なくとも一つのリード別生体信号をニューラルネットワークモデルに入力して、分析値を導出することができる。この際、前記分析値は、前記複数のリードから獲得可能なリード別生体信号の組合に関係なく、前記入力された少なくとも一つのリード別生体信号に基づいて、前記複数のリードの間の相関関係(correlation)が反映されて導出されてもよい。
【発明の効果】
【0017】
本開示は、多様な組合の非同期化(asynchronous)生体信号を単一モデルを通じて分析することによって、多様な組合の非同期化生体信号のうち一部のみ存在しても所望の分析値を導出することができる方法を提供することができる。
【図面の簡単な説明】
【0018】
図1】本開示の一実施形態による生体信号を分析するためのコンピューティングデバイスのブロック構成図である。
図2】本開示の一実施形態によるニューラルネットワークを示した概路図である。
図3】本開示の一実施形態によるコンピューティングデバイスの生体信号分析過程を示したブロック構成図である。
図4】本開示の一実施形態によるニューラルネットワークモデルの構造を示した概念図である。
図5】本開示の一実施形態による生体信号の分析方法を示したフロチャートである。
図6】本開示の一実施形態による心電図信号の分析方法を示したフロチャートである。
図7】本開示の一実施形態によるコンピューティング環境の概路図である。
【発明を実施するための最良の形態】
【0019】
多様な実施例について以下に図面を参照用いて説明する。本明細書において多様な説明が本開示に対する理解を容易にするために示される。しかし、かかる実施例がかかる具体的な説明がなくても実施されることが可能であることは自明である。
本明細書において、「コンポーネント」、「モジュール」、「システム」等の用語は、コンピューター関連エンティティ、ハードウェア、ファームウェア、ソフトウェア、ソフトウェアとハードウェアとの組み合わせ、又はソフトウェアの実行を指す。例えば、コンポーネントは、プロセッサー上で実行される処理手順(procedure)、プロセッサー、オブジェクト、実行スレッド、プログラム、及び/又はコンピューターになり得るが、これらに限定されるものではない。例えば、コンピューティング装置で実行されるアプリケーションとコンピューティング装置は、両方ともコンポーネントになり得る。1つ以上のコンポーネントは、プロセッサー及び/又は実行スレッドの中に常駐することが可能である。1つのコンポーネントは、1つのコンピューターの中でローカル化されることが可能である。1つのコンポーネントは、2つ以上のコンピューターに配分されることが可能である。また、このようなコンポーネントは、その内部に保存されている多様なデータ構造を有する多様なコンピューター可読媒体において実行することが可能である。コンポーネントは、例えば1つ以上のデータパケットを含む信号(例えば、ローカルシステムや分散システムにおいて他のコンポーネントと相互作用する1つのコンポーネントからのデータ及び/又は信号を用いて、他のシステムと、インターネットのようなネットワークを介して伝送されるデータ)を用いてローカル及び/又は遠隔処理等を通じて通信することが可能である。
【0020】
なお、用語「又は」は、排他的な「又は」ではなく、内包的な「又は」を意味する意図で使われる。つまり、特に特定されておらず、文脈上明確ではない場合、「Xは、A又はBを利用する」は、自然な内包的置換のうち1つを意味するものとする。つまり、XがAを利用したり;XがBを利用したり;又はXがA及びBの両方を利用する場合、「XはA又はBを利用する」は、これらのいずれにも当てはまるとすることが可能である。また、本明細書における「及び/又は」という用語は、取り挙げられた複数の関連アイテムのうち、1つ以上のアイテムの可能なすべての組み合わせを指し、含むものと理解されるべきである。
【0021】
また、述語としての「含む(含める)」及び/又は修飾語としての「含む(含める)」という用語は、当該特徴及び/又は構成要素が存在することを意味するものと理解されるべきである。ただし、述語としての「含む(含める)」及び/又は修飾語として「含む(含める)」という用語は、1つ以上の他のさらなる特徴、構成要素及び/又はこれらのグループの存在又は追加を排除しないものと理解されるべきである。また、特に数が特定されていない場合や、単数の形を示すことが文脈上明確でない場合、本明細書と請求範囲において単数は、一般的に「1つ又はそれ以上」を意味するものと解釈されるべきである。
【0022】
そして、「A又はBのうち少なくとも1つ」という用語については、「Aだけを含む場合」、「Bだけを含む場合」、「AとBの組み合わせの場合」を意味するものと解釈されるべきである。
【0023】
当業者は、さらに、ここに開示されている実施例に係るものとして説明された多様な例示的論理的ブロック、構成、モジュール、回路、手段、ロジック及びアルゴリズム段階が、電子ハードウェア、コンピューターソフトウェア、又はその両方の組み合わせによって実現されることが可能であることを認識すべきである。ハードウェアとソフトウェアとの相互交換性を明確に例示するために、多様な例示的コンポーネント、ブロック、構成、手段、ロジック、モジュール、回路及び段階が、それらの機能性の側面で一般的に上述された。そのような機能性がハードウェアとして実装されるか或いはソフトウェアとして実装されるかは、全般的なシステムに係る特定のアプリケーション(application)及び設計制限によって決まる。熟練した技術者は、個々の特定アプリケーションのために多様な方法で説明された機能性を実現することが可能である。ただし、そのような実現に係る決定が本開示内容の領域を逸脱するものと解釈されてはならない。
【0024】
ここに示す実施例に係る説明は、本開示の技術分野において通常の知識を持つ者が本発明を利用したり、又は実施できるように提供される。このような実施例に対する多様な変形は、本開示の技術分野において通常の知識を持つ者には明確に理解できるものである。ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることが可能である。従って、本発明はここに示す実施例だけに限定されるものではない。本発明はここに示す原理及び新規な特徴と一貫する最広義の範囲で解釈されるべきである。
【0025】
本開示において、ネットワーク関数、人工神経回路網及びニューラルネットワーク(neural network)は、相互置換可能に用いることが可能である。
【0026】
図1は、本開示の一実施形態による生体信号を分析するためのコンピューティングデバイスのブロック構成図である。
【0027】
図1に図示されたコンピューティング装置(100)の構成は、簡略化して示した例示に過ぎない。本開示の一実施例において、コンピューター装置(100)には、コンピューター装置(100)のコンピューティング環境を実装するための他の構成が含まれることが可能であり、開示されている構成のうち一部だけでコンピューター装置(100)を構成することも可能である。
【0028】
コンピューター装置(100)は、プロセッサー(110)、メモリー(130)、ネットワーク部(150)を含むことができる。
【0029】
本開示の一実施例において、プロセッサー(100)は、1つ以上のコアで構成されることが可能であり、コンピューティング中央処理装置(CPU:central processing unit)、汎用グラフィック処理装置(GPGPU:general purpose graphics processing unit)、テンサー処理装置(TPU:tensor processing unit)等のデータ分析、ディープラーニングのためのプロセッサーを含むことができる。プロセッサー(110)は、メモリー(130)に保存されたコンピュータープログラムを読み取り、本開示の一実施例における機械学習のためのデータ処理を実行することができる。本開示の一実施例に基づき、プロセッサー(110)は、ニューラルネットワークの学習のための演算を行うことができる。プロセッサー(110)は、ディープラーニング(DL:deep learning)において、学習のための入力データの処理、入力データからのフィーチャーの抽出、誤差計算、逆伝播(backpropagation)を利用したニューラルネットワークの重みの更新等のニューラルネットワークの学習のための計算を実行することができる。
【0030】
プロセッサー(110)のCPUとGPGPUとTPUとのうち、少なくとも1つが、ネットワーク関数の学習を処理できる。例えば、CPUとGPGPUとがともにネットワーク関数の学習やネットワーク関数を利用したデータの分類を行うことができる。なお、本開示の一実施例において、複数のコンピューティング装置のプロセッサーを一緒に使ってネットワーク関数の学習やネットワーク関数を利用したデータ分類を行うことができる。また、本開示の一実施例における、コンピューティング装置において実行されるコンピュータープログラムは、CPU、GPGPU又はTPUで実行可能なプログラムになり得る。
【0031】
本開示の一実施形態によれば、プロセッサ110は、複数のリード(lead)から獲得された生体信号に基づいて、生体信号を分析するためのニューラルネットワークモデルを学習させることができる。プロセッサ110は、複数のリードそれぞれに対応するリード別生体信号に基づいて、複数のリードの間の相関関係(correlation)が反映された分析値を導出するように、ニューラルネットワークモデルを学習させることができる。例えば、プロセッサ110は 12個のリードから獲得された生体信号を一つのニューラルネットワークモデルに入力させることができる。プロセッサ110は、12個のリードから獲得された生体信号を受けたニューラルネットワークモデルが12個のリードの間の相関関係を反映した心筋梗塞(myocardial infarction、MI)などのような心血管疾患の予測値を導出するように、ニューラルネットワークモデルを学習させることができる。このように、一つのニューラルネットワークモデルが12個のリードの間の相関関係を反映して心血管疾患の予測値を導出するように学習される場合、12個のリードからすべての生体信号が獲得されず、その中の一部だけの生体信号が獲得されてもニューラルネットワークモデルは心血管疾患の予測値を正確に導出することができる。すなわち、12個のリードから獲得可能なすべての組合の場合の数を考慮してモデルを個別的に構築しなくても、プロセッサ110は、前述のように、リードの間の相関関係を反映する学習を通じて構築された単一モデルで正確な分析を実行することができる。
【0032】
プロセッサ110は、前述のように事前学習されたニューラルネットワークモデルを用いて、多様な組合の非同期化(asynchronous)生体信号の間の相関関係が反映された分析値を導出することができる。プロセッサ110は、事前学習されたニューラルネットワークモデルによって、複数のリードから獲得された少なくとも一つのリード別生体信号に基づいて被検者(subject)に対する分析結果を導出することができる。すなわち、プロセッサ110は、前述のように、事前学習されたニューラルネットワークモデルによって、ニューラルネットワークモデルの学習に用いられた複数のリードそれぞれからどんな組合のリード別生体信号が獲得されてもニューラルネットワークモデルが目標とする分析値を正確に導出することができる。言い替えれば、プロセッサ110は、どんな組合の生体信号が入力されても事前学習された一つのニューラルネットワークモデルによって生体信号が獲得されたリードの間の相関関係を反映して、使用者が所望の分析値を正確に導出することができる。例えば、プロセッサ110は 12個のリードから獲得された生体信号のうち一部の組合を事前学習されたニューラルネットワークモデルに入力させることができる。プロセッサ110は、事前学習されたニューラルネットワークモデルによって12個のリードから獲得されたリード別生体信号のうち一部の組合に基づいて心筋梗塞などのような心血管疾患の予測値を導出することができる。すなわち、プロセッサ110は、12個のリードから獲得されたリード別生体信号全体ではない一部組合のみ確保した状態でも一つのニューラルネットワークモデルによって12個のリードの間の相関関係を反映して、心血管疾患の予測値を正確に導出することができる。また、プロセッサ110は、リードの間の相関関係を反映する学習を通じて構築された単一モデルを用いることによって、コンピューティングソースを軽量化して、コンピューティングソースの動作または演算に必要な費用を大幅に減少させることができる。
【0033】
本開示の一実施形態によれば、メモリ130は、プロセッサ110が生成したり決めたいずれの形態の情報およびネットワーク部150が受信したいずれの形態の情報を保存することができる。
【0034】
本開示の一実施例において、メモリー(130)は、フラッシュメモリータイプ(flash memory type)、ハードディスクタイプ(hard disk type)、マルチメディアカードマイクロタイプ(multimedia card micro type)、カードタイプのメモリー(例えばSD又はXDメモリー等)、ラム(Random Access Memory、RAM)、SRAM(Static Random Access Memory)、ロム(Read-Only Memory、ROM)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、PROM(Programmable Read-Only Memory)、磁気メモリー、磁気ディスク、光ディスクのうち少なくとも1つのタイプの保存媒体を含むことができる。コンピューティン装置(100)は、インターネット(internet)上で前記メモリー(130)の保存機能を実行するウェブストレージ(web storage)と連携して動作することも可能である。前述のメモリーに係る記述は、例示に過ぎず、本開示はこれらに限定されない。
【0035】
本開示において、ネットワーク部(150)は、任意の形態の有・無線通信システムを利用することが可能である。
【0036】
ネットワーク部150は、心電図信号を信号測定システムから受信することができる。この際、信号測定システムは、心電図信号の測定、格納、加工などが可能なすべての装置を含むシステムに理解されてもよい。例えば、信号測定システムは、被検者(subject)の体に接触可能なリードを含む携帯型心電図測定装置、携帯用心電図測定装置と連動可能なデータベースサーバなどを含んでもよい。ネットワーク部150は、携帯型心電図測定装置との通信によって2つ以上の多様な組合を有する複数のリードを通じて測定された少なくとも一つのリード別生体信号を獲得することができる。ネットワーク部150は、携帯型心電図測定装置によって予め測定されて、データベースサーバに格納された生体信号をデータベースサーバとの通信によって受信することもできる。前述した記載は一つの例示に過ぎないため、当業者が理解可能な範疇内で多様な経路または方式によって、ネットワーク部150は生体信号を獲得することができる。
【0037】
また、ネットワーク部150は、プロセッサ110によって処理された情報、使用者インターフェースなどを他の端末との通信を通じて送受信することができる。例えば、ネットワーク部150は、プロセッサ110によって生成された使用者インターフェースをクライアント(e.g.使用者端末)に提供することができる。また、ネットワーク部150は、クライアントに印加された使用者の外部入力を受信してプロセッサ110に伝達することができる。この際、プロセッサ110は、ネットワーク部150から伝達された使用者の外部入力に基づいて使用者インターフェースを通じて提供される情報の出力、修正、変更、追加などの動作を処理することができる。
【0038】
一方、本開示の一実施形態によるコンピューティングデバイス100は、クライアントと通信を通じて情報を送受信するコンピューティングシステムとして、サーバを含んでもよい。この際、クライアントは、サーバにアクセス可能ないずれの形態の端末であってもよい。例えば、サーバであるコンピューティングデバイス100は、信号測定システムから心電図信号を受信して心血管疾患を予測し、予測された結果を含む使用者インターフェースを使用者端末に提供することができる。この際、使用者端末は、サーバであるコンピューティングデバイス100から受信した使用者インターフェースを出力し、使用者との相互作用によって情報を受けたり処理することができる。
【0039】
使用者端末は、サーバであるコンピューティングデバイス100から伝達される心電図信号の分析情報(e.g.心血管疾患の予測情報など)を提供するために提供された使用者インターフェースを表示することができる。別途に図示しなかったが、使用者端末は、コンピューティングデバイス100から使用者インターフェースを受信するネットワーク部、少なくとも一つのコアを含むプロセッサ、メモリ、使用者インターフェースを提供する出力部、および使用者から印加された外部入力を受信する入力部を含んでもよい。
【0040】
追加的な実施形態において、コンピューティングデバイス100は、いずれのサーバで生成されたデータリソースを受けて追加的な情報処理を実行するいずれの形態の端末を含んでもよい。
【0041】
図2は、本開示の一実施形態によるニューラルネットワークを示した概路図である。
【0042】
本開示の一実施形態によるニューラルネットワークモデルは、生体信号の特徴値の抽出、リードの間の相関関係を示すマトリックス(matrix)生成などのためのニューラルネットワークを含んでもよい。
【0043】
本明細書の全体を通して、演算モデル、神経回路網、ネットワーク関数、ニューラルネットワーク(neural network)は、同一の意味で用いることができる。神経回路網は、一般的にノードと呼ばれる相互連結された計算単位の集合で構成されることが多い。このようなノードは、ニューロン(neuron)と称することもできる。神経回路網は、少なくとも1つ以上のノードを含めて構成される。神経回路網を構成するノード(またはニューロン)は1つ以上のリンクによって相互連結されることが可能である。
神経回路網において、リンクを介して繋がっている1つ以上のノードは、相対的に入力ノード及び出力ノードの関係を形成することができる。入力ノード及び出力ノードの概念は相対的なものであり、あるノードに対して出力ノードとなる任意のノードは、他のノードとの関係においては入力ノードになり得るが、その逆も成立する。前述のように、入力ノードと出力ノードとの関係はリンクを中心にして成立することができる。1つの入力ノードに1つ以上の出力ノードがリンクを介して繋がることができ、その逆も成立する。
【0044】
1つのリンクを介して繋がっている入力ノード及び出力ノードの関係において、出力ノードのデータは入力ノードに入力されたデータに基づきその値が決められることが可能である。ここで入力ノードと出力ノードとを相互連結するノードは加重値(weight)を持つことができる。加重値は可変的なものになり得るが、神経回路網が所望の機能を行うために、利用者またはアルゴリズムによって変わることが可能である。例えば、1つの出力ノードに1つ以上の入力ノードが各リンクによって相互連結されている場合、出力ノードは前記出力ノードに繋がっている入力ノードに入力された値及び各入力ノードに対応するリンクに設定された加重値に基づき出力ノードの値を決定することができる。
前述のように、神経回路網は、1つ以上のノードが1つ以上のリンクを介して相互連結され神経回路網の中で入力ノードと出力ノードの関係を形成する。神経回路網において、ノードとリンクの数及びノードとリンクとの間の相関関係、各リンクに付与された加重値の値によって、神経回路網の特性が決まることが可能である。例えば、同数のノード及びリンクが存在し、リンクの加重値の値がそれぞれ異なる2つの神経回路網が存在する場合、その2つの神経回路網を、相異なるものと認識することができる。
【0045】
神経回路網は、1つ以上のノードの集合で構成することができる。神経回路網を構成するノードの部分集合は、レイヤー(layer)を構成できる。神経回路網を構成する複数のノードのうち一部は、第1入力ノードからの距離に基づき、1つのレイヤー(layer)を構成することができる。例えば、第1入力ノードからの距離がnであるノードの集合は、nレイヤーを構成することができる。第1入力ノードからの距離は、第1入力ノードから当該ノードに到達するために経由しなければならないリンクの最小限の数を基に定義することができる。しかし、このようなレイヤーの定義は、説明のために任意に取り挙げたものであり、神経回路網の中におけるレイヤーの構成は、前述の説明と異なる方法で定義されることができる。例えば、ノードのレイヤーは、最終出力ノードからの距離を基に定義することもできる。
【0046】
第1入力ノードは、神経回路網の中のノードのうち、他のノードとの関係においてリンクを経由せずにデータが直接入力される1つ以上のノードを意味することができる。または、神経回路網のネットワークの中で、リンクを基準にしたノード間の関係において、リンクを介して繋がっている他の入力ノードを持たないノードを意味することができる。これと同様に、最終出力ノードは、神経回路網の中のノードのうち、他のノードとの関係において、出力ノードを持たない1つ以上のノードを意味することができる。また、ヒドンノードは、第1入力ノード及び最終出力ノードではないノードで、神経回路網を構成するノードを意味することができる。
【0047】
本開示の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードと同数で、入力レイヤーからヒドンレイヤーへと進むにつれ、ノードの数が一度減ってから、再び増加する形の神経回路網になり得る。本開示の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードの数より少なく、入力レイヤーからヒドンレイヤーへと進むにつれ、ノードの数が減少していく形の神経回路網になり得る。また、本開示の他の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードの数より多く、入力レイヤーからヒドンレイヤーへと進むにつれ、ノードの数が増加していく形の神経回路網になり得る。本開示の他の一実施例における神経回路網は、上述の神経回路網を組み合わせた形の神経回路網になり得る。
【0048】
ディープニューラルネットワーク(DNN:deep neural network、深層神経回路網)は、入力レイヤーと出力レイヤー以外に複数のヒドンレイヤーを含む神経回路網を意味することができる。ディープニューラルネットワークを利用するとデータの潜在的な構造(latent structures)を把握することができる。つまり、写真、文章、ビデオ、音声、音楽の潜在的な構造(例えば、ある物が写真に映っているか、文章の内容と感情はどのようなものなのか、音声の内容と感情はどのようなものなのか等)を把握することができる。ディープニューラルネットワークは、畳み込みニューラルネットワーク(CNN:convolutional neural network)、リカレントニューラルネットワーク(RNN;:recurrent neural network)、オートエンコーダー(auto encoder)、GAN(Generative Adversarial Networks)、制限ボルツマンマシン(RBM:restricted boltzmann machine)、深層信頼ネットワーク(DBN:deep belief network)、Qネットワーク、Uネットワーク、シャムネットワーク、敵対的生成ネットワーク(GAN:Generative Adversarial Network)等を含むことができる。前述のディープニューラルネットワークは、例示に過ぎず本開示はこれらに限定されない。
【0049】
本開示の一実施例において、ネットワーク関数は、オートエンコーダー(autoencoder)を含むこともできる。オートエンコーダーは、入力データに類似した出力データを出力するための人工神経回路網の一種になり得る。オートエンコーダーは、少なくとも1つのヒドンレイヤーを含むことができ、奇数個のヒドンレイヤーが入出力レイヤーの間に配置されることができる。各レイヤーのノード数は、入力レイヤーのノード数から、ボトルネックレイヤー(エンコード)という中間レイヤーに向かって減っていき、ボトルネックレイヤーから出力レイヤー(入力レイヤーと対称を成す)に向かって、縮小と対称する形で、拡張することもできる。オートエンコーダーは、非線形次元減少を行うことができる。入力レイヤー及び出力レイヤーの数は、入力データの前処理後に次元に対応することができる。オートエンコーダー構造において、エンコーダーに含まれたヒドンレイヤーのノードの数は、入力データから遠くなるほど減っていく構造を持つことができる。ボトルネックレイヤー(エンコーダーとデコーダーの間に位置する、ノードの数が最も少ないレイヤー)のノードの数が少なすぎる場合、十分な量の情報が伝わらない可能性があるため、特定の数以上(例えば、入力レイヤーの半分以上等)に維持されることもあり得る。
【0050】
ニューラルネットワークは、教師あり学習(supervised learning)、教師なし学習(unsupervised learning)、半教師あり学習(semi supervised learning)、または、強化学習(reinforcement learning)のうち、少なくともいずれか1つの方式で学習されることができる。ニューラルネットワークの学習は、ニューラルネットワークが特定の動作を行うための知識をニューラルネットワークに提供する過程になり得る。
【0051】
ニューラルネットワークは、出力のエラーを最小化する方向で学習されることが可能である。ニューラルネットワークの学習において、繰り返し学習データをニューラルネットワークに入力させ、学習データに関するニューラルネットワークの出力とターゲットのエラーを計算し、エラーを減らすための方向としてニューラルネットワークのエラーをニューラルネットワークの出力レイヤーから入力レイヤーの方向へ逆伝播(back propagation)してニューラルネットワークの各ノードの加重値を更新するプロセスが行われる。教師あり学習の場合、個々の学習データに正解がラベリングされている学習データを使い(つまり、ラベリングされた学習データ)、教師なし学習の場合は、個々の学習データに正解がラベリングされていない場合がある。つまり、例えばデータ分類に関する教師あり学習における学習データは、学習データの各々にカテゴリがラベリングされたデータになり得る。ラベリングされた学習データがニューラルネットワークに入力され、ニューラルネットワークの出力(カテゴリ)と学習データのラベルを比較することでエラー(error)を計算することが可能である。他の例として、データ分類に関する教師なし学習の場合、入力である学習データをニューラルネットワークの出力と比較することでエラーを計算することが可能である。計算されたエラーは、ニューラルネットワークにおいて逆方向(つまり、出力レイヤーから入力レイヤー方向)へ逆伝播され、逆伝播を通じてニューラルネットワークの各レイヤーの各ノードの連結加重値を更新することが可能である。更新される各ノードの連結加重値は、学習率(learing rate)によって変化量が決まることが可能である。入力データに対するニューラルネットワークの計算とエラーの逆伝播は、学習のサイクル(epoch)を構成することができる。学習率は、ニューラルネットワークの学習のサイクルの反復回数によって適用方式が変わることが可能である。例えば、ニューラルネットワークの学習初期においては、学習率を高くしてニューラルネットワークが早く一定のレベルの性能を確保するようにすることで効率を高め、学習の後半においては学習率を低くして精度を上げることが可能である。
【0052】
ニューラルネットワークの学習において、一般的に学習データは実際のデータ(つまり、学習されたニューラルネットワークを利用して処理しようとするデータ)の部分集合であることが可能であり、そのため学習データに係るエラーは減少するが、実際のデータに係るエラーは増加する学習サイクルが存在し得る。過剰適合(over fitting)は、このように学習データについて過度に学習したため、実際のデータにおいてエラーが増加する現象である。例えば、黄色い猫を見て猫を学習したニューラルネットワークが、黄色以外の色の猫を見ると猫であることを認識できない現象が過剰適合の一種になり得る。過剰適合は、マシンラーニングアルゴリズムのエラーを増加させる原因になり得る。このような過剰適合を防ぐために、多様な最適化方法を適用できる。過剰適合を防ぐためには、学習データを増加させる方法、正則化(regulaization)、学習の過程でネットワークのノードの一部を非活性化するドロップアウト(drop out)、バッチ正規化レイヤー(batch normalization layer)の活用等の方法を適用できる。
【0053】
図3は、本開示の一実施形態によるコンピューティングデバイスの生体信号分析過程を示したブロック構成図である。
【0054】
図3を参照すると、本開示の一実施形態によるコンピューティングデバイス100のプロセッサ110は、事前学習されたニューラルネットワークモデル200を用いて、複数のリードから多様な組合で獲得可能な少なくとも一つの生体信号に対する分析値を導出することができる。プロセッサ110は、ニューラルネットワークモデル200に複数のリードから獲得された少なくとも一つのリード別生体信号を入力して、複数のリードの間の相関関係が反映された分析値を導出することができる。すなわち、プロセッサ110は、複数のリードの間の相関関係を反映する一つのニューラルネットワークモデル200によって複数のリードから獲得可能な生体信号のすべての組合に対してニューラルネットワークモデル200が目標とする分析値を正確に導出することができる。
【0055】
例えば、プロセッサ110は、N個(Nは自然数)のリード別生体信号11、12、13をニューラルネットワークモデル200に入力することができる。この際、Nは、生体信号を獲得する複数のリードの組合によって異なってもよい。すなわち、プロセッサ110は、複数のリード全体或は一部に対応するN個のリード別生体信号11、12、13をニューラルネットワークモデル200に入力することができる。ニューラルネットワークモデル200は、第1生体信号11、第2生体信号12、および第N生体信号13を受けて、生体信号を測定した被検者の心血管疾患を予測するための分析値14を導出することができる。この際、分析値14は、生体信号を獲得するために用いられたすべてのリードの位置、種類などに対する相関関係が反映された値であってもよい。よって、生体信号を測定するための全体リードの一部のみ用いられて生体信号が獲得された場合にも、ニューラルネットワークモデル200は、全体リードの間の相関関係を反映して全体リードのうち一部に対応するリード別生体信号を分析することによって、被検者の心血管疾患を予測するための分析値を導出することができる。
【0056】
具体的には、プロセッサ110は、ニューラルネットワークモデル200によって複数のリードから獲得された少なくとも一つのリード別生体信号に対する特徴値を抽出することができる。この際、ニューラルネットワークモデル200は、特徴値を抽出するために、複数のリードから獲得されたすべてのリード別生体信号に基づいて事前学習されることができる。例えば、N個のリードそれぞれに対応するN個のすべての生体信号が獲得された場合、プロセッサ110は、ニューラルネットワークモデル200によってN個の生体信号それぞれの特徴値を抽出することができる。また、M個(Mは、Nよりも大きい自然数)のリードのうち一部の組合に対応するN個の生体信号11、12、13が獲得された場合にも、プロセッサ110は、ニューラルネットワークモデル200によってN個の生体信号それぞれの特徴値を抽出することができる。
【0057】
プロセッサ110は、ニューラルネットワークモデル200を用いて生体信号の特徴値に生体信号が獲得されたリードの位置情報をエンコード(encoding)することができる。前述のように、ニューラルネットワークモデル200によって抽出されたリード別生体信号の特徴値は、リードに関係なく生体信号が有する固有特徴を示すため、生体信号の起源を示すリードに関する情報は反映できない。そこで、プロセッサ110は、リード別生体信号の特徴値に生体信号が獲得されたリードの位置情報をエンコードすることによって、リード別生体信号の固有特徴にリードに関する情報を反映することができる。このようなエンコードは、ニューラルネットワークモデル200の最終分析値に複数のリードの間の相関関係の反映されることができるようにする事前作業に理解されてもよい。すなわち、ニューラルネットワークモデル200が複数のリードの間の相関関係を把握して、どんなリード別信号が入力されても分析を正確に実行することができるようにするために、プロセッサ110は、リード別生体信号の特徴値に当該生体信号が獲得されたリードの位置情報をエンコードすることができる。
【0058】
プロセッサ110は、ニューラルネットワークモデル200を用いてリードの位置情報がエンコードされた特徴値に基づいて、複数のリードの間の相関関係が反映された分析値を導出することができる。生体信号に対する分析値を導出するために、プロセッサ110は、ニューラルネットワークモデル200を用いて、リードの位置情報がエンコードされた生体信号の特徴値に基づいて、複数のリードの間の相関関係を生成するための演算を実行することができる。プロセッサ110は、ニューラルネットワークモデル200を用いて、演算の結果に基づいて複数のリードの間の相関関係が反映された生体信号の分析値を導出することができる。例えば、ニューラルネットワークモデル200は、リードの位置情報がエンコードされた特徴値を受けて複数のリードの間の相関関係を反映するための自己注意(self-attention)に基づく演算を実行することができる。この際、ニューラルネットワークモデル200は、自己注意に基づく演算を実行するためのトランスフォーマー(transformer)のような構造のニューラルネットワークを含んでもよい。自己注意に基づく演算を通じて、ニューラルネットワークモデル200は、リード別生体信号の特徴値にリードの位置に基づいた相関関係を定義することができる。ニューラルネットワークモデル200は、自己注意に基づく演算結果に基づいて、心血管疾患の予測のための分析値を導出することができる。このような自己注意に基づく演算を通じて複数のリードの間の相関関係が最終分析値を導出するのに反映されることによって、複数のリードからどんな組合の生体信号が入力されても(複数のリード全体ではない一部に対応する生体信号のみが入力されても)、ニューラルネットワークモデル200は正確な分析を実行することができる。前述した自己注意に基づく演算は、一つの例示に過ぎないため、複数のリードの間の相関関係を反映するための各種演算が当業者が理解可能な範疇内で適用されてもよい。
【0059】
一方、プロセッサ110は、特徴値を導出するための演算過程で生体信号を獲得できなかったリードに対する情報はマスキング(masking)することができる。プロセッサ110は、複数のリードそれぞれに対応するすべての生体信号をニューラルネットワークモデル200に入力して分析値を導出してもよいが、前述したような演算を通じて複数のリードのうち一部組合に対応する生体信号をニューラルネットワークモデル200に入力して分析値を導出してもよい。複数のリードのうち一部組合に対応する生体信号を分析に用いる場合に、生体信号を獲得できなかったリードに対する情報を処理するために、プロセッサ110は、ニューラルネットワークモデル200の演算過程で生体信号を獲得できなかったリードに対する情報をマスキングすることができる。言い替えれば、プロセッサ110は、生体信号を獲得できなかったリードに対する情報をマスキングによって表示および生成することによって、複数のリードの間の相関関係を反映するための演算を効果的に実行して分析値を生成することができる。
【0060】
例えば、12個のリードのうち、3個のリードから生体信号がそれぞれ獲得された場合、プロセッサ110は、ニューラルネットワークモデル200によって3個のリードから獲得されたリード別生体信号に対する特徴値を抽出することができる。プロセッサ110は、ニューラルネットワークモデル200によって3個のリードそれぞれの位置情報を対応する特徴値にエンコードすることができる。プロセッサ110は、ニューラルネットワークモデル200を用いて、3個のリードそれぞれの位置情報がエンコードされた生体信号の特徴値に基づいて、複数のリードの間の相関関係を生成するための演算を実行することができる。この際、プロセッサ110は、演算過程で生体信号が獲得できなかった残り9個のリードに対する情報をマスキングすることによって、最終分析値を導出するための演算結果値を生成することができる。プロセッサ110は、ニューラルネットワークモデル200によってマスキングされた情報を含む演算結果値に基づいて、被検者の心血管疾患を予測するための分析値を導出することができる。
【0061】
前記したマスキングは、ニューラルネットワークモデル200を学習させる過程で、複数のリードから獲得されたすべての生体信号に対してランダムに実行されてもよい。ニューラルネットワークモデル200を学習させる過程では、複数のリード全体で獲得されたすべてのリード別生体信号がニューラルネットワークモデル200の入力に用いられる。したがって、ニューラルネットワークモデル200の学習過程で、プロセッサ110は、複数のリード全体で獲得されたリード別生体信号を任意にマスキングする一種のランダムサンプリング(random sampling)を実行することができる。
【0062】
例えば、12個のリードから12個のリード別生体信号が獲得されて、ニューラルネットワークモデル200の学習に用いられる場合、プロセッサ110は、ニューラルネットワークモデル200の演算過程で、12個のリード別生体信号のうち一部を任意にマスキングすることができる。マスキングの対象となるリードの数字或は種類などのランダムサンプリングの条件は、学習サイクル(epoch)ごとに異なってもよい。マスキングの対象となるリードの数字或は種類などのランダムサンプリングの条件は、分析ドメインなどを考慮して、使用者によって予め決められたことによって異なってもよい。
【0063】
前述したことを考慮すれば、本開示の一実施形態によるニューラルネットワークモデル200は、複数のリードの間の相関関係を生体信号の分析過程に反映することによって、複数のリードから獲得可能なリード別生体信号の組合に関係なく目標とする分析値を導出することができる。言い替えれば、複数のリードを全体或は一部からどんな個数および組合のリード別生体信号が入力されても、ニューラルネットワークモデル200は、複数のリードの間の相関関係を反映するための演算を通じて使用者が所望の分析値(i.e.ニューラルネットワークモデル200が目標とする分析値)を導出することができる。
【0064】
図4は、本開示の一実施形態によるニューラルネットワークモデルの構造を示した概念図である。
【0065】
図4を参照すると、本開示の一実施形態によるニューラルネットワークモデルは、生体信号の特徴値を生成するための第1ニューラルネットワークA、複数のリードの間の関係性を定義するための自己注意演算を実行する第2ニューラルネットワークB、および第2ニューラルネットワークBの演算結果に基づいて最終分析値を導出する第3ニューラルネットワーク240を含んでもよい。また、本開示の一実施形態によるニューラルネットワークモデルは、第1ニューラルネットワークAによって抽出された特徴値を連結(concatenation)するための第4ニューラルネットワーク220を選択的にさらに含んでもよい。
【0066】
第1ニューラルネットワークAは、複数のリードで獲得された少なくとも一つのリード別生体信号に対する特徴値を抽出するための第1エンコーダ(encoder)、および第1エンコーダによって抽出された特徴値それぞれにリードの位置情報を含ませる第2エンコーダを含んでもよい。例えば、第1ニューラルネットワークAは、N個のリードそれぞれに対応するN個の第1エンコーダ211、212、213、214、およびN個の第2エンコーダを含んでもよい。N個の生体信号21、22、23、24が各リード別に獲得されると、N個の各リード別第1エンコーダ211、212、213、214は、N個の生体信号21、22、23、24それぞれから特徴値Xを抽出することができる。この際、第1エンコーダ211、212、213、214は、加重値を相互共有する1次元ResNetに基づくニューラルネットワークであってもよい。しかしながら、これは一つの例示に過ぎず、第1エンコーダの種類はこれに制限されず、当業者が理解可能な範疇内で多様に構成されてもよい。第1エンコーダ211、212、213、214によってリード別生体信号の特徴値Xが抽出されると、N個の第2エンコーダは、N個のリード別生体信号の特徴値Xそれぞれに対して、生体信号それぞれにマッチングされるリード別位置情報25をエンコードすることができる。この際、第2エンコーダそれぞれは、完全連結(fully connected)ニューラルネットワークを含んでもよく、リード別位置情報を特定数字コードで特徴値Xに含ませるエンコーダを含んでもよい。
【0067】
第2ニューラルネットワークBは、第1ニューラルネットワークAによってエンコードされたリード別生体信号の特徴値に基づいて、全体リードの相関関係を示すための自己注意に基づく演算を実行することができる。この際、第2ニューラルネットワークBは、自己注意に基づく演算を実行するための少なくても一つのニューラルネットワークを含んでもよい。第2ニューラルネットワークBに含まれるニューラルネットワークの数が増加するほど、第2ニューラルネットワークBの深み(depth)がさらに深くなり得る。例えば、L個(Lは自然数)のマルチニューラルネットワークを含む第2ニューラルネットワークBは、リードの位置情報がエンコードされたリード別生体信号の特徴値
に基づいて、N個のリードの間の相関関係を示すためのマトリックスを生成することができる。この際、特徴値
は、第4ニューラルネットワーク220によって互いに連結された値であってもよい。第2ニューラルネットワークBは、リードの位置情報がエンコードされた生体信号の特徴値
に基づいて、クエリー(query)ベクトル231、キー(key)ベクトル232、およびバリュー(value)ベクトル233を生成することができる。第2ニューラルネットワークBは、特徴値
を完全連結ニューラルネットワークに基づくクエリー(Q)、キー(K)、およびバリュー(V)の形態でベクトル空間上に射影(projection)することによって、N個のリードの間の相関関係を示すマトリックスを作るためのベクトル231、232、233を生成することができる。第2ニューラルネットワークBは、クエリーベクトル231およびキーベクトル232に基づいて、マルチ-ヘッド(multi-head)マトリックス26を生成することができる。マルチ-ヘッドマトリックス26は、N個のリードの間の位置に基づいた相関関係を表現する自己注意に基づくマトリックスに理解されてもよい。ここで、マルチ-ヘッドは、単一ヘッド或は複数のヘッドを全部包括する用語に理解されてもよい。具体的には、第2ニューラルネットワークBは、H個(Hは自然数)のマルチ-ヘッドによってクエリーベクトル231、キーベクトル232、およびバリューベクトル233を生成することができる。第2ニューラルネットワークBは、H個のマルチ-ヘッドによって生成されたクエリーベクトル231およびキーベクトル232に基づいてH個のマルチ-ヘッドマトリックス26を生成することができる。マルチ-ヘッドマトリックスを生成するために、2個のヘッド(i.e.Hは2)が用いられると仮定すると、一つのヘッドはシングル(single)リード基準でリードの間の相関関係を把握するのに用いられることができる。残りヘッドは、2個のリードの組合を基準として他のリードとの相関関係を把握するのに用いられることができる。すなわち、第2ニューラルネットワークBは、N個のリード別生体信号から抽出された特徴値Xに基づいて、一つの自己注意に基づくマトリックスを生成することができ、H個のマルチ-ヘッドによって自己注意に基づくマトリックスをH個に拡張させることができる。H個のマルチ-ヘッドマトリックス26のうち、h番目(hは、Hよりも小さい自然数)のマルチ-ヘッドマトリックスは、次の[数1]のように表現されることができる。
【数1】
【0068】
ここで、Aは、h番目の自己注意に基づくマトリックス、Qは、h番目ヘッドに対応するクエリーベクトル、Kは、h番目ヘッドに対応するキーベクトル、Nは、リードの数、Dは、特徴値の次元(dimension of features)、およびHは、ヘッドの数に理解されてもよい。ただ、[数1]を参照すると、自己注意に基づくマルチ-ヘッドマトリックスは、クエリーベクトルとキーベクトルに基づくソフトマックス(softmax)関数の演算によって生成されることに理解されてもよい。ただ、[数1]は、自己注意に基づくマトリックスを生成するための一つの例示に過ぎないため、当業者が理解可能な範疇内で自己注意に基づくマトリックスを生成するための多様な演算方式が適用されてもよい。
【0069】
一方、第2ニューラルネットワークBは、マルチ-ヘッドマトリックス26を生成する過程で、マトリックスの行列値のうち生体信号を獲得できなかったリードに対応する行列値をマスキングすることができる。この際、マスキングは、マトリックスの行列値を0に処理することに理解されてもよい。例えば、N個のリードのうち一部リードで生体信号を獲得できなかった場合、第2ニューラルネットワークBは、マトリックスで生体信号を獲得できなかったリードの行列値を0に処理するマスキングによってマトリックスのすべての行列値を定義することができる。すなわち、N個のリードのうち生体信号を獲得できなかったリードが存在しても、第2ニューラルネットワークBは、マトリックスの行列値のうち生体信号を獲得できなかったリードに対応する行列値を0に処理することによって、自己注意に基づくマルチ-ヘッドマトリックス26を生成することができる。言い替えれば、一部リードに対する生体信号を獲得できなくても生体信号に対する分析値が安定的で、正確に導出されることができるようにするのために、第2ニューラルネットワークBは、マスキング処理によってマルチ-ヘッドマトリックス26を生成することができる。
【0070】
第2ニューラルネットワークBは、前述したH個のマルチ-ヘッドマトリックス26に基づいて、自己注意に基づく演算結果を導出することができる。第2ニューラルネットワークBは、H個のマルチ-ヘッドマトリックス26に基づいて、バリューベクトル233の加重和(weighted sum)を導出することができる。すなわち、第2ニューラルネットワークBは、マルチ-ヘッドマトリックス26をバリューベクトル233の和を計算するための加重値として用いて、自己注意に基づく演算結果としてバリューベクトル233の加重和を生成することができる。例えば、h番目のマルチ-ヘッドマトリックスを利用したバリューベクトルの加重和は、次の[数2]のように表現されることができる。
【数2】
【0071】
ここで、
は、h番目のマルチ-ヘッドマトリックスを利用したバリューベクトルの加重和、Aは、h番目の自己注意に基づくマトリックス、Vは、h番目ヘッドに対応するバリューベクトル、Nは、リードの数、およびDは、特徴値の次元に理解されてもよい。[数2]を参照すると、自己注意に基づく演算結果は、自己注意に基づくマトリックスを加重値とするバリューベクトルの和を演算した結果であることに理解されてもよい。ただ、[数2]は、マトリックスを利用した自己注意に基づく演算結果を示す一つの例示に過ぎないため、当業者が理解可能な範疇内で自己注意に基づく演算結果を導出するための多様な演算方式が適用されてもよい。
【0072】
第3ニューラルネットワーク240は、第2ニューラルネットワークBによって導出された自己注意に基づく演算結果に基づいて、目標する分析値
を導出することができる。第3ニューラルネットワーク240は、第2ニューラルネットワークBの出力である自己注意に基づく演算結果を受けて生体信号に対する分析結果値
を導出することができる。例えば、第3ニューラルネットワーク240は、マトリックス26に基づいて計算されたバリューベクトル233の加重和に基づいて、被検者の心血管疾患に関する分析情報を生成することができる。この際、第3ニューラルネットワーク240は、被検者が心血管疾患を病んでいるか否かを判断したり、或いは心血管疾患が発生する確率などを予測するための分析値を出力する完全連結ニューラルネットワークであってもよい。ただ、前述した心血管疾患は、人の健康状態或は疾患に関する一つの例示に過ぎない。したがって、生体信号に対する分析に基づいて判断或は予測可能な人の健康状態或は疾患の種類は制限されることなく本開示に適用されてもよい。
【0073】
図5は、本開示の一実施形態による生体信号の分析方法を示したフロチャートである。
【0074】
図5を参照すると、S110段階で、本開示の一実施形態によるコンピューティングデバイス100は、複数のリードから少なくとも一つのリード別生体信号を獲得することができる。例えば、コンピューティングデバイス100は、スマートウォッチ(smart watch)のような携帯用測定装備に備えられた複数のリードによって測定されたリード別生体信号を携帯用測定装備との通信を通じて受信することができる。コンピューティングデバイス100は、携帯用測定装備に備えられたすべてのリードによって測定されたリード別生体信号全体を受信することができる。コンピューティングデバイス100は、測定環境、条件或はリードの測定方式などによって異なり得る多様な組合の非同期化生体信号を受信することができる。
【0075】
S120段階で、コンピューティングデバイス100は、ニューラルネットワークモデルを用いて、少なくとも一つのリード別生体信号に対する特徴値を抽出することができる。例えば、コンピューティングデバイス100は、S110段階によって獲得したリード別生体信号をニューラルネットワークモデルに入力して特徴値を抽出することができる。この際、ニューラルネットワークモデルは、携帯用測定装備に備えられた複数のリードの数に合わせて獲得された生体信号全体に基づいて事前学習されることができる。
【0076】
S130段階で、コンピューティングデバイス100は、ニューラルネットワークモデルによって少なくとも一つのリード別生体信号に対する特徴値に生体信号それぞれに対応するリードの位置情報をエンコードすることができる。コンピューティングデバイス100は、ニューラルネットワークモデルを用いて、生体信号の獲得起源に対応するリードの位置情報を相互マッチングされる特徴値にエンコードさせることができる。例えば、コンピューティングデバイス100は、S120段階を通じて生成されたリード別生体信号の特徴値にリード別に位置情報を含ませることができる。この際、リード別位置情報は、ニューラルネットワークモデルに含まれたニューラルネットワークによって特徴値に反映されてもよく、特定数字コードに変換する所定のエンコード方式によって特徴値に反映されてもよい。
【0077】
S140段階で、コンピューティングデバイス100は、ニューラルネットワークモデルによってリードの位置情報がエンコードされた特徴値に基づいて、複数のリードの間の相関関係が反映された分析値を導出することができる。例えば、S110段階によって複数のリードに対応するリード別生体信号全体ではない複数のリードの一部組合に対応するリード別生体信号の一部が受信される場合にも、コンピューティングデバイス100は、ニューラルネットワークモデルによって複数のリードの間の相関関係を反映して、所望の分析値を導出することができる。この際、ニューラルネットワークモデルは、複数のリードの間の相関関係を反映するための演算で自己注意に基づく演算を実行することができる。また、自己注意に基づく演算過程で、ニューラルネットワークモデルは、複数のリードの間の位置に基づいた関係性を作るために、リードの位置情報がエンコードされた特徴値に基づいてマトリックスを生成することができる。
【0078】
図6は、本開示の一実施形態による心電図信号の分析方法を示したフロチャートである。以下では、本開示の一実施形態によってN個のリード全体ではない一部から生体信号の一つで心電図信号を獲得する状況を仮定する。
【0079】
本開示の一実施形態によるコンピューティングデバイス100は、ニューラルネットワークモデルを用いて、リード別に獲得される心電図信号に対する特徴を抽出する動作(S210、S220、S230)、およびリード別位置情報をエンコードする動作を実行することができる。ただ、図6のように、第1リードから第1心電図信号31、第2リードから第2心電図信号32を獲得し、第Nリードから心電図信号を獲得できなかった場合、コンピューティングデバイス100は、第Nリードに対応するデータが存在しないので、S230に対応する特徴抽出動作、およびリード別位置情報をエンコードする動作を事実上実行しないことに見られる。よって、第1特徴値34および第2特徴値35とは違って、第N特徴値36は、データ値が存在しない空白データに理解されてもよい。
【0080】
ニューラルネットワークモデルが一部心電図信号31、32だけでもN個のリードの間の相関関係を反映して分析値を導出することができるように、コンピューティングデバイス100は、空白データである第N特徴値36に対するマスキング動作(S240)を実行することができる。マスキング動作(S240)によって、コンピューティングデバイス100は、ニューラルネットワークモデルを用いて、S250段階を通じて生成されるマトリックスの行列値のうち第Nリードに対応する行列値を生成することができる(S240)。コンピューティングデバイス100は、ニューラルネットワークモデルによってリード別に獲得された心電図信号に対する特徴値とマスキングされた特徴値に基づいて、マトリックスを生成することができる(S250)。すなわち、コンピューティングデバイス100は、リード別に獲得された心電図信号に対する特徴値とリードから獲得できず、マスキングされた特徴値に基づいて、ニューラルネットワークモデルのマルチ-ヘッドによってアテンションマトリックスを生成することができる。コンピューティングデバイス100は、第1リードの位置情報が反映された第1特徴値34、第2リードの位置情報が反映された特徴値35、およびマスキングされた第N特徴値に基づいてH個のヘッドの数に合わせて、第1アテンションマトリックス37、第2アテンションマトリックス38、および第Hアテンションマトリックス39を生成することができる。この際、Hは、1以上の自然数であってもよい。一方、図6ではマスキング動作(S240)がマトリックス生成過程(S250)に先行されることに表現されているが、マスキング動作は、マトリックス生成過程(S250)に含まれてもよい。
【0081】
コンピューティングデバイス100は、ニューラルネットワークモデルを用いて、第1アテンションマトリックス37、第2アテンションマトリックス38、第Hアテンションマトリックス39に基づいて、被検者の健康状態或いは疾患を判断および/または予測するための分析値40を導出することができる(S260)。例えば、分析値40は、心電図信号を測定した被検者の心血管疾患(e.g.心筋梗塞など)を判断および/または予測するための確率値を含んでもよい。
【0082】
本開示の一実施例に基づき、データ構造を保存したコンピューター可読保存媒体が開示される。
データ構造は、データに効率的なアクセスおよび修正を可能にするデータの組織、管理、保存を意味することができる。データ構造は、特定の問題(例えば、最短時間でデータ検索、データ保存、データ修正)を解決するためのデータ組織を意味することができる。データ構造は、特定のデータ処理機能をサポートするように設計されたデータ要素間の物理的または論理的な関係と定義することもできる。データ要素間の論理的な関係は、ユーザーが考えるデータ要素間の連結関係を含むことができる。データ要素間の物理的な関係は、 コンピューター可読保存媒体(例えば、ハードディスク)に物理的に保存されているデータ要素間の実際の関係を含むことができる。データ構造は具体的にデータの集合、データ間の関係、データに適用できる関数またはコマンドを含むことができる。効果的に設計されたデータ構造により、コンピューティング装置はコンピューティング装置のリソースを最小限に使用しながら計算を行うことができる。具体的にコンピューティング装置は効果的に設計されたデータ構造を通じて演算、読み取り、挿入、削除、比較、交換、検索の効率性を高めることができる。
【0083】
データ構造はデータ構造の形態によって線形データ構造と非線形データ構造に区分されることができる。線形データ構造は、一つのデータの後に一つのデータだけが連結される構造である可能性がある。線形データ構造はリスト(List)、スタック(Stack)、キュー(Queue)、デッキ(Deque)を含むことができる。リストは、内部的に順序が存在する一連のデータセットを意味することが可能である。リストは連結リスト(Linked List)を含むことができる。連結リストはそれぞれのデータがポインタを持って一列に連結されている方式でデータが連結されたデータ構造でありうる。連結リストでポインタは、次や以前のデータとの連結情報を含むことができる。連結リストは形態によって単一連結リスト、二重連結リスト、円形連結リストで表現できる。スタックは制限的にデータにアクセスできるデータリスト構造である可能性がある。スタックは、データ構造の片端でのみデータを処理(例えば、挿入または削除)できる線形データ構造である可能性がある。スタックに保存されたデータは、遅く入るほど早く出てくるデータ構造(LIFO-Last in First Out)である可能性がある。キューは制限的にデータにアクセスできるデータ羅列構造であり、スタックとは異なり遅く保存されたデータほど遅く出てくるデータ構造(FIFO-FirstinFirstOut)であることができる。デッキはデータ構造の両端でデータを処理できるデータ構造になり得る。
【0084】
非線形データ構造は、一つのデータの後に複数のデータが連結される構造である可能性がある。非線形データ構造はグラフ(Graph)データ構造を含むことができる。グラフデータ構造は頂点(Vertex)と幹線(Edge)で定義でき、幹線は互いに異なる二つの頂点を連結する線を含むことができる。グラフデータ構造ツリー(Tree)データ構造を含むことができる。ツリーデータ構造はツリーに含まれる複数の頂点のうち、互いに異なる2つの頂点を連結させる経路が一つのデータ構造になり得る。すなわち、グラフデータ構造でループ(loop)を形成しないデータ構造になり得る。
【0085】
本明細書にかけて、演算モデル、 神経回路網、ネットワーク関数、ニューラルネットワークは同じ意味で使用できる。(以下ではニューラルネットワークで統一して記述する。) データ構造はニューラルネットワークを含むことができる。そして、ニューラルネットワークを含むデータ構造は、コンピューター可読保存媒体に保存されることができる。ニューラルネットワークを含むデータ構造はまた、ニューラルネットワークに入力されるデータ、ニューラルネットワークの加重値、ニューラルネットワークのハイパーパラメータ、ニューラルネットワークから獲得したデータ、ニューラルネットワークの各ノードまたはレイヤーに関連する活性関数、ニューラルネットワークの学習のための損失関数を含むことができる。ニューラルネットワークを含むデータ構造は、前記開示された構成のうち任意の構成要素を含むことができる。すなわち、ニューラルネットワークを含むデータ構造は、ニューラルネットワークに入力されるデータ、ニューラルネットワークの加重値、ニューラルネットワークのハイパーパラメータ、ニューラルネットワークから獲得したデータ、ニューラルネットワークの各ノードまたはレイヤーに関連する活性関数、ニューラルネットワークのトレーニングのための損失関数など、全部またはこれらの任意の組み合わせを含んで構成されることができる。前述した構成以外にも、ニューラルネットワークを含むデータ構造は、ニューラルネットワークの特性を決定する任意の他の情報を含むことができる。また、データ構造は、ニューラルネットワークの演算過程で使用されたり発生するすべての形態のデータを含むことができ、前述の事項に制限されるわけではない。コンピューター可読保存媒体は、コンピューター可読記録媒体および/またはコンピューター可読伝送媒体を含むことができる。ニューラルネットワークは、一般的にノードと呼ばれる相互接続された計算単位の集合で構成されることができる。このようなノードはニューロン(neuron)と呼ばれることができる。ニューラルネットワークは、少なくとも1つ以上のノードを含んで構成される。
【0086】
データ構造は、ニューラルネットワークに入力されるデータを含むことができる。ニューラルネットワークに入力されるデータを含むデータ構造は、コンピューター可読保存媒体に保存されることができる。ニューラルネットワークに入力されるデータは、ニューラルネットワークの学習過程で入力される学習データおよび/または学習が完了したニューラルネットワークに入力される入力データを含むことができる。ニューラルネットワークに入力されるデータは、前処理(pre-processing)を経たデータおよび/または前処理対象となるデータを含むことができる。前処理はデータをニューラルネットワークに入力させるためのデータ処理過程を含むことができる。したがって、データ構造は前処理対象となるデータおよび前処理で発生するデータを含むことができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0087】
データ構造は、ニューラルネットワークの加重値を含むことができる。(本明細書で加重値、パラメータは同じ意味で使用できる。) そして、神経回路網の加重値を含むデータ構造はコンピューター可読保存媒体に保存されることができる。ニューラルネットワークは、複数の加重値を含むことができる。加重値は可変的であり、ニューラルネットワークが望む機能を遂行するために、ユーザーまたはアルゴリズムによって可変することができる。例えば、一つの出力ノードに一つ以上の入力ノードがそれぞれのリンクによって相互接続された場合、出力ノードは前記出力ノードと連結された入力ノードに入力された値及びそれぞれの入力ノードに対応するリンクに設定されたパラメータに基づいて出力ノード値を決定することができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0088】
制限ではなく例として、加重値は神経回路網学習過程で可変する加重値および/または神経回路網学習が完了した加重値を含むことができる。ニューラルネットワーク学習過程で可変される加重値は、学習サイクルが始まる時点の加重値および/または学習サイクルの間に可変される加重値を含むことができる。ニューラルネットワーク学習が完了した加重値は、学習サイクルが完了した加重値を含むことができる。したがって、ニューラルネットワークの加重値を含むデータ構造は、ニューラルネットワーク学習過程で可変される加重値および/またはニューラルネットワーク学習が完了した加重値を含むデータ構造を含むことができる。したがって、上述した加重値および/または各加重値の組み合わせは、神経回路網の加重値を含むデータ構造に含まれるものとする。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0089】
ニューラルネットワークの加重値を含むデータ構造は、直列化(serialization)過程を経た後、コンピューター可読保存媒体(例えば、メモリ、ハードディスク)に保存されることができる。直列化は、データ構造を同一または他のコンピューティングデバイスに保存し、後で再構成して使用できる形態に変換する過程である可能性がある。コンピューティングデバイスは、データ構造を直列化し、ネットワークを介してデータを送受信することができる。直列化されたニューラルネットワークの加重値を含むデータ構造は、逆直列化(deserialization)を通じて同じコンピューティング装置または他のコンピューティング装置で再構成されることができる。ニューラルネットワークの加重値を含むデータ構造は、シリアル化に限定されるものではない。さらに、神経回路網の加重値を含むデータ構造は、コンピューティング装置の資源を最小限に使用しながら演算の効率を高めるためのデータ構造(例えば、非線形データ構造で B-Tree、Trie、m-way search tree、AVLtree、Red-Black Tree)を含むことができる。前述の事項は例示に過ぎず、本開示はこれに限定されない。
【0090】
データ構造は、ニューラルネットワークのハイパーパラメータ(Hyper-parameter)を含むことができる。そして、ニューラルネットワークのハイパーパラメータを含むデータ構造は、コンピューター可読保存媒体に保存されることができる。ハイパーパラメータは、ユーザーによって可変される変数である可能性がある。ハイパーパラメータは、例えば、学習率(learning rate)、コスト関数(cost function)、学習サイクル反復回数、加重値初期化(例えば、加重値初期化対象となる加重値の範囲設定)、Hidden Unit個数(例えば、ヒドゥンレイヤーの個数、ヒドゥンレイヤーのノード数)を含むことができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0091】
図7は、本開示の実施例が具現化されることのできる例示的なコンピューティング環境に係る簡略で一般的な概略図である。
【0092】
本開示が一般的にコンピューティング装置により具現化されることができると前述されているが、当業者であれば本開示が一つ以上のコンピューター上で実行されることのできるコンピューター実行可能命令及び/またはその他のプログラムモジュールと結合して及び/またはハードウェアとソフトウェアの組み合わせとして具現化されることができるということをよく理解できるだろう。
【0093】
一般的に、本明細書におけるモジュールは、特定のタスクを実行したり特定の抽象的なデータ類型を実装するルーティン、プログラム、コンポーネント、データ構造、その他等々を含む。また、当業者なら本開示の方法がシングルプロセッサーまたはマルチプロセッサーコンピューターシステム、ミニコンピューター、メインフレームコンピューターはもちろん、パーソナルコンピューター、ハンドヘルド(handheld)コンピューティング装置、マイクロプロセッサー基盤、またはプログラム可能な家電製品、その他等々(これらは、それぞれ1つ以上の関連する装置と繋がって動作することができる)をはじめとする、他のコンピューターシステムの構成によって実施されることができることをよく理解できるだろう。
【0094】
本開示において説明された実施例は、さらに、あるタスクが通信ネットワークを通じて繋がっている遠隔処理装置によって実行される分散コンピューティング環境で実施されることができる。分散コンピューティング環境において、プログラムモジュールは、ローカルや遠隔メモリー保存装置の両方に位置することができる。
【0095】
コンピューターは、多様なコンピューター可読媒体を含む。コンピューターによってアクセス可能な媒体はいずれもコンピューター可読媒体になり得るが、このようなコンピューター可読媒体は揮発性及び非揮発性媒体、一時的(transitory)及び非一時的(non-transitory)媒体、移動式及び非-移動式媒体を含む。制限ではなく例として、コンピューター可読媒体は、コンピューター可読保存媒体及びコンピューター可読伝送媒体を含むことができる。コンピューター可読保存媒体は、コンピューター可読命令、データ構造、プログラムモジュール又はその他のデータのような情報を保存する任意の方法又は技術により実装される揮発性及び非揮発性媒体、一時的及び非-一時的媒体、移動式及び非移動式媒体を含む。コンピューター可読保存媒体は、RAM、ROM、EEPROM、フラッシュメモリーまたはその他のメモリー技術、CD-ROM、DVD(digital video disk)またはその他の光ディスク保存装置、磁気カセット、磁気テープ、磁気ディスク保存装置またはその他の磁気保存装置、またはコンピューターによってアクセスされることができ、情報を保存するのに使われることのできる任意のその他の媒体を含むが、これに限定されない。
【0096】
コンピューター可読伝送媒体は、通常、搬送波(carrier wave)またはその他の伝送メカニズム(transport mechanism)のような被変調データ信号(modulated data signal)にコンピューター可読命令、データ構造、プログラムモジュールまたはその他のデータ等を実装し、すべての情報伝達媒体を含む。被変調データ信号という用語は、信号の中で情報をエンコードするように、その信号の特性のうち1つ以上を設定または変更した信号を意味する。制限ではなく例として、コンピューター可読伝送媒体は、有線ネットワークまたは直接配線接続(direct-wired connection)のような有線媒体、そして音響、RF、赤外線、その他の無線媒体のような無線媒体を含む。前述の媒体のいずれかによる任意の組み合わせもまたコンピューター可読伝送媒体の範囲に含まれるものとする。
【0097】
コンピューター(1102)を含む本開示の多様な側面を実現する例示的な環境(1100)が示されており、コンピューター(1102)は、処理装置(1104)、システムメモリー(1106)、システムバス(1108)を含む。システムバス(1108)は、システムメモリー(1106)(これに限定されない)をはじめとするシステムコンポーネントを処理装置(1104)につなげる。処理装置(1104)は、多様な商用プロセッサーのうち任意のプロセッサーになり得る。デュエルプロセッサーとその他のマルチプロセッサーアーキテクチャもまた処理装置(1104)として利用されることができる。
システムバス(1108)は、メモリーバス、周辺装置バス、そして多様な商用バスアーキテクチャの中から、任意のものを使用するローカルバスにさらに相互連結されることのできる複数の類型のバス構造のうちいずれかになり得る。システムメモリー(1106)は、読み取り専用メモリー(ROM)(1110)やランダムアクセスメモリー(RAM)(1112)を含む。基本的な入出力システム(BIOS)は、ROM、EPROM、EEPROM等の非揮発性メモリー(1110)に保存され、このBIOSは、起動中の時等にコンピューター(1102)の中の複数の構成要素間の情報のやりとりをサポートする基本的なルーティンを含む。RAM(1112)は、またデータをキャッシュするための静的RAM等の高速RAMを含むことができる。
【0098】
コンピューター(1102)においては、また、内蔵型ハードディスクドライブ(HDD)(1114)(例えば、EIDE、SATA)―この内蔵型ハードディスクドライブ(1114)はまた適切なシャシー(図示は省略)の中で外付け型の用途で構成されることができる―、磁気フロッピーディスクドライブ(FDD)(1116)(例えば、移動式ディスケット(1118)から読み取ったりそれに書き込むためのものである)及び光ディスクドライブ(1120)(例えば、CD-ROMディスク(1122)を読み取ったり、DVD等のその他の高容量光媒体から読み取ったり、それに書き込むためのものである)を含む。ハードディスクドライブ(1114)、磁気ディスクドライブ(1116)及び光ディスクドライブ(1120)は、それぞれハードディスクドライブインターフェース(1124)、磁気ディスクドライブインターフェース(1126)及び光ドライブインターフェース(1128)によってシステムバス(1108)に繋がることができる。外付け型ドライブの実装のためのインターフェース(1124)は、例えば、USB(Universal Serial Bus)やIEEE1394インターフェース技術のうち、少なくとも1つまたはその両方を含む。
【0099】
これらのドライブ及びこれらに係るコンピューター可読媒体は、データ、データ構造、コンピューターで実行可能な命令、その他等々の非揮発性保存を提供する。コンピューター(1102)の場合、ドライブ及び媒体は、任意のデータを適切なデジタル形式に保存することに対応する。前述におけるコンピューター可読保存媒体に係る説明が、HDD、移動式磁気ディスク及びCDまたはDVD等の移動式光媒体について触れているが、当業者ならジップドライブ(zip drive)、磁気カセット、フラッシュメモリーカード、カートリッジ、その他等々のコンピューターにより読み取り可能な他の類型の保存媒体もまた例示的な運営環境で使われることができ、さらに、このような媒体のうち任意のある媒体が、本開示の方法を実行するためのコンピューターで実行可能な命令を含むことができることをよく理解できるだろう。
【0100】
運営システム(1130)、1つ以上のアプリケーションプログラム(1132)、その他のプログラムモジュール(1134)及びプログラムデータ(1136)をはじめとする多数のプログラムモジュールが、ドライブ及びRAM(1112)に保存されることができる。運営システム、アプリケーション、モジュール及び/またはデータの全部またはその一部分がまたRAM(1112)にキャッシュされることができる。本開示が商業的に利用可能な様々な運営システムまたは複数の運営システムの組み合わせにより実装されることができることをよく理解できるだろう。
【0101】
ユーザーは、1つ以上の有線・無線の入力装置、例えば、キーボード(1138)及びマウス(1140)等のポインティング装置を通じてコンピューター(1102)に命令及び情報を入力することができる。その他の入力装置(図示は省略)としてはマイク、IRリモコン、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーン、その他等々があり得る。これら及びその他の入力装置が、よくシステムバス(1108)に繋がっている入力装置インターフェース(1142)を通じて処理装置(1104)に繋がることがあるが、並列ポート、IEEE1394直列ポート、ゲームポート、USBポート、IRインターフェース、その他等々のその他のインターフェースによって繋がることができる。
【0102】
モニター(1144)または他の類型のディスプレイ装置も、ビデオアダプター(1146)等のインターフェースを通じてシステムバス(1108)に繋がる。モニター(1144)に加えて、コンピューターは一般的にスピーカー、プリンター、その他等々のその他の周辺出力装置(図示は省略)を含む。
コンピューター(1102)は、有線及び/または無線通信による(複数の)遠隔コンピューター(1148)等の1つ以上の遠隔コンピューターへの論理的接続を利用し、ネットワーク化された環境で動作することができる。(複数の)遠隔コンピューター(1148)は、ワークステーション、サーバーコンピューター、ルーター、パーソナルコンピューター、携帯用コンピューター、マイクロプロセッサー基盤の娯楽機器、ピア装置またはその他の通常のネットワークノードになることができ、一般的にコンピューター(1102)について述べられた構成要素のうち、多数またはその全部を含むが、簡略化するために、メモリー保存装置(1150)のみ図示されている。図示されている論理的接続は、近距離通信網(LAN)(1152)及び/または、より大きいネットワーク、例えば、遠距離通信網(WAN)(1154)における有線・無線の接続を含む。このようなLAN及びWANのネットワーキング環境は、オフィスや会社では一般的なもので、イントラネット等の全社的コンピューターネットワーク(enterprise-wide computer network)を容易にし、これらはすべて全世界のコンピューターネットワーク、例えば、インターネットに繋がることができる。
【0103】
LANネットワーキング環境で使われるとき、コンピューター(1102)は、有線及び/または無線通信ネットワークインターフェース、または、アダプター(1156)を通じてローカルネットワーク(1152)に繋がる。アダプター(1156)は、LAN(1152)への有線または無線通信を容易にすることができ、このLAN(1152)は、また無線アダプター(1156)と通信するためにそれに設置されている無線アクセスポイントを含む。WANネットワーキング環境で使われるとき、コンピューター(1102)は、モデム(1158)を含むことができたり、WAN(1154)上の通信サーバーに繋がったり、またはインターネットを通じる等、WAN(1154)を通じて通信を設定するその他の手段を持つ。内蔵型又は外付け型、そして、有線または無線装置になり得るモデム(1158)は、直列ポートインターフェース(1142)を通じてシステムバス(1108)に繋がる。ネットワーク化された環境において、コンピューター(1102)について説明されたプログラムモジュールまたはその一部分が、遠隔メモリー/保存装置(1150)に保存されることができる。図示されたネットワーク接続が例示的なものであり、複数のコンピューター間で通信リンクを設定する他の手段が使われることができるということは容易に理解できることである。
【0104】
コンピューター(1102)は、無線通信で配置されて動作する任意の無線装置またはユニット、例えば、プリンター、スキャナー、デスクトップ及び/または携帯用コンピューター、PDA(portable data assistant)、通信衛星、無線で検出可能なタグに係る任意の装備または場所及、及び電話と通信する動作をする。これは、少なくともWi-Fi及びブルートゥース(登録商標)無線技術を含む。従って、通信は、従来のネットワークのように予め定義された構造であったり、単純に少なくとも2つの装置の間でのアドホック通信(ad hoc communication)になり得る。
【0105】
Wi-Fi(Wireless Fidelity)は、有線で繋がっていなくても、インターネット等への接続を可能にする。Wi-Fiは、このような装置、例えば、コンピューターが室内及び室外で、つまり基地局の通話圏内のどこからでもデータを送受信できるようにするセル電話のような無線技術である。Wi-Fiネットワークは、安全で信頼性があり、高速である無線接続を提供するためにIEEE802.11(a、b、g、その他)という無線技術を使う。コンピューターを互いに、インターネット及び有線ネットワーク(IEEE802.3またはイーサネットを使う)に接続するためにWi-Fiが使われることができる。Wi-Fiネットワークは、非認可2.4や5GHzの無線帯域において、例えば、11Mbps(802.11a)または54Mbps(802.11b)のデータレートで動作したり、両帯域(デュエル帯域)を含む製品において動作することができる。
【0106】
本開示の技術分野における通常の知識を持つ者は情報及び信号が任意の多様な異なる技術及び手法を利用して示されることができることを理会できる。例えば、前記の説明において参照できるデータ、指示、命令、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁気派、磁場等または粒子、光学場等または粒子、またはこれらの任意の組み合わせによって示されることができる。
【0107】
本開示の技術分野において通常の知識を持つ者は、ここに開示された実施例に係る説明で取り挙げられた多様な例示的な論理ブロック、モジュール、プロセッサー、手段、回路、アルゴリズム段階が電子ハードウェア、(利便性のために、ここでは「ソフトウェア」と称される)多様な形のプログラムまたは設計コード、またはこれらすべての結合により実装されることができることを理解できるだろう。ハードウェア及びソフトウェアのこのような相互互換性を明確に説明するために、多様な例示的なコンポーネント、ブロック、モジュール、回路、及び段階がこれらの機能に着目して前記で一般的に説明された。このような機能がハードウェアやソフトウェアで実装されるかどうかは、特定のアプリケーションおよび全体システムに対して付与される設計上の制限によって決まる。本開示の技術分野において通常の知識を持つ者は、個々の特定のアプリケーションについて多様な手法で説明された機能を実現することができるが、このような実現の決定は、本開示の範囲を逸脱するものと解釈されてはならない。
【0108】
ここに示された多様な実施例は、方法、装置、または標準プログラミング及び/またはエンジニアリング技術を使った製造物品(article)によって実現できる。用語「製造物品」は、任意のコンピューターで可読な装置からアクセス可能なコンピュータープログラム、キャリアー、または媒体(media)を含む。例えば、コンピューターで可読保存媒体は、磁気保存装置(例えば、ハードディスク、フロッピーディスク、磁気ストリップ等)、光学ディスク(例えば、CD、DVD等)、スマートカード及びフラッシュメモリー装置(例えば、EEPROM、カード、スティック、キードライブ等)を含むが、これらに限定されるものではない。また、ここに示されている多様は保存媒体は、情報を保存するための1つ以上の装置及び/または他の機械可読媒体を含む。
示されたプロセスにおける複数の段階の特定の順番または階層構造は、例示的なアプローチの一例であることを理解すべきである。設計上の優先順位に基づき、本開示の範囲内で、プロセスにおける段階の特定の順番または階層構造が再配列されることができることを理解すべきである。添付の方法請求項は、サンプルとしての順番で、多様な段階のエレメントを提供するが、示された特定の順番または階層構造に限定されることを意味するわけではない。
【0109】
示された実施例に関する説明は、任意の本開示の技術分野において通常の知識を持つ者が、本開示を利用したりまたは実施できるように提供される。このような実施例に対する多様な変形は、本開示の技術分野において通常の知識を持つ者には明確に理解できるものであり、ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることができる。従って、本開示はここに示す実施例によって限定されるものではなく、ここに示す原理及び新規な特徴と一貫する最広義の範囲で解釈されるべきである。
【発明を実施するための形態】
【0110】
前記のように、発明を実施するための最良の形態で関連内容を記述した。
【産業上の利用可能性】
【0111】
本発明は、生体信号を分析するコンピューティングデバイスなどに用いられることができる。
図1
図2
図3
図4
図5
図6
図7
【国際調査報告】