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

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

▶ メディカル・エーアイ・カンパニー・リミテッドの特許一覧

特表2024-537971医療データに基づくディープラーニングモデルの学習及び推論方法、プログラム及び装置
<>
  • 特表-医療データに基づくディープラーニングモデルの学習及び推論方法、プログラム及び装置 図1
  • 特表-医療データに基づくディープラーニングモデルの学習及び推論方法、プログラム及び装置 図2
  • 特表-医療データに基づくディープラーニングモデルの学習及び推論方法、プログラム及び装置 図3
  • 特表-医療データに基づくディープラーニングモデルの学習及び推論方法、プログラム及び装置 図4
  • 特表-医療データに基づくディープラーニングモデルの学習及び推論方法、プログラム及び装置 図5
  • 特表-医療データに基づくディープラーニングモデルの学習及び推論方法、プログラム及び装置 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-18
(54)【発明の名称】医療データに基づくディープラーニングモデルの学習及び推論方法、プログラム及び装置
(51)【国際特許分類】
   G06N 3/096 20230101AFI20241010BHJP
   G16H 50/50 20180101ALI20241010BHJP
   G16H 50/30 20180101ALI20241010BHJP
【FI】
G06N3/096
G16H50/50
G16H50/30
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024516570
(86)(22)【出願日】2022-09-15
(85)【翻訳文提出日】2024-03-14
(86)【国際出願番号】 KR2022013833
(87)【国際公開番号】W WO2023048437
(87)【国際公開日】2023-03-30
(31)【優先権主張番号】10-2021-0126784
(32)【優先日】2021-09-25
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0113975
(32)【優先日】2022-09-08
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】523010225
【氏名又は名称】メディカル・エーアイ・カンパニー・リミテッド
【氏名又は名称原語表記】Medical AI Co., Ltd.
【住所又は居所原語表記】163, Yangjaecheon-ro Gangnam-gu Seoul 06302 Republic of Korea
(74)【代理人】
【識別番号】110002789
【氏名又は名称】弁理士法人IPX
(72)【発明者】
【氏名】クォン・ジュン・ミョン
(72)【発明者】
【氏名】イ・ビョンタク
【テーマコード(参考)】
5L099
【Fターム(参考)】
5L099AA00
(57)【要約】
本開示の一実施例によって、コンピューティング装置によって実行される、医療データに基づくディープラーニングモデルの学習及び推論方法、プログラム及び装置が開示される。前記学習方法は、医療データに基づいて第1神経回路網モデルを学習させる段階と、前記学習された第1神経回路網モデルに含まれた神経回路網ブロック(block)を示す第1演算関数(operation function)と第2神経回路網モデルに含まれた神経回路網ブロックを示す第2演算関数とをマッチングさせることにより、前記学習された第1神経回路網モデルに基づいて前記第2神経回路網モデルを学習させる段階と、を含むことができる。
【選択図】 図2
【特許請求の範囲】
【請求項1】
少なくとも一つのプロセッサ(processor)を含むコンピューティング装置によって実行される、医療データに基づくディープラーニングモデルの学習方法であって、
医療データに基づいて第1神経回路網モデルを学習させる段階と、
前記学習された第1神経回路網モデルに含まれた神経回路網ブロック(block)を示す第1演算関数(operation function)と第2神経回路網モデルに含まれた神経回路網ブロックを示す第2演算関数とをマッチングさせることにより、前記学習された第1神経回路網モデルに基づいて前記第2神経回路網モデルを学習させる段階と、
を含む、方法。
【請求項2】
前記学習された第1神経回路網モデルに含まれた神経回路網ブロックを示す第1演算関数と第2神経回路網モデルに含まれた神経回路網ブロックを示す第2演算関数とをマッチングさせることにより、前記学習された第1神経回路網モデルに基づいて前記第2神経回路網モデルを学習させる段階は、
前記第1演算関数と前記第2演算関数との間の入力又は次元のうちの少なくとも一つをマッチングさせるための損失関数を用いて、前記学習された第1神経回路網モデルに基づいて前記第2神経回路網モデルを学習させる段階、
を含む、請求項1に記載の方法。
【請求項3】
前記損失関数は、
前記第1神経回路網モデルに含まれたn-1番目(nは自然数)神経回路網ブロックに対応する第1演算関数の出力を入力変数とする第1サブ損失関数と、
前記第2神経回路網モデルに含まれたn-1番目神経回路網ブロックに対応する第2演算関数の出力を入力変数とする第2サブ損失関数と、
を含み、
前記第1サブ損失関数及び前記第2サブ損失関数のそれぞれは、前記第1神経回路網モデルに含まれたn番目神経回路網ブロックに対応する第1演算関数の出力と前記第2神経回路網モデルに含まれたn番目神経回路網ブロックに対応する第2演算関数の出力との間の差を演算するための関数である、請求項2に記載の方法。
【請求項4】
前記第1サブ損失関数及び前記第2サブ損失関数のそれぞれは、前記n番目神経回路網ブロックに対応する第1演算関数の次元と前記n番目神経回路網ブロックに対応する第2演算関数の次元とをマッチングさせるための変換関数を含む、請求項3に記載の方法。
【請求項5】
前記変換関数は、
前記変換関数の入力変数を時間的方向(temporal direction)に線形変換するための第1サブ変換関数と、
前記変換関数の入力変数を特徴次元(feature dimension)で線形変換するための第2サブ変換関数と、
を含む、請求項4に記載の方法。
【請求項6】
前記第1サブ損失関数に含まれた変換関数は、
前記n-1番目神経回路網ブロックに対応する第1演算関数の出力の次元を前記n番目神経回路網ブロックに対応する第2演算関数の入力の次元とマッチングさせ、
前記n番目神経回路網ブロックに対応する第2演算関数の出力の次元を前記n番目神経回路網ブロックに対応する第1演算関数の出力の次元とマッチングさせるための関数である、請求項4に記載の方法。
【請求項7】
前記第2サブ損失関数に含まれた変換関数は、
前記n-1番目神経回路網ブロックに対応する第2演算関数の出力の次元を前記n番目神経回路網ブロックに対応する第1演算関数の入力の次元とマッチングさせ、
前記n番目神経回路網ブロックに対応する第1演算関数の出力の次元を前記n番目神経回路網ブロックに対応する第2演算関数の出力の次元とマッチングさせるための関数である、請求項4に記載の方法。
【請求項8】
前記損失関数は、前記医療データを受けた前記第1神経回路網モデルの出力と前記医療データを受けた前記第2神経回路網モデルの出力との間の差を演算するための第3サブ損失関数、をさらに含む、請求項2に記載の方法。
【請求項9】
前記第3サブ損失関数は、前記医療データを受けた前記第1神経回路網モデルの出力の次元を前記医療データを受けた前記第2神経回路網モデルの出力の次元とマッチングさせるための変換関数、を含む、請求項8に記載の方法。
【請求項10】
医療データに基づいて前記第2神経回路網モデルに対する微細調整(fine tuning)を実行する段階、
をさらに含み、
前記微細調整は、前記第2神経回路網モデルの加重値を前記学習された第1神経回路網モデルに基づく学習が完了した状態の加重値に近くに維持しながら前記第2神経回路網モデルを学習させることである、請求項1に記載の方法。
【請求項11】
前記第1神経回路網モデルは、畳込み(convolutional)神経回路網又は回帰型(recurrent)神経回路網のうちの少なくとも一つを含み、
前記第2神経回路網モデルは、自己注意(self-attention)に基づく神経回路網を含む、請求項1に記載の方法。
【請求項12】
前記医療データは、心電図データ又は電子健康記録(EHR:electronic health records)データのうちの少なくとも一つを含む、請求項1に記載の方法。
【請求項13】
少なくとも一つのプロセッサを含むコンピューティング装置によって実行される、医療データに基づくディープラーニングモデルの推論方法であって、
心電図データ又は電子健康記録データ(EHR:electronic health records)のうちの少なくとも一つを含む医療データを獲得する段階と、
第2神経回路網モデルを使用して、前記医療データに基づいてヒトの健康状態を推定する段階と、
を含み、
前記第2神経回路網モデルは、事前に学習された第1神経回路網モデルに基づいて、前記学習された第1神経回路網モデルに含まれた神経回路網ブロックに対応する第1演算関数と前記第2神経回路網モデルに含まれた神経回路網ブロックに対応する第2演算関数とをマッチングさせる演算によって学習されたものである、方法。
【請求項14】
コンピュータ可読の保存媒体に保存されたコンピュータプログラム(program)であって、
前記コンピュータプログラムは、一つ以上のプロセッサ(processor)によって実行される場合、医療データに基づくディープラーニングモデルの学習のための動作を実行させ、
前記動作は、
医療データに基づいて第1神経回路網モデルを学習させる動作と、
前記学習された第1神経回路網モデルに含まれた神経回路網ブロック(block)を示す第1演算関数(operation function)と第2神経回路網モデルに含まれた神経回路網ブロックを示す第2演算関数とをマッチングさせることにより、前記学習された第1神経回路網モデルに基づいて前記第2神経回路網モデルを学習させる動作と、
を含む、コンピュータプログラム。
【請求項15】
医療データに基づくディープラーニングモデルの学習のためのコンピューティング装置であって、
少なくとも一つのコア(core)を含むプロセッサ(processor)と、
前記プロセッサで実行可能なプログラムコード(code)を含むメモリ(memory)と、
医療データを獲得するためのネットワーク部(network unit)と、
を含み、
前記プロセッサは、
医療データに基づいて第1神経回路網モデルを学習させ、
前記学習された第1神経回路網モデルに含まれた神経回路網ブロック(block)を示す第1演算関数(operation function)と第2神経回路網モデルに含まれた神経回路網ブロックを示す第2演算関数とをマッチングさせることにより、前記学習された第1神経回路網モデルに基づいて前記第2神経回路網モデルを学習させる、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の内容は医療分野のディープラーニング技術に関し、具体的には帰納バイアス伝達(inductive bias transfer)を用いてディープラーニングモデルを学習させ、学習されたディープラーニングモデルを医療分野で活用する方法に関する。
【0002】
【背景技術】
【0003】
ディープラーニングモデルの一般化(generalization)のためには、多量のデータを活用することが要求される。例えば、従来のトランスフォーマー(transformer)モデルの一つは3億データポイントの追加データを使用してイメージネット(ImageNet)ベンチマーク(benchmark)で他のコンボリューション(convolution)に基づく接近方式よりも高い性能を達成する。しかしながら、すべてのドメイン(domain)でビッグデータを確保することは容易でない。よって、医療分野のような多量のデータを得るのに高費用がかかるドメインにおけるディープラーニングモデルの使用は依然として制限的である。
【0004】
多くの研究者らが膨大な量のデータに依存せず、ディープラーニングモデルを一般化する問題を緩和するソリューションを提案している。ソリューションの中で一つは知識蒸留(knowledge distillation)に基づくDeiT(Data efficient image transformer)である。DeiTは畳込み神経回路網をトランスフォーマーの教師(teacher)として使用し、一般化性能に重要な役割を果たす畳込み神経回路網の知識を追加のトークン(token)を介してトランスフォーマーに蒸留する方式を採択する。DeiTは、このような蒸留方式で畳込み神経回路網の帰納バイアス(inductive bias)をトランスフォーマーにエンコード(encoding)して性能を高めることができると仮定する。
【0005】
それにもかかわらず、知識蒸留を実行するために、DeiTもデータ数を一定の水準以上に確保することが要求される。よって、DeiTは、知識蒸留のためのデータのクラス数が充分に蓄積しなかった医療分野では活用しにくい問題がある。例えば、DieTの性能を評価するにあたり、既存に使用されたイメージネットは千個のクラスで構成されている一方で、心電図データ、電子健康記録(EHR:electronic health records)データなどのような医療データには数十個から数十個のクラスのみが含まれている。成功的な知識伝達は、多様な信号が重要な教師の信号品質によるという点を考慮すると、DieTを使用する場合、教師モデルの帰納バイアスがイメージネットでは成功的に伝達されるが、医療データでは伝達されないことが明らかであると思われる。
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
本開示は前述した背景技術に対応して案出されたものであり、医療分野の小さなデータセットでも帰納バイアス(inductive bias)を効率的に伝達してディープラーニングモデルを学習させる方法及びこのような学習方法によって学習されたディープラーニングモデルを用いて多様な健康状態を推定する方法を提供することを目的とする。
【0008】
ただし、本開示で解決しようとする課題は以上で言及した課題に限定されず、言及しなかった他の課題は下の記載から明らかに理解可能であろう。
【0009】
【課題を解決するための手段】
【0010】
前述したような課題を実現するための本開示の一実施例によって、コンピューティング装置によって実行される、医療データに基づくディープラーニングモデルの学習方法が開示される。前記学習方法は、医療データに基づいて第1神経回路網モデルを学習させる段階と、前記学習された第1神経回路網モデルに含まれた神経回路網ブロック(block)を示す第1演算関数(operation function)と第2神経回路網モデルに含まれた神経回路網ブロックを示す第2演算関数とをマッチングさせることにより、前記学習された第1神経回路網モデルに基づいて前記第2神経回路網モデルを学習させる段階と、を含むことができる。
【0011】
代案として、前記学習された第1神経回路網モデルに含まれた神経回路網ブロックを示す第1演算関数と第2神経回路網モデルに含まれた神経回路網ブロックを示す第2演算関数とをマッチングさせることにより、前記学習された第1神経回路網モデルに基づいて前記第2神経回路網モデルを学習させる段階は、前記第1演算関数と前記第2演算関数との間の入力又は次元のうちの少なくとも一つをマッチングさせるための損失関数を用いて、前記学習された第1神経回路網モデルに基づいて前記第2神経回路網モデルを学習させる段階、を含むことができる。
【0012】
代案として、前記損失関数は、前記第1神経回路網モデルに含まれたn-1番目(nは自然数)神経回路網ブロックに対応する第1演算関数の出力を入力変数とする第1サブ損失関数と、前記第2神経回路網モデルに含まれたn-1番目神経回路網ブロックに対応する第2演算関数の出力を入力変数とする第2サブ損失関数と、を含むことができる。ここで、前記第1サブ損失関数及び前記第2サブ損失関数のそれぞれは、前記第1神経回路網モデルに含まれたn番目神経回路網ブロックに対応する第1演算関数の出力と前記第2神経回路網モデルに含まれたn番目神経回路網ブロックに対応する第2演算関数の出力との間の差を演算するための関数であり得る。
【0013】
代案として、前記第1サブ損失関数及び前記第2サブ損失関数のそれぞれは、前記n番目神経回路網ブロックに対応する第1演算関数の次元と前記n番目神経回路網ブロックに対応する第2演算関数の次元とをマッチングさせるための変換関数を含むことができる。
【0014】
代案として、前記変換関数は、前記変換関数の入力変数を時間的方向(temporal direction)に線形変換するための第1サブ変換関数と、前記変換関数の入力変数を特徴次元(feature dimension)で線形変換するための第2サブ変換関数と、を含むことができる。
【0015】
代案として、前記第1サブ損失関数に含まれた変換関数は、前記n-1番目神経回路網ブロックに対応する第1演算関数の出力の次元を前記n番目神経回路網ブロックに対応する第2演算関数の入力の次元とマッチングさせ、前記n番目神経回路網ブロックに対応する第2演算関数の出力の次元を前記n番目神経回路網ブロックに対応する第1演算関数の出力の次元とマッチングさせるための関数であり得る。
【0016】
代案として、前記第2サブ損失関数に含まれた変換関数は、前記n-1番目神経回路網ブロックに対応する第2演算関数の出力の次元を前記n番目神経回路網ブロックに対応する第1演算関数の入力の次元とマッチングさせ、前記n番目神経回路網ブロックに対応する第1演算関数の出力の次元を前記n番目神経回路網ブロックに対応する第2演算関数の出力の次元とマッチングさせるための関数であり得る。
【0017】
代案として、前記損失関数は、前記医療データを受けた前記第1神経回路網モデルの出力と前記医療データを受けた前記第2神経回路網モデルの出力との間の差を演算するための第3サブ損失関数、をさらに含むことができる。
【0018】
代案として、こ前記第3サブ損失関数は、前記医療データを受けた前記第1神経回路網モデルの出力の次元を前記医療データを受けた前記第2神経回路網モデルの出力の次元とマッチングさせるための変換関数、を含むとができる。
【0019】
代案として、前記学習方法は、医療データに基づいて前記第2神経回路網モデルに対する微細調整(fine tuning)を実行する段階、をさらに含むことができる。ここで、前記微細調整は、前記第2神経回路網モデルの加重値を前記学習された第1神経回路網モデルに基づく学習が完了した状態の加重値に近くに維持しながら前記第2神経回路網モデルを学習させることであり得る。
【0020】
代案として、前記第1神経回路網モデルは、畳込み(convolutional)神経回路網又は回帰型(recurrent)神経回路網のうちの少なくとも一つを含み、前記第2神経回路網モデルは、自己注意(self-attention)に基づく神経回路網を含むことができる。
【0021】
代案として、前記医療データは、心電図データ又は電子健康記録(EHR:electronic health records)データのうちの少なくとも一つを含むことができる。
【0022】
一方、前述したような課題を実現するための本開示の一実施例によって、コンピューティング装置によって実行される、医療データに基づくディープラーニングモデルの推論方法が開示される。前記推論方法は、心電図データ又は電子健康記録データのうちの少なくとも一つを含む医療データを獲得する段階と、第2神経回路網モデルを使用して、前記医療データに基づいてヒトの健康状態を推定する段階と、を含むことができる。ここで、前記第2神経回路網モデルは、事前に学習された第1神経回路網モデルに基づいて、前記学習された第1神経回路網モデルに含まれた神経回路網ブロックに対応する第1演算関数と前記第2神経回路網モデルに含まれた神経回路網ブロックに対応する第2演算関数とをマッチングさせる演算によって学習されたものであり得る。
【0023】
前述したような課題を実現するための本開示の一実施例によって、コンピュータ可読の保存媒体に保存されたコンピュータプログラム(program)が開示される。前記コンピュータプログラムは、一つ以上のプロセッサ(processor)によって実行される場合、医療データに基づくディープラーニングモデルの学習のための動作を実行させる。ここで、前記動作は、医療データに基づいて第1神経回路網モデルを学習させる動作と、前記学習された第1神経回路網モデルに含まれた神経回路網ブロック(block)を示す第1演算関数(operation function)と第2神経回路網モデルに含まれた神経回路網ブロックを示す第2演算関数とをマッチングさせることにより、前記学習された第1神経回路網モデルに基づいて前記第2神経回路網モデルを学習させる動作と、を含むことができる。
【0024】
前述したような課題を実現するための本開示の一実施例によって、医療データに基づくディープラーニングモデルの学習をするためのコンピューティング装置が開示される。前記装置は、少なくとも一つのコア(core)を含むプロセッサと、前記プロセッサで実行可能なプログラムコード(code)を含むメモリ(memory)と、医療データを獲得するためのネットワーク部(network unit)と、を含むことができる。ここで、前記プロセッサは、医療データに基づいて第1神経回路網モデルを学習させ、前記学習された第1神経回路網モデルに含まれた神経回路網ブロックを示す第1演算関数と第2神経回路網モデルに含まれた神経回路網ブロックを示す第2演算関数とをマッチングさせることにより、前記学習された第1神経回路網モデルに基づいて前記第2神経回路網モデルを学習させることができる。
【0025】
【発明の効果】
【0026】
本開示は教師モデルの強い帰納バイアス(inductive bias)を適切に活用して少量のデータによっても学生モデルを一般化(generalization)することができるディープラーニングモデルの学習方法及びこのような学習方法によって学習されたディープラーニングモデルを医療分野で効果的に活用する方法を提供することができる。
【0027】
【図面の簡単な説明】
【0028】
図1】本開示の一実施例によるコンピューティング装置のブロック図である。
【0029】
図2】本開示の一実施例によってディープラーニングモデルを学習させる過程を示すブロック図である。
【0030】
図3】本開示の一実施例による損失関数の演算過程を示す概念図である。
【0031】
図4】本開示の一実施例によって学習されたディープラーニングモデルと従来のソリューションの性能を比較評価した結果を示すグラフである。
【0032】
図5】本開示の一実施例によるディープラーニングモデルの学習方法を示すフローチャートである。
【0033】
図6】本開示の一実施例によるディープラーニングモデルの推論方法を示すフローチャートである。
【0034】
【発明を実施するための形態】
【0035】
以下では、添付図面を参照して本開示の技術分野で通常の知識を有する者(以下、当業者という)が容易に実施することができるように本開示の実施例を詳細に説明する。本開示で提示する実施例は当業者が本開示の内容を用いるか又は実施することができるように提供する。よって、本開示の実施例に対する多様な変形は当業者に明らかであろう。すなわち、本開示は様々な相異なる形態に具現可能であり、以下の実施例に限定されない。
【0036】
本開示の明細書全般にわたって同一又は類似の図面符号は同一又は類似の構成要素を指す。また、本開示を明確に説明するために、本開示についての説明に関係ない部分の図面符号は図面から省略することができる。
【0037】
本開示で使用する「又は」という用語は排他的「又は」ではなく、内包的「又は」を意味しようとする。すなわち、本開示で、他に特定しないか又は文脈上でその意味が明確ではない場合、「XはA又はBを用いる」は自然的な内包的置換のうちの一つを意味するものと理解しなければならない。例えば、本開示で、他に特定しないか又は文脈上でその意味が明確ではない場合、「XはA又はBを用いる」はXがAを用いるか、XがBを用いるか、又はXがA及びBの両者を用いる場合のうちのいずれか一つと解釈することができる。
【0038】
本開示で使用する「及び/又は」という用語は、列挙する関連の概念のうちの一つ以上の概念の可能なすべての組合せを示しながら含むものと理解しなければならない。
【0039】
本開示で使用する「含む」及び/又は「含んでいる」という用語は、特定の特徴及び/又は構成要素が存在することを意味するものと理解しなければならない。ただし、「含む」及び/又は「含む」という用語は、一つ以上の他の特徴、他の構成要素及び/又はこれらの組合せの存在又は追加を排除しないものと理解しなければならない。
【0040】
本開示で、他に特定しないか又は単数の形態を示すものとして、文脈上明確ではない場合、単数は一般的に「一つ又はそれ以上」を含むことができるものと解釈しなければならない。
【0041】
本開示で使用する「第N(Nは自然数)」という用語は、本開示の構成要素を機能的観点、構造的観点、又は説明の便宜性などの所定の基準によって互いに区別するために使用する表現と理解することができる。例えば、本開示で、互いに異なる機能的役割を行う構成要素は第1構成要素又は第2構成要素に区別することができる。ただし、本開示の技術的思想内で実質的に同一であるが、説明の便宜のために区分しなければならない構成要素も第1構成要素又は第2構成要素に区別することもできる。
【0042】
本開示で使用する「獲得」という用語は、外部装置又はシステムに対して有無線通信ネットワークを介してデータを受信することだけでなく、オンデバイス(on-device)形態としてデータを生成することを意味するものと理解することができる。
【0043】
一方、本開示で使用する用語「モジュール(module)」、又は「部(unit)」は、コンピュータ関連エンティティー(entity)、ファームウエア(firmware)、ソフトウェア(software)又はその一部、ハードウェア(hardware)又はその一部、ソフトウェア及びハードウェアの組合せなどのようにコンピューティング資源を処理する独立的な機能単位を示す用語と理解することができる。ここで、「モジュール」、又は「部」は単一の要素で構成された単位であることもあり、複数の要素の組合せ又は集合と表現される単位であることもある。例えば、協議の概念として「モジュール」、又は「部」はコンピューティング装置のハードウェア要素又はその集合、ソフトウェアの特定の機能を果たす応用プログラム、ソフトウェアの実行によって具現される処理過程(procedure)、又はプログラムの実行のための命令語の集合などを示すことができる。また、広義の概念として「モジュール」、又は「部」はシステムを構成するコンピューティング装置自体、又はコンピューティング装置で実行されるアプリケーションなどを示すことがある。ただし、上述した概念は一例示に過ぎないので、「モジュール」、又は「部」の概念は本開示の内容に基づいて当業者が理解可能な範疇内で多様に定義可能である。
【0044】
本開示で使用する「モデル(model)」という用語は、特定の問題を解決するために、数学的概念及び言語を使用して具現するシステム、特定の問題を解決するためのソフトウェア単位の集合、又は特定の問題を解決するための処理過程に対する抽象画模型と理解することができる。例えば、神経回路網(neural network)「モデル」は学習によって問題解決能力を有する神経回路網として具現されるシステム全般を示すことができる。ここで、神経回路網は、ノード(node)又はニューロン(neuron)を連結するパラメーター(parameter)を学習によって最適化して問題解決能力を有することができる。神経回路網「モデル」は単一の神経回路網を含むこともでき、複数の神経回路網が組み合わせられた神経回路網集合を含むこともできる。
【0045】
本開示で使用する「データ」は「映像」、信号などを含むことができる。本開示で使用する「映像」という用語は、離散的イメージ要素で構成された多次元データを示し得る。言い換えれば、「映像」はヒトの目で見られる対象のデジタル表現物を示す用語と理解することができる。例えば、「映像」は2次元イメージにおいてピクセルに相当する要素で構成された多次元データを示し得る。「映像」は3次元イメージにおいてボクセルに相当する要素で構成された多次元データを示し得る。
【0046】
本開示で使用する「帰納バイアス(inductive bias)」という用語は、ディープラーニングモデルの帰納的推論ができるようにする仮定(assumption)の集合と理解することができる。ディープラーニングモデルが与えられた学習データに対してのみ適切な性能を示す一般化(generalization)のエラーを解決するためには、与えられた学習データ以外のデータまでも正確な出力に近くなるようにディープラーニングモデルが推論することが必要である。よって、「帰納バイアス」は、与えられない入力の出力を予測するためにディープラーニングモデルが学習する過程で有する前提条件の集合と理解することができる。
【0047】
本開示で使用する「ブロック(block)」という用語は、種類、機能などのような多様な基準によって区分された構成の集合と理解することができる。よって、一つの「ブロック」に分類される構成は基準によって多様に変更可能である。例えば、神経回路網「ブロック」は少なくとも一つの神経回路網を含む神経回路網集合と理解することができる。ここで、神経回路網「ブロック」に含まれた神経回路網は特定の演算を同等に実行するものと仮定することができる。
【0048】
本開示で使用する「演算関数(operation function)」という用語は、特定の機能を実行するか又は演算を処理する構成単位に対する数学的表現と理解することができる。例えば、神経回路網ブロックの「演算関数」は、特定の演算を処理する神経回路網ブロックを示す数学的表現と理解することができる。よって、神経回路網ブロックの入力と出力との関係は神経回路網ブロックの「演算関数」を介して数式で表現することができる。
【0049】
前述した用語の説明は本開示の理解を手伝うためのものである。したがって、前述した用語を本開示の内容を限定する事項として明示的に記載しない場合、本開示の内容を技術的思想を限定する意味として使用するものではではないことに気を付けなければならない。
【0050】
図1は本開示の一実施例によるコンピューティング装置のブロック構成図である。
【0051】
本開示の一実施例によるコンピューティング装置100はデータの総合的な処理及び演算を行うハードウェア装置又はハードウェア装置の一部でもあり、通信ネットワークを介して連結されるソフトウェアに基づくコンピューティング環境でもあり得る。例えば、コンピューティング装置100は集約的データ処理の機能を行い、資源を共有する主体であるサーバーでもあり、サーバーとの相互作用によって資源を共有するクライアント(client)でもあり得る。また、コンピューティング装置100は、複数のサーバー及びクライアントが互いに作用してデータを総合的に処理するクラウドシステム(cloud system)でもあり得る。上述した記載はコンピューティング装置100の種類に関連した一例示に過ぎないので、コンピューティング装置100の種類は本開示の内容に基づいて当業者が理解可能な範疇内で多様に構成可能である。
【0052】
図1を参照すると、本開示の一実施例によるコンピューティング装置100はプロセッサ(processor)110と、メモリ(memory)120と、ネットワーク部(network unit)130と、を含むことができる。ただし、図1は一例示に過ぎないので、コンピューティング装置100は、コンピュータ環境を具現するための他の構成を含むことができる。また、前記開示した構成のうちの一部のみをコンピューティング装置100に含むこともできる。
【0053】
本開示の一実施例によるプロセッサ110はコンピューティング演算を実行するためのハードウェア及び/又はソフトウェアを含む構成単位と理解することができる。例えば、プロセッサ110は、コンピュータプログラムを読み取って機械学習のためのデータ処理を実行することができる。プロセッサ110は、機械学習のための入力データの処理、機械学習のための特徴抽出、逆伝搬(backpropagation)に基づく誤差計算などのような演算過程を処理することができる。このようなデータ処理を実行するためのプロセッサ110は、中央処理装置(CPU:central processing unit)、汎用グラフィック処理装置(GPGPU:general purpose graphics processing unit)、テンソル処理装置(TPU:tensor processing unit)、特定用途向け集積回路(ASIC:application specific integrated circuit)、又はフィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)などを含むことができる。上述したプロセッサ110の種類は一例示に過ぎないので、プロセッサ110の種類は本開示の内容に基づいて当業者が理解可能な範疇内で多様に構成可能である。
【0054】
プロセッサ110は教師(teacher)モデルの知識を学生(student)モデルに伝達する知識蒸留(knowledge distillation)に基づいて、ヒトの健康状態を推定するための神経回路網モデルを学習させることができる。例えば、プロセッサ110は、医療データに基づいて、教師モデルがヒトの健康状態を推定するように、教師モデルを学習させることができる。プロセッサ110は教師モデルが学習する過程で生成された帰納バイアスに基づいて学生モデルを学習させることができる。プロセッサ110は、学生モデルの学習過程で教師モデルの帰納バイアスを学生モデルに伝達するために、教師モデルに含まれた複数の神経回路網ブロックを表現するそれぞれの演算関数と学生モデルに含まれた複数の神経回路網ブロックを表現するそれぞれの演算関数とをマッチングさせることができる。ここで、演算関数のマッチングは、教師モデルの神経回路網ブロックのそれぞれが解釈した特徴と学生モデルの神経回路網ブロックのそれぞれが解釈した特徴との間の差を最小化することにより、学生モデルが教師モデルの帰納バイアスを学習する演算と理解することができる。このような演算関数のマッチングにより、プロセッサ110は少量の医療データでも教師モデルの帰納バイアスを学生モデルに効果的に伝達することができる。すなわち、演算関数のマッチングを行う学習により、プロセッサ110はデータ数が充分に確保できなかった状態でも教師モデルの知識を基にして学生モデルを効率的に学習させることができる。また、演算関数のマッチングを行う学習により、プロセッサ110は学生モデルの一般化性能を保障することができる。
【0055】
プロセッサ110は、上述した学習過程によって生成された神経回路網モデルを用いて、医療データに基づいてヒトの健康状態を推定することができる。プロセッサ110は、上述した過程によって学習された神経回路網モデルに医療データを入力してヒトの健康状態を推定した結果を示す推論データを生成することができる。例えば、プロセッサ110は、学習の完了した学生モデルに心電図データを入力して、不整脈などのような晩成疾患の発生有無、晩成疾患の進行程度などを予測することができる。プロセッサ110は、学習の完了した学生モデルに電子健康記録(EHR:electronic health records)データを入力して、患者の心拍数変化などのように患者の管理に必要な情報に関連したデータを生成することができる。上述した例示の他にも、医療データの種類及び神経回路網モデルの出力は本開示の内容に基づいて当業者の理解可能な範疇内で多様に構成可能である。
【0056】
本開示の一実施例によるメモリ120はコンピューティング装置100で処理されるデータを保存して管理するためのハードウェア及び/又はソフトウェアを含む構成単位と理解することができる。すなわち、メモリ120は、プロセッサ110が生成するか又は決定した任意の形態のデータ及びネットワーク部130が受信した任意の形態のデータを保存することができる。例えば、メモリ120は、フラッシュメモリタイプ(flash memory type)、ハードディスクタイプ(hard disk type)、マルチメディアカードマイクロタイプ(multimedia card micro type)、カードタイプのメモリ、RAM(random access memory)、SRAM(static random access memory)、ROM(read-only memory)、EEPROM(electrically erasable programmable read-only memory)、PROM(programmable read-only memory)、磁気メモリ、磁気ディスク、及び光ディスクのうちの少なくとも一つのタイプの保存媒体を含むことができる。また、メモリ120は、データを所定の体制で統制して管理するデータベース(database)システムを含むこともできる。上述したメモリ120の種類は一例示に過ぎないので、メモリ120の種類は本開示の内容に基づいて当業者が理解可能な範疇内で多様に構成可能である。
【0057】
メモリ120は、プロセッサ110が演算を実行するのに必要なデータ、データの組合せ、及びプロセッサ110で実行可能なプログラムコード(code)などを構造化及び組職化して管理することができる。例えば、メモリ120は、後述するネットワーク部130を介して受信した医療データを保存することができる。メモリ120は、神経回路網モデルが医療データを受けて学習を実行するように動作させるプログラムコード、神経回路網モデルが医療データを受け、コンピューティング装置100の使用目的に応じて推論を行うように動作させるプログラムコード、及びプログラムコードが実行されることによって生成された加工データなどを保存することができる。
【0058】
本開示の一実施例によるネットワーク部130は任意の形態の公知の有無線通信システムを介してデータを送受信する構成単位と理解することができる。例えば、ネットワーク部130は、ローカルエリアネットワーク(LAN:local area network)、広帯域符号分割多重接続(WCDMA(登録商標):wideband code division multiple access)、LTE(long term evolution)、ワイブロ(WiBro:wireless broadband internet)、5世代移動通信(5G)、超広帯域無線通信(ultrawide-band)、シグビー(ZigBee(登録商標))、無線周波数(RF:radio frequency)通信、無線LAN(wireless LAN)、ワイファイ(wireless fidelity)、近距離無線通信(NFC:near field communication)、又はブルートゥース(登録商標)(Bluetooth(登録商標))などのような有無線通信システムを使用してデータ送受信を行うことができる。上述した通信システムは一例示に過ぎないので、ネットワーク部130のデータ送受信のための有無線通信システムは上述した例示の他に多様に適用可能である。
【0059】
ネットワーク部130は、任意のシステム又は任意のクライアントなどとの有無線通信を介して、プロセッサ110が演算を実行するのに必要なデータを受信することができる。また、ネットワーク部130は、任意のシステム又は任意のクライアントなどとの有無線通信を介して、プロセッサ110の演算によって生成されたデータを送信することができる。例えば、ネットワーク部130は、病院環境内のデータベース、医療データの標準化などの作業を行うクラウドサーバー、又はコンピューティング装置などとの通信を介して医療データを受信することができる。ネットワーク部130は、前述したデータベース、サーバー、又はコンピューティング装置などとの通信を介して、神経回路網モデルの出力データ、及びプロセッサ110の演算過程で導出される中間データ、加工データなどを送信することができる。
【0060】
図2は本開示の一実施例によってディープラーニングモデルを学習させる過程を示すブロック図である。
【0061】
図2を参照すると、本開示の一実施例によるプロセッサ110は、医療データに基づいてヒトの健康状態を推定するための神経回路網モデルを学習させるために、3段階の学習過程を実行することができる。プロセッサ110は、医療データに基づいてヒトの健康状態を推定するための帰納バイアスを有するように第1神経回路網モデル200を学習させるA段階を実行することができる。プロセッサ110は、A段階で強化した第1神経回路網モデル200の帰納バイアスを第2神経回路網モデル300に伝達するためのB段階を実行することができる。そして、プロセッサ110は、B段階で学習された第2神経回路網モデル300を活用目的に応じて微細調整(fine-tuning)するためのC段階を実行することができる。ただし、C段階は必ずしも実行する必要はなく、第2神経回路網モデル300の活用目的に応じて実行するか、又は実行しないことができる。
【0062】
具体的に説明すると、プロセッサ110は、第2神経回路網モデル300に伝達するための帰納バイアスを生成するために、第1神経回路網モデル200を学習させることができる。プロセッサ110は、第1神経回路網モデル200に医療データ11を入力してヒトの健康状態を推定するための出力を生成することができる。プロセッサ110は、損失関数によって第1神経回路網モデル200の出力をGT(ground truth)と比較して、神経回路網の加重値(weight)などのようなパラメーターを再構成することができる。プロセッサ110は、このような演算を損失関数が収斂するまで繰り返し実行して、医療データ11に基づいて第1神経回路網モデル200を学習させることができる。第1神経回路網モデル200が畳込み(convolutional)神経回路網を含む場合、第1神経回路網モデル200は、A段階で医療データ11に対する局所性(locality)及び並進不変(translation invariance)の帰納バイアスを強化することができる。第1神経回路網モデル200が回帰型(recurrent)神経回路網を含む場合、第1神経回路網モデル200はA段階で医療データ11に対する時間的不変(temporal invariance)の帰納バイアスを強化することができる。
【0063】
プロセッサ110は、A段階で強化した第1神経回路網モデル200の帰納バイアスを第2神経回路網モデル300が学習することができるように、第1神経回路網モデル200に含まれた複数の神経回路網ブロック210と第2神経回路網モデル300に含まれた複数の神経回路網ブロック220とをマッチングさせることができる。プロセッサ110は、第1神経回路網モデル200及び第2神経回路網モデル300にそれぞれ医療データ15を入力することができる。ここで、B段階の医療データ15はA段階の医療データ11と同じか又は異なり得る。各モデル200、300が医療データ15を処理する過程で、プロセッサ110は、損失関数を用いて第1神経回路網モデル200に含まれた複数の神経回路網ブロック210のそれぞれの出力と第2神経回路網モデル300に含まれた複数の神経回路網ブロック220のそれぞれの出力との間の差を演算することができる。すなわち、プロセッサ110は、第1神経回路網モデル200に含まれた複数の神経回路網ブロック210と第2神経回路網モデル300に含まれた複数の神経回路網ブロック220とをペア(pair)として構成して損失を演算することができる。
【0064】
ただし、第1神経回路網モデル200及び第2神経回路網モデル300のそれぞれが含む神経回路網の種類及び神経回路網間の従属性のため、マッチングさせようとする神経回路網ブロック210、220の間の入力及び/又は次元の差が発生し得る。第1神経回路網モデル200が畳込み神経回路網又は回帰型神経回路網のうちの少なくとも一つを含み、第2神経回路網モデル300が自己注意(self-attention)に基づく神経回路網を含む場合、第1神経回路網モデル200の神経回路網ブロック210と第2神経回路網モデル300の神経回路網ブロック220との間の入力及び次元の差によって、損失を計算しにくいしかない。よって、プロセッサ110は、損失関数を用いて差を計算する過程で神経回路網ブロック210、220の間の入力及び/又は次元をマッチングさせるための演算を実行することができる。例えば、プロセッサ110は、第1神経回路網モデル200の中間出力と第2神経回路網モデル300の中間出力とをブロック210、220のそれぞれに交互に入力し、ブロック210、220のそれぞれの入出力次元を一致させる演算を実行することができる。プロセッサ110は、このような入力及び次元のマッチングによって、第1神経回路網モデル200及び第2神経回路網モデル300のそれぞれが含む神経回路網の種類が異なっても効果的に神経回路網ブロック210、220をマッチングさせることができる。
【0065】
そして、プロセッサ110は、損失関数を用いて第1神経回路網モデル200の最終出力と第2神経回路網モデル300の最終出力との間の差を演算することができる。プロセッサ110は、上述した神経回路網ブロックの間のマッチング及び最終出力の間のマッチングを損失関数が収斂するまで繰り返し実行することにより、第1神経回路網モデル200の帰納バイアスを第2神経回路網モデル300に伝達することができる。言い替えれば、プロセッサ110は、B段階の神経回路網ブロックマッチングにより、A段階で学習された第1神経回路網モデル200に基づいて第2神経回路網モデル300を学習させることができる。
【0066】
上述したB段階が完了すると、プロセッサ110は、第1神経回路網モデル200の帰納バイアスを学習した第2神経回路網モデル300に対する微細調整を実行することができる。ここで、微細調整は、第2神経回路網モデル300の活用目的に応じて第2神経回路網モデル300を特定のタスク(task)に最適化させる学習過程と理解することができる。プロセッサ110は、B段階で学習された第2神経回路網モデル300に医療データ19を入力して、ヒトの健康状態を推定するための出力を生成することができる。ここで、医療データ19は第2神経回路網モデル300の活用目的によって、心電図データであるか、又は電子健康記録データであり得る。そして、第2神経回路網モデル300は、心電図データを受けて不整脈などのような晩成疾患を推定することもでき、電子健康記録データを受けて重病患者の状態変化を推定することもできる。ただし、このような第2神経回路網モデル300の入出力は一例示に過ぎないので、上述した例示に限定されない。プロセッサ110は、損失関数によって第2神経回路網モデル300の出力をGT(ground truth)と比較して、神経回路網の加重値(weight)などのようなパラメーターを再構成することができる。プロセッサ110は、このような演算を損失関数が収斂するまで繰り返し実行して、医療データ19に基づいて第2神経回路網モデル300を再学習させることができる。
【0067】
図3は本開示の一実施例による損失関数の演算過程を示す概念図である。図3のための以下説明で、第1神経回路網モデル200は畳込み神経回路網モデル又は回帰型神経回路網モデルと仮定し、第2神経回路網モデル300は自己注意(self-attention)に基づくトランスフォーマー(transformer)モデルと仮定する。
【0068】
図3を参照すると、第1神経回路網モデル200及び第2神経回路網モデル300は次の数学式1のような神経回路網ブロックを示す演算関数の組合せと解釈することができる。
【0069】
【数1】
【0070】
ここで、fは第1神経回路網モデル200、fは第1神経回路網モデル200のn番目(nは自然数)神経回路網ブロック、gは第2神経回路網モデル300、gは第2神経回路網モデル300のn番目神経回路網ブロックを示す。そして、lは第1神経回路網モデル200の分類器、lは第2神経回路網モデル300の分類器を示す。
【0071】
畳込み神経回路網モデル又は回帰型神経回路網モデルである第1神経回路網モデル200の帰納バイアスをトランスフォーマーモデルである第2神経回路網モデル300に伝達するために、本開示の一実施例によるプロセッサ110は、fとgとをマッチングする演算を実行することができる。マッチング演算は、大別して入力マッチング及び次元マッチングに区分することができる。
【0072】
第1神経回路網モデル200と第2神経回路網モデル300との間の神経回路網種類の差によって、神経回路網ブロックの間の関数マッチングで入力差の問題が自然に発生し得る。例えば、第2神経回路網モデル300の二番目関数gの入力はg(x)になり、第1神経回路網モデル200の二番目関数fの入力はf(x)になる。ここで、入力マッチングを実行しなければ、両関数の間のマッチングは||g(g(x))-f(f(x))||を最小化する演算によって実行する。しかしながら、以前の神経回路網ブロックの従属性のため、このようなマッチング演算はgがfに近接することを保障することができない。よって、プロセッサ110は、信号を第1神経回路網モデル200及び第2神経回路網モデル300の両演算の流れに伝達して上述した問題を緩和する。すなわち、本開示において、両関数の間のマッチングは||g(f(x))-f(f(x))||+||g(g(x))-f(g(x))||を最小化する演算で実行することができる。
【0073】
また、神経回路網ブロックの間の関数マッチングで、入力が通過する関数による次元の差の問題が発生し得る。第1神経回路網モデル200のn番目神経回路網ブロックを示すf(・)の場合、プーリング(pooling)演算及びストライド演算(convolution with stride)は時間的方向によって次元を変更し、畳込み演算変更は特徴の次元も確張する。このような問題を処理するために、プロセッサ110は、各次元を同等に変換する変換関数h(・)を使用することができる。
【0074】
【数2】
【0075】
数学式2で、I(・)は時間的方向(temporal direction)の線形変換を示し、Wは特徴次元(feature dimension)の線形変換を示す。すなわち、変換関数h(・)は入力変数の時間方向の線形変換のための関数と入力変数の特徴次元の線形変換のための関数との積で表現することができる。
【0076】
上述した入力マッチング及び次元マッチングを要約すると、次の数学式3のような2個の損失関数で表現することができる。
【0077】
【数3】
【0078】
ここで、L 図3の(a)に対応し、L 図3の(b)に対応し得る。
【0079】
そして、図3の(c)を参照すると、第2神経回路網モデル300の神経回路網ブロックに対応する演算関数gだけでなく、第2神経回路網モデル300のすべてのgが第1神経回路網モデル200の帰納バイアスを受けて同様に動作するために、次の数学式4のような損失関数L を追加的に演算することができる。
【0080】
【数4】
【0081】
畳込み神経回路網モデル又は回帰型神経回路網モデルである第1神経回路網モデル200の帰納バイアスをトランスフォーマーモデルである第2神経回路網モデル300で学習させるための全体損失関数Lは上述した数学式3及び数学式4を統合して次のような数学式5で表現することができる。
【0082】
【数5】
【0083】
一方、本開示の一実施例によって、上述した損失関数に基づく第2神経回路網モデル300の学習が完了してからは、学習が完了した状態の加重値Φは無作為に初期化した分類器を使用した学習の初期加重値として使用することができる。プロセッサ110は、帰納バイアスを有する第1神経回路網モデル200と同じ作業で損失を最小化して学習された第2神経回路網モデル300を微細調整することができる。第2神経回路網モデル300を微細調整するうち、プロセッサ110は、加重値Φを初期加重値Φf→gに近くに維持して、第1神経回路網モデル200から伝達された帰納バイアスを第2神経回路網モデル300が忘れないように、第2神経回路網モデル300を正規化することができる。このような正規化は次の数学式6のように表現することができる。
【0084】
【数6】
【0085】
上述した図2の3段階学習及び図3の損失関数演算によって第1神経回路網モデル200の帰納バイアスを第2神経回路網モデル300に効率的に伝達して学習を実行し、第2神経回路網モデル300を医療分野の使用目的に応じて効果的に最適化させることができる。また、十分なデータが蓄積しなかった医療分野で少量のデータでも一般化性能を保障するように第2神経回路網モデル300を学習させて医療分野の多様なタスクに容易に活用することができる。
【0086】
図4は本開示の一実施例によって学習されたディープラーニングモデル及び従来のソリューションの性能を比較評価した結果を示すグラフである。
【0087】
図4の(a)は、心電図データに基づいて、畳込み神経回路網41、DieT45、及び畳込み神経回路網41から帰納バイアスを受けて学習された本開示の神経回路網49の性能を比較した結果を示す。そして、F1はf-1スコア(score)、P-21はphysionet21点数を示す。心電図データの場合、本開示の神経回路網49の性能が帰納バイアスを伝達した畳込み神経回路網41よりも優れることが分かる。また、本開示の神経回路網49の性能は、知識蒸留に基づくDieT45に比べても数等優れることが分かる。特に、心電図ケースにおいて、むしろDieT45は畳込み神経回路網41よりも性能が劣ることが分かる。
【0088】
図4の(b)は、電子医務記録データに基づいて、畳込み神経回路網51、DieT55、及び畳込み神経回路網51から帰納バイアスを受けて学習された本開示の神経回路網59の性能を比較した結果を示す。そして、P-19はphysionet19点数を示す。電子医務記録データの場合、本開示の神経回路網59の性能が帰納バイアスを伝達した畳込み神経回路網51よりも優れることが分かる。また、本開示の神経回路網49の性能は、P-19を基準に、知識蒸留に基づくDieT45に比べても数等優れることが分かる。
【0089】
上述した結果を総合して見ると、本開示の学習方法によって学習された神経回路網は、DieTに比べて、学習のためのデータが充分に蓄積しなかった医療分野により相応しいことが分かる。また、本開示の学習方法によって学習された神経回路網は、先行のモデルの帰納バイアスを成功的にエンコード(encoding)して、先行のモデルよりも優れた性能を示すことが分かる。
【0090】
図5は本開示の一実施例によるディープラーニングモデルの学習方法を示すフローチャートである。
【0091】
図5を参照すると、本開示の一実施例によるコンピューティング装置100は、医療データに基づいて第1神経回路網モデルを学習させることができる(S110)。コンピューティング装置100は、第1神経回路網モデルが医療データに基づいて第1神経回路網モデルがヒトの健康状態を推定するように、第1神経回路網モデルを学習させることができる。例えば、コンピューティング装置100がクラウドシステムのサーバー又はクライアントの場合、コンピューティング装置100は病院環境内のデータベースとの通信を介して心電図データ又は電子健康記録データのうちの少なくとも一つを学習データとして受信することができる。コンピューティング装置100が病院環境内のデータベースの場合、コンピューティング装置100は、病院環境内の心電図測定装置などとの通信を介して心電図データ又は電子健康記録データのうちの少なくとも一つを学習データとして生成することができる。コンピューティング装置100は、第1神経回路網モデルが獲得した心電図データ又は電子健康記録データのうちの少なくとも一つに基づいて、ヒトの疾患などの発生有無、変化推移、危険程度などを推定するように、第1神経回路網モデルを学習させることができる。
【0092】
コンピューティング装置100は、第1神経回路網モデルと第2神経回路網モデルとの間の神経回路網ブロックを示す演算関数をマッチングさせることによって第2神経回路網モデルを学習させることができる(S120)。コンピューティング装置100は、S110段階で学習された第1神経回路網モデルに含まれた神経回路網ブロックを示す第1演算関数と第2神経回路網モデルに含まれた神経回路網ブロックを示す第2演算関数とをマッチングさせることができる。具体的には、コンピューティング装置100は、第1演算関数と第2演算関数との間の入力又は次元のうちの少なくとも一つをマッチングさせるための損失関数を用いて、S110段階で学習された第1神経回路網モデルに基づいて第2神経回路網モデルを学習させることができる。
【0093】
本開示の一実施例によれば、S120段階で第1演算関数と第2演算関数とをマッチングさせるための損失関数は、第1神経回路網モデルに含まれたn-1番目神経回路網ブロックに対応する第1演算関数の出力を入力変数とする第1サブ損失関数、及び第2神経回路網モデルに含まれたn-1番目神経回路網ブロックに対応する第2演算関数の出力を入力変数とする第2サブ損失関数を含むことができる。第1サブ損失関数及び第2サブ損失関数のそれぞれは、第1神経回路網モデルに含まれたn番目神経回路網ブロックに対応する第1演算関数の出力と第2神経回路網モデルに含まれたn番目神経回路網ブロックに対応する第2演算関数の出力との間の差を演算するための関数であり得る。すなわち、第1サブ損失関数は、以前の第1演算関数の出力を現在の第1演算関数及び現在の第2演算関数のそれぞれに入力して生成された出力の間の差を演算するための関数と理解することができる。そして、第2サブ損失関数は、以前の第2演算関数の出力を現在の第1演算関数及び現在の第2演算関数のそれぞれに入力して生成された出力の間の差を演算するための関数と理解することができる。
【0094】
第1神経回路網モデル及び第2神経回路網モデルが同じ畳込み神経回路網ブロックを含む場合、各演算関数が処理する過程でデータの次元問題が発生しない。しかしながら、第1神経回路網モデルは畳込み神経回路網ブロックを含み、第2神経回路網モデルは自己注意に基づく神経回路網ブロックを含む場合のように相異なる種類の神経回路網ブロックを含む場合、各演算関数が処理する過程でデータの次元問題が発生し得る。よって、第1サブ損失関数及び第2サブ損失関数のそれぞれは、n番目神経回路網ブロックに対応する第1演算関数の次元とn番目神経回路網ブロックに対応する第2演算関数の次元とをマッチングさせるための変換関数を含むことができる。ここで、変換関数は、変換関数の入力変数を時間的方向に線形変換するための第1サブ変換関数、及び変換関数の入力変数を特徴次元で線形変換するための第2サブ変換関数を含むことができる。変換関数は数学式2のh(・)に対応し、第1サブ変換関数は数学式2のI(・)、第2サブ変換関数は数学式2のWに対応するものと理解することができる。
【0095】
第1サブ損失関数に含まれた変換関数は、n-1番目神経回路網ブロックに対応する第1演算関数の出力の次元をn番目神経回路網ブロックに対応する第2演算関数の入力の次元とマッチングさせ、n番目神経回路網ブロックに対応する第2演算関数の出力の次元をn番目神経回路網ブロックに対応する第1演算関数の出力の次元とマッチングさせるための関数であり得る。例えば、図3の(a)を参照すると、第1サブ損失関数に含まれた変換関数は、
のように、n-1番目神経回路網ブロックに対応する第1演算関数の出力の次元をn番目神経回路網ブロックに対応する第2演算関数の入力の次元に応じて変換する演算のために使用することができる。そして、第1サブ損失関数に含まれた変換関数は、
のように、n番目神経回路網ブロックに対応する第2演算関数の出力の次元をn番目神経回路網ブロックに対応する第1演算関数の出力の次元に応じて変換する演算のために使用することができる。
【0096】
第2サブ損失関数に含まれた変換関数は、n-1番目神経回路網ブロックに対応する第2演算関数の出力の次元をn番目神経回路網ブロックに対応する第1演算関数の入力の次元とマッチングさせ、n番目神経回路網ブロックに対応する第1演算関数の出力の次元をn番目神経回路網ブロックに対応する第2演算関数の出力の次元とマッチングさせるための関数であり得る。例えば、図3の(b)を参照すると、第2サブ損失関数に含まれた変換関数は、
のように、n-1番目神経回路網ブロックに対応する第2演算関数の出力の次元をn番目神経回路網ブロックに対応する第1演算関数の入力の次元に応じて変換する演算のために使用することができる。そして、第2サブ損失関数に含まれた変換関数は、
のように、n番目神経回路網ブロックに対応する第1演算関数の出力の次元をn番目神経回路網ブロックに対応する第2演算関数の出力の次元に応じて変換する演算のために使用することができる。
【0097】
上述した説明を総合すると、第1サブ損失関数は数学式3のL に対応し、第2サブ損失関数は数学式3のL に対応するものと理解することができる。すなわち、第1サブ損失関数の演算過程は図3の(a)に対応し、第2サブ損失関数の演算過程は図3の(b)に対応するものと理解することができる。
【0098】
一方、S120段階で、第1演算関数と第2演算関数とをマッチングさせるための損失関数は、医療データを受けた第1神経回路網モデルの出力と医療データを受けた第2神経回路網モデルの出力との間の差を演算するための第3サブ損失関数をさらに含むことができる。第1サブ損失関数及び第2サブ損失関数が神経回路網モデルのそれぞれに含まれた神経回路網ブロックを細密にマッチングさせるための関数であれば、第3サブ損失関数は神経回路網モデルを全体モデルの観点でマッチングさせるための関数と理解することができる。
【0099】
第3サブ損失関数は、医療データを受けた第1神経回路網モデルの出力の次元を医療データを受けた第2神経回路網モデルの出力の次元とマッチングさせるための変換関数を含むことができる。第1サブ損失関数及び第2サブ損失関数と同様に、第1神経回路網モデルと第2神経回路網モデルとの間の神経回路網種類の違いが存在すれば、それぞれの演算過程で導出されるデータの間の次元の差が存在するしかないので、次元の差の問題を解決するために、第3サブ損失関数は変換関数を含むことができる。例えば、図3の(c)を参照すると、第3サブ損失関数に含まれた変換関数は、
のように、最終の神経回路網ブロックに対応する第1演算関数の出力の次元を最終の神経回路網ブロックに対応する第2演算関数の出力の次元に応じて変換する演算のために使用することができる。
【0100】
上述した説明を総合すると、第3サブ損失関数は数学式4のL に対応し、第3サブ損失関数の演算過程は図3の(c)に対応するものと理解することができる。そして、S120段階で、第1演算関数と第2演算関数とをマッチングさせるための損失関数は、第1サブ損失関数、第2サブ損失関数、及び第3損失関数の組合せで表現することができる。数学式5では3個のサブ損失関数の単純和で表現したが、単純和だけでなく、加重和、積などの多様な演算によってサブ損失関数を組み合わせることができる。
【0101】
コンピューティング装置100は、医療データに基づいてS120段階で第1神経回路網モデルの帰納バイアスを学習した第2神経回路網モデルに対する微細調整を実行することができる(S130)。ここで、微細調整は、第2神経回路網モデルの加重値が第1神経回路網モデルに基づく学習(S120段階)が完了した状態の加重値に近くに維持しながら第2神経回路網モデルを学習させる過程と理解することができる。例えば、第2神経回路網モデルが晩成疾患の中でも不整脈予測というタスクにより最適化するために、コンピューティング装置100は、S120段階が完了した第2神経回路網モデルに不整脈予測に関連した心電図データを入力して第2神経回路網モデルを微細調整することができる。また、第2神経回路網モデルが重患者室に入院した患者の心拍数変化をモニタリングするためのタスクにより最適化するために、コンピューティング装置100は、S120段階が完了した第2神経回路網モデルに重病患者の電子健康記録データを入力して第2神経回路網モデルを微細調整することができる。本開示の微細調整は上述した例示に限定されず、本開示の内容に基づいて当業者の理解可能な範疇内で多様に実行可能である。
【0102】
図6は本開示の一実施例によるディープラーニングモデルの推論方法を示すフローチャートである。
【0103】
図6を参照すると、本開示の一実施例によるコンピューティング装置100は、心電図データ又は電子健康記録データのうちの少なくとも一つを含む医療データを獲得することができる(S210)。例えば、コンピューティング装置100がクラウドシステムのサーバー又はクライアントの場合、コンピューティング装置100は、病院環境内のデータベースとの通信を介して推論対象の心電図データ又は電子健康記録データのうちの少なくとも一つを受信することができる。コンピューティング装置100が病院環境内のデータベースの場合、コンピューティング装置100は、病院環境内の心電図測定装置などとの通信を介して推論対象の心電図データ又は電子健康記録データのうちの少なくとも一つを生成することができる。
【0104】
コンピューティング装置100は、事前に学習された第2神経回路網モデルを使用して、医療データに基づいてヒトの健康状態を推定することができる(S220)。コンピューティング装置100は、事前に学習された第2神経回路網モデルにS210段階で獲得した心電図データ又は電子健康記録データのうちの少なくとも一つを入力することにより、ヒトの疾患などの発生有無、変化推移、危険程度などを予測することができる。ここで、第2神経回路網モデルは、事前に学習された第1神経回路網モデルに基づいて、第1神経回路網モデルに含まれた神経回路網ブロックに対応する第1演算関数と第2神経回路網モデルに含まれた神経回路網ブロックに対応する第2演算関数とをマッチングさせる演算によって学習されたものであり得る。第2神経回路網モデルの事前学習は上述した図6の説明に対応するので、以下では具体的な説明を省略する。
【0105】
前述した本開示の多様な実施例は追加の実施例と結合することができ、上述した詳細な説明から当業者が理解することができる範疇内で変更可能である。本開示の実施例はすべての面で例示的なものであり、限定的ではないものと理解しなければならない。例えば、単一型として説明したそれぞれの構成要素は分散して実施することもでき、同様に分散されたものとして説明した構成要素も結合した形態として実施することができる。よって、本開示の特許請求の範囲の意味、範囲及びその均等概念から導出されるすべての変更又は変形の形態を本開示の範囲に含まれるものと解釈しなければならない。
【符号の説明】
【0106】
11 :医療データ
15 :医療データ
19 :医療データ
41 :畳込み神経回路網
49 :神経回路網
51 :畳込み神経回路網
59 :神経回路網
100 :コンピューティング装置
110 :プロセッサ
120 :メモリ
130 :ネットワーク部
200 :第1神経回路網モデル
210 :神経回路網ブロック
220 :神経回路網ブロック
300 :第2神経回路網モデル
図1
図2
図3
図4
図5
図6
【国際調査報告】