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

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

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

特許7618288入力変数が制限された環境における人工ニューラルネットワークを活用した予測方法{PREDICTION METHOD WITH LIMITED INPUT VARIABLES USING ARTIFICIAL NEURAL NETWORK}
<>
  • 特許-入力変数が制限された環境における人工ニューラルネットワークを活用した予測方法{PREDICTION  METHOD  WITH  LIMITED  INPUT  VARIABLES  USING  ARTIFICIAL  NEURAL  NETWORK} 図1
  • 特許-入力変数が制限された環境における人工ニューラルネットワークを活用した予測方法{PREDICTION  METHOD  WITH  LIMITED  INPUT  VARIABLES  USING  ARTIFICIAL  NEURAL  NETWORK} 図2
  • 特許-入力変数が制限された環境における人工ニューラルネットワークを活用した予測方法{PREDICTION  METHOD  WITH  LIMITED  INPUT  VARIABLES  USING  ARTIFICIAL  NEURAL  NETWORK} 図3
  • 特許-入力変数が制限された環境における人工ニューラルネットワークを活用した予測方法{PREDICTION  METHOD  WITH  LIMITED  INPUT  VARIABLES  USING  ARTIFICIAL  NEURAL  NETWORK} 図4
  • 特許-入力変数が制限された環境における人工ニューラルネットワークを活用した予測方法{PREDICTION  METHOD  WITH  LIMITED  INPUT  VARIABLES  USING  ARTIFICIAL  NEURAL  NETWORK} 図5
  • 特許-入力変数が制限された環境における人工ニューラルネットワークを活用した予測方法{PREDICTION  METHOD  WITH  LIMITED  INPUT  VARIABLES  USING  ARTIFICIAL  NEURAL  NETWORK} 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-10
(45)【発行日】2025-01-21
(54)【発明の名称】入力変数が制限された環境における人工ニューラルネットワークを活用した予測方法{PREDICTION METHOD WITH LIMITED INPUT VARIABLES USING ARTIFICIAL NEURAL NETWORK}
(51)【国際特許分類】
   G06N 3/04 20230101AFI20250114BHJP
