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

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

▶ 生物島実験室の特許一覧 ▶ 中山大学孫逸仙記念医院の特許一覧

特開2022-45870心電異常検出ネットワーク訓練方法、心電異常早期警報方法及び装置
<>
  • 特開-心電異常検出ネットワーク訓練方法、心電異常早期警報方法及び装置 図1
  • 特開-心電異常検出ネットワーク訓練方法、心電異常早期警報方法及び装置 図2A
  • 特開-心電異常検出ネットワーク訓練方法、心電異常早期警報方法及び装置 図2B
  • 特開-心電異常検出ネットワーク訓練方法、心電異常早期警報方法及び装置 図3
  • 特開-心電異常検出ネットワーク訓練方法、心電異常早期警報方法及び装置 図4
  • 特開-心電異常検出ネットワーク訓練方法、心電異常早期警報方法及び装置 図5
  • 特開-心電異常検出ネットワーク訓練方法、心電異常早期警報方法及び装置 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022045870
(43)【公開日】2022-03-22
(54)【発明の名称】心電異常検出ネットワーク訓練方法、心電異常早期警報方法及び装置
(51)【国際特許分類】
   A61B 5/346 20210101AFI20220314BHJP
   G06N 3/04 20060101ALI20220314BHJP
   G08B 21/02 20060101ALI20220314BHJP
