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

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

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

<>
  • 特表-疾患の診断方法 図1
  • 特表-疾患の診断方法 図2
  • 特表-疾患の診断方法 図3
  • 特表-疾患の診断方法 図4
  • 特表-疾患の診断方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-01-17
(54)【発明の名称】疾患の診断方法
(51)【国際特許分類】
   A61B 5/346 20210101AFI20250109BHJP
   G06N 3/09 20230101ALI20250109BHJP
   G16H 10/60 20180101ALI20250109BHJP
【FI】
A61B5/346
G06N3/09
G16H10/60
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024538364
(86)(22)【出願日】2023-01-09
(85)【翻訳文提出日】2024-06-24
(86)【国際出願番号】 KR2023000378
(87)【国際公開番号】W WO2023167406
(87)【国際公開日】2023-09-07
(31)【優先権主張番号】10-2022-0027221
(32)【優先日】2022-03-03
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】520047532
【氏名又は名称】ビュノ インコーポレイテッド
【氏名又は名称原語表記】VUNO, INC.
【住所又は居所原語表記】9F, 479, Gangnam-daero, Seocho-gu, Seoul 06541 REPUBLIC OF KOREA
(74)【代理人】
【識別番号】110002789
【氏名又は名称】弁理士法人IPX
(72)【発明者】
【氏名】チャン・ミノク
(72)【発明者】
【氏名】チュ・スンフン
(72)【発明者】
【氏名】イ・ソンジェ
(72)【発明者】
【氏名】キム・キョンウン
(72)【発明者】
【氏名】ナ・ヨンヨン
【テーマコード(参考)】
4C127
5L099
【Fターム(参考)】
4C127AA02
4C127CC01
4C127FF02
4C127GG05
5L099AA22
(57)【要約】
本開示の一実施例において、複数の心電図データの品質を評価し、良質の信号だけに基づいて疾患を診断する方法が開示される。具体的に、本開示によると、コンピューティング装置が、複数のリード(lead)から取得された複数の心電図データの品質を評価し、上記複数の心電図データの品質を評価する作業に基づき、上記複数のリードのうち、少なくとも1つのリードから取得された心電図データを除外し、且つ、事前学習された心電図分析モデルを用いて、残りの複数の心電図データをもとに心電図の分析を行う。
【選択図】図4
【特許請求の範囲】
【請求項1】
コンピューティング装置の1つ以上のプロセッサーにより実行される方法であって、
複数のリード(lead)から取得された複数の心電図データの品質を評価する段階;
上記複数の心電図データの品質を評価する作業に基づき、上記複数のリードのうち、少なくとも1つのリードから取得された心電図データを除外する段階;及び
事前学習された心電図分析モデルを用いて、残りの複数の心電図データをもとに心電図の分析を行う段階;
を含む、
方法。
【請求項2】
請求項1において、
上記複数のリードから取得された複数の心電図データの品質を評価する段階は、
上記複数のリードから取得された複数の心電図データを、予め決められた時間の長さを有する複数のサンプルに分割する段階;
上記複数のサンプルの各々のノイズを除去する段階;及び
上記複数のサンプルの各々の品質を評価する段階;
を含む、
方法。
【請求項3】
請求項2において、
上記複数のサンプルの各々のノイズを除去する段階は、
上記複数のサンプルの各々をバンドパスフィルター(bandpass filter)に入力する段階;
上記バンドパスフィルターが、高周波数のノイズ又は低周波数のノイズのうち、少なくとも1つを除去する段階;
を含む、
方法。
【請求項4】
請求項2において、
上記複数のリードのうち、少なくとも1つのリードから取得された心電図データを除外する段階は、
上記少なくとも1つのリードのサンプルの品質がしきい値より低いと決定する段階;及び
対応する時間部分(segment)の分析にあたり、品質が上記しきい値より低いと決定された、上記少なくとも1つのリードのサンプルを除外する段階;
を含む、
方法。
【請求項5】
請求項4において、
上記しきい値は、
心電図測定装備又は心電図データの使用目的のうち、少なくとも1つによって変わる、
方法。
【請求項6】
請求項1において、
上記事前学習された心電図分析モデルを用いて、残りの複数の心電図データをもとに心電図の分析を行う段階は:
対応する時間部分の分析にあたり、上記少なくとも1つのリードのサンプルが除外された、残りの複数のリードの複数のサンプルをもとに心電図の分析を行う段階;
を含む、
方法。
【請求項7】
請求項6において、
上記対応する時間部分の分析にあたり、上記少なくとも1つのリードのサンプルが除外された、残りの複数のリードの複数のサンプルをもとに心電図の分析を行う段階は:
エンコーダーモジュールによって、上記残りの複数のリードの複数のサンプルの複数の特徴値を抽出する段階;
上記複数の特徴値を上記対応する時間部分の単位で統合する段階;及び
上記統合された特徴値を疾患判断モジュールに入力し診断を行う段階;
を含む、
方法。
【請求項8】
請求項7において、
上記エンコーダーモジュールは、
上記複数のリードのうち一部のリードから心電図データが取得された場合、上記一部のリードから取得された心電図データに基づき、特徴値を抽出する、
方法。
【請求項9】
請求項7において、
上記エンコーダーモジュールは、
上記疾患判断モジュールが疾患があると判断したサンプルをラベリング(Labeling)する段階;
上記ラベリングされたサンプルに基づき学習用データを生成する段階;及び
上記学習データで上記エンコーダーモジュールを学習させる段階;
に基づいて事前学習されたモジュールと対応する、
方法。
【請求項10】
請求項7において、
上記疾患判断モジュールは、
各々の疾患に対応する分類サブモジュールを含む、
方法。
【請求項11】
請求項7において、
上記統合された特徴値を疾患判断モジュールに入力し診断を行う段階は:
上記統合された特徴値を上記疾患判断モジュールに入力し、各疾患に該当する確率値を導出する段階;
上記確率値が上記各疾患ごとに設定されたしきい値を超えたか否かによって、上記疾患判断モジュールが各疾患の有無を診断する段階;
を含む、
方法。
【請求項12】
コンピューティング装置が動作を実行するようにさせる命令を含むコンピューター可読保存媒体に保存されているコンピュータープログラムであって、前記動作は:
複数のリードから取得された複数の心電図データの品質を評価する動作;
上記複数の心電図データの品質を評価する作業に基づき、上記複数のリードのうち、少なくとも1つのリードから取得された心電図データを除外する動作;及び
事前学習された心電図分析モデルを用いて、残りの複数の心電図データをもとに心電図の分析を行う動作;
を含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項13】
コンピューティング装置であって、
1つ以上のコアを含むプロセッサー;
1つ以上の心電図データを受信するネットワーク部;及び
メモリー;
を含み、
前記プロセッサーは、
複数のリードから取得された複数の心電図データの品質を評価し、
上記複数の心電図データの品質を評価する作業に基づき、上記複数のリードのうち、少なくとも1つのリードから取得された心電図データを除外し、
事前学習された心電図分析モデルを用いて、残りの複数の心電図データをもとに心電図の分析を行う、
コンピューティング装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、疾患を診断するための方法であって、具体的には、多チャンネル心電図の測定結果から、複数の心電図データの品質を評価し、良質の信号だけに基づいて疾患を診断する方法に関する。
【背景技術】
【0002】
深層学習に基づくアルゴリズムを活用し、生体信号を用いた疾病診断方法に係る研究が幅広く行われてきているが、既存の方法は、生体信号の特性、つまり測定長さが長く入力チャンネルの数が多い場合に発生するノイズによってその正確度が落ちることが多い。
【0003】
特に、心電図を用いた疾病の診断において、心電図測定にホルター型測定器(Holter recorder)、パッチ型測定器(Patch recorder)、患者監視装置(Patient monitoring device)を用いる場合、身体活動がある被検者に対し、短い場合は1時間、長い場合は数週間に渡る長時間の測定を要するという特徴により、当該方法で測定された心電図データには多数のノイズが含まれている可能性が高い。
【0004】
既存の深層学習に基づく心電図診断アルゴリズムの場合、学習したリード(Lead)の数と一致するリードを有する心電図データが入力されることが診断の必須要件であるため、ある特定のリードにおいて、使用してはならない、一定以上のノイズを含んでいたり測定されない等、品質の悪い信号が測定される場合は、診断が困難になる問題がある。
【0005】
従って、当業界においては、心電図を用いた疾病の診断にあたり、正常な信号を自動的に選別し、かかる信号から疾病を診断する方法に対する需要が存在する。
【0006】
韓国登録特許第10-1799194(2017.11.13.)は、心電図信号を用いた不整脈診断装置について開示している。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本開示は、前述の背景技術に対応し案出されたものであり、多数のリードで構成された心電図信号の品質を評価し、良質の信号だけを用いて心電図分析を行い、疾病を診断する方法を講じることを目的とする。
【課題を解決するための手段】
【0008】
前述の課題を実現するための本開示の一実施例に基づき、複数の心電図データの品質を評価し、心電図の分析を行うための方法が開示される。上記方法は、複数のリード(lead)から取得された複数の心電図データの品質を評価する段階;上記複数の心電図データの品質を評価する作業に基づき、上記複数のリードのうち、少なくとも1つのリードから取得された心電図データを除外する段階、及び、事前学習された心電図分析モデルを用いて、残りの複数の心電図データをもとに心電図の分析を行う段階を含むことが可能である。
【0009】
代替の実施例において、上記複数のリードから取得された複数の心電図データの品質を評価する段階は、上記複数のリードから取得された複数の心電図データを、予め決められた時間の長さを有する複数のサンプルに分割する段階;上記複数のサンプルの各々のノイズを除去する段階;及び上記複数のサンプルの各々の品質を評価する段階を含むことが可能である。
【0010】
代替の実施例において、上記複数のサンプルの各々のノイズを除去する段階は、上記複数のサンプルの各々をバンドパスフィルター(bandpass filter)に入力する段階;上記バンドパスフィルターが、高周波数のノイズ又は低周波数のノイズのうち、少なくとも1つを除去する段階を含むことが可能である。
【0011】
代替の実施例において、上記複数のリードのうち、少なくとも1つのリードから取得された心電図データを除外する段階は、上記少なくとも1つのリードのサンプルの品質がしきい値より低いと決定する段階、及び、対応する時間部分(segment)の分析にあたり、品質が上記しきい値より低いと決定された、上記少なくとも1つのリードのサンプルを除外する段階を含むことが可能である。
【0012】
代替の実施例において、上記しきい値は、心電図測定装備又は心電図データの使用目的のうち、少なくとも1つによって変わることが可能である。
【0013】
代替の実施例において、上記事前学習された心電図分析モデルを用いて、残りの複数の心電図データをもとに心電図の分析を行う段階は、対応する時間部分の分析にあたり、上記少なくとも1つのリードのサンプルが除外された、残りの複数のリードの複数のサンプルをもとに心電図の分析を行う段階を含むことが可能である。
【0014】
代替の実施例において、上記対応する時間部分の分析にあたり、上記少なくとも1つのリードのサンプルが除外された、残りの複数のリードの複数のサンプルをもとに心電図の分析を行う段階は:エンコーダーモジュールによって、上記残りの複数のリードの複数のサンプルの特徴値を抽出する段階;上記複数の特徴値を上記対応する時間部分の単位で統合する段階;及び上記統合された特徴値を疾患判断モジュールに入力し診断を行う段階を含むことが可能である。
【0015】
代替の実施例において、上記エンコーダーモジュールは、上記複数のリードのうち一部のリードから心電図データが取得された場合、上記一部のリードから取得された心電図データに基づき、特徴値を抽出することが可能である。
【0016】
代替の実施例において、上記エンコーダーモジュールは、上記疾患判断モジュールが疾患があると判断したサンプルをラベリング(Labeling)する段階;上記ラベリングされたサンプルに基づき学習用データを生成する段階;及び上記学習データで上記エンコーダーモジュールを学習させる段階に基づき事前学習されたモジュールと対応することが可能である。
【0017】
代替の実施例において、上記疾患判断モジュールは、各々の疾患に対応する分類サブモジュールを含むことが可能である。
【0018】
代替の実施例において、上記統合された特徴値を疾患判断モジュールに入力し診断を行う段階は:上記統合された特徴値を上記疾患判断モジュールに入力し、各疾患に該当する確率値を導出する段階;上記確率値が上記各疾患ごとに設定されたしきい値を超えたか否かによって、上記疾患判断モジュールが各疾患の有無を診断する段階を含むことが可能である。
【0019】
前述の課題を実現するための本開示の一実施例に基づき、複数の心電図データの品質を評価し、心電図分析を行うためのコンピュータープログラムが開示される。上記プログラムは、複数のリードから取得された複数の心電図データの品質を評価する動作;上記複数の心電図データの品質を評価する作業に基づき、上記複数のリードのうち、少なくとも1つのリードから取得された心電図データを除外する動作;及び事前学習された心電図分析モデルを用いて、残りの複数の心電図データをもとに心電図の分析を行う動作を含むことが可能である。
【0020】
前述のような課題を実現するための本開示の一実施例に基づき、複数の心電図データの品質を評価し、心電図分析を行うためのコンピューティング装置が開示される。上記コンピューティング装置は、1つ以上のコアを含むプロセッサー;1つ以上の心電図データを受信するネットワーク部;及びメモリーを含むが、上記プロセッサーは、複数のリードから取得された複数の心電図データの品質を評価し、上記複数の心電図データの品質を評価する作業に基づき、上記複数のリードのうち、少なくとも1つのリードから取得された心電図データを除外し、事前学習された心電図分析モデルを用いて、残りの複数の心電図データをもとに心電図の分析を行うことが可能である。
【0021】
本開示は、心電図信号の品質を評価し、良質の信号だけを用いて、疾病診断の結果を提供することが可能である。
【図面の簡単な説明】
【0022】
本開示の実施例の説明に用いられるために添付されている以下の図面は、あくまでも本開示の実施例の一部に過ぎず、本開示が属する技術分野において通常の知識を有する者(以下、「通常の技術者」という)にとっては、新規の発明に想到する努力なしにも、これらの図面に基づき他の図面を得ることが可能である。
図1図1は、本開示の一実施例に基づく、心電図データを評価し分析する動作を行うコンピューティング装置のブロック構成図である。
図2図2は、本開示の一実施例に基づく、ネットワーク関数を示す概略図である。
図3図3は、本開示の一実施例に基づく、心電図の品質を評価し、心電図分析によって疾病を診断する方法に係るフローチャートである。
図4図4は、本開示の一実施例に基づく、心電図の品質の評価方法を示す概念図である。
図5図5は、本開示の一実施例に基づく、コンピューティング装置のブロック構成図である。
【発明を実施するための形態】
【0023】
本開示は、複数のリードから取得された心電図信号の品質を評価し、良質のデータだけを取捨選択し、深層学習モデルを用いて心電図の分析を行うことで、様々な状況において心電図信号から安定的に疾病を診断する方法を講じることを目的とする。
【0024】
多様な実施例について以下に図面を参照用いて説明する。本明細書において多様な説明が本開示に対する理解を容易にするために示される。しかし、かかる実施例がかかる具体的な説明がなくても実施されることが可能であることは自明である。
【0025】
本明細書において、「コンポーネント」、「モジュール」、「システム」等の用語は、コンピューター関連エンティティ、ハードウェア、ファームウェア、ソフトウェア、ソフトウェアとハードウェアとの組み合わせ、又はソフトウェアの実行を指す。例えば、コンポーネントは、プロセッサー上で実行される処理手順(procedure)、プロセッサー、オブジェクト、実行スレッド、プログラム、及び/又はコンピューターになり得るが、これらに限定されるものではない。例えば、コンピューティング装置で実行されるアプリケーションとコンピューティング装置は、両方ともコンポーネントになり得る。1つ以上のコンポーネントは、プロセッサー及び/又は実行スレッドの中に常駐することが可能である。1つのコンポーネントは、1つのコンピューターの中でローカル化されることが可能である。1つのコンポーネントは、2つ以上のコンピューターに配分されることが可能である。また、このようなコンポーネントは、その内部に保存されている多様なデータ構造を有する多様なコンピューター可読媒体において実行することが可能である。コンポーネントは、例えば1つ以上のデータパケットを含む信号(例えば、ローカルシステムや分散システムにおいて他のコンポーネントと相互作用する1つのコンポーネントからのデータ及び/又は信号を用いて、他のシステムと、インターネットのようなネットワークを介して伝送されるデータ)を用いてローカル及び/又は遠隔処理等を通じて通信することが可能である。
【0026】
なお、用語「又は」は、排他的な「又は」ではなく、内包的な「又は」を意味する意図で使われる。つまり、特に特定されておらず、文脈上明確ではない場合、「Xは、A又はBを利用する」は、自然な内包的置換のうち1つを意味するものとする。つまり、XがAを利用したり;XがBを利用したり;又はXがA及びBの両方を利用する場合、「XはA又はBを利用する」は、これらのいずれにも当てはまるとすることが可能である。また、本明細書における「及び/又は」という用語は、取り挙げられた複数の関連アイテムのうち、1つ以上のアイテムの可能なすべての組み合わせを指し、含むものと理解されるべきである。
【0027】
また、述語としての「含む(含める)」及び/又は修飾語としての「含む(含める)」という用語は、当該特徴及び/又は構成要素が存在することを意味するものと理解されるべきである。ただし、述語としての「含む(含める)」及び/又は修飾語として「含む(含める)」という用語は、1つ以上の他のさらなる特徴、構成要素及び/又はこれらのグループの存在又は追加を排除しないものと理解されるべきである。また、特に数が特定されていない場合や、単数の形を示すことが文脈上明確でない場合、本明細書と請求範囲において単数は、一般的に「1つ又はそれ以上」を意味するものと解釈されるべきである。
【0028】
そして、「A又はBのうち少なくとも1つ」という用語については、「Aだけを含む場合」、「Bだけを含む場合」、「AとBの組み合わせの場合」を意味するものと解釈されるべきである。
【0029】
当業者は、さらに、ここに開示されている実施例に係るものとして説明された多様な例示的論理的ブロック、構成、モジュール、回路、手段、ロジック及びアルゴリズム段階が、電子ハードウェア、コンピューターソフトウェア、又はその両方の組み合わせによって実現されることが可能であることを認識すべきである。ハードウェアとソフトウェアとの相互交換性を明確に例示するために、多様な例示的コンポーネント、ブロック、構成、手段、ロジック、モジュール、回路及び段階が、それらの機能性の側面で一般的に上述された。そのような機能性がハードウェアとして実装されるか或いはソフトウェアとして実装されるかは、全般的なシステムに係る特定のアプリケーション(application)及び設計制限によって決まる。熟練した技術者は、個々の特定アプリケーションのために多様な方法で説明された機能性を実現することが可能である。ただし、そのような実現に係る決定が本開示内容の領域を逸脱するものと解釈されてはならない。
【0030】
ここに示す実施例に係る説明は、本開示の技術分野において通常の知識を持つ者が本発明を利用したり、又は実施できるように提供される。このような実施例に対する多様な変形は、本開示の技術分野において通常の知識を持つ者には明確に理解できるものである。ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることが可能である。従って、本発明はここに示す実施例だけに限定されるものではない。本発明はここに示す原理及び新規な特徴と一貫する最広義の範囲で解釈されるべきである。
【0031】
本開示において、ネットワーク関数、人工神経回路網及びニューラルネットワーク(neural network)は、相互置換可能に用いることが可能である。
【0032】
一方、本開示の詳細な説明及び請求項において用いられている「心電図データ」という用語は、多数の電極で構成されている複数のリード(lead)から取得された心電図(electrocardiogram)を測定した結果を含むデータを意味するものとする。リードは、誘導であり、相異なる2つの電極間の電圧の差が、心電図測定装備において記録されたものと定義されることが可能である。例えば、リード-1は、右腕の電極と左腕の電極との電圧の差を記録したものであり、リード-2は、右腕と右足との電圧の差を記録したものである。標準的な測定装備においては10個の電極を使用し、これらによって12のリードが形成されることが可能であるが、心電図測定装備及び測定時間によって、測定された心電図データのリードの数やデータの長さが変わることが可能である。
【0033】
図1は、本開示の一実施例に基づく、心電図データを評価し分析する動作を行うコンピューティング装置のブロック構成図である。
【0034】
図1に示すコンピューティング装置(100)の構成は、簡略化された例示に過ぎない。本開示の一実施例において、コンピューティング装置(100)には、コンピューティング装置(100)のコンピューティング環境を実装するための他の構成が含まれることが可能であり、開示されている構成のうち一部だけでコンピューティング装置(100)を構成することも可能である。
【0035】
コンピューティング装置(100)は、プロセッサー(110)、メモリー(130)、ネットワーク部(150)を含むことができる。
【0036】
プロセッサー(110)は、1つ以上のコアで構成されることができ、コンピューティング装置の中央処理装置(CPU:central processing unit)、汎用グラフィック処理装置(GPGPU:general purpose graphics processing unit)、テンサー処理装置(TPU: tensor processing unit)等のデータ分析、深層学習のためのプロセッサーを含むことが可能である。プロセッサー(110)は、メモリー(130)に保存されたコンピュータープログラムを読み取り、本開示の一実施例における機械学習のためのデータ処理を実行することが可能である。本開示の一実施例に基づき、プロセッサー(110)は、ニューラルネットワークの学習のための演算を行うことが可能である。プロセッサー(110)は、深層学習(DL:deep learning)における学習のための入力データの処理、入力データからの特徴値の抽出、誤差計算、逆伝播(backpropagation)を利用した神経回路網における重みの更新等の神経回路網の学習のための計算を実行することが可能である。
【0037】
プロセッサー(110)のCPUとGPGPUとTPUとのうち、少なくとも1つがネットワーク関数の学習を処理することが可能である。例えば、CPUとGPGPUとがともにネットワーク関数の学習やネットワーク関数を利用したデータの分類を行うことが可能である。また、本開示の一実施例において、複数のコンピューティング装置のプロセッサーを一緒に使ってネットワーク関数の学習、ネットワーク関数を利用したデータ分類を行うことが可能である。また、本開示の一実施例におけるコンピューティング装置において実行されるコンピュータープログラムは、CPU、GPGPU又はTPUで実行可能なプログラムになり得る。
【0038】
本開示の一実施例によると、プロセッサー(110)は、タイプの異なる複数の経路から、1つ以上の心電図データを取得することが可能である。例えば、プロセッサー(110)は、心電図装置が受信した心電図データを取得したり、メモリー(130)に保存されている心電図データを取得したり、心電図を測定するための電極のような装備から直接心電図データを取得することが可能であるが、本開示はこれに限定されない。
【0039】
プロセッサー(110)は、上記受信した心電図データを予め決められた時間の長さを有する複数のサンプルに分割する作業を行うことが可能である。本開示において用いられる心電図データは、短い場合は1時間、長い場合は1週間の長時間にわたって測定されるデータであるため、これを一定時間ごとに分割し、分割された各々の心電図データに対する分析を行うことが可能である。上記予め決められた時間の長さは、心電図を測定する装備のリードの数又は測定時間の長さとは無関係に策定されることが可能であり、心電図データを分析するための心電図分析モデルに入力できる範囲の時間の長さであることが可能である。
【0040】
プロセッサー(110)は、上記予め決められた時間の長さを有する複数のサンプルに分割された複数の心電図データのノイズを除去する作業を行うことが可能である。例えば、ノイズを除去する方法は、上記分割された複数の心電図データをバンドパスフィルター(bandpass filter)に入力し、その出力値を用いて実行されることが可能である。バンドパスフィルターは、所望の特定の周波数帯域における情報だけを減衰なしに通過させ、特定の周波数帯域外の情報は減衰させて伝達する信号フィルターである。この場合、高周波及び低周波を減衰させるバンドパスフィルターにより、分割された心電図データの高周波数ノイズ及び低周波数ノイズが除去されることが可能である。しかし、本開示は、上述のノイズ除去方法に限定されるものではない。
【0041】
プロセッサー(110)は、ノイズが除去された、上記予め設定された時間の長さに分割された複数の心電図データの各々の品質を評価することが可能である。例えば、複数の心電図データの品質評価は、事前学習されたニューラルネットワークモデルにより、心電図データの品質を複数のカテゴリに分類し、各々のクラスのうち特定のクラスに点数を付与する方法で行われることが可能であり、モデルを用いずにルールに基づくアルゴリズムにより評価されることも可能である。
【0042】
心電図データに係る従来の研究のうち、心電図に点数を付与する方法を示している複数の方法の中から1つが採用されることも可能であり、従来の方法のうち少なくとも1つ以上の方法を組み合わせて用いることも可能であるが、本開示はこれらに限定されない。複数の心電図データの品質を評価する具体的な過程については、図4を用いて後述する。
【0043】
プロセッサー(110)は、複数の心電図データの品質を評価した結果に基づき、上記複数のリードから取得された心電図データのうち少なくとも1つのリードから取得された心電図データを除外することが可能である。一部の心電図データを除外する具体的な方法については、図3を用いて後述する。
【0044】
プロセッサー(110)は、上記除外する方法を実行した後の残りの心電図データに基づき、事前学習された心電図分析モデルを用いて 心電図分析を行うことが可能である。心電図分析モデルは、少なくとも1つのエンコーダーモジュールと、少なくとも1つの疾患判断モジュールとを含むことが可能である。
【0045】
プロセッサー(110)は、心電図分析モデルに含まれたエンコーダーモジュールを用いて、時間ごとに分割された心電図データから品質の低いリードのサンプルを除去したデータ、つまり、一部のリードにおいてのみ心電図データが取得された場合でも、各々のサンプルの数に対応する特徴値を抽出することが可能である。
【0046】
例えば、通常の12-リード心電図測定装備を用いて心電図データを取得した場合、心電図データは、同一の時間の長さを有する12のリードのデータで構成される。プロセッサー(110)は、これを予め設定した時間間隔に分割し、その分割されたデータのうち、品質の低い少なくとも1つのリードのサンプルを除外することが可能である。12のうち2つのリードのサンプルが、品質が低く分析から除外されたと仮定すると、エンコーダーモジュールは、10のリードで構成されている、分割された心電図データを分析し、特徴値を抽出することが可能である。
【0047】
本開示の一実施例において、複数のリードのうち一部のリードにおいてのみ心電図データが取得された場合、エンコーダーモジュールは、シングルリードエンコーダーをリードの数だけ推論することで特徴値を抽出することも可能であり、受信されたリードの数と同数のk-リードエンコーダーを1回推論することで特徴値を抽出することも可能である。上記の例の続きとして、エンコーダーモジュールは、シングルリードエンコーダーを含むように設計され、各リードの心電図データにおいて当該シングルリードエンコーダーを10回推論し、10の特徴値を抽出することが可能であり、10-リードエンコーダーを含むように設計され、1回の推論により10の特徴値を抽出することも可能である。本開示におけるn-リードエンコーダー(nは、任意の自然数)は、n個のリードを有する心電図測定データを用いて学習されたエンコーダーモジュールであることが可能である。
【0048】
また、本開示は、シングルリードエンコーダーを、リードのタイプによって複数含むことで、様々なリードのタイプに対応し、特徴値を抽出することが可能である。しかし、本開示の特徴値の抽出方法は、上述の例に限定されるものではない。上述のような方法により、本開示は、1つ以上の品質の低い心電図データを除外した心電図データから、安定的に心電図データの特徴値を抽出することが可能である。
【0049】
本開示の一実施例において、エンコーダーモジュールに含まれるシングルリードエンコーダーは、事前学習されることが可能である。本開示において、時間の長さが長い心電図データをターゲットにし、疾患を診断する方法について開示しているが、本開示のエンコーダーモジュールの学習方法に制限を設けていないため、既存の心電図分析のために構築されている機会学習モジュールをそのまま用いることも可能である。
【0050】
本開示の一実施例において、プロセッサー(110)は、上記エンコーダーモジュールが抽出した特徴値を、1つの時間部分において統合し、1つの特徴値を得ることが可能である。特徴値を統合するプロセスにおいて、全結合層(Fully-connected layer)、トランスフォーマー、アテンション層(attention-layer)等のニューラルネットワークが用いられることも可能であり、各特徴値の平均を、統合された特徴値として決定することが可能であるが、本開示はこれに限定されない。
【0051】
本開示の一実施例において、心電図分析モデルに含まれた疾患判断モジュールは、統合された特徴値を入力として受け、疾患を診断することが可能である。疾患を診断する具体的なプロセスは、図3を用いて後述する。
【0052】
疾患判断モジュールは、疾患を診断してユーザーに提供することが可能であり、疾患判断モデルの出力から疾患に該当する可能性の高い心電図データについては、専門家であるユーザーが疾患をラベリング(Labeling)し、ラベリングされたデータを含む学習用データを生成することが可能である。本開示は、上述の説明通りに生成された学習データを用いて、心電図分析モデルに含まれたエンコーダーモジュールをさらに学習させることで、エンコーダーモデルの性能を高めることが可能である。
【0053】
本開示の一実施例において、メモリー(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)と連携して動作することも可能である。前述のメモリーに係る記述は、例示に過ぎず、本開示はこれらに限定されない。
【0054】
本開示の一実施例におけるネットワーク部(150)は、公衆電話交換網(PSTN:Public Switched Telephone Network)、xDSL(x Digital Subscriber Line)、RADSL(Rate Adaptive DSL)、MDSL(Multi Rate DSL)、VDSL(Very High Speed DSL)、UADSL(Universal Asymmetric DSL)、HDSL(High Bit Rate DSL)及び近距離通信網(LAN)等のような多様な有線通信システムを使用することが可能である。
【0055】
また、本明細書におけるネットワーク部(150)は、CDMA(Code Division Multi Access)、TDMA(Time Division Multi Access)、FDMA(Frequency Division Multi Access)、OFDMA(Orthogonal Frequency Division Multi Access)、SC-FDMA(Single Carrier-FDMA)及びその他のシステムのような多様な無線通信システムを利用することが可能である。
【0056】
本開示において、ネットワーク部(150)は、任意の形態の有・無線通信システムを利用することが可能である。
【0057】
本明細書において説明された技術は、上記のネットワークだけでなく、他のネットワークで使われることも可能である。
【0058】
図2は、本開示の一実施例において、ネットワーク関数を示す概略図である。
【0059】
本明細書の全体を通して、演算モデル、神経回路網、ネットワーク関数、ニューラルネットワーク(neural network)は、同一の意味で用いることができる。神経回路網は、一般的にノードと呼ばれる相互連結された計算単位の集合で構成されることが多い。このようなノードは、ニューロン(neuron)と称することもできる。神経回路網は、少なくとも1つ以上のノードを含めて構成される。神経回路網を構成するノード(またはニューロン)は1つ以上のリンクによって相互連結されることが可能である。
【0060】
神経回路網において、リンクを介して繋がっている1つ以上のノードは、相対的に入力ノード及び出力ノードの関係を形成することができる。入力ノード及び出力ノードの概念は相対的なものであり、あるノードに対して出力ノードとなる任意のノードは、他のノードとの関係においては入力ノードになり得るが、その逆も成立する。前述のように、入力ノードと出力ノードとの関係はリンクを中心にして成立することができる。1つの入力ノードに1つ以上の出力ノードがリンクを介して繋がることができ、その逆も成立する。
【0061】
1つのリンクを介して繋がっている入力ノード及び出力ノードの関係において、出力ノードのデータは入力ノードに入力されたデータに基づきその値が決められることが可能である。ここで入力ノードと出力ノードとを相互連結するノードは加重値(weight)を持つことができる。加重値は可変的なものになり得るが、神経回路網が所望の機能を行うために、利用者またはアルゴリズムによって変わることが可能である。例えば、1つの出力ノードに1つ以上の入力ノードが各リンクによって相互連結されている場合、出力ノードは前記出力ノードに繋がっている入力ノードに入力された値及び各入力ノードに対応するリンクに設定された加重値に基づき出力ノードの値を決定することができる。
【0062】
前述のように、神経回路網は、1つ以上のノードが1つ以上のリンクを介して相互連結され神経回路網の中で入力ノードと出力ノードの関係を形成する。神経回路網において、ノードとリンクの数及びノードとリンクとの間の相関関係、各リンクに付与された加重値の値によって、神経回路網の特性が決まることが可能である。例えば、同数のノード及びリンクが存在し、リンクの加重値の値がそれぞれ異なる2つの神経回路網が存在する場合、その2つの神経回路網を、相異なるものと認識することができる。
【0063】
神経回路網は、1つ以上のノードの集合で構成することができる。神経回路網を構成するノードの部分集合は、レイヤー(layer)を構成できる。神経回路網を構成する複数のノードのうち一部は、第1入力ノードからの距離に基づき、1つのレイヤー(layer)を構成することができる。例えば、第1入力ノードからの距離がnであるノードの集合は、nレイヤーを構成することができる。第1入力ノードからの距離は、第1入力ノードから当該ノードに到達するために経由しなければならないリンクの最小限の数を基に定義することができる。しかし、このようなレイヤーの定義は、説明のために任意に取り挙げたものであり、神経回路網の中におけるレイヤーの構成は、前述の説明と異なる方法で定義されることができる。例えば、ノードのレイヤーは、最終出力ノードからの距離を基に定義することもできる。
【0064】
第1入力ノードは、神経回路網の中のノードのうち、他のノードとの関係においてリンクを経由せずにデータが直接入力される1つ以上のノードを意味することができる。または、神経回路網のネットワークの中で、リンクを基準にしたノード間の関係において、リンクを介して繋がっている他の入力ノードを持たないノードを意味することができる。これと同様に、最終出力ノードは、神経回路網の中のノードのうち、他のノードとの関係において、出力ノードを持たない1つ以上のノードを意味することができる。また、ヒドンノードは、第1入力ノード及び最終出力ノードではないノードで、神経回路網を構成するノードを意味することができる。
【0065】
本開示の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードと同数で、入力レイヤーからヒドンレイヤーへと進むにつれ、ノードの数が一度減ってから、再び増加する形の神経回路網になり得る。本開示の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードの数より少なく、入力レイヤーからヒドンレイヤーへと進むにつれ、ノードの数が減少していく形の神経回路網になり得る。また、本開示の他の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードの数より多く、入力レイヤーからヒドンレイヤーへと進むにつれ、ノードの数が増加していく形の神経回路網になり得る。本開示の他の一実施例における神経回路網は、上述の神経回路網を組み合わせた形の神経回路網になり得る。
【0066】
ディープニューラルネットワーク(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)等を含むことができる。前述のディープニューラルネットワークは、例示に過ぎず本開示はこれらに限定されない。
【0067】
本開示の一実施例において、ネットワーク関数は、オートエンコーダー(autoencoder)を含むこともできる。オートエンコーダーは、入力データに類似した出力データを出力するための人工神経回路網の一種になり得る。オートエンコーダーは、少なくとも1つのヒドンレイヤーを含むことができ、奇数個のヒドンレイヤーが入出力レイヤーの間に配置されることができる。各レイヤーのノード数は、入力レイヤーのノード数から、ボトルネックレイヤー(エンコード)という中間レイヤーに向かって減っていき、ボトルネックレイヤーから出力レイヤー(入力レイヤーと対称を成す)に向かって、縮小と対称する形で、拡張することもできる。オートエンコーダーは、非線形次元減少を行うことができる。入力レイヤー及び出力レイヤーの数は、入力データの前処理後に次元に対応することができる。オートエンコーダー構造において、エンコーダーに含まれたヒドンレイヤーのノードの数は、入力データから遠くなるほど減っていく構造を持つことができる。ボトルネックレイヤー(エンコーダーとデコーダーの間に位置する、ノードの数が最も少ないレイヤー)のノードの数が少なすぎる場合、十分な量の情報が伝わらない可能性があるため、特定の数以上(例えば、入力レイヤーの半分以上等)に維持されることもあり得る。
【0068】
ニューラルネットワークは、教師あり学習(supervised learning)、教師なし学習(unsupervised learning)、半教師あり学習(semi supervised learning)、または、強化学習(reinforcement learning)のうち、少なくともいずれか1つの方式で学習されることができる。ニューラルネットワークの学習は、ニューラルネットワークが特定の動作を行うための知識をニューラルネットワークに提供する過程になり得る。
【0069】
ニューラルネットワークは、出力のエラーを最小化する方向で学習されることが可能である。ニューラルネットワークの学習において、繰り返し学習データをニューラルネットワークに入力させ、学習データに関するニューラルネットワークの出力とターゲットのエラーを計算し、エラーを減らすための方向としてニューラルネットワークのエラーをニューラルネットワークの出力レイヤーから入力レイヤーの方向へ逆伝播(back propagation)してニューラルネットワークの各ノードの加重値を更新するプロセスが行われる。教師あり学習の場合、個々の学習データに正解がラベリングされている学習データを使い(つまり、ラベリングされた学習データ)、教師なし学習の場合は、個々の学習データに正解がラベリングされていない場合がある。つまり、例えばデータ分類に関する教師あり学習における学習データは、学習データの各々にカテゴリがラベリングされたデータになり得る。ラベリングされた学習データがニューラルネットワークに入力され、ニューラルネットワークの出力(カテゴリ)と学習データのラベルを比較することでエラー(error)を計算することが可能である。他の例として、データ分類に関する教師なし学習の場合、入力である学習データをニューラルネットワークの出力と比較することでエラーを計算することが可能である。計算されたエラーは、ニューラルネットワークにおいて逆方向(つまり、出力レイヤーから入力レイヤー方向)へ逆伝播され、逆伝播を通じてニューラルネットワークの各レイヤーの各ノードの連結加重値を更新することが可能である。更新される各ノードの連結加重値は、学習率(learing rate)によって変化量が決まることが可能である。入力データに対するニューラルネットワークの計算とエラーの逆伝播は、学習のサイクル(epoch)を構成することができる。学習率は、ニューラルネットワークの学習のサイクルの反復回数によって適用方式が変わることが可能である。例えば、ニューラルネットワークの学習初期においては、学習率を高くしてニューラルネットワークが早く一定のレベルの性能を確保するようにすることで効率を高め、学習の後半においては学習率を低くして精度を上げることが可能である。
【0070】
ニューラルネットワークの学習において、一般的に学習データは実際のデータ(つまり、学習されたニューラルネットワークを利用して処理しようとするデータ)の部分集合であることが可能であり、そのため学習データに係るエラーは減少するが、実際のデータに係るエラーは増加する学習サイクルが存在し得る。過剰適合(over fitting)は、このように学習データについて過度に学習したため、実際のデータにおいてエラーが増加する現象である。例えば、黄色い猫を見て猫を学習したニューラルネットワークが、黄色以外の色の猫を見ると猫であることを認識できない現象が過剰適合の一種になり得る。過剰適合は、マシンラーニングアルゴリズムのエラーを増加させる原因になり得る。このような過剰適合を防ぐために、多様な最適化方法を適用できる。過剰適合を防ぐためには、学習データを増加させる方法、正則化(regulaization)、学習の過程でネットワークのノードの一部を非活性化するドロップアウト(drop out)、バッチ正規化レイヤー(batch normalization layer)の活用等の方法を適用できる。
【0071】
図3は、本開示の一実施例に基づく、心電図の品質を評価し、心電図分析によって疾病を診断する方法に係るフローチャートである。
【0072】
S310段階において、プロセッサー(110)は、心電図測定装備、メモリー(130)又はネットワーク(150)を含む多様な経路から心電図データを受信することが可能である。その後、受信された心電図データを予め設定された時間の長さに分割し、ノイズを除去する作業が行われることが可能である。
【0073】
S320段階において、プロセッサー(110)は、予め設定された時間の長さの心電図データの品質を評価することが可能である。例えば、予め設定された時間の長さの心電図データに含まれた各リードごとのサンプルに品質点数を付与し、しきい値を基準に各サンプルを分類することが可能である。
【0074】
S320段階におけるしきい値は、目的によって設定が変わることが可能である。例えば、しきい値は、心電図データ測定に用いられた測定装備の種類によって変わることも可能である。さらに他の例として、信号の品質を犠牲にしてでも多量のデータを確保する必要がある疾患がある一方、データの量が少なくても正確に測定された信号が診断の要になる疾患があり得るので、判断しようとする疾患によって、S320段階におけるしきい値は変わることが可能である。しかし、本開示においてしきい値の設定を変える理由が上述の内容に限定されるわけではない。
【0075】
S330段階において、あるサンプルについて、S320段階における品質点数がしきい値より低いと判定された場合は、当該サンプルは、心電図データから除去される。
【0076】
S340段階において、あるサンプルについて、S330段階における品質点数がしきい値以上であると判定された場合は、当該サンプルは、疾患の診断に用いることのできるデータに該当するため、当該サンプルを用いて診断が行われる。
【0077】
プロセッサー(110)は、心電図分析モデルに含まれたエンコーダーモジュールを用いて、心電図データを分析するために、品質点数がしきい値より低いサンプルが除外された、残りのサンプルの特徴値を抽出することが可能である。エンコーダーモジュールによってサンプルの特徴値が抽出された後、プロセッサー(110)は、サンプルの特徴値を各々の時間間隔(つまり、上記予め設定された時間の長さを有する各々の時間部分(segment))において1つに統合されることが可能である。例えば、第1時間間隔においては、品質点数がしきい値以上であるサンプルが9個存在し、第2時間間隔においては、品質点数がしきい値以上であるサンプルが6個存在するとしたら、各時間間隔において統合された特徴値は、サンプル数と関係なくどちらも同様に1つである。
【0078】
プロセッサー(110)は、心電図分析モデルに含まれた疾患判断モジュールを用いて、各時間間隔における特徴値から疾患を判断することが可能である。例えば、疾患判断モジュールは、各々の疾患に該当する分類サブモジュールを含み、特徴値が入力されると各サブモジュールが当該疾患に該当する確率値を導出することが可能である。その後、プロセッサー(110)は、導出した確率値が各疾患ごとに設定されたしきい値以上であるか否かによって、疾患の有無を判定することが可能である。この場合、各分類サブモジュールごとに固有のしきい値を有し、診断しようとする疾病によりしきい値が変わることが可能である。
【0079】
図4は、本開示の一実施例に基づく、心電図の品質の評価方法を示す概念図である。
【0080】
心電図データ(410)は、リード別の心電図データ(411)をリードの数と同数含んでいる。例えば、基本的な12-リード測定器の場合、リード別の心電図データ(411)の数は、計12である。
【0081】
プロセッサー(110)は、心電図データ(410)を予め決められた時間の長さに分割し、時間部分の心電図データ(図示は省略)を得ることが可能である。各々の時間部分の心電図データは、予め決められた時間の長さを有する、リードの数と同数のサンプル(412)を含んでいる。
【0082】
プロセッサー(110)は、人工神経回路網モデル又はルールに基づくアルゴリズム等の手段(420)を用いて、時間部分の心電図データ(図示は省略)をそれぞれ評価することが可能である。その後、プロセッサー(110)は、信号の品質がしきい値より低いサンプル(421)を、心電図データから除外することが可能である。このとき、しきい値は、心電図測定装備の種類と診断しようとする疾患によって変わることが可能である。
【0083】
プロセッサー(110)は、上述のような方法で、信号の品質がしきい値より低いサンプル(421)を除外した後の残りのサンプル(431)で構成された心電図データ(430)を取得した後、心電図分析モデルに含まれたエンコーダーモジュールによって、特徴値を抽出することが可能である。このとき、エンコーダーモジュールは、品質の低い心電図データを除外した後のデータのみを用いて、特徴値を抽出することが可能である。例えば、12-リードを有するある時間部分のデータを評価した結果、2つのサンプルが心電図データから除外されたら、エンコーダーモジュールは、当該サンプルを除外した後の残りの10のサンプルから10個の特徴値を抽出することが可能である。抽出するプロセスにおいては、上述したようにシングルリードエンコーダーを10回推論する方法、10-リードエンコーダーを一回推論する方法を含み、多様な手段が用いられることが可能である。
【0084】
かかる方法により、本開示は、品質の低いデータを心電図データから除外することで、全てのリードにおいて心電図データが存在する場合ではなくても、特徴値を抽出して疾患を判断するために活用することが可能である。
【0085】
本開示の一実施例に基づき、データ構造を保存したコンピューター可読保存媒体が開示される。
【0086】
データ構造は、データに効率的なアクセスおよび修正を可能にするデータの組織、管理、保存を意味することができる。データ構造は、特定の問題(例えば、最短時間でデータ検索、データ保存、データ修正)を解決するためのデータ組織を意味することができる。データ構造は、特定のデータ処理機能をサポートするように設計されたデータ要素間の物理的または論理的な関係と定義することもできる。データ要素間の論理的な関係は、ユーザーが考えるデータ要素間の連結関係を含むことができる。データ要素間の物理的な関係は、コンピューター可読保存媒体(例えば、ハードディスク)に物理的に保存されているデータ要素間の実際の関係を含むことができる。データ構造は具体的にデータの集合、データ間の関係、データに適用できる関数またはコマンドを含むことができる。効果的に設計されたデータ構造により、コンピューティング装置はコンピューティング装置のリソースを最小限に使用しながら計算を行うことができる。具体的にコンピューティング装置は効果的に設計されたデータ構造を通じて演算、読み取り、挿入、削除、比較、交換、検索の効率性を高めることができる。
【0087】
データ構造はデータ構造の形態によって線形データ構造と非線形データ構造に区分されることができる。線形データ構造は、一つのデータの後に一つのデータだけが連結される構造である可能性がある。線形データ構造はリスト(List)、スタック(Stack)、キュー(Queue)、デッキ(Deque)を含むことができる。リストは、内部的に順序が存在する一連のデータセットを意味することが可能である。リストは連結リスト(Linked List)を含むことができる。連結リストはそれぞれのデータがポインタを持って一列に連結されている方式でデータが連結されたデータ構造でありうる。連結リストでポインタは、次や以前のデータとの連結情報を含むことができる。連結リストは形態によって単一連結リスト、二重連結リスト、円形連結リストで表現できる。スタックは制限的にデータにアクセスできるデータリスト構造である可能性がある。スタックは、データ構造の片端でのみデータを処理(例えば、挿入または削除)できる線形データ構造である可能性がある。スタックに保存されたデータは、遅く入るほど早く出てくるデータ構造(LIFO-Last in First Out)である可能性がある。キューは制限的にデータにアクセスできるデータ羅列構造であり、スタックとは異なり遅く保存されたデータほど遅く出てくるデータ構造(FIFO-FirstinFirstOut)であることができる。デッキはデータ構造の両端でデータを処理できるデータ構造になり得る。
【0088】
非線形データ構造は、一つのデータの後に複数のデータが連結される構造である可能性がある。非線形データ構造はグラフ(Graph)データ構造を含むことができる。グラフデータ構造は頂点(Vertex)と幹線(Edge)で定義でき、幹線は互いに異なる二つの頂点を連結する線を含むことができる。グラフデータ構造ツリー(Tree)データ構造を含むことができる。ツリーデータ構造はツリーに含まれる複数の頂点のうち、互いに異なる2つの頂点を連結させる経路が一つのデータ構造になり得る。すなわち、グラフデータ構造でループ(loop)を形成しないデータ構造になり得る。
【0089】
本明細書にかけて、演算モデル、神経回路網、ネットワーク関数、ニューラルネットワークは同じ意味で使用できる。(以下ではニューラルネットワークで統一して記述する。)データ構造はニューラルネットワークを含むことができる。そして、ニューラルネットワークを含むデータ構造は、コンピューター可読保存媒体に保存されることができる。ニューラルネットワークを含むデータ構造はまた、ニューラルネットワークに入力されるデータ、ニューラルネットワークの加重値、ニューラルネットワークのハイパーパラメータ、ニューラルネットワークから獲得したデータ、ニューラルネットワークの各ノードまたはレイヤーに関連する活性関数、ニューラルネットワークの学習のための損失関数を含むことができる。ニューラルネットワークを含むデータ構造は、前記開示された構成のうち任意の構成要素を含むことができる。すなわち、ニューラルネットワークを含むデータ構造は、ニューラルネットワークに入力されるデータ、ニューラルネットワークの加重値、ニューラルネットワークのハイパーパラメータ、ニューラルネットワークから獲得したデータ、ニューラルネットワークの各ノードまたはレイヤーに関連する活性関数、ニューラルネットワークのトレーニングのための損失関数など、全部またはこれらの任意の組み合わせを含んで構成されることができる。前述した構成以外にも、ニューラルネットワークを含むデータ構造は、ニューラルネットワークの特性を決定する任意の他の情報を含むことができる。また、データ構造は、ニューラルネットワークの演算過程で使用されたり発生するすべての形態のデータを含むことができ、前述の事項に制限されるわけではない。コンピューター可読保存媒体は、コンピューター可読記録媒体および/またはコンピューター可読伝送媒体を含むことができる。ニューラルネットワークは、一般的にノードと呼ばれる相互接続された計算単位の集合で構成されることができる。このようなノードはニューロン(neuron)と呼ばれることができる。ニューラルネットワークは、少なくとも1つ以上のノードを含んで構成される。
【0090】
データ構造は、ニューラルネットワークに入力されるデータを含むことができる。ニューラルネットワークに入力されるデータを含むデータ構造は、コンピューター可読保存媒体に保存されることができる。ニューラルネットワークに入力されるデータは、ニューラルネットワークの学習過程で入力される学習データおよび/または学習が完了したニューラルネットワークに入力される入力データを含むことができる。ニューラルネットワークに入力されるデータは、前処理(pre-processing)を経たデータおよび/または前処理対象となるデータを含むことができる。前処理はデータをニューラルネットワークに入力させるためのデータ処理過程を含むことができる。したがって、データ構造は前処理対象となるデータおよび前処理で発生するデータを含むことができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0091】
データ構造は、ニューラルネットワークの加重値を含むことができる。(本明細書で加重値、パラメータは同じ意味で使用できる。)そして、神経回路網の加重値を含むデータ構造はコンピューター可読保存媒体に保存されることができる。ニューラルネットワークは、複数の加重値を含むことができる。加重値は可変的であり、ニューラルネットワークが望む機能を遂行するために、ユーザーまたはアルゴリズムによって可変することができる。例えば、一つの出力ノードに一つ以上の入力ノードがそれぞれのリンクによって相互接続された場合、出力ノードは前記出力ノードと連結された入力ノードに入力された値及びそれぞれの入力ノードに対応するリンクに設定されたパラメータに基づいて出力ノード値を決定することができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0092】
制限ではなく例として、加重値は神経回路網学習過程で可変する加重値および/または神経回路網学習が完了した加重値を含むことができる。ニューラルネットワーク学習過程で可変される加重値は、学習サイクルが始まる時点の加重値および/または学習サイクルの間に可変される加重値を含むことができる。ニューラルネットワーク学習が完了した加重値は、学習サイクルが完了した加重値を含むことができる。したがって、ニューラルネットワークの加重値を含むデータ構造は、ニューラルネットワーク学習過程で可変される加重値および/またはニューラルネットワーク学習が完了した加重値を含むデータ構造を含むことができる。したがって、上述した加重値および/または各加重値の組み合わせは、神経回路網の加重値を含むデータ構造に含まれるものとする。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0093】
ニューラルネットワークの加重値を含むデータ構造は、直列化(serialization)過程を経た後、コンピューター可読保存媒体(例えば、メモリ、ハードディスク)に保存されることができる。直列化は、データ構造を同一または他のコンピューティングデバイスに保存し、後で再構成して使用できる形態に変換する過程である可能性がある。コンピューティングデバイスは、データ構造を直列化し、ネットワークを介してデータを送受信することができる。直列化されたニューラルネットワークの加重値を含むデータ構造は、逆直列化(deserialization)を通じて同じコンピューティング装置または他のコンピューティング装置で再構成されることができる。ニューラルネットワークの加重値を含むデータ構造は、シリアル化に限定されるものではない。さらに、神経回路網の加重値を含むデータ構造は、コンピューティング装置の資源を最小限に使用しながら演算の効率を高めるためのデータ構造(例えば、非線形データ構造でB-Tree、Trie、m-way search tree、AVLtree、Red-Black Tree)を含むことができる。前述の事項は例示に過ぎず、本開示はこれに限定されない。
【0094】
データ構造は、ニューラルネットワークのハイパーパラメータ(Hyper-parameter)を含むことができる。そして、ニューラルネットワークのハイパーパラメータを含むデータ構造は、コンピューター可読保存媒体に保存されることができる。ハイパーパラメータは、ユーザーによって可変される変数である可能性がある。ハイパーパラメータは、例えば、学習率(learning rate)、コスト関数(cost function)、学習サイクル反復回数、加重値初期化(例えば、加重値初期化対象となる加重値の範囲設定)、Hidden Unit個数(例えば、ヒドゥンレイヤーの個数、ヒドゥンレイヤーのノード数)を含むことができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0095】
図5は、本開示の実施例が具現化されることのできる例示的なコンピューティング環境に係る簡略で一般的な概略図である。
【0096】
本開示が一般的にコンピューティング装置により具現化されることができると前述されているが、当業者であれば本開示が一つ以上のコンピューター上で実行されることのできるコンピューター実行可能命令及び/またはその他のプログラムモジュールと結合して及び/またはハードウェアとソフトウェアの組み合わせとして具現化されることができるということをよく理解できるだろう。
【0097】
一般的に、本明細書におけるモジュールは、特定のタスクを実行したり特定の抽象的なデータ類型を実装するルーティン、プログラム、コンポーネント、データ構造、その他等々を含む。また、当業者なら本開示の方法がシングルプロセッサーまたはマルチプロセッサーコンピューターシステム、ミニコンピューター、メインフレームコンピューターはもちろん、パーソナルコンピューター、ハンドヘルド(handheld)コンピューティング装置、マイクロプロセッサー基盤、またはプログラム可能な家電製品、その他等々(これらは、それぞれ1つ以上の関連する装置と繋がって動作することができる)をはじめとする、他のコンピューターシステムの構成によって実施されることができることをよく理解できるだろう。
【0098】
本開示において説明された実施例は、さらに、あるタスクが通信ネットワークを通じて繋がっている遠隔処理装置によって実行される分散コンピューティング環境で実施されることができる。分散コンピューティング環境において、プログラムモジュールは、ローカルや遠隔メモリー保存装置の両方に位置することができる。
【0099】
コンピューターは、多様なコンピューター可読媒体を含む。コンピューターによってアクセス可能な媒体はいずれもコンピューター可読媒体になり得るが、このようなコンピューター可読媒体は揮発性及び非揮発性媒体、一時的(transitory)及び非一時的(non-transitory)媒体、移動式及び非-移動式媒体を含む。制限ではなく例として、コンピューター可読媒体は、コンピューター可読保存媒体及びコンピューター可読伝送媒体を含むことができる。コンピューター可読保存媒体は、コンピューター可読命令、データ構造、プログラムモジュール又はその他のデータのような情報を保存する任意の方法又は技術により実装される揮発性及び非揮発性媒体、一時的及び非-一時的媒体、移動式及び非移動式媒体を含む。コンピューター可読保存媒体は、RAM、ROM、EEPROM、フラッシュメモリーまたはその他のメモリー技術、CD-ROM、DVD(digital video disk)またはその他の光ディスク保存装置、磁気カセット、磁気テープ、磁気ディスク保存装置またはその他の磁気保存装置、またはコンピューターによってアクセスされることができ、情報を保存するのに使われることのできる任意のその他の媒体を含むが、これに限定されない。
【0100】
コンピューター可読伝送媒体は、通常、搬送波(carrier wave)またはその他の伝送メカニズム(transport mechanism)のような被変調データ信号(modulated data signal)にコンピューター可読命令、データ構造、プログラムモジュールまたはその他のデータ等を実装し、すべての情報伝達媒体を含む。被変調データ信号という用語は、信号の中で情報をエンコードするように、その信号の特性のうち1つ以上を設定または変更した信号を意味する。制限ではなく例として、コンピューター可読伝送媒体は、有線ネットワークまたは直接配線接続(direct-wired connection)のような有線媒体、そして音響、RF、赤外線、その他の無線媒体のような無線媒体を含む。前述の媒体のいずれかによる任意の組み合わせもまたコンピューター可読伝送媒体の範囲に含まれるものとする。
【0101】
コンピューター(1102)を含む本開示の多様な側面を実現する例示的な環境(1100)が示されており、コンピューター(1102)は、処理装置(1104)、システムメモリー(1106)、システムバス(1108)を含む。システムバス(1108)は、システムメモリー(1106)(これに限定されない)をはじめとするシステムコンポーネントを処理装置(1104)につなげる。処理装置(1104)は、多様な商用プロセッサーのうち任意のプロセッサーになり得る。デュエルプロセッサーとその他のマルチプロセッサーアーキテクチャもまた処理装置(1104)として利用されることができる。
【0102】
システムバス(1108)は、メモリーバス、周辺装置バス、そして多様な商用バスアーキテクチャの中から、任意のものを使用するローカルバスにさらに相互連結されることのできる複数の類型のバス構造のうちいずれかになり得る。システムメモリー(1106)は、読み取り専用メモリー(ROM)(1110)やランダムアクセスメモリー(RAM)(1112)を含む。基本的な入出力システム(BIOS)は、ROM、EPROM、EEPROM等の非揮発性メモリー(1110)に保存され、このBIOSは、起動中の時等にコンピューター(1102)の中の複数の構成要素間の情報のやりとりをサポートする基本的なルーティンを含む。RAM(1112)は、またデータをキャッシュするための静的RAM等の高速RAMを含むことができる。
【0103】
コンピューター(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つまたはその両方を含む。
【0104】
これらのドライブ及びこれらに係るコンピューター可読媒体は、データ、データ構造、コンピューターで実行可能な命令、その他等々の非揮発性保存を提供する。コンピューター(1102)の場合、ドライブ及び媒体は、任意のデータを適切なデジタル形式に保存することに対応する。前述におけるコンピューター可読保存媒体に係る説明が、HDD、移動式磁気ディスク及びCDまたはDVD等の移動式光媒体について触れているが、当業者ならジップドライブ(zip drive)、磁気カセット、フラッシュメモリーカード、カートリッジ、その他等々のコンピューターにより読み取り可能な他の類型の保存媒体もまた例示的な運営環境で使われることができ、さらに、このような媒体のうち任意のある媒体が、本開示の方法を実行するためのコンピューターで実行可能な命令を含むことができることをよく理解できるだろう。
【0105】
運営システム(1130)、1つ以上のアプリケーションプログラム(1132)、その他のプログラムモジュール(1134)及びプログラムデータ(1136)をはじめとする多数のプログラムモジュールが、ドライブ及びRAM(1112)に保存されることができる。運営システム、アプリケーション、モジュール及び/またはデータの全部またはその一部分がまたRAM(1112)にキャッシュされることができる。本開示が商業的に利用可能な様々な運営システムまたは複数の運営システムの組み合わせにより実装されることができることをよく理解できるだろう。
【0106】
ユーザーは、1つ以上の有線・無線の入力装置、例えば、キーボード(1138)及びマウス(1140)等のポインティング装置を通じてコンピューター(1102)に命令及び情報を入力することができる。その他の入力装置(図示は省略)としてはマイク、IRリモコン、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーン、その他等々があり得る。これら及びその他の入力装置が、よくシステムバス(1108)に繋がっている入力装置インターフェース(1142)を通じて処理装置(1104)に繋がることがあるが、並列ポート、IEEE1394直列ポート、ゲームポート、USBポート、IRインターフェース、その他等々のその他のインターフェースによって繋がることができる。
【0107】
モニター(1144)または他の類型のディスプレイ装置も、ビデオアダプター(1146)等のインターフェースを通じてシステムバス(1108)に繋がる。モニター(1144)に加えて、コンピューターは一般的にスピーカー、プリンター、その他等々のその他の周辺出力装置(図示は省略)を含む。
【0108】
コンピューター(1102)は、有線及び/または無線通信による(複数の)遠隔コンピューター(1148)等の1つ以上の遠隔コンピューターへの論理的接続を利用し、ネットワーク化された環境で動作することができる。(複数の)遠隔コンピューター(1148)は、ワークステーション、サーバーコンピューター、ルーター、パーソナルコンピューター、携帯用コンピューター、マイクロプロセッサー基盤の娯楽機器、ピア装置またはその他の通常のネットワークノードになることができ、一般的にコンピューター(1102)について述べられた構成要素のうち、多数またはその全部を含むが、簡略化するために、メモリー保存装置(1150)のみ図示されている。図示されている論理的接続は、近距離通信網(LAN)(1152)及び/または、より大きいネットワーク、例えば、遠距離通信網(WAN)(1154)における有線・無線の接続を含む。このようなLAN及びWANのネットワーキング環境は、オフィスや会社では一般的なもので、イントラネット等の全社的コンピューターネットワーク(enterprise-wide computer network)を容易にし、これらはすべて全世界のコンピューターネットワーク、例えば、インターネットに繋がることができる。
【0109】
LANネットワーキング環境で使われるとき、コンピューター(1102)は、有線及び/または無線通信ネットワークインターフェース、または、アダプター(1156)を通じてローカルネットワーク(1152)に繋がる。アダプター(1156)は、LAN(1152)への有線または無線通信を容易にすることができ、このLAN(1152)は、また無線アダプター(1156)と通信するためにそれに設置されている無線アクセスポイントを含む。WANネットワーキング環境で使われるとき、コンピューター(1102)は、モデム(1158)を含むことができたり、WAN(1154)上の通信サーバーに繋がったり、またはインターネットを通じる等、WAN(1154)を通じて通信を設定するその他の手段を持つ。内蔵型又は外付け型、そして、有線または無線装置になり得るモデム(1158)は、直列ポートインターフェース(1142)を通じてシステムバス(1108)に繋がる。ネットワーク化された環境において、コンピューター(1102)について説明されたプログラムモジュールまたはその一部分が、遠隔メモリー/保存装置(1150)に保存されることができる。図示されたネットワーク接続が例示的なものであり、複数のコンピューター間で通信リンクを設定する他の手段が使われることができるということは容易に理解できることである。
【0110】
コンピューター(1102)は、無線通信で配置されて動作する任意の無線装置またはユニット、例えば、プリンター、スキャナー、デスクトップ及び/または携帯用コンピューター、PDA(portable data assistant)、通信衛星、無線で検出可能なタグに係る任意の装備または場所及、及び電話と通信する動作をする。これは、少なくともWi-Fi及びブルートゥース(登録商標)無線技術を含む。従って、通信は、従来のネットワークのように予め定義された構造であったり、単純に少なくとも2つの装置の間でのアドホック通信(ad hoc communication)になり得る。
【0111】
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)のデータレートで動作したり、両帯域(デュエル帯域)を含む製品において動作することができる。
【0112】
本開示の技術分野における通常の知識を持つ者は情報及び信号が任意の多様な異なる技術及び手法を利用して示されることができることを理会できる。例えば、前記の説明において参照できるデータ、指示、命令、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁気派、磁場等または粒子、光学場等または粒子、またはこれらの任意の組み合わせによって示されることができる。
【0113】
本開示の技術分野において通常の知識を持つ者は、ここに開示された実施例に係る説明で取り挙げられた多様な例示的な論理ブロック、モジュール、プロセッサー、手段、回路、アルゴリズム段階が電子ハードウェア、(利便性のために、ここでは「ソフトウェア」と称される)多様な形のプログラムまたは設計コード、またはこれらすべての結合により実装されることができることを理解できるだろう。ハードウェア及びソフトウェアのこのような相互互換性を明確に説明するために、多様な例示的なコンポーネント、ブロック、モジュール、回路、及び段階がこれらの機能に着目して前記で一般的に説明された。このような機能がハードウェアやソフトウェアで実装されるかどうかは、特定のアプリケーションおよび全体システムに対して付与される設計上の制限によって決まる。本開示の技術分野において通常の知識を持つ者は、個々の特定のアプリケーションについて多様な手法で説明された機能を実現することができるが、このような実現の決定は、本開示の範囲を逸脱するものと解釈されてはならない。
【0114】
ここに示された多様な実施例は、方法、装置、または標準プログラミング及び/またはエンジニアリング技術を使った製造物品(article)によって実現できる。用語「製造物品」は、任意のコンピューターで可読な装置からアクセス可能なコンピュータープログラム、キャリアー、または媒体(media)を含む。例えば、コンピューターで可読保存媒体は、磁気保存装置(例えば、ハードディスク、フロッピーディスク、磁気ストリップ等)、光学ディスク(例えば、CD、DVD等)、スマートカード及びフラッシュメモリー装置(例えば、EEPROM、カード、スティック、キードライブ等)を含むが、これらに限定されるものではない。また、ここに示されている多様は保存媒体は、情報を保存するための1つ以上の装置及び/または他の機械可読媒体を含む。
【0115】
示されたプロセスにおける複数の段階の特定の順番または階層構造は、例示的なアプローチの一例であることを理解すべきである。設計上の優先順位に基づき、本開示の範囲内で、プロセスにおける段階の特定の順番または階層構造が再配列されることができることを理解すべきである。添付の方法請求項は、サンプルとしての順番で、多様な段階のエレメントを提供するが、示された特定の順番または階層構造に限定されることを意味するわけではない。
【0116】
示された実施例に関する説明は、任意の本開示の技術分野において通常の知識を持つ者が、本開示を利用したりまたは実施できるように提供される。このような実施例に対する多様な変形は、本開示の技術分野において通常の知識を持つ者には明確に理解できるものであり、ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることができる。従って、本開示はここに示す実施例によって限定されるものではなく、ここに示す原理及び新規な特徴と一貫する最広義の範囲で解釈されるべきである。
図1
図2
図3
図4
図5
【国際調査報告】