【FI】
G06N3/04 100
【請求項の数】 11
(21)【出願番号】P 2023137464
(22)【出願日】2023-08-25
(65)【公開番号】P2024159400
(43)【公開日】2024-11-08
【審査請求日】2023-08-28
(31)【優先権主張番号】10-2023-0054763
(32)【優先日】2023-04-26
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】520047532
【氏名又は名称】ビュノ インコーポレイテッド
【氏名又は名称原語表記】VUNO, INC.
【住所又は居所原語表記】9F, 479, Gangnam-daero, Seocho-gu, Seoul 06541 REPUBLIC OF KOREA
(74)【代理人】
【識別番号】110002789
【氏名又は名称】弁理士法人IPX
(72)【発明者】
【氏名】キム・ミンチョル
(72)【発明者】
【氏名】チェ・ジェウ
(72)【発明者】
【氏名】シン・ユンソプ
(72)【発明者】
【氏名】チョ・キョンゼ
【審査官】大倉 崚吾
(56)【参考文献】
【文献】特開2022-145573(JP,A)
【文献】中国特許出願公開第114255878(CN,A)
【文献】国際公開第2022/111385(WO,A1)
【文献】国際公開第2023/003676(WO,A1)
【文献】中国特許出願公開第115829162(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G16H 50/20
(57)【特許請求の範囲】
【請求項1】
人工ニューラルネットワークを活用した予測を行うためにコンピューティング装置を介して行われる方法であって、
第2個数の入力変数を含む入力データを取得するステップ;および
前記第2個数の入力変数間の関係に基づいて生成された第2隣接行列(Adjacency matrix)、ならびに前記入力データをグラフニューラルネットワークモデルに入力することに基づいて予測値を生成するステップ;
を含み、
前記グラフニューラルネットワークモデルは、
前記第2個数よりも大きいかまたは同じ第1個数の入力変数間の関係に基づいて生成された第1隣接行列に基づいて学習された人工ニューラルネットワークモデルである、方法。
【請求項2】
請求項1に記載の方法において、
前記グラフニューラルネットワークモデルは、
前記第1個数の入力変数を含む学習データを活用して学習された人工ニューラルネットワークモデルである、
方法。
【請求項3】
請求項2に記載の方法において、
前記グラフニューラルネットワークモデルは、
前記第1個数の入力変数間の関係に基づいて前記第1隣接行列を生成するステップ;および
前記学習データおよび前記第1隣接行列に基づいて前記グラフニューラルネットワークモデルを学習させるステップ;
を含んで学習された人工ニューラルネットワークモデルである、
方法。
【請求項4】
請求項1に記載の方法において、
前記第2個数の入力変数に対するデータをグラフニューラルネットワークモデルに入力することに基づいて予測値を生成するステップは、
前記第2個数の入力変数間の関係に基づいて前記第2隣接行列を生成するステップ;および
前記入力データ、前記第2隣接行列、および前記グラフニューラルネットワークモデルの学習されたパラメータ(parameter)に基づいて前記入力データに対する予測値を生成するステップ;
を含む、
方法。
【請求項5】
請求項4に記載の方法において、
前記入力データの入力変数間の関係に基づいて前記第2隣接行列を生成するステップは、
前記第1個数の入力変数間の関係性に基づいて生成された第1隣接行列を生成するステップ;および
前記第1隣接行列の要素のうち第2個数の入力変数間の関係性を表さない要素をマスキング(masking)するステップ;
を含む、
方法。
【請求項6】
請求項5に記載の方法において、
前記第1個数の入力変数間の関係性に基づいて生成された第1隣接行列を生成するステップは、
前記第1個数の入力変数間の関係性および前記第1個数の入力変数間の相対的な重要度に基づいて前記第1隣接行列を生成するステップ;
を含む、
方法。
【請求項7】
請求項3に記載の方法において、
前記第1隣接行列および前記第2隣接行列のそれぞれは、
ノード(node)およびエッジ(edge)で構成されたグラフに基づいて生成された行列である、
方法。
【請求項8】
請求項7に記載の方法において、
前記グラフは、
入力変数に基づいてノードを決めるステップ;および
前記入力変数間の関係性に基づいてそれぞれのノードを連結するエッジを決めるステップ;
を含んで生成されたグラフである、
方法。
【請求項9】
請求項1に記載の方法において、
前記グラフニューラルネットワークモデルは、
患者の時系列医療データの入力を受けて診断結果を出力する人工ニューラルネットワークモデル;
を含む、
方法。
【請求項10】
コンピューティング装置を介して被検体の状態予測と関連するデータセットを生成するための動作を含むコンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラムであって、前記動作は、
第2個数の入力変数を含む入力データを取得する動作;および
前記第2個数の入力変数間の関係に基づいて生成された第2隣接行列(Adjacency matrix)、ならびに前記入力データをグラフニューラルネットワークモデルに入力することに基づいて予測値を生成する動作;
を含み、
前記グラフニューラルネットワークモデルは、
前記第2個数よりも大きいかまたは同じ第1個数の入力変数間の関係に基づいて生成された第1隣接行列に基づいて学習された人工ニューラルネットワークモデルである、コンピュータ読み取り可能なストレージ媒体に格納されたコンピュータプログラム。
【請求項11】
コンピューティング装置であって、
1つ以上のプロセッサ;および
メモリ;
を含み、
前記プロセッサは、
第2個数の入力変数を含む入力データを取得し、そして
前記第2個数の入力変数間の関係に基づいて生成された第2隣接行列(Adjacency matrix)、および前記入力データをグラフニューラルネットワークモデルに入力することに基づいて予測値を生成し、
前記グラフニューラルネットワークモデルは、
前記第2個数よりも大きいかまたは同じ第1個数の入力変数間の関係に基づいて生成された第1隣接行列に基づいて学習された人工ニューラルネットワークモデルである、コンピューティング装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、入力変数が制限された環境における人工ニューラルネットワークを活用した予測方法に関し、具体的には、入力データに含まれた入力変数の数よりも大きいかまたは同じ数の入力変数間の関係性に基づいて学習されたグラフニューラルネットワークモデルを活用して入力データに対する予測値を生成する方法に関する。
【背景技術】
【0002】
人工知能技術の発展により、多くの分野で人工ニューラルネットワークモデルが様々な課題(task)を行うために活用されている。
【0003】
そのうち、グラフニューラルネットワーク(Graph Neural Network)は、グラフを含むデータを入力として受けて予測値を生成する人工ニューラルネットワークの一種であり、入力変数間の関係を反映して予測値を生成することに特化した人工ニューラルネットワークである。このようなグラフニューラルネットワークの場合、学習データを構成する入力変数の数と、推論(inference)段階で入力データを構成する入力変数の数が同じでなければならないという特徴がある。
【0004】
しかし、実際のグラフニューラルネットワークモデルを用いて課題を行う場合、学習過程で利用可能な入力変数が多様に存在するが、推論過程で入力を受ける入力変数が制限されることがある。例えば、患者の医療データの入力を受け、当該患者に対する診断情報を生成するグラフニューラルネットワークの場合、学習段階で集中治療室に在室している患者から測定された様々な入力変数を含む医療データを取得し、それを学習することができるが、推論段階で一般病室に在室している患者の診断情報を生成しようとする場合、入力される医療データの入力変数の数は、集中治療室から取得する医療データの入力変数の数に比べて少ない場合が発生する。
【0005】
従来、このような問題を解決するために、可能な入力変数のうち、すべての状況で共通的に得ることができる一部の入力変数だけを選別して学習データの入力変数に制限した後、当該変数だけでグラフニューラルネットワークモデルを学習させる方法が用いられていた。しかし、このような方法は、学習データに含まれた入力変数と学習データに含まれていない他の入力変数との間の関係情報を反映することができず、その結果、データ間の関係情報を反映するグラフニューラルネットワークの特徴を活かすことができないため、推論結果が不正確になるという問題が発生する。
【0006】
したがって、入力変数が制限された環境で入力データに対して正確な予測値を生成することができる方法に対する当業界の需要が存在する。
【0007】
韓国登録特許2485944号は、トランスフォーマーニューラルネットワークにおけるグラフエンコーディング方法について開示している。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本開示は、前述した背景技術に対応してなされたものであり、入力データの入力変数よりも大きいかまたは同じ数の入力変数間の関係性に基づいて学習されたグラフニューラルネットワークモデルを用いて入力データに対する予測値を生成することを目的とする。
【0009】
一方、本開示が達成しようとする技術的課題は、上記で述べた技術的課題に限定されず、以下で説明する内容から通常の技術者に明らかな範囲内で様々な技術的課題が含まれてもよい。
【課題を解決するための手段】
【0010】
前述したような課題を実現するための本開示の実施形態によれば、コンピューティング装置を介して人工ニューラルネットワークを活用した予測を行うための方法が開示される。前記方法は、第2個数の入力変数を含む入力データを取得するステップ、および前記入力データをグラフニューラルネットワークモデルに入力することに基づいて予測値を生成するステップを含み、前記グラフニューラルネットワークモデルは、前記第2個数よりも大きいかまたは同じ第1個数の入力変数間の関係性に基づいて学習された人工ニューラルネットワークモデルであってもよい。
【0011】
一実施形態において、前記グラフニューラルネットワークモデルは、前記第1個数の入力変数を含む学習データを活用して学習された人工ニューラルネットワークモデルであってもよい。
【0012】
一実施形態において、前記グラフニューラルネットワークモデルは、前記第1個数の入力変数に基づいて第1隣接行列(Adjacency matrix)を生成するステップ、および前記学習データおよび前記第1隣接行列に基づいて前記グラフニューラルネットワークモデルを学習させるステップを含んで学習された人工ニューラルネットワークモデルであってもよい。
【0013】
一実施形態において、前記第2個数の入力変数に対するデータをグラフニューラルネットワークモデルに入力することに基づいて予測値を生成するステップは:前記第2個数の入力変数に基づいて第2隣接行列を生成するステップ、および前記入力データ、前記第2隣接行列、および前記グラフニューラルネットワークモデルの学習されたパラメータ(parameter)に基づいて前記入力データに対する予測値を生成するステップを含むことができる。
【0014】
一実施形態において、前記入力データの入力変数に基づいて第2隣接行列(Adjacency matrix)を生成するステップは:前記第1個数の入力変数間の関係性に基づいて生成された第1隣接行列を生成するステップ、および前記第1隣接行列の要素のうち第2個数の入力変数間の関係性を表さない要素をマスキングするステップを含むことができる。
【0015】
一実施形態において、前記第1個数の入力変数間の関係性に基づいて生成された第1隣接行列を生成するステップは:前記第1個数の入力変数間の関係性および前記第1個数の入力変数間の相対的な重要度に基づいて第1隣接行列を生成するステップを含むことができる。
【0016】
一実施形態において、前記隣接行列は、ノード(node)およびエッジ(edge)で構成されたグラフを表した行列であってもよい。
【0017】
一実施形態において、前記グラフは、入力変数に基づいてノードを決めるステップ、および前記入力変数間の関係性に基づいてそれぞれのノードを連結するエッジを決めるステップを含んで生成されたグラフであってもよい。
【0018】
一実施形態において、前記グラフニューラルネットワークモデルは、患者の時系列医療データの入力を受けて診断結果を出力する人工ニューラルネットワークモデルを含むことができる。
【0019】
前述したような課題を実現するための本開示の実施形態によれば、コンピューティング装置を介して人工ニューラルネットワークを活用した予測を行うための動作を行うようにするコンピュータプログラムが開示される。前記動作は:第2個数の入力変数を含む入力データを取得する動作、および前記入力データをグラフニューラルネットワークモデルに入力することに基づいて予測値を生成する動作を含み、前記グラフニューラルネットワークモデルは、前記第2個数よりも大きいかまたは同じ第1個数の入力変数間の関係性に基づいて学習された人工ニューラルネットワークモデルであってもよい。
【0020】
前述したような課題を実現するための本開示の実施形態によれば、人工ニューラルネットワークを活用した予測を行うためのコンピューティング装置が開示される。前記コンピューティング装置は、1つ以上のプロセッサおよびメモリを含み、前記プロセッサは、第2個数の入力変数を含む入力データを取得し、そして前記入力データをグラフニューラルネットワークモデルに入力することに基づいて予測値を生成することができる。そして、前記グラフニューラルネットワークモデルは、前記第2個数よりも大きいかまたは同じ第1個数の入力変数間の関係性に基づいて学習された人工ニューラルネットワークモデルであってもよい。
【発明の効果】
【0021】
本開示により入力変数が制限されたデータが入力される場合にも、人工ニューラルネットワークモデルによる予測がさらに正確になるという効果がある。特に、本開示によりグラフニューラルネットワークモデルが第1個数の入力変数間の関係性に基づいて学習された後、第1個数よりも少ない第2個数の入力変数を含む入力データに対する予測値を生成することで、入力データに含まれていない変数間の関係がさらに考慮された、正確な予測値が生成されるという効果がある。
【図面の簡単な説明】
【0022】
図1】本開示の一実施形態による人工ニューラルネットワークを活用した予測を行うコンピューティング装置のブロック構成図である。
図2】本開示の一実施形態によるネットワーク関数を示す概略図である。
図3】本開示の一実施形態によるグラフニューラルネットワークモデルを学習させる過程を示すフローチャートである。
図4】本開示の一実施形態によるグラフニューラルネットワークモデルの学習データを示す概念図である。
図5】本開示の一実施形態によるグラフニューラルネットワークモデルの入力データを示す概念図である。
図6】本開示の実施形態を実現可能な例示的なコンピューティング環境に対する簡単で一般的な概略図である。
【発明を実施するための形態】
【0023】
本開示は、入力データの入力変数よりも大きいかまたは同じ数の入力変数間の関係性に基づいて学習されたグラフニューラルネットワークモデルを活用し、入力データをグラフニューラルネットワークモデルに入力することに基づいて予測値を生成する方法について開示する。
【0024】
多様な実施例が以下に図面を参照しながら説明されるが、図面を通して類似の図面番号は類似の構成要素を表すために使われる。本明細書において多様な説明が本開示に対する理解を容易にするために示される。しかし、これらの実施例がこれらの具体的な説明がなくても間違いなく実施されることができる。
【0025】
本明細書において、「コンポーネント」、「モジュール」、「システム」等の用語は、コンピュータ関連エンティティ、ハードウェア、ファームウェア、ソフトウェア、ソフトウェアとハードウェアとの組み合わせ、またはソフトウェアの実行を指す。例えば、コンポーネントは、プロセッサ上で実行される処理手順(procedure)、プロセッサ、オブジェクト、実行スレッド、プログラム、及び/またはコンピュータになり得るが、これらに限定されるものではない。例えば、コンピューティング装置で実行されるアプリケーションとコンピューティング装置は、両方ともコンポーネントになり得る。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】
本開示において、グラフニューラルネットワーク(Graph Neural Network)モデルは、グラフ形式のデータを処理するための人工ニューラルネットワークモデルの一種を意味し得る。グラフニューラルネットワークモデルは、ノード(node)およびエッジ(edge)で構成されたグラフ構造からノードの特性を抽出し、分類、予測などの作業を行うことができる。グラフニューラルネットワークモデルは、一般的にノードと隣接ノードの情報を用いてノードの潜在表現を学習することができる。このために、グラフニューラルネットワークモデルは、複数のレイヤを積み重ねて情報を伝播しつつノードの潜在表現をアップデートすることができる。グラフニューラルネットワークモデルは、グラフ形式のデータに適したモデルであり、データ間の関係をよく反映する特性を有する。それを用いて、ソーシャルネットワーク分析、分子構造分析、地理情報システムなどの様々な分野でグラフニューラルネットワークモデルが用いられることができる。
【0032】
本開示において、隣接行列(Adjacency matrix)は、複数のデータに対してデータ間の関係情報を行列の形態で表したものであってもよい。一般的にデータの数がN個である場合、隣接行列は、N×Nサイズの行列であってもよく、各行列を構成する要素は、当該要素の行を表すデータと列を表すデータとの間の関係情報を意味し得る。一般的に隣接行列において2つのデータが関連する場合は1、関連しない場合は0で表すことができる。
【0033】
本開示において、入力変数は、データ、特に時系列的なデータを構成する変数を意味し得る。例えば、入力データがある患者の時間に応じた心拍数、呼吸数、収縮期血圧、体温、および動脈血酸素飽和度(SpO2)値を記録したものである場合、当該入力データの変数は{心拍数、呼吸数、収縮期血圧、体温、SpO2}であり、入力データの変数の数は5である。
【0034】
図1は、本開示の一実施形態による人工ニューラルネットワークを活用した予測を行うコンピューティング装置のブロック構成図である。
【0035】
図1に図示されたコンピューティング装置(100)の構成は、簡略化して示した例示に過ぎない。本開示の一実施例において、コンピュータ装置(100)には、コンピュータ装置(100)のコンピューティング環境を実装するための他の構成が含まれることが可能であり、開示されている構成のうち一部だけでコンピュータ装置(100)を構成することも可能である。
【0036】
コンピュータ装置(100)は、プロセッサ(110)、メモリー(130)、ネットワーク部(150)を含むことができる。
【0037】
本開示の一実施例において、プロセッサ(100)は、1つ以上のコアで構成されることが可能であり、コンピューティング中央処理装置(CPU:central processing unit)、汎用グラフィック処理装置(GPGPU:general purpose graphics processing unit)、テンサー処理装置(TPU:tensor processing unit)等のデータ分析、ディープラーニングのためのプロセッサプロセッサを含むことができる。プロセッサ(110)は、メモリー(130)に保存されたコンピュータプログラムを読み取り、本開示の一実施例における機械学習のためのデータ処理を実行することができる。本開示の一実施例に基づき、プロセッサ(110)は、ニューラルネットワークの学習のための演算を行うことができる。プロセッサ(110)は、ディープラーニング(DL:deep learning)において、学習のための入力データの処理、入力データからのフィーチャーの抽出、誤差計算、逆伝播(backpropagation)を利用したニューラルネットワークの重みの更新等のニューラルネットワークの学習のための計算を実行することができ。
【0038】
プロセッサ(110)のCPUとGPGPUとTPUとのうち、少なくとも1つが、ネットワーク関数の学習を処理できる。例えば、CPUとGPGPUとがともにネットワーク関数の学習やネットワーク関数を利用したデータの分類を行うことができる。なお、本開示の一実施例において、複数のコンピューティング装置のプロセッサを一緒に使ってネットワーク関数の学習やネットワーク関数を利用したデータ分類を行うことができる。また、本開示の一実施例における、コンピューティング装置において実行されるコンピュータプログラムは、CPU、GPGPU又はTPUで実行可能なプログラムになり得る。
【0039】
プロセッサ110は、入力データを取得することができる。本開示の入力データは、1つの単一の値を有するデータであってもよく、各入力変数に対して時点別のデータが含まれた時系列データであってもよい。
【0040】
プロセッサ110は、入力データを学習された人工ニューラルネットワークモデルであるグラフニューラルネットワークモデルに入力することに基づいて予測値を生成することができる。この際、グラフニューラルネットワークモデルは、第1個数の入力変数を含む学習データに基づいて学習された人工ニューラルネットワークモデルであってもよい。入力データに含まれた入力変数の数が第2個数である場合、第1個数は、第2個数よりも多いかまたは同じであってもよい。例えば、本開示のグラフニューラルネットワークモデルは、{A、B、C、D}の4つの入力変数が含まれた学習データで学習されることができ、プロセッサ110は、当該グラフニューラルネットワークモデルに学習データに含まれた入力変数の一部である{A、B、C}の3つの入力変数が含まれた入力データを入力して予測値を生成することができる。
【0041】
本開示のグラフニューラルネットワークモデルが第1個数の入力変数を含む学習データに基づいて学習された場合、グラフニューラルネットワークモデルは、第1個数の入力変数間の関係情報を学習し、関係情報を予測値を生成するのに反映することができる。例えば、グラフニューラルネットワークモデルは、{A、B、C、D}の4つの入力変数を含む学習データに基づいて学習され、AとBとの間の関係、AとCとの間の関係、AとDとの間の関係、BとCとの間の関係、BとDとの間の関係、CとDとの間の関係に関する情報を反映するように、グラフニューラルネットワークモデルの重み(weight)、すなわち学習可能なパラメータ(parameter)がアップデートされることができる。一般的にデータの入力変数の数が多いほど、グラフニューラルネットワークが生成する予測値の精度が高くなる傾向がある。
【0042】
プロセッサ110は、第1個数の入力変数を含む学習データを活用してグラフニューラルネットワークモデルを学習させることができる。グラフニューラルネットワークモデルを学習させる具体的な方法は、図3を参照して後述する。
【0043】
プロセッサ110は、グラフニューラルネットワークモデルを学習させる過程で、学習データと関連する隣接行列である第1隣接行列を生成することができる。一方、プロセッサ110は、グラフニューラルネットワークモデルを活用して予測値を生成する過程で、入力データと関連する隣接行列である第2隣接行列を生成することができる。第1隣接行列および第2隣接行列を生成する具体的な方法は、図4および図5を参照して後述する。
【0044】
従来、入力データの入力変数が少ない場合、入力データに対する予測値を生成するために、当該入力変数だけを用いて学習された人工ニューラルネットワークモデルが用いられていた。例えば、入力データの入力変数が{A、B、C}の3つである場合、学習データの入力変数が{A、B、C、D}の4つであっても、そのうち入力データの入力変数に対応する3つの入力変数である{A、B、C}だけを選別してグラフニューラルネットワークモデルの学習を行った。しかし、このように学習された人工ニューラルネットワークモデルの場合、入力データの入力変数と入力データに含まれていない入力変数との間の関係が全く反映されていない予測値が生成されるという問題が発生する。
【0045】
本開示では、大きいかまたは同じ数の入力変数(第1個数)を含む学習データに基づいて、大きいかまたは同じ数の入力変数間の関係情報を用いてグラフニューラルネットワークモデルを学習させることで、グラフニューラルネットワークモデルの重み(weight)が大きいかまたは同じ数の入力変数間の関係情報を反映するようにアップデートされる。その後、大きいかまたは同じ数の入力変数間の関係情報が反映された重みをそのまま活用し、少ないかまたは同じ数の入力変数(第2個数)を含む入力データに対する予測値を生成する。したがって、入力データと同じ数の入力変数で学習されたモデルを用いる従来の方法よりも正確な予測情報を生成するという効果がある。
【0046】
本開示の一実施例において、メモリー(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)と連携して動作することも可能である。前述のメモリーに係る記述は、例示に過ぎず、本開示はこれらに限定されない。
【0047】
本開示の一実施例におけるネットワーク部(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)等のような多様な有線通信システムを使用することができる。
【0048】
また、本明細書におけるネットワーク部(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)及びその他のシステムのような多様な無線通信システムを利用することができる。本開示の一実施例におけるネットワーク部(150)は、任意の形を有する公知の有無線通信システムと連携して作動することが可能である。
【0049】
本明細書で説明された技術は、上述したネットワークだけでなく、他のネットワークでも使用することができる。
【0050】
図2は、本開示の一実施例において、医療データに対する診断関連情報を提供するために用いられるネットワーク関数を示す概略図である。
【0051】
本明細書の全体を通して、演算モデル、神経回路網、ネットワーク関数、ニューラルネットワーク(neural network)は、同一の意味で用いることができる。神経回路網は、一般的にノードと呼ばれる相互連結された計算単位の集合で構成されることが多い。このようなノードは、ニューロン(neuron)と称することもできる。神経回路網は、少なくとも1つ以上のノードを含めて構成される。神経回路網を構成するノード(またはニューロン)は1つ以上のリンクによって相互連結されることが可能である。
【0052】
神経回路網において、リンクを介して繋がっている1つ以上のノードは、相対的に入力ノード及び出力ノードの関係を形成することができる。入力ノード及び出力ノードの概念は相対的なものであり、あるノードに対して出力ノードとなる任意のノードは、他のノードとの関係においては入力ノードになり得るが、その逆も成立する。前述のように、入力ノードと出力ノードとの関係はリンクを中心にして成立することができる。1つの入力ノードに1つ以上の出力ノードがリンクを介して繋がることができ、その逆も成立する。
【0053】
1つのリンクを介して繋がっている入力ノード及び出力ノードの関係において、出力ノードのデータは入力ノードに入力されたデータに基づきその値が決められることが可能である。ここで入力ノードと出力ノードとを相互連結するノードは加重値(weight)を持つことができる。加重値は可変的なものになり得るが、神経回路網が所望の機能を行うために、利用者またはアルゴリズムによって変わることが可能である。例えば、1つの出力ノードに1つ以上の入力ノードが各リンクによって相互連結されている場合、出力ノードは前記出力ノードに繋がっている入力ノードに入力された値及び各入力ノードに対応するリンクに設定された加重値に基づき出力ノードの値を決定することができる。
【0054】
前述のように、神経回路網は、1つ以上のノードが1つ以上のリンクを介して相互連結され神経回路網の中で入力ノードと出力ノードの関係を形成する。神経回路網において、ノードとリンクの数及びノードとリンクとの間の相関関係、各リンクに付与された加重値の値によって、神経回路網の特性が決まることが可能である。例えば、同数のノード及びリンクが存在し、リンクの加重値の値がそれぞれ異なる2つの神経回路網が存在する場合、その2つの神経回路網を、相異なるものと認識することができる。
【0055】
神経回路網は、1つ以上のノードの集合で構成することができる。神経回路網を構成するノードの部分集合は、レイヤー(layer)を構成できる。神経回路網を構成する複数のノードのうち一部は、第1入力ノードからの距離に基づき、1つのレイヤー(layer)を構成することができる。例えば、第1入力ノードからの距離がnであるノードの集合は、nレイヤーを構成することができる。第1入力ノードからの距離は、第1入力ノードから当該ノードに到達するために経由しなければならないリンクの最小限の数を基に定義することができる。しかし、このようなレイヤーの定義は、説明のために任意に取り挙げたものであり、神経回路網の中におけるレイヤーの構成は、前述の説明と異なる方法で定義されることができる。例えば、ノードのレイヤーは、最終出力ノードからの距離を基に定義することもできる。
【0056】
第1入力ノードは、神経回路網の中のノードのうち、他のノードとの関係においてリンクを経由せずにデータが直接入力される1つ以上のノードを意味することができる。または、神経回路網のネットワークの中で、リンクを基準にしたノード間の関係において、リンクを介して繋がっている他の入力ノードを持たないノードを意味することができる。これと同様に、最終出力ノードは、神経回路網の中のノードのうち、他のノードとの関係において、出力ノードを持たない1つ以上のノードを意味することができる。また、ヒドンノードは、第1入力ノード及び最終出力ノードではないノードで、神経回路網を構成するノードを意味することができる。
【0057】
本開示の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードと同数で、入力レイヤーからヒドゥンレイヤーへと進むにつれ、ノードの数が一度減ってから、再び増加する形の神経回路網になり得る。本開示の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードの数より少なく、入力レイヤーからヒドゥンレイヤーへと進むにつれ、ノードの数が減少していく形の神経回路網になり得る。また、本開示の他の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードの数より多く、入力レイヤーからヒドゥンレイヤーへと進むにつれ、ノードの数が増加していく形の神経回路網になり得る。本開示の他の一実施例における神経回路網は、上述の神経回路網を組み合わせた形の神経回路網になり得る。
【0058】
ディープニューラルネットワーク(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)等を含むことができる。前述のディープニューラルネットワークは、例示に過ぎず本開示はこれらに限定されない。
【0059】
本開示の一実施例において、ネットワーク関数は、オートエンコーダー(autoencoder)を含むこともできる。オートエンコーダーは、入力データに類似した出力データを出力するための人工神経回路網の一種になり得る。オートエンコーダーは、少なくとも1つのヒドゥンレイヤーを含むことができ、奇数個のヒドゥンレイヤーが入出力レイヤーの間に配置されることができる。各レイヤーのノード数は、入力レイヤーのノード数から、ボトルネックレイヤー(エンコード)という中間レイヤーに向かって減っていき、ボトルネックレイヤーから出力レイヤー(入力レイヤーと対称を成す)に向かって、縮小と対称する形で、拡張することもできる。オートエンコーダーは、非線形次元減少を行うことができる。入力レイヤー及び出力レイヤーの数は、入力データの前処理後に次元に対応することができる。オートエンコーダー構造において、エンコーダーに含まれたヒドゥンレイヤーのノードの数は、入力データから遠くなるほど減っていく構造を持つことができる。ボトルネックレイヤー(エンコーダーとデコーダーの間に位置する、ノードの数が最も少ないレイヤー)のノードの数が少なすぎる場合、十分な量の情報が伝わらない可能性があるため、特定の数以上(例えば、入力レイヤーの半分以上等)に維持されることもあり得る。
【0060】
ニューラルネットワークは、教師あり学習(supervised learning)、教師なし学習(unsupervised learning)、半教師あり学習(semi supervised learning)、または、強化学習(reinforcement learning)のうち、少なくともいずれか1つの方式で学習されることができる。ニューラルネットワークの学習は、ニューラルネットワークが特定の動作を行うための知識をニューラルネットワークに提供する過程になり得る。 ニューラルネットワークは、出力のエラーを最小化する方向で学習されることが可能である。ニューラルネットワークの学習において、繰り返し学習データをニューラルネットワークに入力させ、学習データに関するニューラルネットワークの出力とターゲットのエラーを計算し、エラーを減らすための方向としてニューラルネットワークのエラーをニューラルネットワークの出力レイヤーから入力レイヤーの方向へ逆伝播(back propagation)してニューラルネットワークの各ノードの加重値を更新するプロセスが行われる。教師あり学習の場合、個々の学習データに正解がラベリングされている学習データを使い(つまり、ラベリングされた学習データ)、教師なし学習の場合は、個々の学習データに正解がラベリングされていない場合がある。つまり、例えばデータ分類に関する教師あり学習における学習データは、学習データの各々にカテゴリがラベリングされたデータになり得る。ラベリングされた学習データがニューラルネットワークに入力され、ニューラルネットワークの出力(カテゴリ)と学習データのラベルを比較することでエラー(error)を計算することが可能である。他の例として、データ分類に関する教師なし学習の場合、入力である学習データをニューラルネットワークの出力と比較することでエラーを計算することが可能である。計算されたエラーは、ニューラルネットワークにおいて逆方向(つまり、出力レイヤーから入力レイヤー方向)へ逆伝播され、逆伝播を通じてニューラルネットワークの各レイヤーの各ノードの連結加重値を更新することが可能である。更新される各ノードの連結加重値は、学習率(learing rate)によって変化量が決まることが可能である。入力データに対するニューラルネットワークの計算とエラーの逆伝播は、学習のサイクル(epoch)を構成することができる。学習率は、ニューラルネットワークの学習のサイクルの反復回数によって適用方式が変わることが可能である。例えば、ニューラルネットワークの学習初期においては、学習率を高くしてニューラルネットワークが早く一定のレベルの性能を確保するようにすることで効率を高め、学習の後半においては学習率を低くして精度を上げることが可能である。
【0061】
ニューラルネットワークの学習において、一般的に学習データは実際のデータ(つまり、学習されたニューラルネットワークを利用して処理しようとするデータ)の部分集合であることが可能であり、そのため学習データに係るエラーは減少するが、実際のデータに係るエラーは増加する学習サイクルが存在し得る。過剰適合(over fitting)は、このように学習データについて過度に学習したため、実際のデータにおいてエラーが増加する現象である。例えば、黄色い猫を見て猫を学習したニューラルネットワークが、黄色以外の色の猫を見ると猫であることを認識できない現象が過剰適合の一種になり得る。過剰適合は、マシンラーニングアルゴリズムのエラーを増加させる原因になり得る。このような過剰適合を防ぐために、多様な最適化方法を適用できる。過剰適合を防ぐためには、学習データを増加させる方法、正則化(regulaization)、学習の過程でネットワークのノードの一部を非活性化するドロップアウト(drop out)、バッチ正規化レイヤー(batch normalization layer)の活用等の方法を適用できる。
【0062】
図3は、本開示の一実施形態によるグラフニューラルネットワークモデルを学習させる過程を示すフローチャートである。
図3によれば、本開示の一実施形態によるグラフニューラルネットワークモデルを学習させる過程は、学習データの入力変数に基づいてノードを決めるステップ(S310)、入力変数間の関係性に基づいてそれぞれのノードを連結するエッジを決めるステップ(S320)、ノードおよびエッジで構成されたグラフに基づいて第1隣接行列を生成するステップ(S330)、および学習データおよび第1隣接行列に基づいてグラフニューラルネットワークモデルを学習させるステップ(S340)を含むことができる。
【0063】
S310ステップにおいて、プロセッサ110は、学習データの入力変数に基づいてノードを決めることができる。本開示において、学習データに含まれた1つの入力変数が1つのノードに決められることができる。例えば、学習データが患者の医療データを記録した時系列データであり、{心拍数、呼吸数、収縮期血圧、体温、SpO2}の5つの入力変数を含む場合、心拍数を第1ノード、呼吸数を第2ノード、収縮期血圧を第3ノード、体温を第4ノード、SpO2数値を第5ノードに決めることができる。
【0064】
S320ステップにおいて、プロセッサ110は、入力変数間の関係性に基づいてそれぞれのノードを連結するエッジを決めることができる。例えば、学習データが第1ノードから第4ノードを含み、そのうち、第1ノードと第2ノード、第1ノードと第3ノード、第1ノードと第4ノード、第2ノードと第3ノードが互いに関連する入力変数として識別されることができる。この場合、第1ノードと第2ノードがエッジで連結され、第1ノードと第3ノードがエッジで連結され、第1ノードと第4ノードがエッジで連結され、第2ノードと第3ノードがエッジで連結されることができる。
【0065】
S330ステップにおいて、プロセッサ110は、ノードおよびエッジで構成されたグラフに基づいて第1隣接行列を生成することができる。本開示において、隣接行列を構成する各行および各列は、それぞれのノードを表すことができる。また、隣接行列Aの各要素Aijは、i番目のノードとj番目のノードがエッジで連結されているか否かに応じて異なる値に決められることができる。例えば、i番目のノードとj番目のノードがエッジで連結されている場合はAij=1、エッジで連結されていない場合はAij=0に決められることができる。Aiiのように行と列が同じ要素である場合、Aii=1に決められることができる。
【0066】
学習データの入力変数をノードおよびエッジで表したグラフが図4のとおりである場合、第1隣接行列は、[数1]のように表すことができる。
【0067】
【数1】
【0068】
S340ステップにおいて、プロセッサ110は、学習データおよび第1隣接行列に基づいてグラフニューラルネットワークモデルを学習させることができる。
【0069】
本開示の一実施形態において、グラフニューラルネットワークモデルは、グラフ畳み込みネットワーク(graph convolution network)を含むことができる。グラフ畳み込みネットワークにおいて、ネットワークを構成するそれぞれのレイヤに含まれた重みは、[数2]のようアップデートされることができる。
【0070】
【数2】
【0071】
この際、Aは第1隣接行列、II(l)はl番目の特徴行列(feature matrix)、W(l)はグラフ畳み込みネットワークのl回アップデートされた重みが含まれた行列を意味し得る。この際、行列Wを構成するそれぞれの重みは、学習可能なパラメータ(parameter)であってもよい。行列Wの行の数は、グラフ畳み込みネットワーク内で前のレイヤ(layer)の特徴(feature)の数と同じであってもよく、列の数は、次のレイヤの特徴の数と同じであってもよい。
【0072】
プロセッサ110は、[数2]に基づいてネットワークに伝播(propagation)を行うことができる。
【0073】
図4は、本開示の一実施形態によるグラフニューラルネットワークモデルの学習データを示す概念図である。
【0074】
図4に示された学習データは、合計4つの入力変数で構成され、それぞれの入力変数が第1ノード410、第2ノード420、第3ノード430、および第4ノード440で表されている。第1ノード410と第2ノード420、第1ノード410と第3ノード430、第1ノード410と第4ノード440、第2ノード420と第3ノード430がエッジで連結されている。
【0075】
プロセッサ110は、それぞれのノードが他のノードとエッジで連結されているか否かに基づいて第1隣接行列を生成することができる。図4の場合、第1隣接行列は、[数3]のように表すことができる。
【0076】
【数3】
【0077】
プロセッサ110は、各入力変数別のデータ411、421、431、441および第1隣接行列に基づいてグラフニューラルネットワークモデルを学習させることができる。グラフニューラルネットワークモデルの学習結果、グラフ畳み込みネットワークの重みを表す行列であるWがアップデートされることができる。
【0078】
図5は、本開示の一実施形態によるグラフニューラルネットワークモデルの入力データを示す概念図である。
【0079】
図5に示された入力データは、3つの入力変数で構成され、それぞれの入力変数が第1ノード510、第2ノード520、および第3ノード530で表されている。また、第1ノード510と第2ノード520、第1ノード510と第3ノード530、第2ノード520と第3ノード530がエッジで連結されている。
【0080】
本開示において、入力データが入力されるグラフニューラルネットワークモデルは、入力データの入力変数を含んで合計4つの入力変数が含まれた学習データで学習された人工ニューラルネットワークモデルであってもよい。
【0081】
従来、グラフ畳み込みネットワークを含むグラフニューラルネットワークモデルを活用して予測値を生成する場合、入力データの入力変数が3つである場合に生成される隣接行列は、3つの入力変数間の関係を表す行列として、[数4]のように表した。
【0082】
【数4】
【0083】
この際、入力データと形態を合わせるためにモデルの学習過程で3つの入力変数間の関係だけが学習され、グラフ畳み込みネットワークの重みがアップデートされており、入力データに含まれていない他の入力変数間の関係は、学習過程で反映されなかった。
【0084】
本開示において、プロセッサ110は、それぞれのノードが他のノードとエッジで連結されているか否かに基づいて第2隣接行列を生成することができる。この際、プロセッサ110は、グラフニューラルネットワークモデルの学習データに含まれていた入力変数間の関係に基づいて第1隣接行列を生成した後、一部の要素(element)をマスキングすることで第2隣接行列を生成することができる。
【0085】
例えば、入力データに含まれた入力変数が図5のように第1ノード510、第2ノード520、および第3ノード530で表されている場合、プロセッサ110は、入力データには含まれていないが、学習データには含まれていた入力変数を表したノードである第4ノード540まで考慮して第1隣接行列を生成した後、第4ノード540と関連する要素の値を0として第2隣接行列を生成することができる。この場合、第2隣接行列は、[数5]のように表すことができる。
【0086】
【数5】
【0087】
プロセッサ110は、入力変数に対応するそれぞれのデータ511、521、531、第2隣接行列、および学習されたパラメータ、すなわちアップデートされた重みが含まれた行列に基づいて入力データに対する予測値を生成することができる。
【0088】
本開示の一実施形態において、グラフニューラルネットワークモデルは、GAT(Graph Attention Network)を含むことができる。本開示において、GATは、グラフ形式で表すことができるデータの入力を受けて出力を生成する人工ニューラルネットワークであり、アテンション(Attention)法を活用してグラフを構成する各ノードの相対的な重要度を反映可能な人工ニューラルネットワークを意味し得る。例えば、本開示の一実施形態において、プロセッサ110は、第1隣接行列を生成する場合、第1個数の入力変数間の関係性および前記第1個数の入力変数間の相対的な重要度に基づいて第1隣接行列を生成することができる。
【0089】
具体的に、プロセッサ110は、第1隣接行列Aの各要素Aijは、i番目のノードおよびj番目のノードがエッジで連結されているか否か、およびアテンション法を活用して決められたi番目のノードおよびj番目のノードの相対的な重要度を参照し、0以上1以下の実数値に決められることができる。
【0090】
本開示において、アテンション法を活用して第1隣接行列を生成する場合、学習時に人工ニューラルネットワークの各パラメータに入力変数間の相対的な重要度が反映されることができ、したがって、学習が完了してからモデルの推論時にさらに正確な結果を生成することができる。
【0091】
制限された入力変数間の関係性に基づいて学習した場合とは異なり、本開示の一実施形態によるグラフニューラルネットワークモデルは、入力データに含まれた入力変数の他に、入力データに含まれていない入力変数間の関係性まで一緒に学習したモデルである。例えば、グラフニューラルネットワークが心拍数、呼吸数、収縮期血圧、および体温の4つの入力変数を含む学習データに基づいて学習され、グラフニューラルネットワークの推論段階で入力データが心拍数、呼吸数、および収縮期血圧の3つの入力変数だけを含むことができる。この場合、グラフニューラルネットワークは、心拍数、呼吸数、収縮期血圧間の関係性情報だけでなく、入力データに含まれていない体温をさらに考慮した場合の心拍数、呼吸数、収縮期血圧間の関係性情報に基づいて出力値を生成する。
【0092】
入力データよりも豊富な関係性情報を有する学習データに基づいて学習され、グラフニューラルネットワークモデルの重み、すなわち学習可能なパラメータが決められたため、グラフニューラルネットワークモデルがさらに正確な予測値を生成することができる。
【0093】
本開示の一実施例に基づき、データ構造を保存したコンピュータ可読保存媒体が開示される。
【0094】
データ構造は、データに効率的なアクセスおよび修正を可能にするデータの組織、管理、保存を意味することができる。データ構造は、特定の問題(例えば、最短時間でデータ検索、データ保存、データ修正)を解決するためのデータ組織を意味することができる。データ構造は、特定のデータ処理機能をサポートするように設計されたデータ要素間の物理的または論理的な関係と定義することもできる。データ要素間の論理的な関係は、ユーザーが考えるデータ要素間の連結関係を含むことができる。データ要素間の物理的な関係は、コンピュータ可読保存媒体(例えば、ハードディスク)に物理的に保存されているデータ要素間の実際の関係を含むことができる。
【0095】
データ構造は具体的にデータの集合、データ間の関係、データに適用できる関数またはコマンドを含むことができる。効果的に設計されたデータ構造により、コンピューティング装置はコンピューティング装置のリソースを最小限に使用しながら計算を行うことができる。具体的にコンピューティング装置は効果的に設計されたデータ構造を通じて演算、読み取り、挿入、削除、比較、交換、検索の効率性を高めることができる。
【0096】
データ構造はデータ構造の形態によって線形データ構造と非線形データ構造に区分されることができる。線形データ構造は、一つのデータの後に一つのデータだけが連結される構造である可能性がある。線形データ構造はリスト(List)、スタック(Stack)、キュー(Queue)、デッキ(Deque)を含むことができる。リストは、内部的に順序が存在する一連のデータセットを意味することが可能である。リストは連結リスト(Linked List)を含むことができる。連結リストはそれぞれのデータがポインタを持って一列に連結されている方式でデータが連結されたデータ構造でありうる。連結リストでポインタは、次や以前のデータとの連結情報を含むことができる。連結リストは形態によって単一連結リスト、二重連結リスト、円形連結リストで表現できる。スタックは制限的にデータにアクセスできるデータリスト構造である可能性がある。スタックは、データ構造の片端でのみデータを処理(例えば、挿入または削除)できる線形データ構造である可能性がある。スタックに保存されたデータは、遅く入るほど早く出てくるデータ構造(LIFO-Last in First Out)である可能性がある。キューは制限的にデータにアクセスできるデータ羅列構造であり、スタックとは異なり遅く保存されたデータほど遅く出てくるデータ構造(FIFO-FirstinFirstOut)であることができる。デッキはデータ構造の両端でデータを処理できるデータ構造になり得る。
【0097】
非線形データ構造は、一つのデータの後に複数のデータが連結される構造である可能性がある。非線形データ構造はグラフ(Graph)データ構造を含むことができる。グラフデータ構造は頂点(Vertex)と幹線(Edge)で定義でき、幹線は互いに異なる二つの頂点を連結する線を含むことができる。グラフデータ構造ツリー(Tree)データ構造を含むことができる。ツリーデータ構造はツリーに含まれる複数の頂点のうち、互いに異なる2つの頂点を連結させる経路が一つのデータ構造になり得る。すなわち、グラフデータ構造でループ(loop)を形成しないデータ構造になり得る。
【0098】
本明細書にかけて、演算モデル、神経回路網、ネットワーク関数、ニューラルネットワークは同じ意味で使用できる。(以下ではニューラルネットワークで統一して記述する。)データ構造はニューラルネットワークを含むことができる。そして、ニューラルネットワークを含むデータ構造は、コンピュータ可読保存媒体に保存されることができる。ニューラルネットワークを含むデータ構造はまた、ニューラルネットワークに入力されるデータ、ニューラルネットワークの加重値、ニューラルネットワークのハイパーパラメータ、ニューラルネットワークから獲得したデータ、ニューラルネットワークの各ノードまたはレイヤーに関連する活性関数、ニューラルネットワークの学習のための損失関数を含むことができる。ニューラルネットワークを含むデータ構造は、前記開示された構成のうち任意の構成要素を含むことができる。
【0099】
すなわち、ニューラルネットワークを含むデータ構造は、ニューラルネットワークに入力されるデータ、ニューラルネットワークの加重値、ニューラルネットワークのハイパーパラメータ、ニューラルネットワークから獲得したデータ、ニューラルネットワークの各ノードまたはレイヤーに関連する活性関数、ニューラルネットワークのトレーニングのための損失関数など、全部またはこれらの任意の組み合わせを含んで構成されることができる。前述した構成以外にも、ニューラルネットワークを含むデータ構造は、ニューラルネットワークの特性を決定する任意の他の情報を含むことができる。また、データ構造は、ニューラルネットワークの演算過程で使用されたり発生するすべての形態のデータを含むことができ、前述の事項に制限されるわけではない。コンピュータ可読保存媒体は、コンピュータ可読記録媒体および/またはコンピュータ可読伝送媒体を含むことができる。ニューラルネットワークは、一般的にノードと呼ばれる相互接続された計算単位の集合で構成されることができる。このようなノードはニューロン(neuron)と呼ばれることができる。ニューラルネットワークは、少なくとも1つ以上のノードを含んで構成される。
【0100】
データ構造は、ニューラルネットワークに入力されるデータを含むことができる。ニューラルネットワークに入力されるデータを含むデータ構造は、コンピュータ可読保存媒体に保存されることができる。ニューラルネットワークに入力されるデータは、ニューラルネットワークの学習過程で入力される学習データおよび/または学習が完了したニューラルネットワークに入力される入力データを含むことができる。ニューラルネットワークに入力されるデータは、前処理(pre-processing)を経たデータおよび/または前処理対象となるデータを含むことができる。前処理はデータをニューラルネットワークに入力させるためのデータ処理過程を含むことができる。したがって、データ構造は前処理対象となるデータおよび前処理で発生するデータを含むことができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0101】
データ構造は、ニューラルネットワークの加重値を含むことができる。(本明細書で加重値、パラメータは同じ意味で使用できる。) そして、神経回路網の加重値を含むデータ構造はコンピュータ可読保存媒体に保存されることができる。ニューラルネットワークは、複数の加重値を含むことができる。加重値は可変的であり、ニューラルネットワークが望む機能を遂行するために、ユーザーまたはアルゴリズムによって可変することができる。例えば、一つの出力ノードに一つ以上の入力ノードがそれぞれのリンクによって相互接続された場合、出力ノードは前記出力ノードと連結された入力ノードに入力された値及びそれぞれの入力ノードに対応するリンクに設定されたパラメータに基づいて出力ノード値を決定することができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0102】
制限ではなく例として、加重値は神経回路網学習過程で可変する加重値および/または神経回路網学習が完了した加重値を含むことができる。ニューラルネットワーク学習過程で可変される加重値は、学習サイクルが始まる時点の加重値および/または学習サイクルの間に可変される加重値を含むことができる。ニューラルネットワーク学習が完了した加重値は、学習サイクルが完了した加重値を含むことができる。したがって、ニューラルネットワークの加重値を含むデータ構造は、ニューラルネットワーク学習過程で可変される加重値および/またはニューラルネットワーク学習が完了した加重値を含むデータ構造を含むことができる。したがって、上述した加重値および/または各加重値の組み合わせは、神経回路網の加重値を含むデータ構造に含まれるものとする。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0103】
ニューラルネットワークの加重値を含むデータ構造は、直列化(serialization)過程を経た後、コンピュータ可読保存媒体(例えば、メモリ、ハードディスク)に保存されることができる。直列化は、データ構造を同一または他のコンピューティングデバイスに保存し、後で再構成して使用できる形態に変換する過程である可能性がある。コンピューティングデバイスは、データ構造を直列化し、ネットワークを介してデータを送受信することができる。直列化されたニューラルネットワークの加重値を含むデータ構造は、逆直列化(deserialization)を通じて同じコンピューティング装置または他のコンピューティング装置で再構成されることができる。ニューラルネットワークの加重値を含むデータ構造は、シリアル化に限定されるものではない。さらに、神経回路網の加重値を含むデータ構造は、コンピューティング装置の資源を最小限に使用しながら演算の効率を高めるためのデータ構造(例えば、非線形データ構造で B-Tree、Trie、m-way search tree、AVLtree、Red-Black Tree)を含むことができる。前述の事項は例示に過ぎず、本開示はこれに限定されない。
【0104】
データ構造は、ニューラルネットワークのハイパーパラメータ(Hyper-parameter)を含むことができる。そして、ニューラルネットワークのハイパーパラメータを含むデータ構造は、コンピュータ可読保存媒体に保存されることができる。ハイパーパラメータは、ユーザーによって可変される変数である可能性がある。ハイパーパラメータは、例えば、学習率(learning rate)、コスト関数(cost function)、学習サイクル反復回数、加重値初期化(例えば、加重値初期化対象となる加重値の範囲設定)、Hidden Unit個数(例えば、ヒドゥンレイヤーの個数、ヒドゥンレイヤーのノード数)を含むことができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0105】
図10は、本開示の実施例が具現化されることのできる例示的なコンピューティング環境に係る簡略で一般的な概略図である。
【0106】
本開示が一般的にコンピューティング装置により具現化されることができると前述されているが、当業者であれば本開示が一つ以上のコンピュータ上で実行されることのできるコンピュータ実行可能命令及び/またはその他のプログラムモジュールと結合して及び/またはハードウェアとソフトウェアの組み合わせとして具現化されることができるということをよく理解できるだろう。
【0107】
一般的に、本明細書におけるモジュールは、特定のタスクを実行したり特定の抽象的なデータ類型を実装するルーティン、プログラム、コンポーネント、データ構造、その他等々を含む。また、当業者なら本開示の方法がシングルプロセッサまたはマルチプロセッサコンピュータシステム、ミニコンピュータ、メインフレームコンピュータはもちろん、パーソナルコンピュータ、ハンドヘルド(handheld)コンピューティング装置、マイクロプロセッサ基盤、またはプログラム可能な家電製品、その他等々(これらは、それぞれ1つ以上の関連する装置と繋がって動作することができる)をはじめとする、他のコンピュータシステムの構成によって実施されることができることをよく理解できるだろう。
【0108】
本開示において説明された実施例は、さらに、あるタスクが通信ネットワークを通じて繋がっている遠隔処理装置によって実行される分散コンピューティング環境で実施されることができる。分散コンピューティング環境において、プログラムモジュールは、ローカルや遠隔メモリー保存装置の両方に位置することができる。
【0109】
コンピュータは、多様なコンピュータ可読媒体を含む。コンピュータによってアクセス可能な媒体はいずれもコンピュータ可読媒体になり得るが、このようなコンピュータ可読媒体は揮発性及び非揮発性媒体、一時的(transitory)及び非一時的(non-transitory)媒体、移動式及び非-移動式媒体を含む。制限ではなく例として、コンピュータ可読媒体は、コンピュータ可読保存媒体及びコンピュータ可読伝送媒体を含むことができる。コンピュータ可読保存媒体は、コンピュータ可読命令、データ構造、プログラムモジュール又はその他のデータのような情報を保存する任意の方法又は技術により実装される揮発性及び非揮発性媒体、一時的及び非-一時的媒体、移動式及び非移動式媒体を含む。コンピュータ可読保存媒体は、RAM、ROM、EEPROM、フラッシュメモリーまたはその他のメモリー技術、CD-ROM、DVD(digital video disk)またはその他の光ディスク保存装置、磁気カセット、磁気テープ、磁気ディスク保存装置またはその他の磁気保存装置、またはコンピュータによってアクセスされることができ、情報を保存するのに使われることのできる任意のその他の媒体を含むが、これに限定されない。
【0110】
コンピュータ可読伝送媒体は、通常、搬送波(carrier wave)またはその他の伝送メカニズム(transport mechanism)のような被変調データ信号(modulated data signal)にコンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータ等を実装し、すべての情報伝達媒体を含む。被変調データ信号という用語は、信号の中で情報をエンコードするように、その信号の特性のうち1つ以上を設定または変更した信号を意味する。制限ではなく例として、コンピュータ可読伝送媒体は、有線ネットワークまたは直接配線接続(direct-wired connection)のような有線媒体、そして音響、RF、赤外線、その他の無線媒体のような無線媒体を含む。前述の媒体のいずれかによる任意の組み合わせもまたコンピュータ可読伝送媒体の範囲に含まれるものとする。
【0111】
コンピュータ(1102)を含む本開示の多様な側面を実現する例示的な環境(1100)が示されており、コンピュータ(1102)は、処理装置(1104)、システムメモリー(1106)、システムバス(1108)を含む。システムバス(1108)は、システムメモリー(1106)(これに限定されない)をはじめとするシステムコンポーネントを処理装置(1104)につなげる。処理装置(1104)は、多様な商用プロセッサのうち任意のプロセッサになり得る。デュアルプロセッサとその他のマルチプロセッサアーキテクチャもまた処理装置(1104)として利用されることができる。
【0112】
システムバス(1108)は、メモリーバス、周辺装置バス、そして多様な商用バスアーキテクチャの中から、任意のものを使用するローカルバスにさらに相互連結されることのできる複数の類型のバス構造のうちいずれかになり得る。システムメモリー(1106)は、読み取り専用メモリー(ROM)(1110)やランダムアクセスメモリー(RAM)(1112)を含む。基本的な入出力システム(BIOS)は、ROM、EPROM、EEPROM等の非揮発性メモリー(1110)に保存され、このBIOSは、起動中の時等にコンピュータ(1102)の中の複数の構成要素間の情報のやりとりをサポートする基本的なルーティンを含む。RAM(1112)は、またデータをキャッシュするための静的RAM等の高速RAMを含むことができる。
【0113】
コンピュータ(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つまたはその両方を含む。
【0114】
これらのドライブ及びこれらに係るコンピュータ可読媒体は、データ、データ構造、コンピュータで実行可能な命令、その他等々の非揮発性保存を提供する。コンピュータ(1102)の場合、ドライブ及び媒体は、任意のデータを適切なデジタル形式に保存することに対応する。前述におけるコンピュータ可読保存媒体に係る説明が、HDD、移動式磁気ディスク及びCDまたはDVD等の移動式光媒体について触れているが、当業者ならジップドライブ(zip drive)、磁気カセット、フラッシュメモリーカード、カートリッジ、その他等々のコンピュータにより読み取り可能な他の類型の保存媒体もまた例示的な運営環境で使われることができ、さらに、このような媒体のうち任意のある媒体が、本開示の方法を実行するためのコンピュータで実行可能な命令を含むことができることをよく理解できるだろう。
【0115】
運営システム(1130)、1つ以上のアプリケーションプログラム(1132)、その他のプログラムモジュール(1134)及びプログラムデータ(1136)をはじめとする多数のプログラムモジュールが、ドライブ及びRAM(1112)に保存されることができる。運営システム、アプリケーション、モジュール及び/またはデータの全部またはその一部分がまたRAM(1112)にキャッシュされることができる。本開示が商業的に利用可能な様々な運営システムまたは複数の運営システムの組み合わせにより実装されることができることをよく理解できるだろう。
【0116】
ユーザーは、1つ以上の有線・無線の入力装置、例えば、キーボード(1138)及びマウス(1140)等のポインティング装置を通じてコンピュータ(1102)に命令及び情報を入力することができる。その他の入力装置(図示は省略)としてはマイク、IRリモコン、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーン、その他等々があり得る。これら及びその他の入力装置が、よくシステムバス(1108)に繋がっている入力装置インターフェース(1142)を通じて処理装置(1104)に繋がることがあるが、並列ポート、IEEE1394直列ポート、ゲームポート、USBポート、IRインターフェース、その他等々のその他のインターフェースによって繋がることができる。
【0117】
モニター(1144)または他の類型のディスプレイ装置も、ビデオアダプター(1146)等のインターフェースを通じてシステムバス(1108)に繋がる。モニター(1144)に加えて、コンピュータは一般的にスピーカー、プリンター、その他等々のその他の周辺出力装置(図示は省略)を含む。
【0118】
コンピュータ(1102)は、有線及び/または無線通信による(複数の)遠隔コンピュータ(1148)等の1つ以上の遠隔コンピュータへの論理的接続を利用し、ネットワーク化された環境で動作することができる。(複数の)遠隔コンピュータ(1148)は、ワークステーション、サーバーコンピュータ、ルーター、パーソナルコンピュータ、携帯用コンピュータ、マイクロプロセッサ基盤の娯楽機器、ピア装置またはその他の通常のネットワークノードになることができ、一般的にコンピュータ(1102)について述べられた構成要素のうち、多数またはその全部を含むが、簡略化するために、メモリー保存装置(1150)のみ図示されている。図示されている論理的接続は、近距離通信網(LAN)(1152)及び/または、より大きいネットワーク、例えば、遠距離通信網(WAN)(1154)における有線・無線の接続を含む。このようなLAN及びWANのネットワーキング環境は、オフィスや会社では一般的なもので、イントラネット等の全社的コンピュータネットワーク(enterprise-wide computer network)を容易にし、これらはすべて全世界のコンピュータネットワーク、例えば、インターネットに繋がることができる。
【0119】
LANネットワーキング環境で使われるとき、コンピュータ(1102)は、有線及び/または無線通信ネットワークインターフェース、または、アダプター(1156)を通じてローカルネットワーク(1152)に繋がる。アダプター(1156)は、LAN(1152)への有線または無線通信を容易にすることができ、このLAN(1152)は、また無線アダプター(1156)と通信するためにそれに設置されている無線アクセスポイントを含む。WANネットワーキング環境で使われるとき、コンピュータ(1102)は、モデム(1158)を含むことができたり、WAN(1154)上の通信サーバーに繋がったり、またはインターネットを通じる等、WAN(1154)を通じて通信を設定するその他の手段を持つ。内蔵型又は外付け型、そして、有線または無線装置になり得るモデム(1158)は、直列ポートインターフェース(1142)を通じてシステムバス(1108)に繋がる。ネットワーク化された環境において、コンピュータ(1102)について説明されたプログラムモジュールまたはその一部分が、遠隔メモリー/保存装置(1150)に保存されることができる。図示されたネットワーク接続が例示的なものであり、複数のコンピュータ間で通信リンクを設定する他の手段が使われることができるということは容易に理解できることである。
【0120】
コンピュータ(1102)は、無線通信で配置されて動作する任意の無線装置またはユニット、例えば、プリンター、スキャナー、デスクトップ及び/または携帯用コンピュータ、PDA(portable data assistant)、通信衛星、無線で検出可能なタグに係る任意の装備または場所及、及び電話と通信する動作をする。これは、少なくともWi-Fi及びブルートゥース(登録商標)無線技術を含む。従って、通信は、従来のネットワークのように予め定義された構造であったり、単純に少なくとも2つの装置の間でのアドホック通信(ad hoc communication)になり得る。
【0121】
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)のデータレートで動作したり、両帯域(デュエル帯域)を含む製品において動作することができる。
【0122】
本開示の技術分野における通常の知識を持つ者は情報及び信号が任意の多様な異なる技術及び手法を利用して示されることができることを理会できる。例えば、前記の説明において参照できるデータ、指示、命令、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁気派、磁場等または粒子、光学場等または粒子、またはこれらの任意の組み合わせによって示されることができる。
【0123】
本開示の技術分野において通常の知識を持つ者は、ここに開示された実施例に係る説明で取り挙げられた多様な例示的な論理ブロック、モジュール、プロセッサ、手段、回路、アルゴリズム段階が電子ハードウェア、(利便性のために、ここでは「ソフトウェア」と称される)多様な形のプログラムまたは設計コード、またはこれらすべての結合により実装されることができることを理解できるだろう。ハードウェア及びソフトウェアのこのような相互互換性を明確に説明するために、多様な例示的なコンポーネント、ブロック、モジュール、回路、及び段階がこれらの機能に着目して前記で一般的に説明された。このような機能がハードウェアやソフトウェアで実装されるかどうかは、特定のアプリケーションおよび全体システムに対して付与される設計上の制限によって決まる。本開示の技術分野において通常の知識を持つ者は、個々の特定のアプリケーションについて多様な手法で説明された機能を実現することができるが、このような実現の決定は、本開示の範囲を逸脱するものと解釈されてはならない。
【0124】
ここに示された多様な実施例は、方法、装置、または標準プログラミング及び/またはエンジニアリング技術を使った製造物品(article)によって実現できる。用語「製造物品」は、任意のコンピュータで可読な装置からアクセス可能なコンピュータプログラム、キャリアー、または媒体(media)を含む。例えば、コンピュータで可読保存媒体は、磁気保存装置(例えば、ハードディスク、フロッピーディスク、磁気ストリップ等)、光学ディスク(例えば、CD、DVD等)、スマートカード及びフラッシュメモリー装置(例えば、EEPROM、カード、スティック、キードライブ等)を含むが、これらに限定されるものではない。また、ここに示されている多様は保存媒体は、情報を保存するための1つ以上の装置及び/または他の機械可読媒体を含む。
【0125】
示されたプロセスにおける複数の段階の特定の順番または階層構造は、例示的なアプローチの一例であることを理解すべきである。設計上の優先順位に基づき、本開示の範囲内で、プロセスにおける段階の特定の順番または階層構造が再配列されることができることを理解すべきである。添付の方法請求項は、サンプルとしての順番で、多様な段階のエレメントを提供するが、示された特定の順番または階層構造に限定されることを意味するわけではない。
【0126】
示された実施例に関する説明は、任意の本開示の技術分野において通常の知識を持つ者が、本開示を利用したりまたは実施できるように提供される。このような実施例に対する多様な変形は、本開示の技術分野において通常の知識を持つ者には明確に理解できるものであり、ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることができる。従って、本開示はここに示す実施例によって限定されるものではなく、ここに示す原理及び新規な特徴と一貫する最広義の範囲で解釈されるべきである。
【符号の説明】
【0127】
100 :コンピューティング装置
110 :プロセッサ
130 :メモリー
150 :ネットワーク部
410 :第1ノード
411 :データ
420 :第2ノード
421 :データ
430 :第3ノード
431 :データ
440 :第4ノード
441 :データ
510 :第1ノード
511 :データ
520 :第2ノード
521 :データ
530 :第3ノード
531 :データ
540 :第4ノード
図1
図2
図3
図4
図5
図6