【FI】
A61B5/04 312A
G06N3/04
G08B21/02
【審査請求】有
【請求項の数】14
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2020206216
(22)【出願日】2020-12-11
(31)【優先権主張番号】202010942309.8
(32)【優先日】2020-09-09
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】520461613
【氏名又は名称】生物島実験室
【氏名又は名称原語表記】BIOLAND LABORATORY
【住所又は居所原語表記】No.6, helix 3rd road, Guangzhou International Bio Island ,Haizhu District, Guangzhou, Guangdong, China
(71)【出願人】
【識別番号】520461624
【氏名又は名称】中山大学孫逸仙記念医院
【氏名又は名称原語表記】SUN YAT-SEN MEMORIAL HOSPITAL, SUN YAT-SEN UNIVERSITY
【住所又は居所原語表記】107 Yanjiang West Road,Yuexiu District, Guangzhou, Guangdong, China
(74)【代理人】
【識別番号】100187322
【弁理士】
【氏名又は名称】前川 直輝
(72)【発明者】
【氏名】王景峰
(72)【発明者】
【氏名】黄凱
(72)【発明者】
【氏名】陳様新
(72)【発明者】
【氏名】張玉玲
(72)【発明者】
【氏名】郭思▲路▼
(72)【発明者】
【氏名】宋日輝
【テーマコード(参考)】
4C127
5C086
【Fターム(参考)】
4C127AA02
4C127CC01
4C127CC02
4C127FF01
4C127FF02
4C127GG01
4C127GG05
4C127GG16
4C127HH06
4C127JJ03
5C086AA22
5C086BA07
5C086CA01
5C086DA07
5C086FA06
5C086FA17
(57)【要約】      (修正有)
【課題】心電異常検出ネットワーク訓練方法、心電異常早期警報方法及び装置を提供する。
【解決手段】心電異常検出ネットワーク訓練方法は、心電異常患者の心電図信号及び正常人の心電図信号を取得するステップと、取得された心電図信号から訓練用データを抽出するステップと、訓練用データを採用してバイナリニューラルネットワークを心電異常検出ネットワークとして訓練するステップとを含む。ネットワーク層のノード値と重みは、二値データであり、ネットワーク層のノード値と重みで二値演算を行って、一層下のネットワーク層のノード値を取得する。二値データはメモリーの占有を大幅に低減し、演算を高速に実行するとともに動作環境のハードウェアコストを低減することができる。それにより訓練された心電異常検出ネットワークを、記憶容量及び演算能力が限られているモバイル機器に埋め込むことができ、各種の心電異常に対して早期警報を行うことができる。
【選択図】図1
【特許請求の範囲】
【請求項1】
心電異常検出ネットワーク訓練方法であって、
心電異常患者の心電図信号及び正常人の心電図信号を取得するステップと、
取得された前記心電図信号から訓練用データを抽出するステップと、
前記訓練用データを採用して、バイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするステップであって、前記心電異常検出ネットワークにおける各ネットワーク層について、前記ネットワーク層のノード値と重みとが二値データであり、前記ネットワーク層のノード値と重みとで二値演算を行って、一層下のネットワーク層のノード値を取得するステップとを含む、ことを特徴とする心電異常検出ネットワーク訓練方法。
【請求項2】
取得された前記心電図信号から訓練用データを抽出する前記ステップは、
取得された前記心電図信号に対してノイズ除去処理を行って、ノイズ除去後の心電図信号を取得するステップと、
前記ノイズ除去処理後の心電図信号から心拍信号を抽出するステップと、
前記心拍信号をサンプリングして訓練用サンプルを取得するステップと、
前記心拍信号をラベリングしてサンプルラベルを取得するステップであって、前記サンプルラベルは前記心拍信号が異常心電信号又は正常心電信号であることを表すステップと、
前記訓練用サンプル及び前記サンプルラベルを訓練用データとして確定するステップとを含む、ことを特徴とする請求項1に記載の心電異常検出ネットワーク訓練方法。
【請求項3】
取得された心電図信号に対してノイズ除去処理を行って、ノイズ除去後の心電図信号を取得する前記ステップは、
取得された前記心電図信号に対して、筋電干渉ノイズ除去、基線ワンダーノイズ除去、及び電源周波数干渉ノイズ除去の処理を行って、ノイズ除去後の心電図信号を取得するステップと含む、ことを特徴とする請求項2に記載の心電異常検出ネットワーク訓練方法。
【請求項4】
前記ノイズ除去処理後の心電図信号から心拍信号を抽出する前記ステップは、
前記ノイズ除去処理後の心電図信号を、予め訓練された心拍分割モデルに入力して、複数の心拍信号を抽出するステップを含む、ことを特徴とする請求項2に記載の心電異常検出ネットワーク訓練方法。
【請求項5】
前記心拍信号をサンプリングして訓練用サンプルを取得する前記ステップは、
予め設定されたサンプリング周波数に従って前記心拍信号をサンプリングして、複数のサンプリングデータを取得するステップと、
前記サンプリングデータの数が予め設定された数よりも小さいか否かを判断するステップと、
前記サンプリングデータの数が予め設定された数よりも小さい場合、前記サンプリングデータの数が前記予め設定された数と等しくなるように、前記サンプリングデータを拡張するステップと、
前記サンプリングデータを訓練用データとして確定するステップとを含む、ことを特徴とする請求項2に記載の心電異常検出ネットワーク訓練方法。
【請求項6】
前記訓練用データは、1つの心拍信号のサンプリングデータ及び前記心拍信号のサンプルラベルを含み、前記訓練用データを採取してバイナリニューラルネットワークを訓練して、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとする前記ステップは、
バイナリニューラルネットワークを初期化するステップと、
1つの心拍信号のサンプリングデータをランダムに抽出し、前記バイナリニューラルネットワークに入力し、前方伝播を行って、各ネットワーク層の二値化活性化値及び実数型活性化値を取得するステップと、
前記実数型活性化値及び前記サンプルラベルを予め設定された損失関数に代入して損失率を計算するステップと、
前記損失率が予め設定された閾値よりも小さいか否かを判断するステップと、
前記損失率が予め設定された閾値よりも小さい場合、前記バイナリニューラルネットワークの訓練を停止し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするステップと、
前記損失率が予め設定された閾値よりも小さくない場合、前記損失率を用いて各ネットワーク層の二値化重みの勾配を計算するステップと、
前記二値化重みの勾配及び予め設定された学習率に基づいて、前記バイナリニューラルネットワークの各ネットワーク層の重みを調整し、1つの心拍信号のサンプリングデータをランダムに抽出し前記バイナリニューラルネットワークに入力し前方伝播を行って前記心拍信号の予測値を取得する前記ステップに戻るステップとを含む、ことを特徴とする請求項1~5のいずれか一項に記載の心電異常検出ネットワーク訓練方法。
【請求項7】
バイナリニューラルネットワークを初期化する前記ステップは、
前記バイナリニューラルネットワークの入力層を初期化するステップであって、前記入力層の幅が前記心電図信号の誘導数と等しいステップを含む、ことを特徴とする請求項6に記載の心電異常検出ネットワーク訓練方法。
【請求項8】
1つの心拍信号のサンプリングデータをランダムに抽出し、前記バイナリニューラルネットワークに入力し、前方伝播を行って、前記心拍信号の予測値を取得する前記ステップは、
前記バイナリニューラルネットワークのネットワーク層の各々に対して、現在のネットワーク層の実数型重みを二値化して二値化重みを取得するステップと、
前記現在のネットワーク層の二値化重みと、一層上のネットワーク層の二値化活性化値を乗算して、前記現在のネットワーク層の実数型中間ベクトルを取得するステップと、
前記現在のネットワーク層の標準化処理パラメータに基づいて、前記実数型中間ベクトルに対して標準化処理を行って、実数型活性化値を取得するステップと、
前記現在のネットワーク層が出力層であるか否かを判断するステップと、
前記現在のネットワーク層が出力層である場合、前記実数型活性化値を予測値とするステップと、
前記現在のネットワーク層が出力層ではない場合、前記実数型中間ベクトルに対して二値化処理を行って、前記現在のネットワーク層の二値化活性化値を取得するステップと、
一層下のネットワーク層を現在のネットワーク層として、現在のネットワーク層の実数型重みを二値化して二値化重みを取得するステップに戻るステップとを含む、ことを特徴とする請求項6に記載の心電異常検出ネットワーク訓練方法。
【請求項9】
各ネットワーク層の損失率を採用して各ネットワーク層の勾配を計算する前記ステップは、
各ネットワーク層に対して、前記ネットワーク層の二値化活性化値に対する前記ネットワーク層の損失率の勾配を計算するステップと、
次の式に従って、前記ネットワーク層の実数型活性化値に対する前記ネットワーク層の損失率の勾配を計算するステップであって、
gab kは、二値化活性化値に対する損失率の勾配であり、1|ak|≦1は、実数型活性化値aの絶対値が1以下である場合、実数型活性化値に対する損失率の勾配がgak=gab kであることを表し、又は、絶対値が1より大きい場合、gak=0であるステップと、
連鎖率及び前記実数型活性化値の勾配に基づいて、前記実数型中間ベクトルの勾配及び前記標準処理パラメータの勾配を計算するステップと、
前記ネットワーク層の二値化重みの勾配として、前記実数型中間ベクトルの置換行列と一層上のネットワーク層の二値化重みの相乗積を計算するステップとを含む、ことを特徴とする請求項8に記載の心電異常検出ネットワーク訓練方法。
【請求項10】
前記二値化重みの勾配及び予め設定された学習率に基づいて、前記バイナリニューラルネットワークの各ネットワーク層の重みを調整する前記ステップは、
前記予め設定された学習率と前記二値化重みの勾配の相乗積を計算するステップと、
前記二値化重みと前記相乗積との差を新たな重みとして計算するステップであって、前記新たな重みは-1以上1以下であるステップとを含む、ことを特徴とする請求項9に記載の心電異常検出ネットワーク訓練方法。
【請求項11】
心電異常早期警報方法であって、
監視対象者の心電図信号を取得するステップと、
前記心電図信号から心拍信号を抽出するステップと、
前記心拍信号をサンプリングしてサンプリングデータを取得するステップと、
前記サンプリングデータを、予め訓練された心電異常検出ネットワークに入力して、前記監視対象者の心電異常の確率を取得するステップと、
前記心電異常の確率に基づいて、早期警報情報を生成するステップとを含み、
心電異常検出ネットワークを、請求項1~10のいずれか一項に記載の心電異常検出ネットワーク訓練方法によって訓練する、ことを特徴とする心電異常早期警報方法。
【請求項12】
心電異常検出ネットワーク訓練装置であって、
心電異常患者の心電図信号及び正常人の心電図信号を取得するための心電図信号取得モジュールと、
取得された前記心電図信号から訓練用データを抽出するための訓練用データ抽出モジュールと、
前記訓練用データを採用して、バイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするための訓練モジュールであって、前記心電異常検出ネットワークにおける各ネットワーク層について、前記ネットワーク層のノード値と重みが二値データであり、前記ネットワーク層のノード値と重みで二値演算を行って、一層下のネットワーク層のノード値を取得する訓練モジュールとを含む、ことを特徴とする心電異常検出ネットワーク訓練装置。
【請求項13】
心電異常早期警報装置であって、
監視対象者の心電図信号を取得するための心電図信号取得モジュールと、
前記心電図信号から心拍信号を抽出するための心拍信号抽出モジュールと、
前記心拍信号をサンプリングしてサンプリングデータを取得するためのサンプリングモジュールと、
前記サンプリングデータを、予め訓練された心電異常検出ネットワークに入力して、前記監視対象者の心電異常の確率を取得するためのネットワーク予測モジュールと、
前記心電異常の確率に基づいて、早期警報情報を生成するための早期警報モジュールとを含む、ことを特徴とする心電異常早期警報装置。
【請求項14】
電子機器であって、
1つ又は複数のプロセッサーと、
1つ又は複数のプログラムを記憶するための記憶装置とを含み、
前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサーによって実行されると、前記1つ又は複数のプロセッサーは、請求項1~10のいずれか一項に記載の心電異常検出ネットワーク訓練方法、及び/又は、請求項11に記載の心電異常早期警報方法を実現する、ことを特徴とする電子機器。
【請求項15】
コンピュータプログラムが記憶されているコンピュータ読取可能な記憶媒体であって、このプログラムがプロセッサーによって実行されると、請求項1~10のいずれか一項に記載の心電異常検出ネットワーク訓練方法、及び/又は、請求項11に記載の心電異常早期警報方法が実現される、ことを特徴とするコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施例は、心電図処理技術の分野に関し、特に、心電異常検出ネットワーク訓練方法、心電異常早期警報方法、心電異常検出ネットワーク訓練装置、心電異常早期警報装置、電子機器及び記憶媒体に関する。
【背景技術】
【0002】
心臓性突然死(sudden cardiac death、SCD)は、心血管疾患の主要な死因の1つであり、その隠蔽性と突発性などの特徴のために、心臓突然死が発生すると、患者の生存率が非常に低くなり、人間の健康を深刻に脅かすので、早期診断と早期警報は、SCDを予防するための鍵である。
【0003】
従来技術における解決策の一つは、1つ又は複数の方法の組み合わせを選択し比較して、効果の最も良い波形検出アルゴリズムを選択し、心電信号を検出し特徴を抽出し、最後に心電信号の波形検出結果を出力する。この解決策は、突然死の早期警報の研究を支援し、研究データの精度を向上させることを主な目的とするが、心臓性突然死に対する効果的な早期警報を直接実行することができない。
【0004】
別の解決策は、運動における心臓性突然死に対する早期警報であり、運動中の心電図を収集し、リアルタイムの特徴パラメータを抽出して、多層ニューラルネットワーク中に入力することで、運動における心臓性突然死に対して早期警報を行うので、普遍的な心臓性突然死の早期警報に適用されないとともに、多層ニューラルネットワークのモデルパラメータが多すぎるため、携帯電話などのモバイル機器に適さない。
【0005】
別の解決策では、まず、人工ニューラルネットワークを構築し、各ネットワーク層の重みを初期化し、その後、突然死データのサンプルと正常な心拍数データサンプルを処理し、特徴を抽出して、特徴ベクトルを構築しており、初期化された人工ニューラルネットワークに特徴ベクトルをネットワークとして入力し訓練して、訓練された人工ニューラルネットワークで心臓性異常を予測する。しかしながら、人工ニューラルネットワークは、浮動小数点型パラメータを採用して計算を行い、ネットワークパラメータが多すぎ、ネットワークの動作中に大量のメモリーを占有し、人工ニューラルネットワークに速い動作速度と大容量の計算環境が必要となるため、携帯電話などのモバイル機器に適用するのが困難である。
【0006】
以上より、従来技術は、普遍的な心臓性突然死の効果的な早期警報を直接行うことができず、早期警報用のニューラルネットワークに高いハードウェア要件があるため、モバイル機器に適用することができない。
【発明の概要】
【0007】
本発明の実施例は、普遍的な心臓性突然死の効果的な早期警報を直接行うことができず、早期警報用のニューラルネットワークに高いハードウェア要件があるため、モバイル機器に適用することができないという従来技術の問題を解決するために、心電異常検出ネットワーク訓練方法、心電異常早期警報方法、心電異常検出ネットワーク訓練装置、心電異常早期警報装置、電子機器及び記憶媒体を提供する。
【0008】
第1態様では、本発明の実施例は心電異常検出ネットワーク訓練方法を提供する。この方法は、
心電異常患者の心電図信号及び正常人の心電図信号を取得するステップと、
取得された前記心電図信号から訓練用データを抽出するステップと、
前記訓練用データを採用して、バイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするステップであって、前記心電異常検出ネットワークにおける各ネットワーク層について、前記ネットワーク層のノード値と重みが二値データであり、前記ネットワーク層のノード値と重みで二値演算を行って、一層下のネットワーク層のノード値を取得するステップとを含む。
【0009】
第2態様では、本発明の実施例は心電異常早期警報方法を提供する。この方法は、
監視対象者の心電図信号を取得するステップと、
前記心電図信号から心拍信号を抽出するステップと、
前記心拍信号をサンプリングしてサンプリングデータを取得するステップと、
前記サンプリングデータを、予め訓練された心電異常検出ネットワークに入力して、前記監視対象者の心電異常の確率を取得するステップと、
前記心電異常の確率に基づいて、早期警報情報を生成するステップとを含み、
心電異常検出ネットワークは、本発明の第1態様で記載されている心電異常検出ネットワーク訓練方法によって訓練される。
【0010】
第3態様では、本発明の実施例は心電異常検出ネットワーク訓練装置を提供する。この方法は、
心電異常患者の心電図信号及び正常人の心電図信号を取得するための心電図信号取得モジュールと、
取得された前記心電図信号から訓練用データを抽出するための訓練用データ抽出モジュールと、
前記訓練用データを採用して、バイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするための訓練モジュールであって、前記心電異常検出ネットワークにおける各ネットワーク層について、前記ネットワーク層のノード値と重みが二値データであり、前記ネットワーク層のノード値と重みで二値演算を行って、一層下のネットワーク層のノード値を取得する訓練モジュールとを含む。
【0011】
第4態様では、本発明の実施例は、モバイル機器に使用される心電異常早期警報装置を提供する。この装置は、
監視対象者の心電図信号を取得するための心電図信号取得モジュールと、
前記心電図信号から心拍信号を抽出するための心拍信号抽出モジュールと、
前記心拍信号をサンプリングしてサンプリングデータを取得するためのサンプリングモジュールと、
前記サンプリングデータを、予め訓練された心電異常検出ネットワークに入力して、前記監視対象者の心電異常の確率を取得するためのネットワーク予測モジュールと、
前記心電異常の確率に基づいて、早期警報情報を生成するための早期警報モジュールとを含み、
心電異常検出ネットワークは、本発明の第1態様で記載されている心電異常検出ネットワーク訓練方法によって訓練される。
第5態様では、本発明の実施例は電子機器を提供する。前記電子機器は、
1つ又は複数のプロセッサーと、
1つ又は複数のプログラムを記憶するための記憶装置とを含み、
前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサーによって実行されると、前記1つ又は複数のプロセッサーは、本発明の実施例のいずれかに記載されている心電異常検出ネットワーク訓練方法、及び/又は、心電異常早期警報方法を実現する。
【0012】
第6態様では、本発明の実施例は、コンピュータプログラムが記憶されているコンピュータ読取可能な記憶媒体を提供する。このプログラムがプロセッサーによって実行されると、本発明の実施例のいずれかに記載されている心電異常検出ネットワーク訓練方法、及び/又は、心電異常早期警報方法が実現される。
【0013】
本発明の実施例では、心電異常患者の心電図信号及び正常人の心電図信号を取得し、取得された心電図信号から訓練用データを抽出してバイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとする。一方では、心電異常検出ネットワークにおいて、各ネットワーク層のノード値及び重みが二値データであり、ネットワーク層のノード値及び重みで二値演算を行って一層下のネットワーク層のノード値を取得する。二値データが1bitのデータを占めるため、32-bitの実数型データと比較して、バイナリニューラルネットワークの必要とするメモリーが小さく、重みファイルを1GBから32Mに減らすことができるので、メモリーの占有が大幅に削減される。また、二値データで、乘法の代わりにアンドゲートや排他的論理和ゲートなどの演算を行うことができ、1-bitの排他的論理和ゲートにより元の32-bitの浮動小数点乗算を代替し、高速演算を実現するとともに、動作環境のハードウェアコストを減らすことができるので、訓練された心電異常検出ネットワークを、記憶容量及び演算能力が限られているモバイル機器に埋め込むことができる。もう一方では、心電異常患者には様々な心電異常が含まれ得るため、様々な心電異常の心電図信号を取得して心電異常検出ネットワークを訓練することができる。この心電異常検出ネットワークは、様々な心電異常の確率を直接かつ効果的に予測することができる。
【図面の簡単な説明】
【0014】
図1】本発明の実施例1によって提供される心電異常検出ネットワーク訓練方法のステップフローチャートである。
図2A】本発明の実施例2によって提供される心電異常検出ネットワーク訓練方法のステップフローチャートである。
図2B】本発明の実施例における心拍信号の模式図である。
図3】本発明の実施例3によって提供される心電異常早期警報方法のステップフローチャートである。
図4】本発明の実施例4によって提供される心電異常検出ネットワーク訓練装置の構造ブロック図である。
図5】本発明の実施例5によって提供される心電異常早期警報装置の構造ブロック図である。
図6】本発明の実施例6によって提供される電子機器の構造示意図である。
【発明を実施するための形態】
【0015】
以下、添付の図面及び実施例を参照しながら、本発明を更に詳細に説明する。理解されるように、本明細書で説明される具体的な実施例は、本発明を解釈するためのものに過ぎず、本発明を限定するものではない。なお、説明を容易にするために、添付の図面は、すべての構造ではなく、本発明に関連する構造の一部のみを示す。矛盾がない場合、本出願の実施例及び実施例における特徴は、互いに組み合わせることができる。
<実施例1>
【0016】
図1は、本発明の実施例によって提供される心電異常検出ネットワーク訓練方法のステップフローチャートである。本発明の実施例は、心電異常検出ネットワークを訓練して心電異常を検出することに適用され得る。この方法は、本発明の実施例に係る心電異常検出ネットワーク訓練装置によって実行することができる。この心電異常検出ネットワーク訓練装置は、ハードウェア又はソフトウェアにより実現することができ、本発明の実施例によって提供される電子機器に集積し、例えば、コンピュータ機器又はサーバーに集積することができる。具体的には、図1に示すように、本発明の実施例の心電異常検出ネットワーク訓練方法は以下のステップ(S101~S103)を含み得る。
【0017】
S101では、心電異常患者の心電図信号及び正常人の心電図信号を取得する。
【0018】
本発明の実施例では、訓練前に、心電図信号収集機器によって心電異常患者及び正常人の心電図信号を収集して、心電異常患者の心電図信号及び正常人の心電図信号を取得することができる。心電異常患者は、様々な心臓性突然死患者であってもよいし、他の心電異常患者であってもよい。心電図信号は、1誘導心電図信号、3誘導心電図信号、12誘導心電図信号などであってもよい。本発明の実施例は、心電図信号の取得方式及び心電図信号の誘導数を制限しない。
【0019】
S102では、取得された前記心電図信号から訓練用データを抽出する。
【0020】
1つのオプションの実施例では、まず、心電図信号(心電異常患者及び正常人の心電図信号を含む)に対してノイズ除去処理を行うことができ、例えば、ノッチフィルタで心電図信号における電源周波数干渉ノイズを除去すること、ローパスフィルタで筋電干渉ノイズを除去すること、IIRゼロ位相シフトディジタルフィルタで基線ワンダーを訂正することなどができる。本発明の実施例は、ノイズの除去方式を制限しない。
【0021】
ノイズ除去処理の後に、ノイズ除去処理後の心電図信号に対して心拍分割を行って、各心電図信号の複数の心拍信号を取得することができる。心拍信号をサンプリングして取得されたサンプリングデータを訓練用サンプルとして、心拍信号の属する心電図信号が心電異常患者又は正常人からのものであることを訓練用サンプルのサンプルラベルとすると、訓練用サンプル及びサンプルラベルは訓練用データを構成する。
【0022】
S103では、前記訓練用データを採用して、バイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとする。前記心電異常検出ネットワークにおける各ネットワーク層について、前記ネットワーク層のノード値と重みが二値データであり、前記ネットワーク層のノード値と重みで二値演算を行って、一層下のネットワーク層のノード値を取得する。
【0023】
本発明の実施例の心電異常検出ネットワークは、バイナリニューラルネットワークである。バイナリニューラルネットワークにおいて、各ネットワーク層のノード値及び重みは二値データであり、即ち、ノード及び重みの値は1又は-1であり、1bitの大きさのみを占める。一層下のネットワーク層のノード値として各ネットワーク層のノード値及び重みを二値演算する。
【0024】
実際の応用時に、バイナリニューラルネットワークの入力層、隠れ層、出力層を初期化した後、1つの心拍信号のサンプリングデータをランダムに抽出しバイナリニューラルネットワークに入力して、前方伝播を行う。前方伝播中に、数値を二値化し二値化演算を行って予測値を取得する。予測値及びサンプルラベルにより損失率を計算する。損失率が予め設定された値を超えると、損失率に基づいて勾配を計算する。勾配によって逆伝播を行ってバイナリニューラルネットワークの各層の重みを更新する。その後、損失率が予め設定された値よりも小さくなるまで、訓練を反復して、訓練されたバイナリニューラルネットワーク、即ち、心電異常検出ネットワークを取得する。監視対象者の心電図信号を訓練された心電異常検出ネットワークに入力すると、監視対象者が心電異常を持つ確率を取得することができる。確率が閾値よりも大きい場合、警告情報を生成することができる。
【0025】
本発明の実施例では、バイナリニューラルネットワークを心電異常検出ネットワークとして訓練する。一方では、心電異常検出ネットワークにおいて、各ネットワーク層のノード値及び重みが二値データであり、ネットワーク層のノード値及び重みで二値演算を行って一層下のネットワーク層のノード値を取得する。二値データは1bitのデータのみを占め、32-bitの実数型データと比較して、バイナリニューラルネットワークが必要とするメモリーは小さく、重みファイルを1GBから32Mに減らすことができるため、メモリーの占有が大幅に削減される。また、二値データで、乗法の代わりにアンドゲートや排他的論理和ゲートなどの演算を行うことができる。1-bitの排他的論理和ゲートにより、元の32-bitの浮動小数点乗算を代替し、高速演算を実現するとともに、動作環境のハードウェアコストを減らすことができるので、訓練された心電異常検出ネットワークを、記憶容量及び演算能力が限られているモバイル機器に埋め込むことができる。一方、心電異常患者には、様々な心電異常が含まれ得るため、様々な心電異常の心電図信号を取得して心電異常検出ネットワークを訓練することができる。この心電異常検出ネットワークは、様々な心電異常の確率を直接かつ効果的に予測することができる。
<実施例2>
【0026】
図2Aは、本発明の実施例2によって提供される心電異常検出ネットワーク訓練方法のステップフローチャートである。本発明の実施例では、上記の実施例1を基礎として最適化する。具体的には、図2Aに示すように、本発明の実施例の心電異常検出ネットワーク訓練方法は、以下のステップ(S201~S213)を含み得る。
【0027】
S201では、心電異常患者の心電図信号及び正常人の心電図信号を取得する。
【0028】
S202では、取得された前記心電図信号に対してノイズ除去処理を行って、ノイズ除去後の心電図信号を取得する。
実際の応用時に、収集された心電図信号に筋電干渉ノイズ、基線ワンダーノイズ、電源周波数干渉ノイズの少なくとも1つのノイズが存在する可能性がある。取得された心電図信号に対して、筋電干渉ノイズ除去、基線ワンダーノイズ除去、電源周波数干渉ノイズ除去の処理を行って、ノイズ除去後の心電図信号を取得することができる。当然のことながら、実際の応用時に、当業者は、心電図信号における他のノイズを除去することもでき、本発明の実施例はそれを制限しない。
【0029】
具体的には、電源周波数干渉ノイズに対して、ノッチフィルタを採用して心電図信号における電源周波数干渉ノイズを除去することができる。ノッチフィルタは、カットオフ周波数49HZのローパスフィルタ及びカットオフ周波数51HZのハイパスフィルタにより構成され得る。ハイパスフィルタは、全域通過フィルターからローパスフィルタを差し引いたもので構成され得る。
【0030】
筋電干渉ノイズに対して、ローパスフィルタを採用して筋電干渉ノイズを除去することができる。好ましくは、標準化バターワースアナログローパスフィルタを採用して筋電干渉ノイズを除去することができる。
【0031】
基線ワンダーノイズは、IIRゼロ位相シフトディジタルフィルタによって訂正することができる。基線ワンダーノイズは低周波ノイズであるため、IIRゼロ位相シフトディジタルフィルタにより、比較的低い次数で高い周波数選択性を取得することができる。IIRゼロ位相シフトディジタルフィルタの入力及び出力は、次の式で表すことができる。
【数1】
上記の式では、x()は入力された元の心電図信号であり、y()は基線較正後(基線ワンダーノイズを除去した)の心電図信号であり、nはフィルター次数であり、a、bはフィルター係数で定数であり、mは最初のm個の入力を表す。
【0032】
本発明の実施例は、心電図信号に対してノイズ除去処理を行うことで、心電図信号におけるノイズを除去することができ、ノイズ除去処理後の心電図信号からより正確な訓練用データを抽出するので、訓練により得られるバイナリニューラルネットワークの精度を向上させる。
【0033】
S203では、前記ノイズ除去処理後の心電図信号から心拍信号を抽出する。
【0034】
図2Bは心電図信号を示す。1つの完全な心拍信号はP波、QRS波群及びT波を含む。図2Bの心電図信号は、2つの心拍信号を含む。心拍信号におけるQRS波群の位置を決定することで、それに対応して一つの心拍信号における他の波部分の位置を決定することができる。それにより、心拍信号全体を切り取って、1つの心拍信号の背景、P波、PQ部分、QR部分、RS部分、ST部分の合計6つの波形を取得する。当然のことながら、実際の応用時に、他の波部分を取得することもできる。本発明の実施例は、これを制限しない。
【0035】
本発明の好ましい実施例では、ノイズ除去処理後の心電図信号を予め訓練された心拍分割モデルに入力して、複数の心拍信号を抽出してもよい。例示的に、LSTM(Long Short-Term Memory、長・短期記憶ネットワーク)を予め訓練し、心電図信号をLSTMに入力した後、LSTMによって心電図信号に対して波形分割を行って複数の心拍信号を取得することができる。当然のことながら、LSTMだけでなく、RNN、DNN、CNNなどのモデルを訓練してもよい。
【0036】
S204では、前記心拍信号をサンプリングして訓練用サンプルを取得する。
【0037】
オプションで、予め設定されたサンプリング周波数に基づいて心拍信号をサンプリングして、複数のサンプリングデータを取得し、サンプリングデータの数が予め設定された数よりも小さいか否かを判断しており、小さい場合、サンプリングデータの数が予め設定された数と等しくなるように、サンプリングデータを拡張して、サンプリングデータを訓練用データとして確定することができる。
【0038】
例示的には、1つの心拍信号の周期は0.8s~1.2sであり、心電図信号のサンプリング周波数は1000HZである。バイナリニューラルネットワークの入力層で入力されたデータのディメンションが固定的であるため、1200個のディメンション、即ち、1200個のサンプリング点があると仮定すると、周期が1.2s未満の心拍信号を1000HZのサンプリング周波数に従ってサンプリングした後のサンプリングデータの数は1200個未満である。この場合、両端でゼロ-パディングを行い、心拍信号をサンプリングして得られたサンプリングデータの均一な長さを1200個にすることができる。例えば、時間長が1sの心拍に対して、両端にそれぞれゼロ値のサンプリング点を100個付加して、長さが1200個のデータサンプルを得る。
【0039】
S205では、前記心拍信号をラベリングして、サンプルラベルを取得する。前記サンプルラベルは、前記心拍信号が異常心電信号又は正常心電信号であることを表す。
【0040】
例示的には、各心拍信号について、その心拍信号が心電異常患者の心電図信号からのものか、又は正常人の心電図信号からのものかを判断することによって、対応するラベルをサンプルラベルとしてラベリングすることができる。具体的な一例では、各訓練用サンプルがサンプルラベルに対応するように、正常人からの心拍信号のラベルを0、心電異常患者からの心拍信号のラベルを1に設定することができる。
【0041】
S206では、前記訓練用サンプル及び前記サンプルラベルを訓練用データとして確定する。
【0042】
本発明の実施例では、訓練用データは、サンプル及びラベルを含む。サンプルは、心拍信号をサンプリングして得られたサンプリングデータであってもよく、ラベルは、心拍信号をラベリングするラベルであってもよい。
【0043】
S207では、バイナリニューラルネットワークを初期化する。
【0044】
具体的には、初期化は、バイナリニューラルネットワークの入力層、隠れ層及び出力層を構築することであってもよい。一例では、心電図信号の誘導数が1である場合、即ち、心電図信号が単一誘導心電図信号である場合、1つの入力層、4つの入力層及び1つの出力層を含むバイナリニューラルネットワークを構築することができる。当然のことながら、入力層の幅が心電図信号の誘導数と等しい。例えば、心電図信号が12誘導である場合、入力層の幅は12である。
【0045】
S208では、1つの心拍信号のサンプリングデータをランダムに抽出し、前記バイナリニューラルネットワークに入力し、前方伝播を行って、各ネットワーク層の二値化活性化値及び実数型活性化値を取得する。
【0046】
本発明のオプションの実施例では、バイナリニューラルネットワークの各層のネットワーク層に対して、現在のネットワーク層の実数型重みを二値化して二値化重みを取得する。現在のネットワーク層の二値化重みと一層上のネットワーク層の二値化活性化値を乗算して、現在のネットワーク層の実数型中間ベクトルを取得する。現在のネットワーク層の標準化処理パラメータに基づいて、実数型中間ベクトルを標準化処理して実数型活性化値を取得する。現在のネットワーク層が出力層であるか否かを判断する。出力層である場合、実数型活性化値を予測値とする。出力層ではない場合、実数型中間ベクトルに対して二値化処理を行って、現在のネットワーク層の二値化活性化値を取得し、一層下のネットワーク層を現在のネットワーク層として、現在のネットワーク層の実数型重みを二値化して二値化重みを取得するステップに戻る。
【0047】
具体的には、前方伝播中に、バイナリニューラルネットワークの各ネットワーク層に対して、各ネットワーク層の重みと活性化値を乗算してから一層下のネットワーク層の活性化値とする。実際の応用時に、心拍信号のサンプリングデータは実数型のデータであり、バイナリニューラルネットワークの1層目のネットワークの重みは実数型重みであり、2層目のネットワークから二値化関数で重みと活性化値は1bitの二値データとして定量化される。即ち、重みと活性化値は+1又-1である。二値化関数は
【数2】
である。
上記の式では、xは、実数型数値xを二値化した値である。Sign関数で、実数型重み及び活性化値を二値化することができ、パラメータのメモリー占有量を倍減することができる。二値ネットワークの出力層で活性化値に対して二値化処理を行わず、出力層でlogistics活性化関数を使用して、[0,1]の間の実数を予測値として出力する。予測値が1に近いほど、監視対象者の心電異常のリスクが高くなる。
【0048】
一例では、現在のネットワーク層kに対して、次の式で重みを二値化する。
【数3】
が現在のネットワーク層kの実数型重みであり、Binarizeが二値化関数であり、W が現在のネットワーク層kの二値化重みである場合、現在のネットワーク層kの実数型中間ベクトルは、
【数4】
である。
式では、sは、現在のネットワーク層kの実数型中間ベクトルであり、ab k-1、一層上のネットワーク層k-1の二値化活性化値である。
【0049】
現在のネットワーク層kの実数型中間ベクトルsを取得した後、実数型中間ベクトルsを以下のように処理して、出力層の実数型活性化値を取得する。
【数5】
上記の式では、BatchNormは、バッチ標準化関数であり、θは、現在のネットワーク層kのバッチ標準化パラメータであり、aは、現在のネットワーク層kの実数型活性化値である。
【0050】
現在のネットワーク層kがバイナリニューラルネットワークの出力層でない場合、実数型活性化値aに対して二値化処理を行う。
【数6】
その後、現在のネットワーク層が出力層となるまで、一層下のネットワーク層を現在のネットワーク層とする。
【0051】
S209では、前記バイナリニューラルネットワークの出力層の実数型活性化値及び前記サンプルラベルを予め設定された損失関数に代入して、損失率を計算する。
【0052】
具体的には、損失関数は、サンプルラベルと出力との間の差を計算する関数であってもよい。一例では、損失関数は、L1、L2距離を計算する関数であってもよいし、平均二乗誤差関数などであってもよい。本発明の実施例では、損失関数を制限しない。
【0053】
バイナリニューラルネットワークに対して、サンプルラベルと、バイナリニューラルネットワークの出力層によって出力された実数型活性化値を損失関数に代入して、損失率を取得することができる。
【0054】
S210では、前記損失率が予め設定された閾値よりも小さいか否かを判断する。
【0055】
本発明の実施例では、出力層がバイナリニューラルネットワークの最終的な出力結果であるため、損失率が予め設定された閾値よりも小さい場合、これは、バイナリニューラルネットワークの予測結果が真の値(サンプルラベル)に近いことを示し、このバイナリニューラルネットワークは心拍信号が異常心電信号であるか否かを正確に予測する能力を持ち、S211を実行することができる。損失率が予め設定された閾値よりも小さくない場合、S212とS213を実行する。
【0056】
S211では、前記バイナリニューラルネットワークに対する訓練を停止し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとする。
【0057】
損失率が予め設定された閾値よりも小さくなると、バイナリニューラルネットワークに対する訓練を停止してもよい。訓練されたバイナリニューラルネットワークは心電異常検出ネットワークである。モバイル機器への移植を容易にするために、心電異常検出ネットワークのネットワークパラメータをパッケージ化して保存することができる。
【0058】
S212では、前記損失率を用いて各ネットワーク層の二値化重みの勾配を計算する。
【0059】
本発明のオプションの実施例では、各ネットワーク層に対して、ネットワーク層の二値化活性化値に対する損失率の勾配を計算し、次に、ネットワーク層の実数型活性化値に対する損失率の勾配を計算する。実数型活性化値の勾配、実数型中間ベクトル及び標準処理パラメータに対して標準化処理を行って、実数型中間ベクトルの勾配及び標準処理パラメータの勾配を取得する。実数型中間ベクトルの置換行列と一層上のネットワーク層の二値化重みとの相乗積をネットワーク層の二値化重みの勾配として計算する。
【0060】
実際の応用時に、二値化関数
q=Sign(r)について、
符号関数Signの微分係数がゼロであるため、逆伝播を行うことができない。逆伝播で勾配を計算する過程に、符号関数Signをルーズ(loose)させる。
【0061】
二値化qの勾配g
【数7】
である。
上記の式におけるCが損失関数であると仮定すると、二値化値qに対する損失関数の勾配gは既知であり、実数型数値rに対する損失関数の勾配は以下のとおりである。
【数8】
具体的には、本発明の実施例において、二値化活性化値ab kに対する損失関数の勾配gab kを計算した後、実数型活性化値に対する損失関数の勾配gakは以下のとおりである。
【数9】
ここで、gab kは、二値化活性化値に対する損失率の勾配であり、1|ak|≦1は、Sign関数を緩和させた後の勾配である。実数型活性化値akの絶対値が1以下である場合、実数型活性化値に対する損失率の勾配はgak=gab kである。絶対値が1よりも大きい場合、gak=0である。
【0062】
上記のS208のように、実数型活性化値は、ak=BatchNorm(s,θ)を介して得られる。実数型活性化値の勾配gakを取得した後、連鎖率に従って、バッチ標準化前の実数型中間ベクトルskの勾配gsk及びバッチ標準化パラメータθの勾配gθkを計算することができる。
【0063】
連鎖率(chain rule)は、微分積分学における微分法則であり、合成関数の微分係数を求めるために使用される。連鎖率では、2つの関数の組み合わせによる合成関数について、合成関数の微分係数は、内側関数が代入された外側関数値の微分係数と、内側関数の微分係数を乗算したものと等しい。具体的には、本発明の実施例において、
【数10】
akが既知であり、S208で実数型中間ベクトルsk及びバッチ標準化パラメータθkが分かると、連鎖率によって実数型中間ベクトルskの勾配gsk及びバッチ標準化パラメータθkの勾配gθkを計算することができる。
【0064】
二値化重みの勾配は
【数11】
である。
【0065】
S213では、前記二値化重みの勾配及び予め設定された学習率に基づいて、前記バイナリニューラルネットワークの各ネットワーク層の重みを調整する。
【0066】
各ネットワーク層の勾配を取得した後、逆伝播を行って各ネットワーク層のパラメータを調整することができる。一例では、各ネットワーク層の重みに対して、予め設定された学習率と二値化重みの勾配の相乗積を計算することができる。二値化重みと相乗積との差を新たな重みとして計算する。この新たな重みは-1以上、1以下である。重みは[-1,1]範囲内に限定される。各ネットワーク層の重みを調整した後、S208に戻りバイナリニューラルネットワークを反復して訓練する。
【0067】
本発明の実施例では、心電図信号を取得した後、ノイズ除去処理を行って、ノイズ除去後の心電図信号を取得し、心拍信号を抽出する。心拍信号をサンプリングして、訓練用データを取得する。バイナリニューラルネットワークを初期化した後、1つの心拍信号のサンプリングデータをランダムに抽出して、バイナリニューラルネットワークに入力し、前方伝播を行って、各ネットワーク層の二値化活性化値及び実数型活性化値を取得し、バイナリニューラルネットワークの出力層の活性化値で損失率を計算する。損失率が予め設定された閾値よりも小さい場合、損失率でネットワーク層の二値化重みの勾配を計算しており、勾配と予め設定された学習率に基づいて、ネットワーク層の重みを調整し、バイナリニューラルネットワークを再度重複して訓練する。心電異常検出ネットワークにおいて、各ネットワーク層のノード値及び重みが二値データであり、ネットワーク層のノード値及び重みで二値演算を行って一層下のネットワーク層のノード値を取得する。二値データは1bitのデータを占め、32-bitの実数型データと比較して、バイナリニューラルネットワークが必要とするメモリーは小さく、重みファイルを1GBから32Mに減らすことができるため、メモリーの占有が大幅に削減される。また、二値データで、乗法の代わりにアンドゲートや排他的論理和ゲートなどの演算を行うことができる。1-bitの排他的論理和ゲートにより、元の32-bitの浮動小数点乗算を代替し、高速演算を実現するとともに、動作環境のハードウェアコストを減らすことができるので、訓練された心電異常検出ネットワークを、記憶容量及び演算能力が限られているモバイル機器に埋め込むことができる。一方、心電異常患者には、様々な心電異常が含まれ得るため、様々な心電異常の心電図信号を取得して心電異常検出ネットワークを訓練することができる。この心電異常検出ネットワークは、様々な心電異常の確率を直接かつ効果的に予測することができる。
<実施例3>
【0068】
図3は、本発明の実施例3によって提供される心電異常早期警報方法のステップフローチャートである。本発明の実施例は、心電異常に対する早期警報の場面に適用され得る。この方法は、本発明の実施例の心電異常早期警報装置によって実行することができる。この心電異常早期警報装置は、ハードウェア又はソフトウェアにより実現することができ、本発明の実施例によって提供される電子機器に集積し、例えば、モバイル機器に集積することができる。具体的には、図3に示すように、本発明の実施例に係る心電異常早期警報方法は、以下のステップ(S301~S305)を含み得る。
【0069】
S301では、監視対象者の心電図信号を取得する。
【0070】
本発明の実施例では、監視対象者は心電異常高リスク者であってもよい。心電図信号収集装置によって監視対象者の心電図信号を収集することができる。一例では、心電図信号収集装置は、簡易かつ小型の心電図信号収集装置であってもよい。この心電図信号収集装置は、モバイル機器に有線又は無線で接続される。心電図信号収集装置は、監視対象者の心電図信号をリアルタイムで収集してモバイル機器に送信する。モバイル機器は、監視対象者のダイナミックなリアルタイム心電図信号をリアルタイムで取得することができる。
【0071】
S302では、前記心電図信号から心拍信号を抽出する。
【0072】
一例では、心電図信号をノイズ除去処理してから予め訓練された心拍分割モデルに入力し、複数の心拍信号を抽出することができる。具体的な詳細は、実施例2のS203を参照することができる。
【0073】
S303では、前記心拍信号をサンプリングしてサンプリングデータを取得する。
【0074】
実際の応用時に、予め設定されたサンプリング率に従って、心拍信号をサンプリングしてサンプリングデータを取得することができる。具体的な詳細は、実施例2のS204を参照することができる。
【0075】
S304では、前記サンプリングデータを、予め訓練された心電異常検出ネットワークに入力して、前記監視対象者の心電異常の確率を取得する。
【0076】
本発明の実施例に係る心電異常検出ネットワークは、実施例1又は実施例2の心電異常検出ネットワーク訓練方法によって訓練される。この方法については、ここでは詳しく説明しない。
【0077】
サンプリングデータを取得した後、サンプリングデータを心電異常検出ネットワークに入力して、監視対象者の心電異常の確率を取得することができる。この確率の値は0~1である。
【0078】
S305では、前記心電異常の確率に基づいて、早期警報情報を生成する。
【0079】
具体的には、心電異常検出ネットワークによって出力された確率が予め設定された閾値よりも大きく、例えば0.6又は0.8である場合、心電異常早期警報情報を生成する。この心電早期警報情報は、テキスト情報、音声情報などであってもよい。一例では、モバイル機器(例えば、携帯電話)の表示スクリーンで心電異常早期警報情報を表示する。別の例では、モバイル機器は、可動式心電監視機器であってもよい。心電異常検出ネットワークによって出力される確率が予め設定された閾値よりも大きい場合、心電監視機器で早期警報音声を放送することができる。
【0080】
本発明の実施例に係る心電異常検出ネットワークは、バイナリニューラルネットワークである。各ネットワーク層のノード値及び重みが二値データであり、ネットワーク層のノード値及び重みで二値演算を行って一層下のネットワーク層のノード値を取得する。二値データが1bitのデータを占め、32-bitの実数型データと比較して、バイナリニューラルネットワークの必要とするメモリーが小さく、重みファイルを1GBから32Mに減らすことができるため、メモリーの占有が大幅に削減される。また、二値データで、乘法の代わりにアンドゲートや排他的論理和ゲートなどの演算を行うことができる。1-bitの排他的論理和ゲートにより、元の32-bitの浮動小数点乗算を代替し、高速演算を実現するとともに、動作環境のハードウェアコストを減らすことができるので、訓練された心電異常検出ネットワークを、記憶容量及び演算能力が限られているモバイル機器に埋め込むことができる。それにより、モバイル機器を介して心電異常早期警報を実行することができる。また、心電異常患者には様々な心電異常が含まれ得るため、様々な心電異常の心電図信号を取得して心電異常検出ネットワークを訓練することができるので、この心電異常検出ネットワークを移植したモバイル機器を採用して、様々な心電異常を直接かつ効果的に予測することができる。
【0081】
さらに、監視対象者の心電図信号を動的に取得し、自動的に心拍信号及びサンプリングデータを抽出して心電異常検出ネットワークに入力することができる。これにより、短期間心電図に発作性不整脈が漏れやすいという欠点、及び心電図を分析する際の医療従事者の主観的な影響による誤検出や検出漏れを回避する。識別プロセスが簡単、迅速であり、コストが低く、精度が高い。モバイル機器を用いて心電異常をタイムリーで効果的に早期警報することができる。
<実施例4>
【0082】
図4は、本発明の実施例4によって提供される心電異常検出ネットワーク訓練装置の構造ブロック図である。図4に示すように、本発明の実施例の心電異常検出ネットワーク訓練装置は、具体的には、
心電異常患者の心電図信号及び正常人の心電図信号を取得するための心電図信号取得モジュール401と、
取得された前記心電図信号から訓練用データを抽出するための訓練用データ抽出モジュール402と、
前記訓練用データを採用して、バイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするための訓練モジュール403であって、前記心電異常検出ネットワークにおける各ネットワーク層について、前記ネットワーク層のノード値と重みとが二値データであり、前記ネットワーク層のノード値と重みとで二値演算を行って、一層下のネットワーク層のノード値を取得する訓練モジュール403とを含む。
【0083】
オプションで、訓練用データ抽出モジュール402は、
取得された前記心電図信号に対してノイズ除去処理を行って、ノイズ除去後の心電図信号を取得するためのノイズ除去処理サブモジュールと、
前記ノイズ除去後の心電図信号から心拍信号を抽出するための心拍信号抽出サブモジュールと、
前記心拍信号をサンプリングして訓練用サンプルを取得するための訓練用サンプルのサンプリングサブモジュールと、
前記心拍信号をラベリングしてサンプルラベルを取得するためのラベリングサブモジュールであって、前記サンプルラベルは前記心拍信号が異常心電信号又は正常心電信号であるラベリングサブモジュールと、
前記訓練用サンプル及び前記サンプルラベルを訓練用データとして確定するための訓練用データ確定サブモジュールとを含む。
オプションで、前記ノイズ除去処理サブモジュールは、
ノイズ除去後の心電図信号を取得するために、取得された前記心電図信号に対して、筋電干渉ノイズ除去、基線ワンダーノイズ除去、及び電源周波数干渉ノイズ除去の処理を行うためのノイズ除去処理ユニット含む。
【0084】
オプションで、前記心拍信号抽出サブモジュールは、
前記ノイズ除去処理後の心電図信号を、予め訓練された心拍分割モデルに入力して、複数の心拍信号を抽出するための心拍信号抽出子ユニットを含む。
【0085】
オプションで、前記訓練用サンプルのサンプリングサブモジュールは、
予め設定されたサンプリング周波数に従って前記心拍信号をサンプリングして、複数のサンプリングデータを取得するためのサンプリングユニットと、
前記サンプリングデータの数が予め設定された数よりも小さいか否かを判断するための数量判断ユニットと、
前記サンプリングデータの数が前記予め設定された数と等しくなるように、前記サンプリングデータを拡張するための拡張ユニットと、
前記サンプリングデータを訓練用データとして確定するための訓練用データ確定ユニットとを含む。
【0086】
オプションで、前記訓練用データは、1つの心拍信号のサンプリングデータ及び前記心拍信号のサンプルラベルを含む。前記訓練モジュール403は、
バイナリニューラルネットワークを初期化するための初期化サブモジュールと、
1つの心拍信号のサンプリングデータをランダムに抽出し、前記バイナリニューラルネットワークに入力し、前方伝播を行って、各ネットワーク層の二値化活性化値及び実数型活性化値を取得するための前方伝播サブモジュールと、
前記実数型活性化値及び前記サンプルラベルを予め設定された損失関数に代入して損失率を計算するための損失率計算サブモジュールと、
前記損失率が予め設定された閾値よりも小さいか否かを判断するための損失率判断サブモジュールと、
前記バイナリニューラルネットワークに対する訓練を停止し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするための訓練停止サブモジュールと、
前記損失率を用いて各ネットワーク層の二値化重みの勾配を計算するための勾配計算サブモジュールと、
前記二値化重みの勾配及び予め設定された学習率に基づいて、前記バイナリニューラルネットワークの各ネットワーク層の重みを調整し、前方伝播サブモジュールに戻るための逆伝播サブモジュールとを含む。
【0087】
オプションで、前記初期化サブモジュールは、入力層初期ユニットを含む。
入力層初期ユニットは、前記バイナリニューラルネットワークの入力層を初期化するために使用される。前記入力層の幅が前記心電図信号の誘導数と等しい。
【0088】
オプションで、前記前方伝播サブモジュールは、
前記バイナリニューラルネットワークのネットワーク層の各々に対して、現在のネットワーク層の実数型重みを二値化して二値化重みを取得するための重み二値化ユニットと、
前記現在のネットワーク層の二値化重みと、一層上のネットワーク層の二値化活性化値を乗算して、前記現在のネットワーク層の実数型中間ベクトルを取得するための二値計算ユニットと、
前記現在のネットワーク層の標準化処理パラメータに基づいて、前記実数型中間ベクトルに対して標準化処理を行って、実数型活性化値を取得するための標準化処理ユニットと、
前記現在のネットワーク層が出力層であるか否かを判断するための判断ユニットと、
前記実数型活性化値を予測値とするための予測値確定ユニットと、
前記実数型中間ベクトルに対して二値化処理を行って、前記現在のネットワーク層の二値化活性化値を取得するための活性化値二値化ユニットと、
一層下のネットワーク層を現在のネットワーク層として、現在のネットワーク層の実数型重みを二値化して二値化重みを取得するステップに戻るための前方伝播ユニットとを含む。
【0089】
オプションで、前記勾配計算サブモジュールは、
各ネットワーク層に対して、前記ネットワーク層の二値化活性化値に対する前記ネットワーク層の損失率の勾配を計算するための二値化活性化値勾配計算ユニットと、
次の式に従って、前記ネットワーク層の実数型活性化値に対する前記ネットワーク層の損失率の勾配を計算するための実数型活性化値勾配計算ユニットであって、
【数12】
gab kは、二値化活性化値に対する損失率の勾配であり、1|ak|≦1は、実数型活性化値aの絶対値が1以下である場合、実数型活性化値に対する損失率の勾配がgak=gab kであることを表し、又は、絶対値が1より大きい場合、gak=0である実数型活性化値勾配計算ユニットと、
連鎖法則及び前記実数型活性化値の勾配に基づいて、前記実数型中間ベクトルの勾配及び前記標準処理パラメータの勾配を計算するための中間ベクトル及び標準処理パラメータ勾配計算ユニットと、
前記ネットワーク層の二値化重みの勾配として、前記実数型中間ベクトルの置換行列と一層上のネットワーク層の二値化重みの相乗積を計算するための二値化重み勾配計算ユニットとを含む。
【0090】
オプションで、前記逆伝播サブモジュールは、
前記予め設定された学習率と前記二値化重みの勾配の相乗積を計算するための相乗積計算ユニットと、
前記二値化重みと前記相乗積との差を新たな重みとして計算するための新重み計算ユニットであって、前記新たな重みは-1以上1以下である新重み計算ユニットとを含む。
【0091】
本発明の実施例によって提供される心電異常検出ネットワーク訓練装置は、本発明の実施例1、実施例2によって提供される心電異常検出ネットワーク訓練方法を実行することができ、方法を実行するのに対応する機能及び有益な効果を有する。
<実施例5>
【0092】
図5は、本発明の実施例5によって提供される心電異常早期警報装置の構造ブロック図である。図5に示すように、本発明の実施例に係る心電異常早期警報装置は、具体的には、
監視対象者の心電図信号を取得するための心電図信号取得モジュール501と、
前記心電図信号から心拍信号を抽出するための心拍信号抽出モジュール502と、
前記心拍信号をサンプリングしてサンプリングデータを取得するためのサンプリングモジュール503と、
前記サンプリングデータを、予め訓練された心電異常検出ネットワークに入力して、前記監視対象者の心電異常の確率を取得するためのネットワーク予測モジュール504と、
前記心電異常の確率に基づいて、早期警報情報を生成するための早期警報モジュール505とを含み、
心電異常検出ネットワークは、実施例1又は実施例2で記載されている心電異常検出ネットワーク訓練方法によって訓練される。
【0093】
本発明の実施例によって提供される心電異常早期警報装置は、本発明の実施例3によって提供される心電異常早期警報方法を実行することができ、方法を実行するのに対応する機能及び有益な効果を有する。
<実施例6>
【0094】
図6は、本発明の一例における電子機器の構造模式図を示す。図6に示すように、この電子機器は、具体的には、プロセッサー601、メモリー602、タッチ機能を有する表示スクリーン603、入力装置604、出力装置605及び通信装置606を含み得る。この電子機器には、1つ又は複数のプロセッサー601が含まれ得る。図6では、1つのプロセッサー601を例とする。この電子機器には、1つ又は複数のメモリー602が含まれ得る。図6では、1つのメモリー602を例とする。この機器のプロセッサー601、メモリー602、表示スクリーン603、入力装置604、出力装置605及び通信装置606は、バス又はその他の方式で接続することができる。図6では、バスによる接続を例とする。
【0095】
メモリー602は、コンピュータ読取可能な記憶媒体として、ソフトウェアプログラム、コンピュータ実行可能なプログラム及びモジュール、例えば、本発明の実施例のいずれかに記載されている心電異常検出ネットワーク訓練方法に対応するプログラム命令/モジュール(例えば、上記の心電異常検出ネットワーク訓練装置における心電図信号取得モジュール401、訓練用データ抽出モジュール402及び訓練モジュール403)、本発明の実施例のいずれかに記載されている心電異常早期警報方法に対応するプログラム命令/モジュール(例えば、上記の心電異常検出装置における心電図信号取得モジュール501、心拍信号抽出モジュール502、サンプリングモジュール503、ネットワーク予測モジュール504及び早期警報モジュール505)などを記憶するために使用され得る。メモリー602は、主にプログラム記憶領域及びデータ記憶領域を含み得る。プログラム記憶領域には、装置、少なくとも1つの機能を操作するためのアプリケーションプログラムを記憶することができる。データ記憶領域には、機器の使用に応じて作成されたデータなどを記憶することができる。また、メモリー602は、高速ランダムアクセスメモリーを含んでもよいし、不揮発性メモリー、例えば、少なくとも1つのディスク記憶デバイス、フラッシュデバイス、又は他の不揮発性固体記憶デバイスを含んでもよい。幾つかの例では、メモリー602は、プロセッサー601に対して遠隔的に配置されたメモリーをさらに含み得る。これらの遠隔メモリーは、ネットワークを介して機器に接続することができる。上記のネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、移動通信ネットワーク及びそれらの組み合わせを含むが、これらに限定されない。
【0096】
表示スクリーン603は、タッチ機能を有する表示スクリーン603である。それは、静電容量式スクリーン、電磁誘導式スクリーン又は赤外線スクリーンであってもよい。通常、表示スクリーン603は、プロセッサー601の命令に従ってデータを表示するために使用され、また、表示スクリーン603に作用するタッチ操作を受け、対応する信号をプロセッサー601又は他の装置に送信するために使用される。オプションで、表示スクリーン603が赤外線スクリーンである場合、それは赤外線タッチフレームをさらに含む。この赤外線タッチフレームは、表示スクリーン603の周りに配置され、赤外線信号を受信し、その赤外線信号をプロセッサー601又は他の機器に送信するために使用される。
【0097】
通信装置606は、他の機器との通信接続を確立するためのものであり、有線通信装置及び/又は無線通信装置であってもよい。
【0098】
入力装置604は、入力された数値情報又は文字情報を受信し、機器のユーザー設定及び機能制御に関連するキー信号入力を生成するために使用され得る。出力装置605は、スピーカなどのオーディオ機器を含み得る。なお、入力装置604及び出力装置605の具体的な構成は、需要に応じて設定されてもよい。
【0099】
プロセッサー601は、メモリー602に記憶されているソフトウェアプログラム、命令及びモジュールを実行することで、機器の様々な機能アプリケーション及びデータ処理を実行し、即ち、上記の心電異常検出ネットワーク訓練方法、及び/又は、心電異常早期警報方法を実現する。
【0100】
具体的には、実施例において、プロセッサー601は、メモリー602に記憶されている1つ又は複数のプログラムを実行すると、本発明の実施例によって提供される心電異常検出ネットワーク訓練方法、及び/又は、心電異常早期警報方法を具体的に実現する。
<実施例7>
【0101】
本発明の実施例7は、コンピュータプログラムが記憶されているコンピュータ読取可能な記憶媒体をさらに提供する。このプログラムがプロセッサーによって実行されると、本発明の実施例のいずれかに記載されている心電異常検出ネットワーク訓練方法、及び/又は、心電異常早期警報方法が実現される。
【0102】
当然のことながら、本発明の実施例によって提供される、コンピュータ実行可能な命令を含む記憶媒体では、コンピュータ実行可能な命令は、上記の方法操作に限定されず、機器に適用される本発明の実施例のいずれかによって提供される心電異常検出ネットワーク訓練方法、及び/又は、心電異常早期警報方法における関連する操作を実行することもできる。
【0103】
なお、装置、電子機器、記憶媒体の実施例は、方法の実施例と基本的に類似であるため、説明が比較的簡単である。関連部分については、方法の実施例の説明の部分を参照されたい。
【0104】
上記の実施形態に関する説明によれば、当業者は、本発明がソフトウェア及び必要な汎用ハードウェアによって実現でき、もちろんハードウェアによっても実現できるが、多くの場合、前者がより良い実施形態であることを明確に理解できる。このような理解に基づいて、本発明の技術案は本質的に、つまり従来技術に貢献する部分は、ソフトウェア製品の形で具体化することができる。このコンピュータソフトウェア製品は、コンピュータ読取可能な記憶媒体、例えば、コンピュータのフロッピーディスク、読み取り専用メモリー(Read-Only Memory、ROM)、ランダムアクセスメモリー(Random Access Memory、RAM)、フラッシュメモリ(FLASH)、ハードディスク又は光ディスクなどに記憶することができ、コンピュータ機器(パーソナルコンピュータ、サーバー、又はネットワーク機器など)が本発明の各実施例で記載されている心電異常検出ネットワーク訓練方法を実行するようにするための幾つかの命令を含む。
【0105】
上記の心電異常検出ネットワーク訓練装置及び心電異常早期警報装置の実施例では、含まれる各ユニット及びモジュールは、機能論理に従ってのみ分割されているが、対応する機能が実現可能である限り、上記の分割に限定されないことに留意されたい。また、各機能ユニットの具体的な名称は、互いに区別するためのものに過ぎず、本発明の保護範囲を限定するためのものではない。
【0106】
上記は、本発明の好ましい実施例に過ぎず、本発明を限定するためのものではない。当業者にとって、本発明は、様々な修正や変更を行うことができる。本発明の精神及び原理の範囲内でなされるいかなる修正、同等の置換、改良なども、本発明の保護範囲に含まれるべきである。
図1
図2A
図2B
図3
図4
図5
図6
【手続補正書】
【提出日】2021-04-14
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータが実行する心電異常検出ネットワーク訓練方法であって、
心電異常患者の心電図信号及び正常人の心電図信号を取得するステップと、
取得された前記心電図信号から訓練用データを抽出するステップと、
前記訓練用データを採用して、バイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするステップであって、前記心電異常検出ネットワークにおける各ネットワーク層について、前記ネットワーク層のノード値と重みとが二値データであり、前記ネットワーク層のノード値と重みとで二値演算を行って、一層下のネットワーク層のノード値を取得するステップとを含み、前記バイナリニューラルネットワークは、入力層、隠れ層及び出力層を有し、当該入力層の幅が心電図信号の誘導数と等しいことを特徴とする心電異常検出ネットワーク訓練方法。
【請求項2】
取得された前記心電図信号から訓練用データを抽出する前記ステップは、
取得された前記心電図信号に対してノイズ除去処理を行って、ノイズ除去後の心電図信号を取得するステップと、
前記ノイズ除去処理後の心電図信号から心拍信号を抽出するステップと、
前記心拍信号をサンプリングして訓練用サンプルを取得するステップと、
前記心拍信号をラベリングしてサンプルラベルを取得するステップであって、前記サンプルラベルは前記心拍信号が異常心電信号又は正常心電信号であることを表すステップと、
前記訓練用サンプル及び前記サンプルラベルを訓練用データとして確定するステップとを含む、ことを特徴とする請求項1に記載の心電異常検出ネットワーク訓練方法。
【請求項3】
取得された心電図信号に対してノイズ除去処理を行って、ノイズ除去後の心電図信号を取得する前記ステップは、
取得された前記心電図信号に対して、筋電干渉ノイズ除去、基線ワンダーノイズ除去、及び電源周波数干渉ノイズ除去の処理を行って、ノイズ除去後の心電図信号を取得するステップと含む、ことを特徴とする請求項2に記載の心電異常検出ネットワーク訓練方法。
【請求項4】
前記ノイズ除去処理後の心電図信号から心拍信号を抽出する前記ステップは、
前記ノイズ除去処理後の心電図信号を、予め訓練された心拍分割モデルに入力して、複数の心拍信号を抽出するステップを含む、ことを特徴とする請求項2に記載の心電異常検出ネットワーク訓練方法。
【請求項5】
前記心拍信号をサンプリングして訓練用サンプルを取得する前記ステップは、
予め設定されたサンプリング周波数に従って前記心拍信号をサンプリングして、複数のサンプリングデータを取得するステップと、
前記サンプリングデータの数が予め設定された数よりも小さいか否かを判断するステップと、
前記サンプリングデータの数が予め設定された数よりも小さい場合、前記サンプリングデータの数が前記予め設定された数と等しくなるように、前記サンプリングデータを拡張するステップと、
前記サンプリングデータを訓練用データとして確定するステップとを含む、ことを特徴とする請求項2に記載の心電異常検出ネットワーク訓練方法。
【請求項6】
前記訓練用データは、1つの心拍信号のサンプリングデータ及び前記心拍信号のサンプルラベルを含み、前記訓練用データを採取してバイナリニューラルネットワークを訓練して、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとする前記ステップは、
バイナリニューラルネットワークを初期化するステップと、
1つの心拍信号のサンプリングデータをランダムに抽出し、前記バイナリニューラルネットワークに入力し、前方伝播を行って、各ネットワーク層の二値化活性化値及び実数型活性化値を取得するステップと、
前記実数型活性化値及び前記サンプルラベルを予め設定された損失関数に代入して損失率を計算するステップと、
前記損失率が予め設定された閾値よりも小さいか否かを判断するステップと、
前記損失率が予め設定された閾値よりも小さい場合、前記バイナリニューラルネットワークの訓練を停止し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするステップと、
前記損失率が予め設定された閾値よりも小さくない場合、前記損失率を用いて各ネットワーク層の二値化重みの勾配を計算するステップと、
前記二値化重みの勾配及び予め設定された学習率に基づいて、前記バイナリニューラルネットワークの各ネットワーク層の重みを調整し、1つの心拍信号のサンプリングデータをランダムに抽出し前記バイナリニューラルネットワークに入力し前方伝播を行って前記心拍信号の予測値を取得する前記ステップに戻るステップとを含む、ことを特徴とする請求項1~5のいずれか一項に記載の心電異常検出ネットワーク訓練方法。
【請求項7】
1つの心拍信号のサンプリングデータをランダムに抽出し、前記バイナリニューラルネットワークに入力し、前方伝播を行って、前記心拍信号の予測値を取得する前記ステップは、
前記バイナリニューラルネットワークのネットワーク層の各々に対して、現在のネットワーク層の実数型重みを二値化して二値化重みを取得するステップと、
前記現在のネットワーク層の二値化重みと、一層上のネットワーク層の二値化活性化値を乗算して、前記現在のネットワーク層の実数型中間ベクトルを取得するステップと、
前記現在のネットワーク層の標準化処理パラメータに基づいて、前記実数型中間ベクトルに対して標準化処理を行って、実数型活性化値を取得するステップと、
前記現在のネットワーク層が出力層であるか否かを判断するステップと、
前記現在のネットワーク層が出力層である場合、前記実数型活性化値を予測値とするステップと、
前記現在のネットワーク層が出力層ではない場合、前記実数型中間ベクトルに対して二値化処理を行って、前記現在のネットワーク層の二値化活性化値を取得するステップと、
一層下のネットワーク層を現在のネットワーク層として、現在のネットワーク層の実数型重みを二値化して二値化重みを取得するステップに戻るステップとを含む、ことを特徴とする請求項6に記載の心電異常検出ネットワーク訓練方法。
【請求項8】
各ネットワーク層の損失率を採用して各ネットワーク層の勾配を計算する前記ステップは、
各ネットワーク層に対して、前記ネットワーク層の二値化活性化値に対する前記ネットワーク層の損失率の勾配を計算するステップと、
次の式に従って、前記ネットワーク層の実数型活性化値に対する前記ネットワーク層の損失率の勾配を計算するステップであって、
gab kは、二値化活性化値に対する損失率の勾配であり、1|ak|≦1は、実数型活性化値aの絶対値が1以下である場合、実数型活性化値に対する損失率の勾配がgak=gab kであることを表し、又は、絶対値が1より大きい場合、gak=0であるステップと、
連鎖率及び前記実数型活性化値の勾配に基づいて、前記実数型中間ベクトルの勾配及び前記標準処理パラメータの勾配を計算するステップと、
前記ネットワーク層の二値化重みの勾配として、前記実数型中間ベクトルの置換行列と一層上のネットワーク層の二値化重みの相乗積を計算するステップとを含む、ことを特徴とする請求項に記載の心電異常検出ネットワーク訓練方法。
【請求項9】
前記二値化重みの勾配及び予め設定された学習率に基づいて、前記バイナリニューラルネットワークの各ネットワーク層の重みを調整する前記ステップは、
前記予め設定された学習率と前記二値化重みの勾配の相乗積を計算するステップと、
前記二値化重みと前記相乗積との差を新たな重みとして計算するステップであって、前記新たな重みは-1以上1以下であるステップとを含む、ことを特徴とする請求項に記載の心電異常検出ネットワーク訓練方法。
【請求項10】
心電異常早期警報方法であって、
監視対象者の心電図信号を取得するステップと、
前記心電図信号から心拍信号を抽出するステップと、
前記心拍信号をサンプリングしてサンプリングデータを取得するステップと、
前記サンプリングデータを、予め訓練された心電異常検出ネットワークに入力して、前記監視対象者の心電異常の確率を取得するステップと、
前記心電異常の確率に基づいて、早期警報情報を生成するステップとを含み、
心電異常検出ネットワークを、請求項1~のいずれか一項に記載の心電異常検出ネットワーク訓練方法によって訓練する、ことを特徴とする心電異常早期警報方法。
【請求項11】
心電異常検出ネットワーク訓練装置であって、
心電異常患者の心電図信号及び正常人の心電図信号を取得するための心電図信号取得モジュールと、
取得された前記心電図信号から訓練用データを抽出するための訓練用データ抽出モジュールと、
前記訓練用データを採用して、バイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするための訓練モジュールであって、前記心電異常検出ネットワークにおける各ネットワーク層について、前記ネットワーク層のノード値と重みが二値データであり、前記ネットワーク層のノード値と重みで二値演算を行って、一層下のネットワーク層のノード値を取得する訓練モジュールとを含み、前記バイナリニューラルネットワークは、入力層、隠れ層及び出力層を有し、当該入力層の幅が心電図信号の誘導数と等しいことを特徴とする心電異常検出ネットワーク訓練装置。
【請求項12】
心電異常早期警報装置であって、
監視対象者の心電図信号を取得するための心電図信号取得モジュールと、
前記心電図信号から心拍信号を抽出するための心拍信号抽出モジュールと、
前記心拍信号をサンプリングしてサンプリングデータを取得するためのサンプリングモジュールと、
前記サンプリングデータを、請求項1~9のいずれか一項に記載の心電異常検出ネットワーク訓練方法により予め訓練された心電異常検出ネットワークに入力して、前記監視対象者の心電異常の確率を取得するためのネットワーク予測モジュールと、
前記心電異常の確率に基づいて、早期警報情報を生成するための早期警報モジュールとを含む、ことを特徴とする心電異常早期警報装置。
【請求項13】
電子機器であって、
1つ又は複数のプロセッサーと、
1つ又は複数のプログラムを記憶するための記憶装置とを含み、
前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサーによって実行されると、前記1つ又は複数のプロセッサーは、請求項1~のいずれか一項に記載の心電異常検出ネットワーク訓練方法、及び/又は、請求項1に記載の心電異常早期警報方法を実現する、ことを特徴とする電子機器。
【請求項14】
コンピュータプログラムが記憶されているコンピュータ読取可能な記憶媒体であって、このプログラムがプロセッサーによって実行されると、請求項1~のいずれか一項に記載の心電異常検出ネットワーク訓練方法、及び/又は、請求項1に記載の心電異常早期警報方法が実現される、ことを特徴とするコンピュータ読取可能な記憶媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正の内容】
【0008】
第1態様では、本発明の実施例はコンピュータが実行する心電異常検出ネットワーク訓練方法を提供する。この方法は、
心電異常患者の心電図信号及び正常人の心電図信号を取得するステップと、
取得された前記心電図信号から訓練用データを抽出するステップと、
前記訓練用データを採用して、バイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするステップであって、前記心電異常検出ネットワークにおける各ネットワーク層について、前記ネットワーク層のノード値と重みが二値データであり、前記ネットワーク層のノード値と重みで二値演算を行って、一層下のネットワーク層のノード値を取得するステップとを含み、前記バイナリニューラルネットワークは、入力層、隠れ層及び出力層を有し、当該入力層の幅が心電図信号の誘導数と等しい
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正の内容】
【0010】
第3態様では、本発明の実施例は心電異常検出ネットワーク訓練装置を提供する。この方法は、
心電異常患者の心電図信号及び正常人の心電図信号を取得するための心電図信号取得モジュールと、
取得された前記心電図信号から訓練用データを抽出するための訓練用データ抽出モジュールと、
前記訓練用データを採用して、バイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするための訓練モジュールであって、前記心電異常検出ネットワークにおける各ネットワーク層について、前記ネットワーク層のノード値と重みが二値データであり、前記ネットワーク層のノード値と重みで二値演算を行って、一層下のネットワーク層のノード値を取得する訓練モジュールとを含み、前記バイナリニューラルネットワークは、入力層、隠れ層及び出力層を有し、当該入力層の幅が心電図信号の誘導数と等しい
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正の内容】
【0011】
第4態様では、本発明の実施例は、モバイル機器に使用される心電異常早期警報装置を提供する。この装置は、
監視対象者の心電図信号を取得するための心電図信号取得モジュールと、
前記心電図信号から心拍信号を抽出するための心拍信号抽出モジュールと、
前記心拍信号をサンプリングしてサンプリングデータを取得するためのサンプリングモジュールと、
前記サンプリングデータを、本発明の第1態様で記載される心電異常検出ネットワークにより予め訓練された心電異常検出ネットワークに入力して、前記監視対象者の心電異常の確率を取得するためのネットワーク予測モジュールと、
前記心電異常の確率に基づいて、早期警報情報を生成するための早期警報モジュールとを含
第5態様では、本発明の実施例は電子機器を提供する。前記電子機器は、
1つ又は複数のプロセッサーと、
1つ又は複数のプログラムを記憶するための記憶装置とを含み、
前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサーによって実行されると、前記1つ又は複数のプロセッサーは、本発明の実施例のいずれかに記載されている心電異常検出ネットワーク訓練方法、及び/又は、心電異常早期警報方法を実現する。
【手続補正書】
【提出日】2021-09-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータが実行する心電異常検出ネットワーク訓練方法であって、
心電異常患者の複数の誘導数を有する心電図信号及び正常人の複数の誘導数を有する心電図信号を取得するステップと、
取得された前記複数の誘導数を有する心電図信号から訓練用データを抽出するステップと、
前記訓練用データを採用して、バイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするステップであって、前記心電異常検出ネットワークにおける各ネットワーク層について、前記ネットワーク層のノード値と重みとが二値データであり、前記ネットワーク層のノード値と重みとで二値演算を行って、一層下のネットワーク層のノード値を取得するステップとを含み、
取得された前記複数の誘導数を有する心電図信号から訓練用データを抽出する前記ステップは、
取得された前記複数の誘導数を有する心電図信号に対してノイズ除去処理を行って、ノイズ除去後の複数の誘導数を有する心電図信号を取得するステップと、
前記ノイズ除去処理後の心電図信号から心拍信号を抽出するステップと、
前記心拍信号をサンプリングして訓練用サンプルを取得するステップと、
前記心拍信号をラベリングしてサンプルラベルを取得するステップであって、前記サンプルラベルは前記心拍信号が異常心電信号又は正常心電信号であることを表すステップと、
前記訓練用サンプル及び前記サンプルラベルを訓練用データとして確定するステップとを含み、
前記バイナリニューラルネットワークは、入力層、隠れ層及び出力層を有し、当該入力層には前記複数の誘導数ごとに前記心電図信号から抽出された訓練用データのみが入力される
ことを特徴とする心電異常検出ネットワーク訓練方法。
【請求項2】
前記誘導数は12である、ことを特徴とする請求項1に記載の心電異常検出ネットワーク訓練方法。
【請求項3】
取得された前記複数の誘導数を有する心電図信号に対してノイズ除去処理を行って、ノイズ除去後の複数の誘導数を有する心電図信号を取得する前記ステップは、
取得された前記複数の誘導数を有する心電図信号に対して、筋電干渉ノイズ除去、基線ワンダーノイズ除去、及び電源周波数干渉ノイズ除去の処理を行って、ノイズ除去後の心電図信号を取得するステップと含む、ことを特徴とする請求項に記載の心電異常検出ネットワーク訓練方法。
【請求項4】
前記ノイズ除去処理後の心電図信号から心拍信号を抽出する前記ステップは、
前記ノイズ除去処理後の心電図信号を、予め訓練された心拍分割モデルに入力して、複数の心拍信号を抽出するステップを含む、ことを特徴とする請求項に記載の心電異常検出ネットワーク訓練方法。
【請求項5】
前記心拍信号をサンプリングして訓練用サンプルを取得する前記ステップは、
予め設定されたサンプリング周波数に従って前記心拍信号をサンプリングして、複数のサンプリングデータを取得するステップと、
前記サンプリングデータの数が予め設定された数よりも小さいか否かを判断するステップと、
前記サンプリングデータの数が予め設定された数よりも小さい場合、前記サンプリングデータの数が前記予め設定された数と等しくなるように、前記サンプリングデータを拡張するステップと、
前記サンプリングデータを訓練用データとして確定するステップとを含む、ことを特徴とする請求項に記載の心電異常検出ネットワーク訓練方法。
【請求項6】
前記訓練用データは、1つの心拍信号のサンプリングデータ及び前記心拍信号のサンプルラベルを含み、前記訓練用データを採取してバイナリニューラルネットワークを訓練して、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとする前記ステップは、
バイナリニューラルネットワークを初期化するステップと、
1つの心拍信号のサンプリングデータをランダムに抽出し、前記バイナリニューラルネットワークに入力し、前方伝播を行って、各ネットワーク層の二値化活性化値及び実数型活性化値を取得するステップと、
前記実数型活性化値及び前記サンプルラベルを予め設定された損失関数に代入して損失率を計算するステップと、
前記損失率が予め設定された閾値よりも小さいか否かを判断するステップと、
前記損失率が予め設定された閾値よりも小さい場合、前記バイナリニューラルネットワークの訓練を停止し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするステップと、
前記損失率が予め設定された閾値よりも小さくない場合、前記損失率を用いて各ネットワーク層の二値化重みの勾配を計算するステップと、
前記二値化重みの勾配及び予め設定された学習率に基づいて、前記バイナリニューラルネットワークの各ネットワーク層の重みを調整し、1つの心拍信号のサンプリングデータをランダムに抽出し前記バイナリニューラルネットワークに入力し前方伝播を行って前記心拍信号の予測値を取得する前記ステップに戻るステップとを含む、ことを特徴とする請求項1~5のいずれか一項に記載の心電異常検出ネットワーク訓練方法。
【請求項7】
1つの心拍信号のサンプリングデータをランダムに抽出し、前記バイナリニューラルネットワークに入力し、前方伝播を行って、前記心拍信号の予測値を取得する前記ステップは、
前記バイナリニューラルネットワークのネットワーク層の各々に対して、現在のネットワーク層の実数型重みを二値化して二値化重みを取得するステップと、
前記現在のネットワーク層の二値化重みと、一層上のネットワーク層の二値化活性化値を乗算して、前記現在のネットワーク層の実数型中間ベクトルを取得するステップと、
前記現在のネットワーク層の標準化処理パラメータに基づいて、前記実数型中間ベクトルに対して標準化処理を行って、実数型活性化値を取得するステップと、
前記現在のネットワーク層が出力層であるか否かを判断するステップと、
前記現在のネットワーク層が出力層である場合、前記実数型活性化値を予測値とするステップと、
前記現在のネットワーク層が出力層ではない場合、前記実数型中間ベクトルに対して二値化処理を行って、前記現在のネットワーク層の二値化活性化値を取得するステップと、
一層下のネットワーク層を現在のネットワーク層として、現在のネットワーク層の実数型重みを二値化して二値化重みを取得するステップに戻るステップとを含む、ことを特徴とする請求項6に記載の心電異常検出ネットワーク訓練方法。
【請求項8】
各ネットワーク層の損失率を採用して各ネットワーク層の勾配を計算する前記ステップは、
各ネットワーク層に対して、前記ネットワーク層の二値化活性化値に対する前記ネットワーク層の損失率の勾配を計算するステップと、
次の式に従って、前記ネットワーク層の実数型活性化値に対する前記ネットワーク層の損失率の勾配を計算するステップであって、
gab kは、二値化活性化値に対する損失率の勾配であり、1|ak|≦1は、実数型活性化値aの絶対値が1以下である場合、実数型活性化値に対する損失率の勾配がgak=gab kであることを表し、又は、絶対値が1より大きい場合、gak=0であるステップと、
連鎖率及び前記実数型活性化値の勾配に基づいて、前記実数型中間ベクトルの勾配及び前記標準化処理パラメータの勾配を計算するステップと、
前記ネットワーク層の二値化重みの勾配として、前記実数型中間ベクトルの置換行列と一層上のネットワーク層の二値化重みの相乗積を計算するステップとを含む、ことを特徴とする請求項7に記載の心電異常検出ネットワーク訓練方法。
【請求項9】
前記二値化重みの勾配及び予め設定された学習率に基づいて、前記バイナリニューラルネットワークの各ネットワーク層の重みを調整する前記ステップは、
前記予め設定された学習率と前記二値化重みの勾配の相乗積を計算するステップと、
前記二値化重みと前記相乗積との差を新たな重みとして計算するステップであって、前記新たな重みは-1以上1以下であるステップとを含む、ことを特徴とする請求項8に記載の心電異常検出ネットワーク訓練方法。
【請求項10】
心電異常早期警報方法であって、
監視対象者の複数の誘導数を有する心電図信号を取得するステップと、
前記複数の誘導数を有する心電図信号から心拍信号を抽出するステップと、
前記心拍信号をサンプリングしてサンプリングデータを取得するステップと、
前記サンプリングデータを、予め訓練された心電異常検出ネットワークに入力して、前記監視対象者の心電異常の確率を取得するステップと、
前記心電異常の確率に基づいて、早期警報情報を生成するステップとを含み、
心電異常検出ネットワークを、請求項1~9のいずれか一項に記載の心電異常検出ネットワーク訓練方法によって訓練する、ことを特徴とする心電異常早期警報方法。
【請求項11】
心電異常検出ネットワーク訓練装置であって、
心電異常患者の複数の誘導数を有する心電図信号及び正常人の複数の誘導数を有する心電図信号を取得するための心電図信号取得モジュールと、
取得された前記複数の誘導数を有する心電図信号から訓練用データを抽出するための訓練用データ抽出モジュールと、
前記訓練用データを採用して、バイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするための訓練モジュールであって、前記心電異常検出ネットワークにおける各ネットワーク層について、前記ネットワーク層のノード値と重みが二値データであり、前記ネットワーク層のノード値と重みで二値演算を行って、一層下のネットワーク層のノード値を取得する訓練モジュールとを含み、
取得された前記複数の誘導数を有する心電図信号から訓練用データを抽出するための訓練用データ抽出モジュールは、
取得された前記複数の誘導数を有する心電図信号に対してノイズ除去処理を行って、ノイズ除去後の複数の誘導数を有する心電図信号を取得するためのノイズ除去処理サブモジュールと、
前記ノイズ除去処理後の心電図信号から心拍信号を抽出するための心拍信号抽出サブモジュールと、
前記心拍信号をサンプリングして訓練用サンプルを取得するための訓練用サンプルのサンプリングサブモジュールと、
前記心拍信号をラベリングしてサンプルラベルを取得するためのラベリングサブモジュールであって、前記サンプルラベルは前記心拍信号が異常心電信号又は正常心電信号であるラベリングサブモジュールと、
前記訓練用サンプル及び前記サンプルラベルを訓練用データとして確定するための訓練用データ確定サブモジュールとを含み、
前記バイナリニューラルネットワークは、入力層、隠れ層及び出力層を有し、当該入力層には前記複数の誘導数ごとに前記心電図信号から抽出された訓練用データのみが入力されることを特徴とする心電異常検出ネットワーク訓練装置。
【請求項12】
心電異常早期警報装置であって、
監視対象者の複数の誘導数を有する心電図信号を取得するための心電図信号取得モジュールと、
前記複数の誘導数を有する心電図信号から心拍信号を抽出するための心拍信号抽出モジュールと、
前記心拍信号をサンプリングしてサンプリングデータを取得するためのサンプリングモジュールと、
前記サンプリングデータを、請求項1~9のいずれか一項に記載の心電異常検出ネットワーク訓練方法により予め訓練された心電異常検出ネットワークに入力して、前記監視対象者の心電異常の確率を取得するためのネットワーク予測モジュールと、
前記心電異常の確率に基づいて、早期警報情報を生成するための早期警報モジュールとを含む、ことを特徴とする心電異常早期警報装置。
【請求項13】
電子機器であって、
1つ又は複数のプロセッサーと、
1つ又は複数のプログラムを記憶するための記憶装置とを含み、
前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサーによって実行されると、前記1つ又は複数のプロセッサーは、請求項1~9のいずれか一項に記載の心電異常検出ネットワーク訓練方法、及び/又は、請求項10に記載の心電異常早期警報方法を実現する、ことを特徴とする電子機器。
【請求項14】
コンピュータプログラムが記憶されているコンピュータ読取可能な記憶媒体であって、このプログラムがプロセッサーによって実行されると、請求項1~9のいずれか一項に記載の心電異常検出ネットワーク訓練方法、及び/又は、請求項10に記載の心電異常早期警報方法が実現される、ことを特徴とするコンピュータ読取可能な記憶媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正の内容】
【0008】
第1態様では、本発明の実施例はコンピュータが実行する心電異常検出ネットワーク訓練方法を提供する。この方法は、
心電異常患者の複数の誘導数を有する心電図信号及び正常人の複数の誘導数を有する心電図信号を取得するステップと、
取得された前記複数の誘導数を有する心電図信号から訓練用データを抽出するステップと、
前記訓練用データを採用して、バイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするステップであって、前記心電異常検出ネットワークにおける各ネットワーク層について、前記ネットワーク層のノード値と重みが二値データであり、前記ネットワーク層のノード値と重みで二値演算を行って、一層下のネットワーク層のノード値を取得するステップとを含み、
取得された前記複数の誘導数を有する心電図信号から訓練用データを抽出する前記ステップは、
取得された前記複数の誘導数を有する心電図信号に対してノイズ除去処理を行って、ノイズ除去後の複数の誘導数を有する心電図信号を取得するステップと、
前記ノイズ除去処理後の心電図信号から心拍信号を抽出するステップと、
前記心拍信号をサンプリングして訓練用サンプルを取得するステップと、
前記心拍信号をラベリングしてサンプルラベルを取得するステップであって、前記サンプルラベルは前記心拍信号が異常心電信号又は正常心電信号であることを表すステップと、
前記訓練用サンプル及び前記サンプルラベルを訓練用データとして確定するステップとを含み、
前記バイナリニューラルネットワークは、入力層、隠れ層及び出力層を有し、当該入力層には前記複数の誘導数ごとに前記心電図信号から抽出された訓練用データのみが入力される
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正の内容】
【0009】
第2態様では、本発明の実施例は心電異常早期警報方法を提供する。この方法は、
監視対象者の複数の誘導数を有する心電図信号を取得するステップと、
前記複数の誘導数を有する心電図信号から心拍信号を抽出するステップと、
前記心拍信号をサンプリングしてサンプリングデータを取得するステップと、
前記サンプリングデータを、予め訓練された心電異常検出ネットワークに入力して、前記監視対象者の心電異常の確率を取得するステップと、
前記心電異常の確率に基づいて、早期警報情報を生成するステップとを含み、
心電異常検出ネットワークは、本発明の第1態様で記載されている心電異常検出ネットワーク訓練方法によって訓練される。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正の内容】
【0010】
第3態様では、本発明の実施例は心電異常検出ネットワーク訓練装置を提供する。この方法は、
心電異常患者の複数の誘導数を有する心電図信号及び正常人の複数の誘導数を有する心電図信号を取得するための心電図信号取得モジュールと、
取得された前記複数の誘導数を有する心電図信号から訓練用データを抽出するための訓練用データ抽出モジュールと、
前記訓練用データを採用して、バイナリニューラルネットワークを訓練し、訓練されたバイナリニューラルネットワークを心電異常検出ネットワークとするための訓練モジュールであって、前記心電異常検出ネットワークにおける各ネットワーク層について、前記ネットワーク層のノード値と重みが二値データであり、前記ネットワーク層のノード値と重みで二値演算を行って、一層下のネットワーク層のノード値を取得する訓練モジュールとを含み、
取得された前記複数の誘導数を有する心電図信号から訓練用データを抽出するための訓練用データ抽出モジュールは、
取得された前記複数の誘導数を有する心電図信号に対してノイズ除去処理を行って、ノイズ除去後の複数の誘導数を有する心電図信号を取得するためのノイズ除去処理サブモジュールと、
前記ノイズ除去処理後の心電図信号から心拍信号を抽出するための心拍信号抽出サブモジュールと、
前記心拍信号をサンプリングして訓練用サンプルを取得するための訓練用サンプルのサンプリングサブモジュールと、
前記心拍信号をラベリングしてサンプルラベルを取得するためのラベリングサブモジュールであって、前記サンプルラベルは前記心拍信号が異常心電信号又は正常心電信号であるラベリングサブモジュールと、
前記訓練用サンプル及び前記サンプルラベルを訓練用データとして確定するための訓練用データ確定サブモジュールとを含み、
前記バイナリニューラルネットワークは、入力層、隠れ層及び出力層を有し、当該入力層には前記複数の誘導数ごとに前記心電図信号から抽出された訓練用データのみが入力される
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正の内容】
【0011】
第4態様では、本発明の実施例は、モバイル機器に使用される心電異常早期警報装置を提供する。この装置は、
監視対象者の複数の誘導数を有する心電図信号を取得するための心電図信号取得モジュールと、
前記複数の誘導数を有する心電図信号から心拍信号を抽出するための心拍信号抽出モジュールと、
前記心拍信号をサンプリングしてサンプリングデータを取得するためのサンプリングモジュールと、
前記サンプリングデータを、本発明の第1態様で記載される心電異常検出ネットワークにより予め訓練された心電異常検出ネットワークに入力して、前記監視対象者の心電異常の確率を取得するためのネットワーク予測モジュールと、
前記心電異常の確率に基づいて、早期警報情報を生成するための早期警報モジュールとを含む。
第5態様では、本発明の実施例は電子機器を提供する。前記電子機器は、
1つ又は複数のプロセッサーと、
1つ又は複数のプログラムを記憶するための記憶装置とを含み、
前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサーによって実行されると、前記1つ又は複数のプロセッサーは、本発明の実施例のいずれかに記載されている心電異常検出ネットワーク訓練方法、及び/又は、心電異常早期警報方法を実現する。
【外国語明細書】